⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c4_multitones_proba_hard.c

📁 FFH, pre-hopping anti-jamming system
💻 C
📖 第 1 页 / 共 4 页
字号:
/* Include files */
#include "multitones_proba_hard_sfun.h"
#include "c4_multitones_proba_hard.h"
#define CHARTINSTANCE_CHARTNUMBER       (chartInstance.chartNumber)
#define CHARTINSTANCE_INSTANCENUMBER    (chartInstance.instanceNumber)
#include "multitones_proba_hard_sfun_debug_macros.h"

/* Type Definitions */

/* Named Constants */
#define c4_IN_NO_ACTIVE_CHILD           (0)

/* Variable Declarations */

/* Variable Definitions */
static SFc4_multitones_proba_hardInstanceStruct chartInstance;

/* Function Declarations */
static void initialize_c4_multitones_proba_hard(void);
static void initialize_params_c4_multitones_proba_hard(void);
static void enable_c4_multitones_proba_hard(void);
static void disable_c4_multitones_proba_hard(void);
static void finalize_c4_multitones_proba_hard(void);
static void sf_c4_multitones_proba_hard(void);
static void c4_eML_blk_kernel(real_T *c4_b_u, real_T *c4_b_a, real_T *c4_b_y);
static const mxArray *c4_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_b_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_c_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_d_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_e_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_f_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_g_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_h_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_i_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_j_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_k_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_l_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_m_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_n_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_o_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_p_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_q_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_r_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_s_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_t_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_u_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_v_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_w_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_x_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_y_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_ab_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static const mxArray *c4_bb_sf_marshall(void *c4_chartInstance, void *c4_b_u);
static real_T *c4_u(void);
static real_T *c4_y(void);
static real_T *c4_a(void);
static void init_dsm_address_info(void);

/* Function Definitions */
static void initialize_c4_multitones_proba_hard(void)
{
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  chartInstance.c4_is_active_c4_multitones_proba_hard = 0U;
}

static void initialize_params_c4_multitones_proba_hard(void)
{
}

static void enable_c4_multitones_proba_hard(void)
{
}

static void disable_c4_multitones_proba_hard(void)
{
}

static void finalize_c4_multitones_proba_hard(void)
{
}

static void sf_c4_multitones_proba_hard(void)
{
  int32_T c4_i0;
  int32_T c4_i1;
  int32_T c4_i2;
  uint8_T c4_previousEvent;
  int32_T c4_i3;
  real_T c4_dv0[1025];
  int32_T c4_i4;
  real_T c4_dv1[96];
  real_T c4_dv2[98];
  int32_T c4_i5;
  _sfTime_ = (real_T)ssGetT(chartInstance.S);
  for(c4_i0 = 0; c4_i0 < 1025; c4_i0 = c4_i0 + 1) {
    _SFD_DATA_RANGE_CHECK(c4_u()[c4_i0], 1U);
  }
  for(c4_i1 = 0; c4_i1 < 98; c4_i1 = c4_i1 + 1) {
    _SFD_DATA_RANGE_CHECK(c4_y()[c4_i1], 2U);
  }
  for(c4_i2 = 0; c4_i2 < 96; c4_i2 = c4_i2 + 1) {
    _SFD_DATA_RANGE_CHECK(c4_a()[c4_i2], 0U);
  }
  c4_previousEvent = _sfEvent_;
  _sfEvent_ = CALL_EVENT;
  _SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,1);
  for(c4_i3 = 0; c4_i3 < 1025; c4_i3 = c4_i3 + 1) {
    c4_dv0[c4_i3] = c4_u()[c4_i3];
  }
  for(c4_i4 = 0; c4_i4 < 96; c4_i4 = c4_i4 + 1) {
    c4_dv1[c4_i4] = c4_a()[c4_i4];
  }
  c4_eML_blk_kernel((real_T *)c4_dv0, (real_T *)c4_dv1, (real_T *)c4_dv2);
  for(c4_i5 = 0; c4_i5 < 98; c4_i5 = c4_i5 + 1) {
    c4_y()[c4_i5] = c4_dv2[c4_i5];
  }
  _SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,1);
  _sfEvent_ = c4_previousEvent;
  sf_debug_check_for_state_inconsistency(_multitones_proba_hardMachineNumber_,
   chartInstance.chartNumber, chartInstance.instanceNumber
   );
}

