亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? scm_mex_core.c

?? 3gpp信道模型代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
                              a1c2_re*b12_re + a2c2_re*b22_re;
                           imag_multiplier[m_i] = a1c1_re*b11_im + a2c1_re*b21_im +
                              a1c2_re*b12_im + a2c2_re*b22_im;
                        }
                        else { /* aren't scalar, but real*/
                           ksnm = ksn*m_i+k*s*n_i+k*s_i+ k_i;
                           kunm = kun*m_i+k*u*n_i+k*u_i+k_i;
                           a1_re = *(re_X_BS_v+ksnm);
                           a2_re = *(re_X_BS_h+ksnm);
                           c1_re = *(re_X_MS_v+kunm);
                           c2_re = *(re_X_MS_h+kunm);
                           real_multiplier[m_i] = a1_re*c1_re*b11_re + a2_re*c1_re*b21_re + 
                              a1_re*c2_re*b12_re + a2_re*c2_re*b22_re;
                           imag_multiplier[m_i] = a1_re*c1_re*b11_im + a2_re*c1_re*b21_im +
                              a1_re*c2_re*b12_im + a2_re*c2_re*b22_im;
                        }
                     }
                     else { /* aren't real*/
                        ksnm = ksn*m_i+k*s*n_i+k*s_i+ k_i;
                        kunm = kun*m_i+k*u*n_i+k*u_i+k_i;
                        a1_re = *(re_X_BS_v+ksnm);
                        a2_re = *(re_X_BS_h+ksnm);
                        c1_re = *(re_X_MS_v+kunm);
                        c2_re = *(re_X_MS_h+kunm);
                        if (bsreal) {
                           a1_im= 0.0;
                           a2_im = 0.0;
                        }
                        else {
                           a1_im = *(im_X_BS_v+ksnm);
                           a2_im = *(im_X_BS_h+ksnm);
                        }
                        if (msreal) {
                           c1_im = 0.0;
                           c2_im = 0.0;
                        }
                        else {
                           c1_im = *(im_X_MS_v+kunm);
                           c2_im =  *(im_X_MS_h+kunm);
                        }
                        matrix_multiply(a1_re,a1_im,a2_re,a2_im,c1_re,c1_im,c2_re,c2_im,
                           b11_re,b11_im,b12_re,b12_im,b21_re,b21_im,b22_re,b22_im,
                           &real_multiplier[m_i], &imag_multiplier[m_i]);
                     }

                     /* time invariant exponent term */
                     exp_helper[m_i] = kds * cos_table[abs((*(aod+knm)-halfpi)*r2p)&divider]
                        + kdu * cos_table[abs((*(aoa+knm)-halfpi)*r2p)&divider];

                     /* the coefficient just in front of t in exp(j...)
                     * next value should be calculated accurately, because it is the main source of
                     * error when multiplied with large time sample values!
                     */
                     exp_t_coeff[m_i] =  kv * cos(*(aoa+knm)-theta_v[k_i]);	


                     if (tn >1) /* output pphase can be evaluated only if more than one time sample */
                     *(output_SubPathPhase+knm) = exp_t_coeff[m_i]* (*(ts+k*(tn-1)+k_i)+delta_t);
                  }
                  m_count = 0;
                  for (l_i=0;l_i<l;l_i++ ) {
                     knl = k*nl_i+k_i;
                     usnltk_i = usnl*tn*k_i + u*s*nl_i + u*s_i + u_i;
                     /* cycling the time vector */
                     for (t_i=0; t_i<tn; t_i++) {
                        real_sum = 0;
                        imag_sum = 0;
                        kt = k*t_i + k_i;
                        /* cycling m, now no calculations with m dependable variables is required */
                        m_i = m_count;
                        sumloop_with_table(m_i,m_count+(int)ln[l_i],exp_helper,exp_t_coeff, real_multiplier, imag_multiplier,
                           *(ts+kt), lm, &real_sum, &imag_sum, cos_table, r2p,divider, halfpi);
                        /* setting the output values and multiplying them with proper coefficient*/
                        usnltk = usnltk_i + usnl*t_i;
                        *(re_h+usnltk) = real_sum * *(sq_Pn+knl) * one_over_sq_ln[l_i];
                        *(im_h+usnltk) = imag_sum* *(sq_Pn+knl)* one_over_sq_ln[l_i];
                     }
                     m_count = m_count+(int)ln[l_i];
                     nl_i++;
                  }
               }
            }
         }
      }
      free(cos_table);
   }

   /* sin_look_up not used */
   else {

      /* cycling links */
      for(k_i=0; k_i<k; k_i++) {
         if(tn>1) {
            delta_t = *(ts+k+k_i)-*(ts+k_i);
         }
         kv = k_CONST * v[k_i]; /* value depends only on k */
         /* u is a given constant */
         for (u_i=0; u_i<u; u_i++) {
            kdu = k_CONST * *(d_u+u_i); /* value depends only on u */
            /* s is a given constant */
            for (s_i=0; s_i<s; s_i++) {
               kds = k_CONST * *(d_s+s_i); /* value depends only on s */
               /* running through paths, n is a given constant */
               nl_i = 0;
               for (n_i=0; n_i<n; n_i++) {
                  kn = k*n_i +k_i;
                  /* m is a given constant */
                  for (m_i=0; m_i<m; m_i++) {
                     /* calculation of pointer parameters */
                     knm = k*n*m_i+kn;
                     
                     
                     /* Jari (Apr 17, 2005): changed power normalization */
                     sq_r_n1 = sqrt(*(r_n1+kn));
                     sq_r_n2 = sqrt(*(r_n2+kn));

                     
                     b12_re = sq_r_n1 * cos(*(phase_v_h+knm));
                     b12_im = sq_r_n1 * sin(*(phase_v_h+knm));
                     b11_re = cos(*(phase_v_v+knm));
                     b11_im = sin(*(phase_v_v+knm));
                     b21_re = sq_r_n2 * cos(*(phase_h_v+knm));
                     b21_im = sq_r_n2 * sin(*(phase_h_v+knm));
                     b22_re = cos(*(phase_h_h+knm));
                     b22_im = sin(*(phase_h_h+knm));

                     
                     
                     /* Jari (Apr 17, 2005): Xpd independent power normalization, not used in this version */
                     /*
                     tmp = 1/sqrt(1+*(r_n1+kn));
                     b12_re = tmp * cos(*(phase_v_h+knm));
                     b12_im = tmp * sin(*(phase_v_h+knm));
                     tmp = sqrt(*(r_n1+kn))*tmp;
                     b11_re =  tmp * cos(*(phase_v_v+knm));
                     b11_im = tmp * sin(*(phase_v_v+knm));
                     tmp = 1/sqrt(1+*(r_n2+kn));
                     b21_re = tmp * cos(*(phase_h_v+knm));
                     b21_im = tmp * sin(*(phase_h_v+knm));
                     tmp = sqrt(*(r_n2+kn))*tmp;
                     b22_re = tmp * cos(*(phase_h_h+knm));
                     b22_im = tmp * sin(*(phase_h_h+knm));
                     */

                     if(both_real) { 
                        if (GainsAreScalar) {
                           real_multiplier[m_i] = a1c1_re *b11_re + a2c1_re * b21_re +
                              a1c2_re*b12_re + a2c2_re*b22_re;
                           imag_multiplier[m_i] = a1c1_re*b11_im + a2c1_re*b21_im +
                              a1c2_re*b12_im + a2c2_re*b22_im;
                        }
                        else { /* aren't scalar*/
                           ksnm = ksn*m_i+k*s*n_i+k*s_i+ k_i;
                           kunm = kun*m_i+k*u*n_i+k*u_i+k_i;
                           a1_re = *(re_X_BS_v+ksnm);
                           a2_re = *(re_X_BS_h+ksnm);
                           c1_re = *(re_X_MS_v+kunm);
                           c2_re = *(re_X_MS_h+kunm);
                           real_multiplier[m_i] = a1_re*c1_re*b11_re + a2_re*c1_re*b21_re + 
                              a1_re*c2_re*b12_re + a2_re*c2_re*b22_re;
                           imag_multiplier[m_i] = a1_re*c1_re*b11_im + a2_re*c1_re*b21_im +
                              a1_re*c2_re*b12_im + a2_re*c2_re*b22_im;
                        }
                     }
                     else { /* aren't real*/
                        ksnm = ksn*m_i+k*s*n_i+k*s_i+ k_i;
                        kunm = kun*m_i+k*u*n_i+k*u_i+k_i;
                        a1_re = *(re_X_BS_v+ksnm);
                        a2_re = *(re_X_BS_h+ksnm);
                        c1_re = *(re_X_MS_v+kunm);
                        c2_re = *(re_X_MS_h+kunm);
                        if (bsreal) {
                           a1_im= 0.0;
                           a2_im = 0.0;
                        }
                        else {
                           a1_im = *(im_X_BS_v+ksnm);
                           a2_im = *(im_X_BS_h+ksnm);
                        }
                        if (msreal) {
                           c1_im = 0.0;
                           c2_im = 0.0;
                        }
                        else {
                           c1_im = *(im_X_MS_v+kunm);
                           c2_im =  *(im_X_MS_h+kunm);
                        }
                        matrix_multiply(a1_re,a1_im,a2_re,a2_im,c1_re,c1_im,c2_re,c2_im,
                           b11_re,b11_im,b12_re,b12_im,b21_re,b21_im,b22_re,b22_im,
                           &real_multiplier[m_i], &imag_multiplier[m_i]);
                     }

                     /* time invariant exponent term */
                     exp_helper[m_i] = kds * sin(*(aod+knm)) + kdu * sin(*(aoa+knm));

                     /* the coefficient just in front of t in exp(j...)*/
                     exp_t_coeff[m_i] = kv * cos(*(aoa+knm)-theta_v[k_i]);

                     if (tn >1) /* output pphase can be evaluated only if more than one time sample */
                        *(output_SubPathPhase+knm) = exp_t_coeff[m_i]* (*(ts+k*(tn-1)+k_i)+delta_t);
                  }
                  m_count = 0;
                  for (l_i=0;l_i<l;l_i++ ) {
                      knl = k*nl_i+k_i;
                      usnltk_i = usnl*tn*k_i + u*s*nl_i + u*s_i + u_i;
                     /* cycling the time vector */
                     for (t_i=0; t_i<tn; t_i++) {
                        real_sum = 0;
                        imag_sum = 0;
                        kt = k*t_i + k_i;

                        /* cycling m, now no calculations with m dependable variables is required */
                        m_i = m_count;
                        sumloop(m_i,m_count+(int)ln[l_i],exp_helper,exp_t_coeff, real_multiplier, imag_multiplier,
                           *(ts+kt), lm, &real_sum, &imag_sum);

                        /* setting the output values and multiplying them with proper coefficient*/
                        usnltk = usnltk_i + usnl*t_i;
                        *(re_h+usnltk) = real_sum * *(sq_Pn+knl) * one_over_sq_ln[l_i];
                        *(im_h+usnltk) = imag_sum* *(sq_Pn+knl)* one_over_sq_ln[l_i];
                     }
                     m_count = m_count+(int)ln[l_i];
                     nl_i++;
                  }
               }
            }
         }
      }
   }
   /* freeing memory of temporary tables */
   free(real_multiplier);
   free(imag_multiplier);
   free(exp_t_coeff);
   free(exp_helper);
   free(one_over_sq_ln);

   return 0;
}

