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

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

?? viterbi.m

?? 卷積編碼程序可以用于不同類型的編碼器實現可行的編碼
?? M
字號:
function [decoder_output,survivor_state,cumulated_metric]=viterbi(G,k,channel_output)
%卷積碼的維特比譯碼函數
%VITERBI		卷積碼的維特比解碼器
%[decoder_ouput,survivor_state,cumulated_metric]=viterbi(G,k,channel_output)
%				G是一個n*Lk矩陣,該矩陣的每一行確
%				定了從移位記錯器到第n個輸出間的連接,
%				是碼速率。
%				survivor_state是表示通過網絡的最佳路徑的矩陣。
%				量度在另一個函數metric(x,y)中給出,而且可根據
%				硬判決和軟判決來指定。
%				該算法最小化了量度而不是最大化似然
n=size(G,1);	%取出矩陣G的一維大小,即得出輸出端口
	%	檢查大小
if rem(size(G,2),k)~=0		%當G列數不是k的整數倍時
   error('Size of G and k do not agree')		%發出出錯信息
end
if rem(size(channel_output,2),n)~=0			%當輸出量元素個數不是輸出端口的整數倍時
   error('Channel output not of the right size')		%發出出錯信息
end
L=size(G,2)/k;			%得出移位數,即寄存器的個數
	%		由于L-1個寄存器的狀態即可表示出輸出狀態,
	%		所以總的狀態數number_of_states可由前L-1個
	%		寄存器的狀態組合來確定
number_of_states=2^((L-1)*k);
	%	產生狀態轉移矩陣、輸出矩陣和輸入矩陣
for j=0:number_of_states-1		%j表示當前寄存器組的狀態因為狀態是從零
   									%開始的,所以循環從0到number_of_states-1
                              
      for l=0:2^k-1				%l為從k個輸入端的信號組成的狀態,總的狀
                                 	%態數為2^k,所以循環從0到2^k-11
                                    
      %	nxt_stat完成從當前的狀態和輸入的矢量得出下寄存器組的一個狀態
      [next_state,memory_contents]=nxt_stat(j,l,L,k);
            %	input數組值是用于記錄當前狀態到下一個狀態所要的輸入信號矢量
      %  input數組的維數:	一維坐標x=j+1指當前狀態的值
      %					  	二維坐標y=next_state+1指下一個狀態的值
      %	由于Matlab中數組的下標是從1開始的,而狀態值
      %	是從0開始的,所以以上坐標值為:狀態值+1
      input(j+1,next_state+1)=l;	
      %	branch_output用于記錄在狀態j下輸入l時的輸出
      branch_output=rem(memory_contents*G',2);
      %	nextstate數組記錄了當前狀態j下輸入l時的下一個狀態
      nextstate(j+1,l+1)=next_state;
      %	output數組記錄了當前狀態j下輸入l時的輸出(十進制)
      output(j+1,l+1)=bin2deci(branch_output);
   end
end
%		state_metric數組用于記錄譯碼過程在每狀態時的漢明距離
%		state_metric大小為number_of_states 2,(:,1)當前
%		狀態位置的漢明距離,為確定值,而(:,2)為當前狀態加輸入
%		得到的下一個狀態漢明距離,為臨時值
state_metric=zeros(number_of_states,2);
%		depth_of_trellis用于記錄網格圖的深度
depth_of_trellis=length(channel_output)/n;
%		輸出矩陣,每一列為一個輸出狀態
channel_output_matrix=reshape(channel_output,n,depth_of_trellis);
%		survivor_state描述譯碼過程中在網格圖中的路徑
survivor_state=zeros(number_of_states,depth_of_trellis+1);
%開始無尾信道輸出的解碼
for i=1:depth_of_trellis-L+1	%i指示網格圖的深度
   %		flag矩陣用于記錄網格圖中的某一列是否被訪問過
   flag=zeros(1,number_of_states);
   if i<=L
      step=2^((L-i)*k);		%在網格圖的開始處,并不是所有的狀態都取
   else							%用step來說明這個變化
      step=1;					%狀態數從1→2→4→...→number_of_states
   end
   for j=0:step:number_of_states-1		%j表示寄存器的當前狀態
      for l=0:2^k-1					%l為當前的輸入
         branch_metric=0;			%用于記錄碼間距離
         %		將當前狀態下輸入狀態l時的輸出output轉為n位二進制,以便
         %		計算碼間距離(說明:數組坐標大小變化同上)。
         binary_output=deci2bin(output(j+1,l+1),n);
         %		計算實際的輸出碼同網格圖中此格某種輸出的碼間距離
         for ll=1:n
            branch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll));
         end
         %		選擇碼間距離較小的那條路徑
         %		選擇方法:
         %				當下一個狀態沒有被訪問時就直接賦值,否則,用比它小的將其覆蓋
         if((state_metric(nextstate(j+1,l+1)+1,2)>state_metric(j+1,1)...
               +branch_metric)|flag(nextstate(j+1,l+1)+1)==0)
            %	下一個狀態的漢明距離(臨時值)=當前狀態的漢明距離(確定值)+ 碼間距離
            state_metric(nextstate(j+1,l+1)+1,2)=state_metric(j+1,1)+branch_metric;
            %	survivor_state數組的一維坐標為下一個狀態值,二維坐標為此狀態
            %	在網格圖中的列位置,記錄的數值為當前狀態,這樣就可以從網格圖中
            %	某位置的某個狀態得出其對應上一個列位置的狀態,從而能很方便的完
            %	成譯碼過程。
            survivor_state(nextstate(j+1,l+1)+1,i+1)=j;
            flag(nextstate(j+1,l+1)+1)=1;		%指示該狀態已被訪問過
         end
      end
   end
   state_metric=state_metric(:,2:-1:1);		%移動state_metric,將臨時值移為確定值
