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

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

?? berg_cmegd.c

?? 有關信道估計和信道均衡的仿真程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************** *									      * * berg_cmegd.c - CME-GD algorithms for the BERGulator (called by ui_traj.m)  * *									      * * written by: 	Phil "Bert" Schniter 					      * *		Blind Equalization Research Group 			      * * 		Cornell University					      * *		9/20/97							      * *                                                                            * * Copyright 1997-1998 Phil Schniter                                          * *									      * ******************************************************************************/#include "mex.h"#include <math.h>/**********************  * real-valued CME-GD * ********************** * * the real-valued (source, channel, noise) CME-GD routine replaces  * the following matlab code: * * -------------------------------------------------- * f_cur = f_init; * for i = 1:N, *   reg = r(1, N_f+(1+is_FSE)*i:-1:(1+is_FSE)*i+1); *   y_cur = reg*f_cur;       % for constellation plot... *   h = C*f_cur; *   hTh = norm(h)^2; *   fTf = norm(f_cur)^2; *   srcme_cur = sqrt( kappa^2 - 2*kappa*(hTh + sigma2_n*fTf)... *      + 3*hTh^2 + (kappa-3)*norm(h.^2).^2 ... *      + 6*sigma2_n*hTh*fTf + 3*sigma2_n^2*fTf^2); *   dJdf = (kappa-3)*C'*(h.^3) + (3*hTh + 3*sigma2_n*fTf - kappa)*... *      (C'*h + sigma2_n*f_cur); *   f_cur = f_cur  - mu*dJdf; *   f(:,floor((i-1)/D_f)+1) = f_cur; *   y(floor((i-1)/D_e)+1) = y_cur; *   srcme(floor((i-1)/D_e)+1) = srcme_cur; * end * -------------------------------------------------- */void cmegd_rPAM(double *fr, double *yr, double *srcme, double *rr, 	 double *fr_init,          double kappa, double mu,         int N, int N_f, int D_e, int D_f, int is_FSE, int is_cmplx,	 int len_f, int len_y, int N_h,	 double sigma2_n, double *Cr){  double *fr_cur, *hr_cur, *hr2_cur, *gradr;  double yr_cur, srcme_cur, sqnrm_h, sqnrm_f, sum_h4, tmp;  int    i, k, n, f_ind=0, y_ind=0, reg_ind;   /* allocate local memory */  fr_cur = (double *)mxCalloc(N_f,sizeof(double));  hr_cur = (double *)mxCalloc(N_h,sizeof(double));  hr2_cur = (double *)mxCalloc(N_h,sizeof(double));  gradr = (double *)mxCalloc(N_f,sizeof(double));  /* initialize equalizer */  for (k=0; k<N_f; k++){    fr_cur[k] = fr_init[k];  }  /* adaptation routine */  reg_ind = N_f-1;  for (i=0; i<N; ){    reg_ind += 1+is_FSE;		/* update regressor index */    i++;				/* convenient to increment here */    sqnrm_f = 0;     for (k=0; k<N_f; k++){ 		/* calc ||f||^2 */      sqnrm_f += fr_cur[k]*fr_cur[k];     }    sqnrm_h = 0;     for (n=0; n<N_h; n++){ 		/* calc h, h^2, and ||h||^2 */      hr_cur[n] = 0;      for (k=0; k<N_f; k++){ hr_cur[n] += Cr[k*N_h+n]*fr_cur[k]; }       hr2_cur[n] = hr_cur[n]*hr_cur[n];      sqnrm_h += hr2_cur[n];    }    /* calculate and store output (y) and square-root CM error (srcme) */    if( !(i % D_e) ){      yr[y_ind] = 0;			      for (k=0; k<N_f; k++){ 		        yr[y_ind] += rr[reg_ind-k]*fr_cur[k];      }      sum_h4 = 0; for( n=0; n<N_h; n++ ){ sum_h4 += hr2_cur[n]*hr2_cur[n]; }      srcme[y_ind++] = sqrt(kappa*kappa - 2*kappa*(sqnrm_h + sigma2_n*sqnrm_f)  		+ 3*sigma2_n*sigma2_n*sqnrm_f*sqnrm_f         	+ 3*sqnrm_h*(sqnrm_h + 2*sigma2_n*sqnrm_f)        	+ (kappa-3)*sum_h4);	    }    /* calc CME gradient */    tmp = 3*sqnrm_h + 3*sigma2_n*sqnrm_f - kappa;    for (k=0; k<N_f; k++){      gradr[k] = sigma2_n*fr_cur[k];      for (n=0; n<N_h; n++){        gradr[k] += Cr[k*N_h+n]*hr_cur[n];      }      gradr[k] *= tmp;      for (n=0; n<N_h; n++){        gradr[k] += (kappa-3)*hr2_cur[n]*hr_cur[n]*Cr[k*N_h+n];      }    }    /* update equalizer coefficients */    for (k=0; k<N_f; k++){		      fr_cur[k] -= mu*gradr[k];    }    /* store equalizer coefficients */    if( !(i % D_f) )       for (k=0; k<N_f; k++){		        fr[f_ind++] = fr_cur[k];      }  }   /* store final equalizer */  for (k=0; k<N_f; k++){    fr[N_f*(len_f-1)+k] = fr_cur[k];  }  /* store final y and srcme */  yr[len_y-1] = 0;  for (k=0; k<N_f; k++){    yr[len_y-1] += rr[reg_ind-k]*(fr_cur[k]+mu*gradr[k]);  }  sum_h4 = 0; for( n=0; n<N_h; n++ ){ sum_h4 += hr2_cur[n]*hr2_cur[n]; }  srcme[len_y-1] = sqrt(kappa*kappa - 2*kappa*(sqnrm_h + sigma2_n*sqnrm_f)                + 3*sigma2_n*sigma2_n*sqnrm_f*sqnrm_f                + 3*sqnrm_h*(sqnrm_h + 2*sigma2_n*sqnrm_f)                + (kappa-3)*sum_h4);}/* end of cmegd_rPAM() *//***********************  * cmplx-PAM CME-GD * *********************** * * the cmplx-channel (rotationally invariant noise) real-source CME-GD  * routine replaces the following matlab code: * * -------------------------------------------------- * f_cur = f_init; * for i = 1:N, *     reg = r(1, N_f+(1+is_FSE)*i:-1:(1+is_FSE)*i+1); *     y_cur = reg*f_cur;       % for constellation plot... *     h = C*f_cur; *     hTh = norm(h)^2; *     fTf = norm(f_cur)^2; *     srcme_cur = sqrt( (kappa-3)*sum(abs(h).^4) + 2*hTh^2 + abs(h.'*h)^2 ... *	 + 2*sigma2_n^2*fTf^2 + 4*sigma2_n*hTh*fTf... *       - 2*kappa*(hTh + sigma2_n*fTf) + kappa^2 ); *     dJdf = (kappa-3)*C'*(h.*(abs(h).^2)) + (h.'*h)*C'*conj(h)... *       + (2*hTh + 2*sigma2_n*fTf - kappa)*(C'*h + sigma2_n*f_cur); *     f_cur = f_cur - mu*dJdf; *     f(:,floor((i-1)/D_f)+1) = f_cur; *     y(floor((i-1)/D_e)+1) = y_cur; *     srcme(floor((i-1)/D_e)+1) = srcme_cur; * end * -------------------------------------------------- */void cmegd_cPAM(double *fr, double *fi, double *yr, double *yi, double *srcme, 	 double *rr, double *ri, double *fr_init, double *fi_init,         double kappa, double mu,         int N, int N_f, int D_e, int D_f, int is_FSE, int is_cmplx,	 int len_f, int len_y, int N_h,	 double sigma2_n, double *Cr, double *Ci){  double *fr_cur, *fi_cur, *hr_cur, *hi_cur, *h2_cur, *f2_cur, *gradr, *gradi;  double yr_cur, yi_cur, srcme_cur;  double sqnrm_h, sqnrm_f, sum_h4, hthr, hthi, tmp;  int    i, k, n, f_ind=0, y_ind=0, reg_ind;   /* allocate local memory */  fr_cur = (double *)mxCalloc(N_f,sizeof(double));  fi_cur = (double *)mxCalloc(N_f,sizeof(double));  f2_cur = (double *)mxCalloc(N_f,sizeof(double));  hr_cur = (double *)mxCalloc(N_h,sizeof(double));  hi_cur = (double *)mxCalloc(N_h,sizeof(double));  h2_cur = (double *)mxCalloc(N_h,sizeof(double));  gradr = (double *)mxCalloc(N_f,sizeof(double));  gradi = (double *)mxCalloc(N_f,sizeof(double));  /* initialize equalizer */  for (k=0; k<N_f; k++){    fr_cur[k] = fr_init[k];    fi_cur[k] = fi_init[k];  }  /* adaptation routine */  reg_ind = N_f-1;  for (i=0; i<N; ){    reg_ind += 1+is_FSE;		/* update regressor index */    i++;				/* convenient to increment here */    sqnrm_f = 0;     for (k=0; k<N_f; k++){ 		/* calc |f|^2 and ||f||^2 */      f2_cur[k] = fr_cur[k]*fr_cur[k] + fi_cur[k]*fi_cur[k];       sqnrm_f += f2_cur[k];    }    sqnrm_h = 0;     hthr = 0;    hthi = 0;    for (n=0; n<N_h; n++){ 		/* calc h, hth, |h|^2, & ||h||^2 */      hr_cur[n] = 0;      hi_cur[n] = 0;      for (k=0; k<N_f; k++){         hr_cur[n] += Cr[k*N_h+n]*fr_cur[k] - Ci[k*N_h+n]*fi_cur[k];         hi_cur[n] += Cr[k*N_h+n]*fi_cur[k] + Ci[k*N_h+n]*fr_cur[k];       }       h2_cur[n] = hr_cur[n]*hr_cur[n] + hi_cur[n]*hi_cur[n];      sqnrm_h += h2_cur[n];      hthr += hr_cur[n]*hr_cur[n] - hi_cur[n]*hi_cur[n];      hthi += 2*hr_cur[n]*hi_cur[n];    }    /* calculate and store output (y) and square-root CM error (srcme) */    if( !(i % D_e) ){      yr[y_ind] = 0;			      yi[y_ind] = 0;			      for (k=0; k<N_f; k++){ 		        yr[y_ind] += rr[reg_ind-k]*fr_cur[k] - ri[reg_ind-k]*fi_cur[k];        yi[y_ind] += rr[reg_ind-k]*fi_cur[k] + ri[reg_ind-k]*fr_cur[k];      }      sum_h4 = 0; for( n=0; n<N_h; n++ ){ sum_h4 += h2_cur[n]*h2_cur[n]; }      srcme[y_ind++] = sqrt(kappa*kappa - 2*kappa*(sqnrm_h + sigma2_n*sqnrm_f)  		+ 2*sigma2_n*sigma2_n*sqnrm_f*sqnrm_f         	+ 2*sqnrm_h*(sqnrm_h + 2*sigma2_n*sqnrm_f)        	+ (kappa-3)*sum_h4 + (hthr*hthr + hthi*hthi));    }    /* calc CME gradient */    tmp = 2*sqnrm_h + 2*sigma2_n*sqnrm_f - kappa;    for (k=0; k<N_f; k++){      gradr[k] = sigma2_n*fr_cur[k];      gradi[k] = sigma2_n*fi_cur[k];      for (n=0; n<N_h; n++){        gradr[k] += Cr[k*N_h+n]*hr_cur[n] + Ci[k*N_h+n]*hi_cur[n];        gradi[k] += Cr[k*N_h+n]*hi_cur[n] - Ci[k*N_h+n]*hr_cur[n];      }      gradr[k] *= tmp;      gradi[k] *= tmp;      for (n=0; n<N_h; n++){        gradr[k] += (kappa-3)*h2_cur[n]*		(hr_cur[n]*Cr[k*N_h+n] + hi_cur[n]*Ci[k*N_h+n])		+ hthr*(hr_cur[n]*Cr[k*N_h+n] - hi_cur[n]*Ci[k*N_h+n]) 		+ hthi*(hr_cur[n]*Ci[k*N_h+n] + hi_cur[n]*Cr[k*N_h+n]);        gradi[k] += (kappa-3)*h2_cur[n]*		(hi_cur[n]*Cr[k*N_h+n] - hr_cur[n]*Ci[k*N_h+n])		+ hthi*(hr_cur[n]*Cr[k*N_h+n] - hi_cur[n]*Ci[k*N_h+n]) 		- hthr*(hr_cur[n]*Ci[k*N_h+n] + hi_cur[n]*Cr[k*N_h+n]);      }    }    /* update equalizer coefficients */    for (k=0; k<N_f; k++){		      fr_cur[k] -= mu*gradr[k];      fi_cur[k] -= mu*gradi[k];    }    /* store equalizer coefficients */    if( !(i % D_f) )       for (k=0; k<N_f; k++){		        fr[f_ind] = fr_cur[k];        fi[f_ind++] = fi_cur[k];      }  }   /* store final equalizer */  for (k=0; k<N_f; k++){    fr[N_f*(len_f-1)+k] = fr_cur[k];    fi[N_f*(len_f-1)+k] = fi_cur[k];  }  /* store final y and srcme */  yr[len_y-1] = 0;  yi[len_y-1] = 0;  for (k=0; k<N_f; k++){    yr[len_y-1] += rr[reg_ind-k]*(fr_cur[k]+mu*gradr[k])			- ri[reg_ind-k]*(fi_cur[k]+mu*gradi[k]);    yi[len_y-1] += rr[reg_ind-k]*(fi_cur[k]+mu*gradi[k])			+ ri[reg_ind-k]*(fr_cur[k]+mu*gradr[k]);  }  sum_h4 = 0; for( n=0; n<N_h; n++ ){ sum_h4 += h2_cur[n]*h2_cur[n]; }  srcme[len_y-1] = sqrt(kappa*kappa - 2*kappa*(sqnrm_h + sigma2_n*sqnrm_f)  		+ 2*sigma2_n*sigma2_n*sqnrm_f*sqnrm_f         	+ 2*sqnrm_h*(sqnrm_h + 2*sigma2_n*sqnrm_f)        	+ (kappa-3)*sum_h4 + (hthr*hthr + hthi*hthi));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品久久99果冻传媒| 日本高清成人免费播放| 99久久99久久综合| 在线电影国产精品| 亚洲日本va午夜在线影院| 久久99热这里只有精品| 欧洲色大大久久| 国产精品天天摸av网| 狠狠色丁香婷综合久久| 欧美精品欧美精品系列| 亚洲综合在线五月| 成人的网站免费观看| 精品动漫一区二区三区在线观看| 亚洲国产精品久久一线不卡| 91色婷婷久久久久合中文| 久久久不卡网国产精品一区| 日韩高清不卡在线| 欧美色综合影院| 一区二区三区四区中文字幕| 99久久精品国产一区二区三区| 久久精品一区蜜桃臀影院| 男男视频亚洲欧美| 欧美一区二区免费视频| 日韩—二三区免费观看av| 欧洲人成人精品| 亚洲一二三专区| 欧美视频一二三区| 亚洲综合免费观看高清完整版在线| 99久久久国产精品| 国产精品久久久久aaaa| 福利一区二区在线观看| 中文字幕乱码一区二区免费| 国产成人精品免费| 欧美韩日一区二区三区四区| 国产精品一区二区三区99| 久久精品亚洲麻豆av一区二区| 久久精品国产一区二区| 精品国产123| 国产一区二区在线免费观看| 久久久青草青青国产亚洲免观| 国产另类ts人妖一区二区| 久久精品日韩一区二区三区| 成人激情视频网站| 亚洲蜜臀av乱码久久精品| 欧美综合久久久| 日本不卡不码高清免费观看| 日韩亚洲国产中文字幕欧美| 精品一区二区三区久久| 亚洲国产精品精华液ab| 成人av网站在线观看免费| 国产精品第13页| 欧美色电影在线| 日韩高清不卡一区二区三区| 久久美女艺术照精彩视频福利播放 | 欧美人妖巨大在线| 天堂成人国产精品一区| 久久久午夜精品理论片中文字幕| 国产在线播放一区三区四| 国产日韩精品久久久| 色噜噜狠狠色综合中国| 蜜桃一区二区三区四区| 久久久久久免费网| 91女神在线视频| 久久精品国产99国产精品| 国产精品久久一卡二卡| 欧美一区二区成人6969| 处破女av一区二区| 视频一区在线视频| 久久久99免费| 欧美影院午夜播放| 国产自产视频一区二区三区| 一区二区不卡在线播放| 精品日韩av一区二区| 91黄色激情网站| 国产精品综合二区| 午夜欧美视频在线观看| 中文字幕不卡在线观看| 欧美一级专区免费大片| 日本精品视频一区二区三区| 久久99精品国产| 亚洲午夜久久久久久久久电影网 | 日韩欧美资源站| 91一区一区三区| 久久99精品久久只有精品| 亚洲欧美日韩综合aⅴ视频| 久久亚洲一区二区三区四区| 欧美在线色视频| 99vv1com这只有精品| 国产一区二区导航在线播放| 午夜影院久久久| 亚洲欧美日韩国产综合| 久久久久久影视| 日韩亚洲欧美综合| 欧美挠脚心视频网站| 日本韩国一区二区三区视频| 成人精品电影在线观看| 国产传媒日韩欧美成人| 久久成人免费网站| 丝袜美腿亚洲一区二区图片| 悠悠色在线精品| 国产精品福利一区二区| 久久精品视频一区二区| 亚洲精品在线电影| 欧美videos大乳护士334| 欧美日韩国产精品自在自线| 91成人在线精品| 色婷婷一区二区三区四区| 成人免费视频caoporn| 国产大陆a不卡| 国产传媒欧美日韩成人| 国产成人免费在线视频| 高清久久久久久| 成人一二三区视频| 大白屁股一区二区视频| 不卡一区二区中文字幕| 白白色 亚洲乱淫| jizz一区二区| 91色综合久久久久婷婷| 在线观看日韩av先锋影音电影院| 91丨九色porny丨蝌蚪| 在线观看亚洲精品视频| 欧美日韩国产一区| 欧美蜜桃一区二区三区| 欧美一级午夜免费电影| 欧美v日韩v国产v| 久久精品视频在线看| 亚洲欧洲国产专区| 一区二区免费视频| 午夜成人免费电影| 日本视频一区二区三区| 激情另类小说区图片区视频区| 国产成a人亚洲精品| 99精品在线免费| 欧美视频一区在线| 欧美成人一区二区| 久久免费精品国产久精品久久久久| 国产日产精品1区| 亚洲免费观看高清| 日韩成人dvd| 风间由美性色一区二区三区| 色爱区综合激月婷婷| 91麻豆精品国产91久久久久久| 精品久久久影院| 亚洲欧美激情一区二区| 视频在线观看91| 成人黄色在线视频| 欧美精品九九99久久| 国产无人区一区二区三区| 亚洲精品第一国产综合野| 青青草成人在线观看| 9色porny自拍视频一区二区| 欧美日韩成人在线| 欧美国产欧美综合| 日韩精品一级中文字幕精品视频免费观看 | 亚洲视频在线一区二区| 亚洲成人免费观看| 国产高清不卡二三区| 91电影在线观看| 国产欧美一区二区三区在线老狼| 亚洲欧洲美洲综合色网| 久久99精品国产麻豆婷婷| 色偷偷成人一区二区三区91| 久久综合一区二区| 亚洲在线观看免费视频| 懂色av一区二区三区蜜臀| 337p亚洲精品色噜噜| 国产精品久久精品日日| 久久国产精品免费| 91麻豆自制传媒国产之光| 久久网站最新地址| 日韩中文字幕一区二区三区| 99re8在线精品视频免费播放| 精品成人一区二区三区| 亚洲综合另类小说| 99久久伊人久久99| 久久午夜老司机| 蜜臀av亚洲一区中文字幕| 在线观看一区不卡| 亚洲私人影院在线观看| 成人午夜又粗又硬又大| www一区二区| 激情综合色综合久久| 91精品一区二区三区久久久久久 | 韩国毛片一区二区三区| 91精品国产一区二区| 一区二区三区四区在线播放| 波多野结衣亚洲一区| 26uuu久久综合| 韩国欧美国产一区| 精品精品欲导航| 玖玖九九国产精品| 欧美电视剧免费全集观看| 三级影片在线观看欧美日韩一区二区 | 中文字幕精品一区二区精品绿巨人 | 亚洲美女偷拍久久| 成人av动漫在线| 国产精品国模大尺度视频| 99久久精品情趣| ...xxx性欧美| 欧美性色欧美a在线播放|