/**
 * Function scm_los creates a line of sight component.
 * The parameter angles must be in radians!
 * @param u the number of MS elements
 * @param s the number of BS elements
 * @param n number of paths
 * @param k the number of individual links
 * @param *re_G_BS real part of square root of BS Gain coefficients (size [k][s])
 * @param *im_G_BS imaginary part of BS Gain coefficients (size [k][s])
 * @param *re_G_MS real part of MS Gain coefficients (size [k][u])
 * @param *im_G_MS imaginary part of MS Gain coefficients (size [k][u])
 * @param k_CONST wavenumber (2*pi/lambda)
 * @param *d_s distance of BS antenna s from ref. antenna (s=1), (size [s])
 * @param *d_u distance of MS antenna u from ref. antenna (u=1), (size [u])
 * @param *theta_BS Angel of Departure for LOS (size [k])
 * @param *theta_MS Angel of Arrival for LOS (size [k])
 * @param phase_los phase of LOS component (size [k])
 * @param *v magnitude of the MS velocity vector (size [k])
 * @param *theta_v angle of the MS velocity vector (size [k])
 * @param *ts vector of time samples (size [k][tn])
 * @param tn number of time samples
 * @param *k_FACTOR the Ricean K factors (size [k])
 * @return 0 if success, 1 if bad arguments
 * @param *re_h pointer to real part of output los (size[u][s][t])
 * @param *im_h pointer to imag part output matrice h, re_h has to be initialized outside scm function
 * @param *output_los_phase output LOS phase (size [k])

 * @return 0 if success, 1 if bad arguments
 */