end
%開始尾部信道輸出解碼
for i=depth_of_trellis-L+2:depth_of_trellis
   flag=zeros(1,number_of_states);
   %  狀態數從number_of_states→number_of_states/2→...→2→1
   %	程序說明同上,只不過輸入矢量只為0
   last_stop=number_of_states/(2^((i-depth_of_trellis+L-2)*k));
   for j=0:last_stop-1
      branch_metric=0;
      binary_output=deci2bin(output(j+1,1),n);
      for ll=1:n
         branch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll));
      end
      if((state_metric(nextstate(j+1,1)+1,2)>state_metric(j+1,1)...
            +branch_metric)|flag(nextstate(j+1,1)+1)==0)
         state_metric(nextstate(j+1,1)+1,2)=state_metric(j+1,1)+branch_metric;
         survivor_state(nextstate(j+1,1)+1,i+1)=j;
         flag(nextstate(j+1,1)+1)=1;
      end
   end
   state_metric=state_metric(:,2:-1:1);
end
%	從最佳路徑中產生解碼
%	譯碼過程可從數組survivor_state的最后一個位置向前逐級譯碼
state_sequence=zeros(1,depth_of_trellis+1);
%	survivor_state數組的最后的輸出狀態肯定是“0”
state_sequence(1,depth_of_trellis)=survivor_state(1,depth_of_trellis+1);
%	逐級譯碼過程
for i=1:depth_of_trellis
   state_sequence(1,depth_of_trellis-i+1)=survivor_state((state_sequence(1,depth_of_trellis+2-i)...
      +1),depth_of_trellis-i+2);
end
decorder_output_matrix=zeros(k,depth_of_trellis-L+1);
for i=1:depth_of_trellis-L+1
   %		根據數組input的定義來得出從當前狀態到下一個狀態的輸入信號矢量
   dec_output_deci=input(state_sequence(1,i)+1,state_sequence(1,i+1)+1);
   %		轉成二進制信號
   dec_output_bin=deci2bin(dec_output_deci,k);
   %		將一次譯碼存入譯碼輸出矩陣decoder_output_matrix相應的位置
   decoder_output_matrix(:,i)=dec_output_bin(k:-1:1)';
