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

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

?? pseudo_channel.c

?? 介紹關于WiMax(IEEE802.16)物理層調制解調編碼等相關設計實現
?? C
字號:
/*****************************************************************************//*   FIle Name : pseudo_channel.c                                            *//*   Description : Wi-Max SC Pseudo Channel Estimatitor                      *//*                 mode : [3]  1:step 0:bilinear interpolation               *//*                      : [1:0]  0:drift both in freq & time domain          *//*                      : [1:0]  1:drift only in freq_domain                 *//*                 multi : number of multiple paths                          *//*                 level : White Noise level 0:-120dB@peak 6:-114dB...120:0dB*//*                 tx_freqerr : Transmitter's Frequency error                *//*                            : 0:0ppm 1:0.01ppm -10:-0.1ppm(-0.1<=f<=0.1ppm)*//*                 rx_freqerr : Receiver's Frequency error                   *//*                            : 0:0ppm 1:0.01ppm -10:-0.1ppm(-0.1<=f<=0.1ppm)*//*   author : miffie                                                         *//*   Date   : oct/20/05                                                      *//*   Copyright (c) 2005 miffie   All rights reserved.                        *//*****************************************************************************///In Wi-MAX SC the SS's clock is locked to BS. //And only allowed 1ppm of clock frequecny error.struct complexset pseudo_channel(struct complexset datain,                                 char mode, char multi, char level,                                char tx_freqerr, char rx_freqerr ) { int 	ii,kk ;int 	size ;int     tmp0 ;int     startpoint ;double  tx_clock, rx_clock ;double  tx_carrierclock, rx_carrierclock ;double  tx_phase, rx_phase ;double  rx_time ;struct 	complex  *top ;struct 	complex  *cdata ;struct 	complex  tmp1, tmp2 , tmp3;int     tx_floor , tx_ceil ;struct  complexset  ctop ;double  white ;char    NO_NOISE = 0 ;static  double   sample_period = 125 ; //ns //8MHzstatic  double   carrier_period = 0.1 ; //ns //10GHzstatic  int      delay = 60 ; //ns   PRINTF("pseudo_channel size=%d multi=%d level=%d tx_freqerr=%d rx_freqerr=%d\n",           datain.size , multi, level, tx_freqerr, rx_freqerr) ;   if (mode<4) { //doubler     tx_clock = (sample_period/2.0)*(1.0+(tx_freqerr/100000000.0)) ; //ns     rx_clock = (sample_period)*(1.0+(rx_freqerr/100000000.0)) ; //ns     size = (datain.size/2) +32 ; //+32 for extention   } //doubler   else { //single     tx_clock = (sample_period)*(1.0+(tx_freqerr/100000000.0)) ; //ns     rx_clock = (sample_period)*(1.0+(rx_freqerr/100000000.0)) ; //ns     size = datain.size +32 ; //+32 for extention   } //single   tx_carrierclock = carrier_period*(1.0+(tx_freqerr/100000000.0)) ; //ns    rx_carrierclock = carrier_period*(1.0+(rx_freqerr/100000000.0)) ; //ns    //noises   NO_NOISE = (multi==0) && (level==0) ; //if 1  NO Noise   white = pow(2, ((double)level-120.0)/6.0) ; //WhiteNoiseGain      //sampling clock width    if (((top = (struct complex *)malloc(size*sizeof(struct complex)) ) == NULL) |       ((cdata = (struct complex *)malloc((datain.size+200)*sizeof(struct complex)) ) == NULL)){        PRINTF( " malloc failed in pseudo_channel.c\n") ;   } //fail   else { //allocated     //initialize     for( ii=0;ii<size;ii++) {//for       top[ ii ].realp = 0 ;       top[ ii ].image = 0 ;     } //for     for( ii=0;ii<(datain.size+200);ii++) {//for       cdata[ ii ].realp = 0 ;       cdata[ ii ].image = 0 ;     } //for     //add blank period     startpoint = (NO_NOISE) ? 16 : int_random( 16 )+16 ;     for( ii=0;ii<(datain.size);ii++) { //datain         cdata[ii+startpoint].realp += datain.data[ ii ].realp ;        cdata[ii+startpoint].image += datain.data[ ii ].image ;     } //datain     //Multi paths generation     for( kk=0;kk<=multi;kk++) {//for        //receiver's phase is randomized         rx_time = (NO_NOISE) ? 0 : ((double )int_random(1024)/1024.0)*1 ; //ns 2pi=0.1ns        if (NO_NOISE==0) { //NO_NOISE          if(kk==0) rx_time += delay ;          else if (kk>=1) rx_time += delay - gamma_random(delay)  ;        } //NO_NOISE        //rotation        if(kk==0) { //first path's gain is fixed           tmp3.realp = 1.0 ;           tmp3.image = 0 ;        } else { //second path and beyond          tmp3.realp = ((double)int_random(8)+8)/32.0 ;          tmp3.image = ((double)int_random(8)+8)/32.0 ;          tmp3.realp = (int_random(2)) ? -tmp3.realp : tmp3.realp ;          tmp3.image = (int_random(2)) ? -tmp3.image : tmp3.image ;        }        printf("rx_time %8.5f r=%8.5f i=%8.5f\n" , rx_time , tmp3.realp , tmp3.image) ;           for( ii=0;ii<size;ii++) {//for          //Bi-Linear Interpolation @rx_time          tx_floor = floor(rx_time/tx_clock) ;          tx_ceil = tx_floor +1 ;          //printf("%d cdata=%6.3f %6.3f ", tx_floor, cdata[tx_floor].realp, cdata[tx_floor].image ) ;          tmp1 = multiply_complex(cdata[tx_floor], tmp3 ) ;           //printf("tmp1=%6.3f %6.3f\n", tmp1.realp, tmp1.image ) ;          tmp2 = multiply_complex(cdata[tx_ceil], tmp3 ) ;              if (mode&0x8)  { //step            //step             top[ii].realp += tmp1.realp ;            top[ii].image += tmp1.image ;          } //step          else { //else            //Bi-Linear interpolation            top[ii].realp +=             (((rx_time - (tx_clock*tx_floor))* tmp2.realp) +             (((tx_clock*tx_ceil) - rx_time)* tmp1.realp)) /             tx_clock  ;               top[ii].image +=             (((rx_time - (tx_clock*tx_floor))* tmp2.image) +             (((tx_clock*tx_ceil) - rx_time)* tmp1.image)) /             tx_clock  ;          } //else          if (((mode&0x1)==0)&&(kk==multi)) { //time domain drift & freq            //noise generation            tmp0 = int_random( 2 ) ;            if (tmp0==0) tmp0= -1 ;            top[ii].realp += (tmp0 * white * gamma_random( 4096 )/4096.0)  ;            tmp0 = int_random( 2 ) ;            if (tmp0==0) tmp0= -1 ;            top[ii].image += (tmp0 * white * gamma_random( 4096 )/4096.0) ;            //calculate phase drift in Tx            tx_phase = (rx_time*2.0*pi)/tx_carrierclock ;            tmp1.realp = cos ( tx_phase ) ;            tmp1.image = sin ( tx_phase ) ;            tmp2 = multiply_complex(top[ ii ] , tmp1 ) ;            //calculate phase drift in Rx            rx_phase = (rx_time*2.0*pi)/rx_carrierclock ;            tmp1.realp = cos ( rx_phase ) ;            tmp1.image = sin ( rx_phase ) ;            top[ ii ] = multiply_complex(tmp2  ,tmp1 )  ;          } //time domain drift & freq          rx_time += rx_clock ;        } //for     } //multi    } //allocated      ctop.data = top ;   ctop.size = size ;   free( datain.data ) ;   free( cdata ) ;   return( ctop ) ;}//pseudo_channel 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月激情六月综合| 亚洲国产精品一区二区久久恐怖片 | 欧美成人一区二区三区在线观看| 91年精品国产| 91一区二区在线| 99久久精品国产观看| www.av亚洲| 色噜噜夜夜夜综合网| 91激情五月电影| 欧美日韩一级二级三级| 91麻豆精品国产91久久久使用方法| 欧美在线你懂得| 日韩三级免费观看| 久久亚洲免费视频| 亚洲欧洲美洲综合色网| 亚洲日本护士毛茸茸| 亚洲成人精品在线观看| 青娱乐精品视频| 高清在线观看日韩| 91视频观看免费| 欧美中文字幕一区| 欧美一级精品大片| 欧美国产精品一区二区三区| 中文字幕字幕中文在线中不卡视频| 一区二区三区高清| 青草av.久久免费一区| 国产精品一区二区视频| 91视频xxxx| 欧美精品99久久久**| 久久久久久免费| 一区二区三区日本| 青椒成人免费视频| av午夜一区麻豆| 3atv在线一区二区三区| 中文文精品字幕一区二区| 偷拍自拍另类欧美| kk眼镜猥琐国模调教系列一区二区| 欧美丝袜丝nylons| 国产精品欧美一区喷水| 舔着乳尖日韩一区| 91免费在线看| 久久精品亚洲乱码伦伦中文| 亚洲成av人片在线| 99久久免费精品高清特色大片| 在线不卡欧美精品一区二区三区| 国产欧美一区二区三区鸳鸯浴| 一区二区三区日本| 成人黄色网址在线观看| 日韩免费一区二区| 亚洲国产成人av网| 成人aa视频在线观看| 精品国产91九色蝌蚪| 亚洲成人1区2区| 色综合久久99| 国产精品久久久一本精品| 精品在线你懂的| 欧美丰满一区二区免费视频| 亚洲视频1区2区| 成人网页在线观看| 久久日韩精品一区二区五区| 日精品一区二区三区| 欧洲av在线精品| 亚洲欧美在线高清| 国产高清不卡一区二区| 精品国产乱码久久久久久蜜臀| 图片区日韩欧美亚洲| 欧美亚洲综合久久| 免费一级欧美片在线观看| 欧美电影一区二区| 污片在线观看一区二区| 欧美无砖专区一中文字| 亚洲自拍欧美精品| 色噜噜狠狠一区二区三区果冻| 中文字幕在线一区免费| av网站一区二区三区| 国产精品三级电影| 成人午夜av电影| 国产精品久久福利| 色综合一个色综合亚洲| 一区二区三区欧美亚洲| 欧美日韩国产综合视频在线观看| 亚洲成人免费视| 日韩精品一区二区三区四区| 免费在线一区观看| 精品国产乱码久久久久久牛牛| 国产又粗又猛又爽又黄91精品| 久久精品亚洲一区二区三区浴池| 懂色av中文一区二区三区| 国产精品久久二区二区| 日本道在线观看一区二区| 亚洲一区二区三区三| 正在播放亚洲一区| 黄页网站大全一区二区| 日本一区二区三区免费乱视频| aaa国产一区| 日日摸夜夜添夜夜添精品视频| 欧美成人免费网站| 成人黄色在线网站| 亚洲一区日韩精品中文字幕| 日韩小视频在线观看专区| 国产盗摄精品一区二区三区在线 | 欧美一区二区大片| 国产一区二区调教| 亚洲欧美色图小说| 欧美一级欧美一级在线播放| 国产精品一区二区不卡| 亚洲激情在线激情| 精品国产一区二区三区忘忧草| 成人免费福利片| 视频在线在亚洲| 日本一二三四高清不卡| 91精品国模一区二区三区| 国产精品18久久久久久久久| 亚洲一区欧美一区| 国产精品无人区| 91精品国产综合久久香蕉麻豆| 国产电影一区二区三区| 爽好多水快深点欧美视频| 国产精品久久久一本精品| 日韩精品在线一区| 91国模大尺度私拍在线视频| 国产成人在线电影| 日本人妖一区二区| 亚洲男帅同性gay1069| 国产亚洲欧洲997久久综合| 精品视频一区 二区 三区| www.日韩在线| 久久av老司机精品网站导航| 亚洲综合在线观看视频| 国产亚洲一区二区三区在线观看| 欧美日本高清视频在线观看| 波多野结衣91| 国产电影一区二区三区| 久久av资源网| 裸体在线国模精品偷拍| 亚洲成av人片一区二区梦乃| 1000部国产精品成人观看| 久久久综合精品| 日韩欧美一区中文| 欧美久久免费观看| 在线观看av一区| 欧洲亚洲精品在线| 91在线视频免费观看| 成人在线一区二区三区| 国产一区二区在线电影| 极品少妇一区二区三区精品视频 | 一区二区三区av电影 | 91麻豆国产自产在线观看| 成人夜色视频网站在线观看| 国产精品一区不卡| 国产精品99久久久久久宅男| 国产综合久久久久影院| 激情另类小说区图片区视频区| 日本午夜精品一区二区三区电影 | 精品欧美一区二区在线观看| 91精品久久久久久久久99蜜臂| 欧美日韩久久久| 在线成人免费视频| 91麻豆精品国产91久久久资源速度| 欧美福利一区二区| 日韩一级大片在线| 久久只精品国产| 中文字幕第一页久久| 中文字幕一区免费在线观看| 一区二区三区在线视频免费 | 久久精品免费在线观看| 久久色成人在线| 成人免费在线观看入口| 亚洲一区二区三区自拍| 蜜臀精品久久久久久蜜臀| 激情久久五月天| 91美女在线视频| 欧美日韩情趣电影| 精品日韩99亚洲| 国产精品欧美综合在线| 亚洲影院久久精品| 美女mm1313爽爽久久久蜜臀| 麻豆极品一区二区三区| 成人av在线播放网址| 欧美日韩免费电影| 久久精品人人做| 国产另类ts人妖一区二区| eeuss国产一区二区三区| 欧美日韩综合色| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品一二三四区| 老汉av免费一区二区三区| 春色校园综合激情亚洲| 欧美午夜片在线看| 久久亚洲私人国产精品va媚药| 亚洲黄色录像片| 国产在线国偷精品产拍免费yy| 91影院在线观看| 精品久久久久久综合日本欧美| 亚洲视频每日更新| 国产真实乱对白精彩久久| 欧美亚洲综合一区| 国产精品色呦呦| 免费欧美在线视频| 色综合天天综合网天天看片|