int scm_los(const int u, const int s, const int n, const int k, const double *re_G_BS, const double *im_G_BS,
   const double *re_G_MS, const double *im_G_MS,	const double k_CONST,
   const double *d_s, const double *d_u, const double *theta_BS, const double *theta_MS,
   const double *phase_los, const double *v, const double *theta_v, const double *ts, const int tn,
   double *k_FACTOR, double *re_h, double *im_h, double *output_los_phase) {

   int t_i, u_i, s_i, k_i, n_i;	/* running index variables */
   long int usntk_i, usn, usntk, ks, ku, kt; 	/* notation conversion variables from [][] to *(p[0]+var) */
   double delta_t;
   double a, b, angle;
   double real_multiplier, imag_multiplier, re_LOS, im_LOS;
   double exp_helper; /* part of coefficient for exp(j...) in the sum */
   double exp_t_coeff;
   double sq_1_over_K_plus_1, sq_K;


   for(k_i=0;k_i<k;k_i++) {
      /* check for LOS component */
      if (k_FACTOR[k_i] != 0) {
         
         /* the coefficients for terms */
         sq_1_over_K_plus_1 = sqrt(1/(k_FACTOR[k_i]+1));
         sq_K = sqrt(k_FACTOR[k_i]);

         /* the coefficient just in front of t in exp(j...)
         doesn't depend on u or s */
         exp_t_coeff = k_CONST * v[k_i] * cos(theta_MS[k_i]-theta_v[k_i]);

         /* output phase can be evaluated only if more than one time sample */
         if (tn >1) {
            delta_t = *(ts+k*1+k_i)-*(ts+k_i);
            *(output_los_phase+k_i) = exp_t_coeff * (*(ts+k*(tn-1)+k_i)+delta_t);
         }
         usn = u*s*n;

         /* u is a given constant*/
         for(u_i=0; u_i < u; u_i++) {
            /* s is a given constant */
            for(s_i=0;s_i< s; s_i++) {

               for(n_i=0; n_i<n; n_i++) {
                  
                  usntk_i = usn*tn*k_i + u*s*n_i + u*s_i + u_i;
                  /* for all components */
                  for(t_i=0; t_i<tn; t_i++) {
                     usntk = usntk_i + usn*t_i;
                     *(re_h + usntk) = sq_1_over_K_plus_1 * *(re_h + usntk);
                     *(im_h + usntk) = sq_1_over_K_plus_1 * *(im_h + usntk);
                  }

                  /* for LOS components */
                  if (n_i == 0) {

                     ks = k*s_i + k_i;
                     ku = k*u_i + k_i;

                     /* Multiplying gain components (t-invariant) */
                     /* check G_BS and G_MS for being real valued */
                     if (im_G_BS != NULL || im_G_MS != NULL) {
                        /* Both are imaginary */
                        if (im_G_BS != NULL && im_G_MS != NULL) {
                           complex_multiply(*(re_G_BS+ks), *(im_G_BS+ks),
                              *(re_G_MS+ku), *(im_G_MS+ku), &a, &b);
                        }
                        /* only G_BS is complex */
                        else if (im_G_BS != NULL && im_G_MS == NULL) {
                           complex_multiply(*(re_G_BS+ks), *(im_G_BS+ks),
                              *(re_G_MS+ku), 0.0, &a, &b);
                        }
                        /* only G_MS is complex */
                        else {
                           complex_multiply(*(re_G_BS+ks), 0.0,
                              *(re_G_MS+ku), *(im_G_MS+ku), &a, &b);                           

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩午夜在线视频| 国产精品久久久久久久久免费丝袜| 色一情一乱一乱一91av| 国产精品一区二区久激情瑜伽 | 欧美日韩精品三区| 93久久精品日日躁夜夜躁欧美| 国产综合久久久久影院| 日韩极品在线观看| 亚洲成人av一区| 亚洲一区中文日韩| 亚洲视频网在线直播| 中文字幕中文乱码欧美一区二区| 日韩欧美国产小视频| 91精品免费观看| 7777精品伊人久久久大香线蕉最新版| 在线一区二区观看| 99热这里都是精品| 91香蕉视频污在线| 一本大道久久a久久精品综合| 成人精品国产福利| 精品写真视频在线观看| 久久99国产精品免费| 久久国产精品无码网站| 六月丁香综合在线视频| 久久草av在线| 久久99精品国产91久久来源| 久久99精品网久久| 国产一区二区三区免费| 国产精品一区二区久激情瑜伽| 国内成+人亚洲+欧美+综合在线| 久草在线在线精品观看| 国产一区二区在线观看视频| 国产精品69毛片高清亚洲| 国产激情精品久久久第一区二区| 国产精品18久久久久久久久久久久| 国产在线不卡视频| 成人三级伦理片| 国产精品综合网| 欧美日本一区二区| 欧美二区在线观看| 日韩欧美在线网站| 日韩一区二区高清| 久久青草国产手机看片福利盒子 | 国产成人超碰人人澡人人澡| 久久精品国产亚洲5555| 国产麻豆成人精品| www.亚洲国产| 欧洲av一区二区嗯嗯嗯啊| 欧美福利电影网| 精品国产乱码久久久久久久久 | 中文字幕一区在线观看视频| 亚洲嫩草精品久久| 一区二区三区美女| 美女一区二区三区| 国产不卡高清在线观看视频| 色婷婷久久久久swag精品| 欧美一区在线视频| 欧美国产一区二区| 一区二区三区中文在线观看| 免费人成精品欧美精品| 精品午夜久久福利影院| 99久久99久久精品国产片果冻| 欧美中文字幕亚洲一区二区va在线| 91麻豆精品国产91久久久久久| 国产日韩精品一区二区浪潮av| 亚洲一区二区三区三| 国产精品正在播放| 色丁香久综合在线久综合在线观看| 91精品福利在线一区二区三区 | 成人午夜短视频| 欧美日韩在线三区| 久久精品一区二区三区不卡| 亚洲欧美国产高清| 亚洲女同一区二区| 韩国精品主播一区二区在线观看| 欧美精品xxxxbbbb| 亚洲精品成人少妇| 成人97人人超碰人人99| 久久久综合激的五月天| 另类人妖一区二区av| 欧美日韩国产首页| 亚洲精品成人a在线观看| av在线播放一区二区三区| 久久精品人人做人人综合| 久久精品国产澳门| 日韩手机在线导航| 日韩avvvv在线播放| 在线观看视频一区| 一区二区视频免费在线观看| 91亚洲永久精品| 亚洲欧洲日韩综合一区二区| 国v精品久久久网| 国产视频视频一区| 国产精品1024| 国产婷婷色一区二区三区在线| 国产呦精品一区二区三区网站| 精品国产一区久久| 狠狠色丁香久久婷婷综| 久久伊99综合婷婷久久伊| 国内精品国产成人| 久久精品水蜜桃av综合天堂| 国产夫妻精品视频| 中日韩免费视频中文字幕| 不卡视频一二三| 成人欧美一区二区三区黑人麻豆 | www.亚洲人| 亚洲女同一区二区| 欧美又粗又大又爽| 国产精品一二二区| 国产精品色呦呦| 色综合色综合色综合| 亚洲一区二区欧美| 欧美久久久久中文字幕| 奇米一区二区三区| 欧美mv和日韩mv的网站| 国产一区二区三区不卡在线观看 | 亚洲最快最全在线视频| 欧美午夜影院一区| 日本不卡高清视频| 久久精品免视看| k8久久久一区二区三区| 一区二区三区免费看视频| 欧美久久一区二区| 国产精品小仙女| 亚洲精品高清在线| 91精品国产免费| 国产成人在线视频播放| 成人免费一区二区三区在线观看| 色婷婷av一区| 老色鬼精品视频在线观看播放| 久久久噜噜噜久久人人看| 99精品1区2区| 免费的成人av| 中文天堂在线一区| 欧美日韩一本到| 国产一区二区电影| 一区二区三区日本| 26uuu国产日韩综合| 色综合夜色一区| 奇米精品一区二区三区在线观看 | 亚洲a一区二区| 久久精品水蜜桃av综合天堂| 在线精品视频一区二区三四| 蜜桃久久久久久| 亚洲天堂网中文字| 精品少妇一区二区三区在线播放 | 欧美午夜寂寞影院| 激情av综合网| 一区二区三区四区国产精品| 日韩欧美成人激情| 色欧美日韩亚洲| 国产一区二区三区综合| 亚洲自拍欧美精品| 久久精品欧美日韩精品| 欧美巨大另类极品videosbest | 91欧美一区二区| 精品一区二区三区在线观看国产| 亚洲日本免费电影| 精品99一区二区三区| 欧美三级欧美一级| 北岛玲一区二区三区四区| 另类小说视频一区二区| 亚洲一区二区三区在线| 中文字幕精品在线不卡| 欧美一区二区视频观看视频| 成人黄色av电影| 经典三级视频一区| 一二三四社区欧美黄| 国产精品全国免费观看高清| 日韩欧美在线综合网| 精品污污网站免费看| 99精品国产视频| 国产成人鲁色资源国产91色综 | 99国产精品一区| 国产精品88888| 久久成人久久爱| 日韩精品亚洲专区| 亚洲午夜免费福利视频| 亚洲丝袜自拍清纯另类| 国产欧美日本一区视频| 精品久久一区二区三区| 欧美精品99久久久**| 欧洲国产伦久久久久久久| 99久久婷婷国产综合精品| 高清不卡在线观看| 国产久卡久卡久卡久卡视频精品| 美美哒免费高清在线观看视频一区二区| 一区二区三区中文字幕| 亚洲欧美乱综合| 亚洲男人的天堂在线aⅴ视频| 国产精品麻豆欧美日韩ww| 国产欧美综合在线| 国产亚洲精品中文字幕| 精品乱码亚洲一区二区不卡| 欧美成人国产一区二区| 日韩欧美国产高清| 精品久久久三级丝袜| 精品日韩一区二区三区| 精品国产乱码久久久久久浪潮| 日韩美女在线视频|