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

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

?? viterbi.txt

?? 實現卷積碼vitebi譯碼
?? TXT
字號:
/* viterbi.cpp jdg 2005/04/20 
一個(k,n,K)的卷積碼的維特比譯碼算法 
*/
#define k 1 //一次輸入序列的長度
#define n 3 //一次輸出序列的長度
#define K 3 //約束長度
#define DECODER_STATES 4 //狀態數2^(K-1)*k
#define BRANCH_NUM 2 //從一個狀態延伸的分支數
#define PATH_LENGTH 16 //路徑保留長度
#include <stdlib.h>
#include "stdafx.h"
//#include "viterbi.h"
//#include "encode.cpp"
//#include "randsource.cpp"
/* 多項式生成 g1=1[00000001](1) ,
g2=x^2+1[00000101](5),
g3=x^2+x^1+1[00000111](7) 

*/
int g[n][K*k]={1,0,0,
1,0,1,
   1,1,1 };

//-------------------------------分支結構定義
struct branch
{
int state_index,//狀態索引
     input[k],//輸入信息
     output[n];//輸出碼子
double cm; //量度
};

//------------------------------狀態結構定義
struct state
  { 
double sum_cm;//累積量度
struct branch branchs[BRANCH_NUM];//下一個狀態數組
       int   survivor[PATH_LENGTH]; //幸存路徑
   struct branch best_branch; //到達的2^k條分支中最好的一條

}; 
state states[DECODER_STATES];

//------------------------------二進制隨機信源生成函數

int randsource(int *x,int length)
{ int i;
printf("正在生成長度為 %d 的二進制的隨機數序列x[] 。。。\n",length);
for(i=0; i<length; i++) 
{
   if (i%10==0) printf("\n");
*(x+i)= rand() % 2;
   printf("%d,", *(x+i) );
}
return 0; 
}

//------------------------------把整數變成數組向量函數
int int_to_vector(int x,int *vector,int vlength)
{
  int i;
  for(i=0;i<vlength;i++)
   *(vector+i)=x>>i&1;
  return 0;
}

//------------------------------計算分支量度,cm=cm+Rjm*(2*Cjm-1);
double compute_cm(int *r,int *c) 
{
  int x;
  double cm=0.0;
  for(x=0;x<n;x++) 
    cm+=r[x]*(2*c[x]-1);
    //cm+=(r>>x)*(2*(c>>x)-1);
  return cm;
}

//編碼函數,input輸入,ilength輸入長度,output輸出,olength輸出長度,,currentstate當前狀態
int con_encode(int *input ,int ilength,int *output,int olength ,int *currentstate)
{
  int out[n],
    i,j,x,p=0, //循環變量
    reg[K*k]; //移位寄存器
  for(i=0;i<ilength/k;i++) //對每k位輸入bit循環
  {
    for(j=0;j<k;j++) //把輸入的k位bit送入移位寄存器 
     reg[j]=*(input+i+j); 
    for (j=k;j<K*k;j++) //把當前狀態放人移位寄存器
      reg[j]=*(currentstate+j-k); 
    for(j=0;j<K*k;j++) //生成輸出的n位bit信息 
    {
      for(x=0;x<n;x++)
        out[x]+=g[x][j]^reg[j];
    }
    for(x=0;x<n;x++)
    {
*(output+p)=out[x];
     p++;
      if (p>olength) 
        printf("\n 輸出長度超過預定義輸出數字長度,請檢查輸出數組定義!\n");
    }

    for(j=0;j<(K-1)*k;j++)
*(currentstate+j)=reg[j];
  }

  return 0;

}