static void c4_eML_blk_kernel(real_T *c4_b_u, real_T *c4_b_a, real_T *c4_b_y)
{
  real_T c4_u4_tem;
  real_T c4_u2_tem;
  real_T c4_threshold;
  real_T c4_tem2;
  real_T c4_tem1;
  real_T c4_Delt;
  real_T c4_Mean;
  real_T c4_MaxAmpSum;
  real_T c4_MaxAmpNum[100];
  real_T c4_MaxAmp[100];
  real_T c4_Delt_part;
  real_T c4_counter3;
  real_T c4_counter2;
  real_T c4_counter1;
  real_T c4_counter0;
  real_T c4_Input_tem[1025];
  real_T c4_Matrix_DeltMean;
  real_T c4_Matrix_DeltSum;
  real_T c4_flag;
  real_T c4_i;
  real_T c4_Matrix_Delt[32];
  real_T c4_Matrix_u4[32];
  real_T c4_Matrix_u2[32];
  real_T c4_fhnum;
  real_T c4_dv3[32];
  int32_T c4_i6;
  real_T c4_dv4[32];
  int32_T c4_i7;
  real_T c4_dv5[32];
  int32_T c4_i8;
  real_T c4_A;
  real_T c4_x;
  int32_T c4_i9;
  int32_T c4_i10;
  int32_T c4_i11;
  real_T c4_b_A;
  real_T c4_b_x;
  real_T c4_c_A;
  real_T c4_c_x;
  real_T c4_dv6[98];
  int32_T c4_i12;
  sf_debug_symbol_scope_push(27U, 0U);
  sf_debug_symbol_scope_add("u4_tem", &c4_u4_tem, c4_bb_sf_marshall);
  sf_debug_symbol_scope_add("u2_tem", &c4_u2_tem, c4_ab_sf_marshall);
  sf_debug_symbol_scope_add("threshold", &c4_threshold, c4_y_sf_marshall);
  sf_debug_symbol_scope_add("tem2", &c4_tem2, c4_x_sf_marshall);
  sf_debug_symbol_scope_add("tem1", &c4_tem1, c4_w_sf_marshall);
  sf_debug_symbol_scope_add("Delt", &c4_Delt, c4_v_sf_marshall);
  sf_debug_symbol_scope_add("Mean", &c4_Mean, c4_u_sf_marshall);
  sf_debug_symbol_scope_add("MaxAmpSum", &c4_MaxAmpSum, c4_t_sf_marshall);
  sf_debug_symbol_scope_add("MaxAmpNum", &c4_MaxAmpNum, c4_s_sf_marshall);
  sf_debug_symbol_scope_add("MaxAmp", &c4_MaxAmp, c4_r_sf_marshall);
  sf_debug_symbol_scope_add("Delt_part", &c4_Delt_part, c4_q_sf_marshall);
  sf_debug_symbol_scope_add("counter3", &c4_counter3, c4_p_sf_marshall);
  sf_debug_symbol_scope_add("counter2", &c4_counter2, c4_o_sf_marshall);
  sf_debug_symbol_scope_add("counter1", &c4_counter1, c4_n_sf_marshall);
  sf_debug_symbol_scope_add("counter0", &c4_counter0, c4_m_sf_marshall);
  sf_debug_symbol_scope_add("Input_tem", &c4_Input_tem, c4_l_sf_marshall);
  sf_debug_symbol_scope_add("Matrix_DeltMean", &c4_Matrix_DeltMean,
   c4_k_sf_marshall);
  sf_debug_symbol_scope_add("Matrix_DeltSum", &c4_Matrix_DeltSum,
   c4_j_sf_marshall);
  sf_debug_symbol_scope_add("flag", &c4_flag, c4_i_sf_marshall);
  sf_debug_symbol_scope_add("i", &c4_i, c4_h_sf_marshall);
  sf_debug_symbol_scope_add("Matrix_Delt", &c4_Matrix_Delt, c4_g_sf_marshall);
  sf_debug_symbol_scope_add("Matrix_u4", &c4_Matrix_u4, c4_f_sf_marshall);
  sf_debug_symbol_scope_add("Matrix_u2", &c4_Matrix_u2, c4_e_sf_marshall);
  sf_debug_symbol_scope_add("fhnum", &c4_fhnum, c4_d_sf_marshall);
  sf_debug_symbol_scope_add("y", c4_b_y, c4_c_sf_marshall);
  sf_debug_symbol_scope_add("a", c4_b_a, c4_b_sf_marshall);
  sf_debug_symbol_scope_add("u", c4_b_u, c4_sf_marshall);
  CV_EML_FCN(0, 0);
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,2);
  c4_fhnum = c4_b_u[1024];
  /* frequency hopping numbers */
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,3);
  c4_dv3[0] = c4_b_a[0];
  c4_dv3[1] = c4_b_a[1];
  c4_dv3[2] = c4_b_a[2];
  c4_dv3[3] = c4_b_a[3];
  c4_dv3[4] = c4_b_a[4];
  c4_dv3[5] = c4_b_a[5];
  c4_dv3[6] = c4_b_a[6];
  c4_dv3[7] = c4_b_a[7];
  c4_dv3[8] = c4_b_a[8];
  c4_dv3[9] = c4_b_a[9];
  c4_dv3[10] = c4_b_a[10];
  c4_dv3[11] = c4_b_a[11];
  c4_dv3[12] = c4_b_a[12];
  c4_dv3[13] = c4_b_a[13];
  c4_dv3[14] = c4_b_a[14];
  c4_dv3[15] = c4_b_a[15];
  c4_dv3[16] = c4_b_a[16];
  c4_dv3[17] = c4_b_a[17];
  c4_dv3[18] = c4_b_a[18];
  c4_dv3[19] = c4_b_a[19];
  c4_dv3[20] = c4_b_a[20];
  c4_dv3[21] = c4_b_a[21];
  c4_dv3[22] = c4_b_a[22];
  c4_dv3[23] = c4_b_a[23];
  c4_dv3[24] = c4_b_a[24];
  c4_dv3[25] = c4_b_a[25];
  c4_dv3[26] = c4_b_a[26];
  c4_dv3[27] = c4_b_a[27];
  c4_dv3[28] = c4_b_a[28];
  c4_dv3[29] = c4_b_a[29];
  c4_dv3[30] = c4_b_a[30];
  c4_dv3[31] = c4_b_a[31];
  for(c4_i6 = 0; c4_i6 < 32; c4_i6 = c4_i6 + 1) {
    c4_Matrix_u2[c4_i6] = c4_dv3[c4_i6];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,4);
  c4_dv4[0] = c4_b_a[32];
  c4_dv4[1] = c4_b_a[33];
  c4_dv4[2] = c4_b_a[34];
  c4_dv4[3] = c4_b_a[35];
  c4_dv4[4] = c4_b_a[36];
  c4_dv4[5] = c4_b_a[37];
  c4_dv4[6] = c4_b_a[38];
  c4_dv4[7] = c4_b_a[39];
  c4_dv4[8] = c4_b_a[40];
  c4_dv4[9] = c4_b_a[41];
  c4_dv4[10] = c4_b_a[42];
  c4_dv4[11] = c4_b_a[43];
  c4_dv4[12] = c4_b_a[44];
  c4_dv4[13] = c4_b_a[45];
  c4_dv4[14] = c4_b_a[46];
  c4_dv4[15] = c4_b_a[47];
  c4_dv4[16] = c4_b_a[48];
  c4_dv4[17] = c4_b_a[49];
  c4_dv4[18] = c4_b_a[50];
  c4_dv4[19] = c4_b_a[51];
  c4_dv4[20] = c4_b_a[52];
  c4_dv4[21] = c4_b_a[53];
  c4_dv4[22] = c4_b_a[54];
  c4_dv4[23] = c4_b_a[55];
  c4_dv4[24] = c4_b_a[56];
  c4_dv4[25] = c4_b_a[57];
  c4_dv4[26] = c4_b_a[58];
  c4_dv4[27] = c4_b_a[59];
  c4_dv4[28] = c4_b_a[60];
  c4_dv4[29] = c4_b_a[61];
  c4_dv4[30] = c4_b_a[62];
  c4_dv4[31] = c4_b_a[63];
  for(c4_i7 = 0; c4_i7 < 32; c4_i7 = c4_i7 + 1) {
    c4_Matrix_u4[c4_i7] = c4_dv4[c4_i7];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,5);
  c4_dv5[0] = c4_b_a[64];
  c4_dv5[1] = c4_b_a[65];
  c4_dv5[2] = c4_b_a[66];
  c4_dv5[3] = c4_b_a[67];
  c4_dv5[4] = c4_b_a[68];
  c4_dv5[5] = c4_b_a[69];
  c4_dv5[6] = c4_b_a[70];
  c4_dv5[7] = c4_b_a[71];
  c4_dv5[8] = c4_b_a[72];
  c4_dv5[9] = c4_b_a[73];
  c4_dv5[10] = c4_b_a[74];
  c4_dv5[11] = c4_b_a[75];
  c4_dv5[12] = c4_b_a[76];
  c4_dv5[13] = c4_b_a[77];
  c4_dv5[14] = c4_b_a[78];
  c4_dv5[15] = c4_b_a[79];
  c4_dv5[16] = c4_b_a[80];
  c4_dv5[17] = c4_b_a[81];
  c4_dv5[18] = c4_b_a[82];
  c4_dv5[19] = c4_b_a[83];
  c4_dv5[20] = c4_b_a[84];
  c4_dv5[21] = c4_b_a[85];
  c4_dv5[22] = c4_b_a[86];
  c4_dv5[23] = c4_b_a[87];
  c4_dv5[24] = c4_b_a[88];
  c4_dv5[25] = c4_b_a[89];
  c4_dv5[26] = c4_b_a[90];
  c4_dv5[27] = c4_b_a[91];
  c4_dv5[28] = c4_b_a[92];
  c4_dv5[29] = c4_b_a[93];
  c4_dv5[30] = c4_b_a[94];
  c4_dv5[31] = c4_b_a[95];
  for(c4_i8 = 0; c4_i8 < 32; c4_i8 = c4_i8 + 1) {
    c4_Matrix_Delt[c4_i8] = c4_dv5[c4_i8];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,6);
  c4_i = 1.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,7);
  c4_flag = 0.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,8);
  c4_Matrix_DeltSum = 0.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,9);
  c4_Matrix_DeltMean = 0.0;
  while(CV_EML_WHILE(0, 0, c4_i < 33.0)) {
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,11);
    if(CV_EML_IF(0, 0,
      c4_Matrix_Delt[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("Matrix_Delt",
       (int32_T)_SFD_INTEGER_CHECK("i", c4_i), 1, 32
       , 1) - 1] == 0.0)) {
      _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,12);
      c4_flag = c4_flag + 1.0;
    }
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,14);
    c4_Matrix_DeltSum = c4_Matrix_DeltSum +
      c4_Matrix_Delt[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("Matrix_Delt",
     (int32_T)
     _SFD_INTEGER_CHECK("i", c4_i), 1, 32, 1) - 1];
    _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,15);
    c4_i = c4_i + 1.0;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,17);
  c4_A = c4_Matrix_DeltSum;
  c4_x = c4_A;
  c4_Matrix_DeltMean = c4_x / 32.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,19);
  for(c4_i9 = 0; c4_i9 < 1025; c4_i9 = c4_i9 + 1) {
    c4_Input_tem[c4_i9] = c4_b_u[c4_i9];
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,20);
  c4_counter0 = 1.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,21);
  c4_counter1 = 1.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,22);
  c4_counter2 = 1.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,23);
  c4_counter3 = 1.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,24);
  c4_Delt_part = 0.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,25);
  for(c4_i10 = 0; c4_i10 < 100; c4_i10 = c4_i10 + 1) {
    c4_MaxAmp[c4_i10] = 0.0;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,26);
  for(c4_i11 = 0; c4_i11 < 100; c4_i11 = c4_i11 + 1) {
    c4_MaxAmpNum[c4_i11] = 0.0;
  }
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,27);
  c4_MaxAmpSum = 0.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,28);
  c4_Mean = 0.0;
  _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,29);
  c4_Delt = 0.0;
  while(CV_EML_WHILE(0, 1, c4_counter0 < 101.0)) {
    while(CV_EML_WHILE(0, 2, c4_counter1 < 1025.0)) {
      _SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,32);
      if(CV_EML_IF(0, 1,
        c4_Input_tem[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("Input_tem",
         (int32_T)_SFD_INTEGER_CHECK("counter1",
          c4_counter1), 1, 1025, 1) - 1] >
        c4_MaxAmp[(int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("MaxAmp",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -