MATLAB之卷积码
poly2trellis
poly2trellis由卷積碼的生成多項(xiàng)式產(chǎn)生trellis圖,它的輸出主要取決于函數(shù)convenc和vitdec的輸入。
前向反饋卷積碼:trellis = poly2trellis(7,[171,133]);
convenc是卷積碼的編碼函數(shù):
1.code = convenc(msg,trellis);
2.code = convenc(msg,trellis,puncpat);
注釋:
puncpat參數(shù)的意思:用于指定打孔方式已獲得更高的碼率。
puncpat是由1或者0組成的向量,其中0的位置為打孔比特,puncpat的長(zhǎng)度至少有l(wèi)og2(trellis.numOutputSymbols)個(gè)比特。 有個(gè)三個(gè)輸出的trellis,每個(gè)輸出有兩個(gè)取值(0或者1)所以trellis.numOutputSymbols=2^3=8
函數(shù)vitdec
函數(shù)vitdec 采用Viterbi算法對(duì)卷積碼進(jìn)行譯碼。
decode = vitdec(code,trellis,tblen,opmode,dectype);
tblen是一個(gè)正整數(shù)參數(shù),指定回溯深度,如果碼率為1/2,tblen的一個(gè)典型值是約束長(zhǎng)度的5倍。
字符串opmode指定譯碼器的操作模式和相應(yīng)的編碼器的假設(shè),他有三個(gè)選擇:
1.‘cont’:認(rèn)為編碼器從零狀態(tài)開(kāi)始編碼,編碼器從最佳路徑回溯,有tblen的延遲。
2.‘term’:認(rèn)為編碼器從零狀態(tài)開(kāi)始,并且結(jié)束于零狀態(tài)。
3.‘trunc’:認(rèn)為編碼器從零狀態(tài)開(kāi)始編碼。該模式?jīng)]有延遲。
字符串dectype指定譯碼器的判決類型,并影響譯碼器code的數(shù)據(jù)類型。
1.‘unquant’:code包含實(shí)輸入,其中1表示邏輯0,-1標(biāo)示邏輯1.
2.'hard':code為二進(jìn)制輸入。
3.‘soft’:有限比特量化軟判決譯碼,軟判決譯碼需要參數(shù)nsdec.
decode =?vitdec(code,trellis,tblen,opmode,'soft',nsdec);對(duì)向量code進(jìn)行軟判決譯碼。code為從0到2^nsdec-1的整數(shù),其中0表示0,2^nsdec-1表示1.
decode = vitdec(code,trellis,tblen,opmode,dectype,puncpat);表示code是打孔的,參數(shù)puncpat是打孔類型向量,其中0表示輸入編碼結(jié)果中打孔的比特。
總結(jié)
以上是生活随笔為你收集整理的MATLAB之卷积码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 404和302
- 下一篇: system什么意思c语言,system