/* Viterbi算法解卷積碼函數,參數說明
r:解調輸出序列,
rlength:r的長度
decode:解碼后的序列
dlength:decode的長度
*/
int ViterbiDecode(int *r,int rlength,int *decoded,int dlength)
{
  int i,j,x,y;
  int rm[n],//接收向量
    cur_state[(K-1)*k];//當前狀態向量
  double temp_cm,temp_sum_cm[DECODER_STATES];//臨時量度
int *temp_input[DECODER_STATES];//臨時變量
  int one=0,zero=0;
  //各狀態初始化
  for (i=0;i<DECODER_STATES;i++)
  {
states[i].sum_cm=-65535;
    for(j=0;j<BRANCH_NUM;j++)
    {
      states[i].branchs[j].state_index=i<<k^j;
     int_to_vector(j,states[i].branchs[j].input,k);
      int_to_vector(i,cur_state,(K-1)*k);
con_encode(states[i].branchs[j].input,k,states[i].branchs[j].output,n ,cur_state);
    }

    for(j=0;j<PATH_LENGTH;j++)
      states[i].survivor[j]=-1;
  }
states[0].sum_cm=0.0;
//-----------------------------初始化完畢
//-----------------------------對每個接收的n維矢量循環
for (x=0;x<rlength/n;x++) 
  { 
  
    for (i=0;i<n;i++) //從接收序列中取出一個碼子的長度
      rm[i]=*(r+x+i);

for (i=0;i<DECODER_STATES;i++) //對每個狀態循環
  {
for (j=0;j<DECODER_STATES;j++)
      {
for(y=0;y<BRANCH_NUM;y++)
        {
          if (states[j].branchs[y].state_index==i)
          {
            //計算分支量度
            temp_cm=states[j].sum_cm+compute_cm(rm,states[j].branchs[y].output);
if (temp_sum_cm[i]<temp_cm) 
            {
              temp_sum_cm[i]=temp_cm;
temp_input[i]=states[j].branchs[y].input;
            }
            break;
          }
        }
      }

    }
     for(i=0;i<k;i++)
     *(decoded+x+i)=states[0].survivor[PATH_LENGTH-1-i];
for (i=0;i<DECODER_STATES;i++) 
     {
       states[i].sum_cm=temp_sum_cm[i];
       for(j=PATH_LENGTH-1;j>k-1;j--)
       states[i].survivor[j]=states[i].survivor[j-k];
       for (j=0;j<k;j++)
         states[i].survivor[k-1-j]=*(temp_input[i]+j);
     }
  }
return 0;

}

int _tmain(int argc, _TCHAR* argv[])
{
  //int i;
  int x[100];
  randsource(x,100);
  /*
  printf("encoded stream...\n");
  for(i=0;i<100;i++)
  {  
  printf(" %d " ,con_encode(1));
  }
  printf("\n decoded stream...\n");
  for(i=0;i<100;i++)
  {  
   printf(" %d",ViterbiDecode(con_encode(1)));
  }
  */

  return 0;
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色www精品视频在线观看| 国产真实乱偷精品视频免| 欧美国产一区二区| 久久久91精品国产一区二区精品| 3d成人h动漫网站入口| 7777精品久久久大香线蕉| 在线成人小视频| 中文字幕不卡的av| 欧美无砖专区一中文字| av在线综合网| 欧美一区二区三区系列电影| 欧美一区二区视频网站| 欧美成人女星排行榜| 中文字幕不卡在线| 日韩一区二区三区av| 制服丝袜激情欧洲亚洲| 国产性色一区二区| 一区二区久久久| 日韩vs国产vs欧美| 韩国一区二区三区| 日本黄色一区二区| 久久先锋影音av| 亚洲小说春色综合另类电影| 美女一区二区在线观看| 色综合色狠狠综合色| 久久久欧美精品sm网站| 午夜激情久久久| 在线精品视频一区二区三四 | 91最新地址在线播放| 欧美一区二区三区免费视频| 亚洲激情校园春色| 成人一二三区视频| 国产日产欧美一区二区视频| 三级欧美在线一区| 欧美日韩国产另类不卡| 亚洲伦理在线免费看| eeuss鲁一区二区三区| 国产视频一区二区在线观看| 美女mm1313爽爽久久久蜜臀| 3atv一区二区三区| 亚洲第一主播视频| 欧美日韩国产首页| 蜜桃视频免费观看一区| 99精品热视频| 亚洲人一二三区| 国产精品自产自拍| 欧美精品一区二区在线播放| 免费高清在线一区| 91.xcao| 三级不卡在线观看| 日韩精品中午字幕| 国产电影一区二区三区| 中文字幕亚洲电影| 欧美日韩精品综合在线| 激情国产一区二区| 中文字幕日韩一区二区| 欧美片网站yy| 国产mv日韩mv欧美| 午夜精品福利一区二区三区av | 最新热久久免费视频| 欧美在线观看禁18| 蓝色福利精品导航| 国产精品福利一区| 日韩欧美久久久| 色88888久久久久久影院野外| 亚洲成av人片观看| 国产亚洲成av人在线观看导航 | 中文字幕二三区不卡| 欧美撒尿777hd撒尿| 国产91精品一区二区麻豆亚洲| 亚洲综合色噜噜狠狠| 日本一区二区三区在线观看| 欧美色中文字幕| 91在线视频在线| 国产成人小视频| 精品一二三四区| 偷拍自拍另类欧美| 午夜精品久久久久影视| 亚洲色图19p| 成人免费视频在线观看| 67194成人在线观看| 欧美日韩国产综合草草| 成人高清免费观看| 不卡视频在线观看| 国产91丝袜在线播放0| 国产高清在线精品| 国产精品中文欧美| 成人免费视频视频在线观看免费| 国内精品国产成人国产三级粉色 | 欧美日韩精品一区二区三区蜜桃| 91在线播放网址| 91黄视频在线观看| 欧美美女喷水视频| 欧美v亚洲v综合ⅴ国产v| 久久亚洲一区二区三区明星换脸| 精品久久人人做人人爱| 91精品久久久久久蜜臀| 日韩久久久久久| 久久丝袜美腿综合| 国产精品视频观看| 亚洲一区二区三区精品在线| 亚洲成av人片一区二区梦乃 | 欧美日韩国产中文| 日韩精品一区二区三区中文不卡 | av电影一区二区| 欧洲精品中文字幕| 日韩欧美国产午夜精品| 亚洲婷婷综合色高清在线| 日韩精品一级中文字幕精品视频免费观看 | 亚洲一区二区精品久久av| 亚洲综合在线视频| 国产精品456露脸| 欧美日本免费一区二区三区| 精品少妇一区二区三区在线播放 | 粉嫩久久99精品久久久久久夜| 色又黄又爽网站www久久| 欧美一区2区视频在线观看| 国产精品水嫩水嫩| 久久狠狠亚洲综合| 欧美一级理论片| 亚洲va韩国va欧美va| 色老汉一区二区三区| 中文字幕一区二区三区色视频| 美女www一区二区| 日韩欧美国产综合| 日本不卡一区二区三区高清视频| 一本大道av一区二区在线播放| 国产精品久久网站| 91网址在线看| 夜夜揉揉日日人人青青一国产精品 | 国产一区二区精品久久91| 欧美电视剧在线观看完整版| 日韩精品一卡二卡三卡四卡无卡 | 免费日本视频一区| 精品久久久久久久一区二区蜜臀| 午夜电影网亚洲视频| 欧美美女bb生活片| 国产在线不卡一区| 中文字幕亚洲综合久久菠萝蜜| a4yy欧美一区二区三区| 亚洲精品免费播放| 欧美刺激午夜性久久久久久久| 老司机精品视频线观看86| 久久亚洲影视婷婷| 91国模大尺度私拍在线视频| 亚洲成人免费视| 久久精品一级爱片| 色综合天天综合网天天狠天天| 亚洲美女精品一区| 国产九色精品成人porny| 国产女人aaa级久久久级| 欧美性生活一区| 国产精品一二三四| 亚洲成人三级小说| 国产精品免费免费| 欧美大片拔萝卜| 欧美视频日韩视频在线观看| 国产一区二区毛片| 亚洲色图欧洲色图| 国产亚洲欧美在线| 正在播放一区二区| 日本韩国视频一区二区| 国产成人高清视频| 久久国产精品无码网站| 亚洲mv在线观看| 亚洲综合视频在线| 亚洲靠逼com| 一区二区成人在线视频| 国产精品天天看| 日本一区二区成人在线| 久久久久久久久99精品| 精品国产欧美一区二区| 欧美成人激情免费网| 日韩一级精品视频在线观看| 欧美美女喷水视频| 欧美一区二区三区在线| 91精品国产综合久久福利软件 | 亚洲免费高清视频在线| 国产精品欧美精品| 18涩涩午夜精品.www| 亚洲综合激情另类小说区| 一区二区三区中文字幕电影| 亚洲成av人片一区二区梦乃| 亚洲成av人片一区二区梦乃| 美女国产一区二区三区| 国产成人综合亚洲91猫咪| 成人免费va视频| 欧美日韩精品欧美日韩精品一综合| 欧美精品黑人性xxxx| 日韩一区二区三区在线观看| 精品美女在线播放| 国产精品国产三级国产| 亚洲一卡二卡三卡四卡| 极品少妇一区二区| 色婷婷av一区| 久久久久综合网| 一区二区三区**美女毛片| 国产毛片精品视频| 在线不卡的av| 久久久91精品国产一区二区三区|