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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? viterbi_turbo.c

?? 這個(gè)文件包括wimax中所有的編解碼源代碼
?? C
字號(hào):
/*****************************************************************************//*   FIle Name : viterbi_turb2.c                                             *//*   Description : WiMax FEC Viterbi Decoder for Block Turbo Code            *//*   author : miffie                                                         *//*   Date   : sep/26/05                                                      *//*   Copyright (c) 2005 miffie   All rights reserved.                        *//*****************************************************************************///One line correction in turbo decoder will be done through 2 pipeline stages//#1  Error estimation in normal order //    write into Soft memory//    write into path memory//#2  trace back with SoftOutput//    read from both Soft memory & pathmemory//    write back to Soft memorystruct binaryset viterbi_turbo (char type, struct binaryset datain ) {int 	ii , jj , kk ;char    nn , pp ;short 	tmp0, tmp1, tmp2 ;struct 	binaryset bset ;short	brmetric[4] ;short 	metric0[64], metric1[64] ;short	minimum_metric ;short	won_metric ;char	previous_state[128][4] ;char	branch[64] ;char	won[128] ;char    pathmem[128][64] ; short	MAX_METRIC = 0x7f ;char    SISO_SHIFT = 3 ;char    BRANCH_OFFSET = 4 ;char    parity ;  //Main    //initialize     PRINTF( "viterbi_turbo.c size=%x \n", datain.size ) ;    nn =  (type==1) ? 0xf :          (type==2) ? 0x1f : 0x3f ;    pp =  (type==1) ? 0x5 :   //lfsr+parity length          (type==2) ? 0x6 : 0x7 ;    for(ii=0;ii<=nn;ii++) { //init      tmp0 = lfsr( type, 0 , ii ) & nn ;      tmp1 = lfsr( type, 1 , ii ) & nn ;      previous_state[ tmp0 ][0] = ii ;      previous_state[ tmp1 ][1] = ii ;    } //init    for(ii=0;ii<=nn;ii++) printf("pstate(%x %x) %x\n", ii, 0, previous_state[ii][0] ) ;    for(ii=0;ii<=nn;ii++) printf("pstate(%x %x) %x\n", ii, 1, previous_state[ii][1] ) ;////////////////////////////////////////////////////////////////////#1  Error estimation in normal order//////////////////////////////////////////////////////////////////  if (type<4) { //error///////////////////////////////////////////////////////////////////    //initialize    for(ii=0;ii<=nn;ii++) metric0[ii] = MAX_METRIC ;    metric0[0] = 0 ;    for(ii=0;ii<datain.size-1;ii++) { //each cycle in REVERSE order      //branch metric      //state0-31      brmetric[0] = (datain.data[ii]>=8)  ? 0xf-datain.data[ii]: datain.data[ii]  ;      brmetric[0] += BRANCH_OFFSET ;      brmetric[1] = 0xf - brmetric[0] ;      minimum_metric = MAX_METRIC ;      //metric      for(jj=0;jj<=nn;jj++) { //each state         tmp0 = previous_state[jj][0] ;         tmp1 = previous_state[jj][1] ;         //printf("%d %x brmetric[0]=%x brmetric[1]=%x\n",ii, jj,  brmetric[0] , brmetric[1] ) ;         tmp0 = metric0[tmp0] + brmetric[0]  ;         tmp0 = (tmp0>MAX_METRIC) ? MAX_METRIC : tmp0 ;         tmp1 = metric0[tmp1] + brmetric[1]  ;         tmp1 = (tmp1>MAX_METRIC) ? MAX_METRIC : tmp1 ;         won[jj] = 0 ;         pathmem[ii][jj] = tmp0-tmp1 ;         //printf("%d %d tmp0=%d tmp1=%d pathmem=%d\n",ii, jj, tmp0, tmp1, pathmem[ii][jj] ) ;         if (tmp0>=tmp1) {            tmp0 = tmp1 ; //tmp0 =min(tmp0,tmp1) ;            won[jj] = 1 ;         }         metric1[jj] = tmp0 ;         //limitter         if (metric1[jj] > MAX_METRIC ) metric1[jj] = MAX_METRIC ;         //printf("%d metric[%d]=%d\n", ii, jj,  metric1[jj] ) ;                  if (metric1[jj] < minimum_metric) {             minimum_metric = metric1[jj] ;             won_metric = jj ;         }         ////serial data process         //if (won[jj]) {         //    pathmem1[ jj ] = (pathmem0[ state[jj][1] ]<<1) + 0x1 ;         //} else {         //    pathmem1[ jj ] = (pathmem0[ state[jj][0] ]<<1) + 0x0 ;         //}         //printf("%d %x pathmem1 = %x\n", ii, jj, pathmem1[jj]) ;               } //each state      printf("%d won_metric = %x\n", ii, won_metric ) ;      //printf("%d pathmem1(%x) = %x\n", ii, won_metric, pathmem1[won_metric]) ;      for(jj=0;jj<=nn;jj++) { //each metric1        //Normalization       // metric1[jj] -= minimum_metric ; //force the won_metric to zero        //copy metric1 to metric0 for the next cycle operation        metric0[jj] = metric1[jj] ;        //copy metric1 to metric0 for the next cycle operation        //pathmem0[jj] = pathmem1[jj] ;      } //each metric1    } //each cycle    printf("won_metric = %x\n",  won_metric ) ;    ////////////////////////////////////////////////////////////////////#3  trace back with SoftOutput in Reverse order//////////////////////////////////////////////////////////////////      //output       //won_metric=0 ; //because check should be zero at the end of calcuration      for(jj=datain.size-2;jj>=0;jj--)  { //output        tmp1 = pathmem[jj][won_metric] ;        printf("datain.data(%d)=%x path(%x)=%x ", jj,  datain.data[jj], won_metric, tmp1) ;        //SISO Softin Softout        datain.data[jj] = ((tmp1<0)&(datain.data[jj]==0))  ? 0 :                          ((tmp1<0)&(datain.data[jj]<8))  ? datain.data[jj]+(tmp1>>SISO_SHIFT) :                          ((tmp1<0)&(datain.data[jj]==0xf))  ? 0xf :                           (tmp1<0) ? datain.data[jj]-(tmp1>>SISO_SHIFT) :                           ((tmp1>=0)&(datain.data[jj]<8))  ? 8+(tmp1>>SISO_SHIFT) :                       /* (tmp1==1)  ? */ 7-(tmp1>>SISO_SHIFT) ;        datain.data[jj] = (datain.data[jj]<0 ) ? 0 :                          (datain.data[jj]>0xf) ? 0xf : datain.data[jj] ;        printf("=>%x\n", datain.data[jj]) ;        if ( tmp1 >= 0  ) won_metric = previous_state[won_metric][1]  ;         else  won_metric = previous_state[won_metric][0] ;      } //output  } //error   else { //parity only      parity = 0 ;       for(jj=0;jj<datain.size;jj++)          parity ^= (datain.data[jj]>=8)  ? 1 : 0 ;      if (parity==0) { //no error        for(jj=0;jj<datain.size;jj++)  { //output          datain.data[jj] = (datain.data[jj]==0 ) ? 0 :                            (datain.data[jj]==0xf) ? 0xf :                            (datain.data[jj]>=8)  ? datain.data[jj] +1  : datain.data[jj] -1 ;        } //output      } else { //error        for(jj=0;jj<datain.size;jj++)  { //output          datain.data[jj] = (datain.data[jj]>=8)  ? datain.data[jj] -1  :                             datain.data[jj] +1 ;        } //output      } //error  } //parity only  return ( datain ) ;} //viterbi_turbo

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣的一区二区三区| 91丨九色丨蝌蚪丨老版| 日韩伦理av电影| 91精品国产日韩91久久久久久| 国产精品综合一区二区三区| 亚洲综合色区另类av| 久久久久久久久久久久电影| 欧美日韩国产成人在线免费| 大美女一区二区三区| 日产欧产美韩系列久久99| 亚洲欧美日韩中文播放| 国产亚洲人成网站| 日韩一级片在线观看| 91激情在线视频| 成人精品小蝌蚪| 久久99国产精品久久| 三级久久三级久久久| 亚洲精选视频在线| 国产亚洲欧美在线| 日韩欧美一区二区三区在线| 在线观看亚洲精品视频| 97久久精品人人做人人爽50路| 国产一区二区不卡老阿姨| 日韩av在线发布| 亚洲国产wwwccc36天堂| 国产精品久久影院| 久久久久99精品一区| 欧美电影免费观看高清完整版| 精品视频一区二区不卡| 色香蕉成人二区免费| 成人精品鲁一区一区二区| 美女网站色91| 六月丁香婷婷久久| 日韩—二三区免费观看av| 亚洲午夜久久久久久久久久久| 亚洲欧美综合色| 中文字幕欧美一| 国产精品每日更新| 国产精品女同一区二区三区| 欧美国产日韩精品免费观看| 中文在线一区二区| 国产亚洲一区二区三区四区 | 欧美一区二区高清| 欧美性猛交xxxxxxxx| 在线精品亚洲一区二区不卡| 欧美综合一区二区| 欧美自拍偷拍一区| 欧美日韩中文一区| 在线综合+亚洲+欧美中文字幕| 欧美日韩三级一区| 欧美三级电影在线看| 欧美一区日本一区韩国一区| 精品美女一区二区| 精品久久一二三区| 久久精品一二三| 中文字幕欧美激情一区| 国产精品美女久久久久久久| 一区在线播放视频| 亚洲精品国产成人久久av盗摄| 亚洲国产精品久久不卡毛片| 免费在线视频一区| 国产在线精品一区在线观看麻豆| 国产一二精品视频| jlzzjlzz亚洲日本少妇| 在线观看日韩av先锋影音电影院| 欧美久久久一区| 日韩欧美国产电影| 国产丝袜在线精品| 亚洲男人天堂av网| 婷婷综合五月天| 国产一区二区久久| 日本乱码高清不卡字幕| 56国语精品自产拍在线观看| 久久网站最新地址| 亚洲欧美一区二区不卡| 日本不卡高清视频| 岛国精品在线播放| 欧美日韩高清一区二区三区| www久久精品| 亚洲日穴在线视频| 免费观看成人av| 99久久精品一区二区| 欧美高清www午色夜在线视频| 国产日产亚洲精品系列| 亚洲综合av网| 国产精品一区2区| 欧美三级日韩在线| 久久亚洲综合色一区二区三区| 中文字幕一区二区5566日韩| 日韩av电影天堂| 99久久精品国产精品久久| 制服丝袜一区二区三区| 国产精品久久久一本精品| 三级影片在线观看欧美日韩一区二区 | 欧美国产激情二区三区| 亚洲国产精品久久久久秋霞影院 | 欧美一区二区三区在| 国产日韩av一区| 秋霞成人午夜伦在线观看| 成人免费高清在线观看| 欧美一区二区三区在线| 亚洲黄色免费网站| 国产精品88av| 欧美一区二区三区四区五区| 国产精品日韩成人| 精品一二线国产| 91精品国产综合久久久久久漫画| 国产精品久久久爽爽爽麻豆色哟哟| 日韩影院在线观看| 91免费观看视频在线| 久久久.com| 精品一区二区免费在线观看| 欧美日韩视频在线一区二区| 亚洲色图视频网站| 国产一区二区不卡老阿姨| 欧美一区三区二区| 亚洲1区2区3区4区| 色偷偷一区二区三区| 国产精品免费看片| 国产精品一区二区三区网站| 欧美一级一级性生活免费录像| 亚洲一区二区四区蜜桃| 色综合视频一区二区三区高清| 欧美国产日韩在线观看| 国产福利91精品一区二区三区| 精品国产自在久精品国产| 午夜亚洲福利老司机| 欧美午夜精品久久久久久超碰| 亚洲免费在线电影| 99久久婷婷国产综合精品电影| 欧美国产一区在线| 高清国产一区二区三区| 国产视频911| 成人黄色av电影| 中文无字幕一区二区三区| 国产精品一卡二| 久久精品一区二区三区不卡牛牛 | 欧美精品一区二区三区很污很色的| 奇米色一区二区三区四区| 在线不卡欧美精品一区二区三区| 亚洲第一二三四区| 欧美日韩中文字幕一区| 成人av网站在线观看免费| 精品美女被调教视频大全网站| 捆绑紧缚一区二区三区视频| 欧美电影免费观看高清完整版在线观看 | 中文字幕一区二区三区在线观看| 风间由美一区二区三区在线观看| 国产欧美精品一区| 成人免费视频视频在线观看免费| 国产精品久久久久久久久动漫| 99re6这里只有精品视频在线观看| 亚洲视频在线观看三级| 日本韩国欧美一区| 亚洲成人精品在线观看| 欧美一区二区在线不卡| 久久精品久久综合| 国产拍欧美日韩视频二区| 波多野结衣在线一区| 亚洲另类在线制服丝袜| 91麻豆精品国产自产在线观看一区 | 久久只精品国产| 国产成人免费av在线| 亚洲欧美另类小说视频| 69成人精品免费视频| 国产综合久久久久久鬼色| 中文字幕在线不卡国产视频| 欧洲在线/亚洲| 老色鬼精品视频在线观看播放| 久久久三级国产网站| 一本久久精品一区二区| 日日摸夜夜添夜夜添亚洲女人| 欧美精品一区二区三区在线播放| 99精品国产一区二区三区不卡| 亚洲福利电影网| 久久众筹精品私拍模特| 色8久久精品久久久久久蜜| 麻豆精品新av中文字幕| 国产精品久久99| 制服丝袜激情欧洲亚洲| 国产成人精品午夜视频免费 | 国产91精品精华液一区二区三区| 亚洲欧美另类久久久精品2019| 91精品国产综合久久精品性色| 国产·精品毛片| 五月天一区二区| 国产精品网站在线观看| 欧美日韩夫妻久久| 成人黄色国产精品网站大全在线免费观看| 亚洲一区av在线| 亚洲国产精华液网站w| 欧美剧情片在线观看| 丰满亚洲少妇av| 日韩国产精品久久| 中文字幕在线一区二区三区| 欧美一区欧美二区| 色94色欧美sute亚洲线路二 | 国产999精品久久久久久| 午夜欧美电影在线观看| 国产精品国产三级国产aⅴ中文 |