end
%		按照一維序列形式重新組織輸出
decoder_output=reshape(decoder_output_matrix,1,k*(depth_of_trellis-L+1));
%		state_metric為網格圖最后一個列位置中“0”狀態位置的漢明距
%		離,這個值就是整個譯碼過程中的漢明距離。
cumulated_metric=state_metric(1,1);
%卷積碼的維特比譯碼函數

%nxt_stat.m 記錄狀態函數
%		next_state用于記錄下一個狀態的值
%		memory_contents用于記錄
function [next_state,memory_contents]=nxt_stat(current_state,input,L,k)
	%	將當前狀態值(十進制)轉成位數為k*(L-1)的二進制
binary_state=deci2bin(current_state,k*(L-1));
	%	將輸入狀態值(十進制)轉成位數為k的二進制序列
binary_input=deci2bin(input,k);
	%	寄存器組的下一個狀態值(二進制)
next_state_binary=[binary_input,binary_state(1:(L-2)*k)];
	%	將寄存器組的下一個狀態值(二進制)轉成十進制
next_state=bin2deci(next_state_binary);
	%	用memory_contents來記錄各個寄存器在下一個狀態下的信息(二進制)
	%	以便與生成矩陣相乘得出輸出
memory_contents=[binary_input,binary_state];
%nxt_stat.m 記錄狀態函數

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一二三| 欧美日韩在线三区| 自拍偷自拍亚洲精品播放| 色偷偷久久一区二区三区| 欧美精品久久99久久在免费线| 成人app网站| 亚洲美女屁股眼交3| 欧美一区二区三区视频在线 | 美洲天堂一区二卡三卡四卡视频| 亚洲精品国产高清久久伦理二区| 激情综合网av| 国产精品视频一二三区| 欧美亚洲禁片免费| 蜜臀精品一区二区三区在线观看| 欧美亚洲日本一区| 国产性色一区二区| 欧美午夜精品一区二区蜜桃| 激情综合亚洲精品| 亚洲最新在线观看| 亚洲欧美日本在线| 久久精品久久99精品久久| 色激情天天射综合网| 国产白丝网站精品污在线入口| 色老头久久综合| 国产成人综合在线播放| 免费成人av资源网| 久久久久久久久久看片| 欧美日韩亚洲国产综合| 在线欧美小视频| 久久精品国产亚洲高清剧情介绍 | 欧美顶级少妇做爰| 日本久久电影网| 大陆成人av片| 五月天视频一区| 一区二区三区四区亚洲| 亚洲三级久久久| 亚洲乱码国产乱码精品精小说| 欧美久久高跟鞋激| 欧美三级视频在线| 欧美午夜不卡在线观看免费| 国产在线精品免费av| 狠狠色伊人亚洲综合成人| 国产一区激情在线| 国产一区二区福利| 成人午夜电影网站| 91色|porny| 欧美怡红院视频| 51久久夜色精品国产麻豆| 日韩西西人体444www| 97久久超碰精品国产| 91污片在线观看| 欧美在线免费观看亚洲| 欧美私模裸体表演在线观看| 91精品免费观看| 久久久综合激的五月天| 欧美精品一二三| 日韩精品一区二区三区视频| 久久人人97超碰com| 中文字幕亚洲在| 亚洲高清视频在线| 人人精品人人爱| 激情小说欧美图片| 日韩电影在线看| 亚洲另类一区二区| 精品捆绑美女sm三区| 久久嫩草精品久久久精品一| 91精品免费在线| 欧美少妇一区二区| 91免费版pro下载短视频| 精彩视频一区二区| 91浏览器打开| 成人福利视频网站| 欧美无砖专区一中文字| 久久综合久久综合亚洲| 亚洲欧美成人一区二区三区| 亚洲五月六月丁香激情| 韩日精品视频一区| 久久成人精品无人区| 成人白浆超碰人人人人| 国产一二精品视频| 韩国视频一区二区| 99久久精品99国产精品| 这里只有精品免费| 国产日韩欧美激情| 国产日韩欧美在线一区| 国产清纯美女被跳蛋高潮一区二区久久w| 成年人午夜久久久| 欧美另类久久久品| 日韩亚洲欧美成人一区| 在线不卡中文字幕| 日韩一级二级三级| 欧美一区二区三区日韩| 欧美狂野另类xxxxoooo| 久久青草国产手机看片福利盒子| 欧美亚洲动漫精品| 国产亚洲一区字幕| 一区二区激情视频| 床上的激情91.| 成人精品免费网站| 99这里只有久久精品视频| av一本久道久久综合久久鬼色| www.一区二区| 色狠狠一区二区| 亚洲国产精品激情在线观看| 国产精品毛片久久久久久久| 日韩精品色哟哟| 色视频成人在线观看免| 国产午夜精品一区二区三区嫩草 | 日韩片之四级片| 亚洲嫩草精品久久| 一区二区三区在线视频免费观看| 国产精品久久精品日日| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本欧美久久久久免费播放网| 亚洲色欲色欲www| 国产91精品久久久久久久网曝门| 亚洲超碰97人人做人人爱| 国产成人精品三级麻豆| 欧美mv日韩mv国产网站| 国产精品白丝在线| 国产激情偷乱视频一区二区三区| 国产剧情在线观看一区二区| 成人黄色片在线观看| 91丨porny丨首页| 久久久噜噜噜久噜久久综合| 天天做天天摸天天爽国产一区| 激情综合五月婷婷| 99re在线视频这里只有精品| 欧美日韩一区二区三区在线看| 日韩亚洲电影在线| 日韩国产一二三区| 成人开心网精品视频| 中文字幕乱码一区二区免费| 国产精品综合在线视频| 色婷婷一区二区| 精品福利二区三区| 亚洲免费在线播放| 国产一区二区中文字幕| 亚洲精品一区二区在线观看| 激情综合色综合久久综合| 2023国产精品视频| 国产激情精品久久久第一区二区 | 精品国产乱码久久| 亚洲精品视频一区| 色综合色狠狠综合色| 亚洲精品免费视频| 欧美亚洲综合色| 中文子幕无线码一区tr| 99久久久国产精品| 成人免费在线视频| 欧美吞精做爰啪啪高潮| 国产精品家庭影院| 在线看日本不卡| 亚洲大尺度视频在线观看| jizzjizzjizz欧美| 亚洲自拍偷拍av| 99久久久久久| 亚洲成av人片在线观看| 97久久久精品综合88久久| 久久欧美中文字幕| 免费观看日韩电影| 久久久久国产一区二区三区四区| 日韩不卡在线观看日韩不卡视频| 日韩精品一区第一页| 26uuu精品一区二区三区四区在线| 久久精品视频在线看| 成人小视频在线观看| 久久色在线视频| 日韩电影一二三区| 欧美三级在线播放| 一区二区三区电影在线播| 欧美一级艳片视频免费观看| 国内成人免费视频| 亚洲毛片av在线| www.66久久| 国产精品国产三级国产aⅴ原创| 亚洲国产精品综合小说图片区| 成人毛片在线观看| 日韩综合在线视频| 91精品国产91久久久久久最新毛片| 精品剧情在线观看| 91日韩一区二区三区| 亚洲免费av观看| 精品国产成人系列| 99久久久久免费精品国产| 国产精品国产馆在线真实露脸| 高清beeg欧美| 欧美国产综合一区二区| 国产91在线看| 天天色综合天天| 欧美一区二区日韩| 91网站在线播放| 青青草国产精品亚洲专区无| 91精品欧美综合在线观看最新| 日本亚洲三级在线| 综合色天天鬼久久鬼色| 91麻豆精品久久久久蜜臀| 美女一区二区三区在线观看| 亚洲欧洲国产专区| 精品国产一区二区三区四区四|