Viterbi譯碼
發(fā)布時間:2008/12/17 0:00:00 訪問次數(shù):1504
對于卷積碼的解碼方法中,viterbi譯碼算法是被應(yīng)用的最廣泛的譯碼算法。是一種最大似然譯碼算法(mld,maximu likelihooddecoding)。它接收輸人的信息序列后,尋找任何可能的路徑值,而后找一條最佳路徑值當(dāng)作解碼輸出。為了描述viterbi譯碼算法,常用網(wǎng)格圖(trellis diagram,根 據(jù)時間的增加將網(wǎng)格圖擴充所得到的圖形,如圖1所示)來表示演算過程。網(wǎng)格圖中的節(jié)點,代表編碼器中的各個狀態(tài), 而在其中的分支代表編碼器的所有可能的狀態(tài)轉(zhuǎn)移情況。圖1顯示為(2,1,3)網(wǎng)格圖。
圖1 (2,1,3)網(wǎng)l=5時的網(wǎng)格圖
此圖是l=5時,該(2,1,3)碼的狀態(tài)轉(zhuǎn)移時間關(guān)系圖,總共有l(wèi)+m+1個時間單位(節(jié)點),以0至l+m標(biāo)號,其中m =k ̄1為編碼存儲。若編碼器從so(00)狀態(tài)開始,并且結(jié)束于so狀態(tài),則最先的m=2個節(jié)點(0,1),相應(yīng)于編碼器 由so狀態(tài)出發(fā)往各個狀態(tài)行進,而最后m2個節(jié)點(6,7),相應(yīng)于編碼器由各狀態(tài)返回到so狀態(tài)。因而,在開始和最后m 個時間單位,編碼器不可能處于任意狀態(tài)中,而只能處于某些特定狀態(tài)(如so,sl)中之一,僅僅從第m(2)至第l(5 )節(jié)點,編碼器可以處于任何狀態(tài)之中(即4個狀態(tài)so、s1、s2、s3中之任一個)。編碼器從全0的so狀態(tài)出發(fā),最后叉 回到so狀態(tài)時所輸出的碼序列,稱為結(jié)尾卷積碼序列。因此,當(dāng)送完l段信息序列后,還必須向編碼器再送入m段全0序列 ,以迫使編碼器回到so狀態(tài)。
網(wǎng)格圖中每一狀態(tài)有兩個輸入和兩個輸出分支。在某一節(jié)點i,離開每一狀態(tài)的虛線分支(下面分支),表示輸人編碼 器中的信息子組ml=1;而實線分支(上面分支)表示此時刻輸人至編碼器的信息子組ml=o;每一分支上的2(no)個數(shù) 字,表示第i時刻編碼器輸出的子組01=(cl(1),cl(2)),因此網(wǎng)格圖中的每一條路徑都對應(yīng)于不同輸入的信息序 列。由于所有可能輸人的信息序列共有2k1條不同的路徑,相應(yīng)于編碼器輸出的2k1個碼序列。
viterbi譯碼算法考慮的是如何去掉不可能成為最大似然選擇對象的格形圖上的路徑,即如果有兩條路徑到達同一個狀 態(tài),則具有最佳度量的路徑被選中,稱為幸存路徑(survtvmgpath)。對所有狀態(tài)都將進行這樣的選路操作,譯碼器不 斷在格形圖上深人,通過去除可能性最小的路徑實現(xiàn)判決。較早地拋棄不可能的路徑從而降低了譯碼器上實現(xiàn)的復(fù)雜度 。omura在1969年證明了viterbi譯碼算法其實就是最大似然算法。也就是說,選擇最優(yōu)路徑可以表述為選擇具有最大似 然度量的碼字,或者選擇具有最小距離的碼字。
viterbi譯碼算法中硬判決viterbi譯碼和軟判決viterbi譯碼的性能差異。由于對模擬信號的處理比較復(fù)雜,因此在軟 判決譯碼之前,一般先要對接收序列進行量化。實際上,可以將硬判決譯碼看做軟判決譯碼的特殊情況,即采用了1比特 量化。而軟判決采用的是多比特量化。在理想的軟判決情況下,信道接收值直接用于譯碼器。相應(yīng)地,卷積碼的viterbi 譯碼也有硬判決viterbi譯碼和軟判決viterbi譯碼兩種譯碼方式。從仿真的結(jié)果來看,對于高斯信道來說,8級量化比2級量 化的信噪比提高了大約2db,這說明了為了獲得相同的比特差錯性能,8級軟判決需要的ec/no比硬判決低2db,模擬裝置 比2級量化的性能提高2.2db;因此,8級量化比無窮級量化的性能損失了僅0.2db。由于這個原因,量化級超過8級只能 獲得較少的性能提高。因此,軟判決viterbi譯碼算法一般采用3比特量化,它比硬判決viterbi算法所要處理的數(shù)據(jù)量要 多3倍?梢,軟判決譯碼的代價是譯碼器所需存儲量的增大。
卷積碼的編碼碼字序列c是輸入信息序列m與編碼器沖激響應(yīng)g卷積的結(jié)果。碼字序列c經(jīng)過信號傳輸映射并送至有噪信道 傳輸,在接收端得到接收序列r。viterbi譯碼算法就是利用接收序列r,根據(jù)最大似然估計準(zhǔn)則來得到估計的碼字序列y 。即尋找在接收序列r的條件下使條件概率p(r/y)取得最大值時所對應(yīng)的碼字序列y。序列y必須取自許用碼字集合。
對于碼率為r的(no,k0,m)卷積碼,在每個時間單位并行輸人k0個碼元,同時并行輸出no個碼元。一般輸人序列表示為:
其中下標(biāo)中的m表示卷積碼編碼器中寄存單元的個數(shù),l表示輸入信息序列的長度。事實上,最后增加的m個碼元為零碼 元,目的是得到結(jié)尾碼字,即使編碼器在編碼結(jié)束時的狀態(tài)回到初始全零狀態(tài)。相應(yīng)的接收序列表示為:
類似地,接收序列r和估計序列y也有類似的表示形式:
對于最大似然譯碼,viterbi算法選擇使p(r/y)最大的y作為估計序列。如
對于卷積碼的解碼方法中,viterbi譯碼算法是被應(yīng)用的最廣泛的譯碼算法。是一種最大似然譯碼算法(mld,maximu likelihooddecoding)。它接收輸人的信息序列后,尋找任何可能的路徑值,而后找一條最佳路徑值當(dāng)作解碼輸出。為了描述viterbi譯碼算法,常用網(wǎng)格圖(trellis diagram,根 據(jù)時間的增加將網(wǎng)格圖擴充所得到的圖形,如圖1所示)來表示演算過程。網(wǎng)格圖中的節(jié)點,代表編碼器中的各個狀態(tài), 而在其中的分支代表編碼器的所有可能的狀態(tài)轉(zhuǎn)移情況。圖1顯示為(2,1,3)網(wǎng)格圖。
圖1 (2,1,3)網(wǎng)l=5時的網(wǎng)格圖
此圖是l=5時,該(2,1,3)碼的狀態(tài)轉(zhuǎn)移時間關(guān)系圖,總共有l(wèi)+m+1個時間單位(節(jié)點),以0至l+m標(biāo)號,其中m =k ̄1為編碼存儲。若編碼器從so(00)狀態(tài)開始,并且結(jié)束于so狀態(tài),則最先的m=2個節(jié)點(0,1),相應(yīng)于編碼器 由so狀態(tài)出發(fā)往各個狀態(tài)行進,而最后m2個節(jié)點(6,7),相應(yīng)于編碼器由各狀態(tài)返回到so狀態(tài)。因而,在開始和最后m 個時間單位,編碼器不可能處于任意狀態(tài)中,而只能處于某些特定狀態(tài)(如so,sl)中之一,僅僅從第m(2)至第l(5 )節(jié)點,編碼器可以處于任何狀態(tài)之中(即4個狀態(tài)so、s1、s2、s3中之任一個)。編碼器從全0的so狀態(tài)出發(fā),最后叉 回到so狀態(tài)時所輸出的碼序列,稱為結(jié)尾卷積碼序列。因此,當(dāng)送完l段信息序列后,還必須向編碼器再送入m段全0序列 ,以迫使編碼器回到so狀態(tài)。
網(wǎng)格圖中每一狀態(tài)有兩個輸入和兩個輸出分支。在某一節(jié)點i,離開每一狀態(tài)的虛線分支(下面分支),表示輸人編碼 器中的信息子組ml=1;而實線分支(上面分支)表示此時刻輸人至編碼器的信息子組ml=o;每一分支上的2(no)個數(shù) 字,表示第i時刻編碼器輸出的子組01=(cl(1),cl(2)),因此網(wǎng)格圖中的每一條路徑都對應(yīng)于不同輸入的信息序 列。由于所有可能輸人的信息序列共有2k1條不同的路徑,相應(yīng)于編碼器輸出的2k1個碼序列。
viterbi譯碼算法考慮的是如何去掉不可能成為最大似然選擇對象的格形圖上的路徑,即如果有兩條路徑到達同一個狀 態(tài),則具有最佳度量的路徑被選中,稱為幸存路徑(survtvmgpath)。對所有狀態(tài)都將進行這樣的選路操作,譯碼器不 斷在格形圖上深人,通過去除可能性最小的路徑實現(xiàn)判決。較早地拋棄不可能的路徑從而降低了譯碼器上實現(xiàn)的復(fù)雜度 。omura在1969年證明了viterbi譯碼算法其實就是最大似然算法。也就是說,選擇最優(yōu)路徑可以表述為選擇具有最大似 然度量的碼字,或者選擇具有最小距離的碼字。
viterbi譯碼算法中硬判決viterbi譯碼和軟判決viterbi譯碼的性能差異。由于對模擬信號的處理比較復(fù)雜,因此在軟 判決譯碼之前,一般先要對接收序列進行量化。實際上,可以將硬判決譯碼看做軟判決譯碼的特殊情況,即采用了1比特 量化。而軟判決采用的是多比特量化。在理想的軟判決情況下,信道接收值直接用于譯碼器。相應(yīng)地,卷積碼的viterbi 譯碼也有硬判決viterbi譯碼和軟判決viterbi譯碼兩種譯碼方式。從仿真的結(jié)果來看,對于高斯信道來說,8級量化比2級量 化的信噪比提高了大約2db,這說明了為了獲得相同的比特差錯性能,8級軟判決需要的ec/no比硬判決低2db,模擬裝置 比2級量化的性能提高2.2db;因此,8級量化比無窮級量化的性能損失了僅0.2db。由于這個原因,量化級超過8級只能 獲得較少的性能提高。因此,軟判決viterbi譯碼算法一般采用3比特量化,它比硬判決viterbi算法所要處理的數(shù)據(jù)量要 多3倍?梢,軟判決譯碼的代價是譯碼器所需存儲量的增大。
卷積碼的編碼碼字序列c是輸入信息序列m與編碼器沖激響應(yīng)g卷積的結(jié)果。碼字序列c經(jīng)過信號傳輸映射并送至有噪信道 傳輸,在接收端得到接收序列r。viterbi譯碼算法就是利用接收序列r,根據(jù)最大似然估計準(zhǔn)則來得到估計的碼字序列y 。即尋找在接收序列r的條件下使條件概率p(r/y)取得最大值時所對應(yīng)的碼字序列y。序列y必須取自許用碼字集合。
對于碼率為r的(no,k0,m)卷積碼,在每個時間單位并行輸人k0個碼元,同時并行輸出no個碼元。一般輸人序列表示為:
其中下標(biāo)中的m表示卷積碼編碼器中寄存單元的個數(shù),l表示輸入信息序列的長度。事實上,最后增加的m個碼元為零碼 元,目的是得到結(jié)尾碼字,即使編碼器在編碼結(jié)束時的狀態(tài)回到初始全零狀態(tài)。相應(yīng)的接收序列表示為:
類似地,接收序列r和估計序列y也有類似的表示形式:
對于最大似然譯碼,viterbi算法選擇使p(r/y)最大的y作為估計序列。如
上一篇:DSP配置頭文件
上一篇:Viterb譯碼RS編碼
熱門點擊
- Viterbi譯碼
- 常用自動控制系統(tǒng)設(shè)計的案例要求和應(yīng)用對象
- Viterb譯碼RS編碼
- 嵌入式DSP案例要求和應(yīng)用對象
- Viterb譯碼概述
- 嵌入式系統(tǒng)主機軟件程序
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究