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

📄 c3_std5.c

📁 mmo 信道估计算法 matlab 仿真 实现了无线信道环境下的信道估计
💻 C
📖 第 1 页 / 共 5 页
字号:
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_i_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_j_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_k_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i40;
  creal_T c3_b_u[64];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i40 = 0; c3_i40 < 64; c3_i40 = c3_i40 + 1) {
    c3_b_u[c3_i40].re = (*(creal_T (*)[64])c3_u)[c3_i40].re;
    c3_b_u[c3_i40].im = (*(creal_T (*)[64])c3_u)[c3_i40].im;
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 1U, 2, 1, 64));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_l_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i41;
  creal_T c3_b_u[64];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i41 = 0; c3_i41 < 64; c3_i41 = c3_i41 + 1) {
    c3_b_u[c3_i41].re = (*(creal_T (*)[64])c3_u)[c3_i41].re;
    c3_b_u[c3_i41].im = (*(creal_T (*)[64])c3_u)[c3_i41].im;
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 1U, 2, 1, 64));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_m_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i42;
  creal_T c3_b_u[128];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i42 = 0; c3_i42 < 128; c3_i42 = c3_i42 + 1) {
    c3_b_u[c3_i42].re = (*(creal_T (*)[128])c3_u)[c3_i42].re;
    c3_b_u[c3_i42].im = (*(creal_T (*)[128])c3_u)[c3_i42].im;
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 1U, 2, 1, 128));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_n_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_o_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_p_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_q_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_r_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  creal_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u.re = ((creal_T *)c3_u)->re;
  c3_b_u.im = ((creal_T *)c3_u)->im;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_s_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_t_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  creal_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u.re = ((creal_T *)c3_u)->re;
  c3_b_u.im = ((creal_T *)c3_u)->im;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_u_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  creal_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u.re = ((creal_T *)c3_u)->re;
  c3_b_u.im = ((creal_T *)c3_u)->im;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_v_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i43;
  real_T c3_b_u[1000];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i43 = 0; c3_i43 < 1000; c3_i43 = c3_i43 + 1) {
    c3_b_u[c3_i43] = (*(real_T (*)[1000])c3_u)[c3_i43];
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 1U, 2, 1, 1000));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_w_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i44;
  real_T c3_b_u[1000];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i44 = 0; c3_i44 < 1000; c3_i44 = c3_i44 + 1) {
    c3_b_u[c3_i44] = (*(real_T (*)[1000])c3_u)[c3_i44];
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 1U, 1, 1000));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_x_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i45;
  creal_T c3_b_u[1000];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i45 = 0; c3_i45 < 1000; c3_i45 = c3_i45 + 1) {
    c3_b_u[c3_i45].re = (*(creal_T (*)[1000])c3_u)[c3_i45].re;
    c3_b_u[c3_i45].im = (*(creal_T (*)[1000])c3_u)[c3_i45].im;
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 1U, 1, 1000));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_y_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i46;
  creal_T c3_b_u[1000];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i46 = 0; c3_i46 < 1000; c3_i46 = c3_i46 + 1) {
    c3_b_u[c3_i46].re = (*(creal_T (*)[1000])c3_u)[c3_i46].re;
    c3_b_u[c3_i46].im = (*(creal_T (*)[1000])c3_u)[c3_i46].im;
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 1U, 1U, 1, 1000));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_ab_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i47;
  real_T c3_b_u[320];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i47 = 0; c3_i47 < 320; c3_i47 = c3_i47 + 1) {
    c3_b_u[c3_i47] = (*(real_T (*)[320])c3_u)[c3_i47];
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 1U, 2, 1, 320));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_bb_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  int32_T c3_i48;
  real_T c3_b_u[320];
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  for(c3_i48 = 0; c3_i48 < 320; c3_i48 = c3_i48 + 1) {
    c3_b_u[c3_i48] = (*(real_T (*)[320])c3_u)[c3_i48];
  }
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 1U, 2, 1, 320));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

static const mxArray *c3_cb_sf_marshall(void *c3_chartInstance, void *c3_u)
{
  const mxArray *c3_y = NULL;
  real_T c3_b_u;
  const mxArray *c3_b_y = NULL;
  c3_y = NULL;
  c3_b_u = *(real_T *)c3_u;
  c3_b_y = NULL;
  sf_mex_assign(&c3_b_y, sf_mex_create(&c3_b_u, "y", 0, 0U, 0U, 0));
  sf_mex_assign(&c3_y, c3_b_y);
  return c3_y;
}

const mxArray *sf_c3_std5_get_eml_resolved_functions_info(void)
{
  const mxArray *c3_nameCaptureInfo = NULL;
  c3_nameCaptureInfo = NULL;
  sf_mex_assign(&c3_nameCaptureInfo, sf_mex_create(NULL, "nameCaptureInfo", 0,
    0U, 1U, 2, 0, 1));
  return c3_nameCaptureInfo;
}

static creal_T *c3_syn(void)
{
  return (creal_T *)ssGetOutputPortSignal(chartInstance.S, 1);
}

static creal_T *c3_input_signal(void)
{
  return (creal_T *)ssGetInputPortSignal(chartInstance.S, 0);
}

static real_T *c3_dreal_syble(void)
{
  return (real_T *)ssGetOutputPortSignal(chartInstance.S, 2);
}

static real_T *c3_dimag_syble(void)
{
  return (real_T *)ssGetOutputPortSignal(chartInstance.S, 3);
}

static real_T *c3_fine_time_est(void)
{
  return (real_T *)ssGetOutputPortSignal(chartInstance.S, 4);
}

static real_T *c3_fine_errfre(void)
{
  return (real_T *)ssGetOutputPortSignal(chartInstance.S, 5);
}

static creal_T *c3_coarse_fre(void)
{
  return (creal_T *)ssGetInputPortSignal(chartInstance.S, 1);
}

static creal_T *c3_time_corr_long(void)
{
  return (creal_T *)ssGetOutputPortSignal(chartInstance.S, 6);
}

static void init_dsm_address_info(void)
{
}

/* SFunction Glue Code */
void sf_c3_std5_get_check_sum(mxArray *plhs[])
{
  ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(2129083842U);
  ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(2712238070U);
  ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(2735857216U);
  ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(1331599417U);
}

mxArray *sf_c3_std5_get_autoinheritance_info(void)
{
  const char *autoinheritanceFields[] =
  {"checksum","inputs","parameters","outputs"};
  mxArray *mxAutoinheritanceInfo =
  mxCreateStructMatrix(1,1,4,autoinheritanceFields);
  {
    mxArray *mxChecksum = mxCreateDoubleMatrix(4,1,mxREAL);
    double *pr = mxGetPr(mxChecksum);
    pr[0] = (double)(4273949053U);
    pr[1] = (double)(1152608080U);
    pr[2] = (double)(1964121070U);
    pr[3] = (double)(3891072895U);
    mxSetField(mxAutoinheritanceInfo,0,"checksum",mxChecksum);
  }
  {
    const char *dataFields[] = {"size","type","complexity"};
    mxArray *mxData = mxCreateStructMatrix(1,2,3,dataFields);
    {

⌨️ 快捷键说明

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