1.引言
卷積碼的編碼器是由一個(gè)有k位輸入、n位輸出,且具有m位移位寄存器構(gòu)成的有限狀態(tài)的有記憶系統(tǒng),通常稱它為時(shí)序網(wǎng)絡(luò)。編碼器的整體約束長度為v,是所有k個(gè)移位寄存器的長度之和。具有這樣的編碼器的卷積碼稱作[n,k,v]卷積碼。對(duì)于一個(gè)(n,1,v)編碼器,約束長度v等于存儲(chǔ)級(jí)數(shù)m.卷積碼是由k個(gè)信息比特編碼成n(n>k)比特的碼組,編碼出的n比特碼組值不僅與當(dāng)前碼字中的k個(gè)信息比特值有關(guān),而且與其前面v個(gè)碼組中的v*k個(gè)信息比特值有關(guān)。
卷積碼有三種譯碼方式:序列譯碼、門限譯碼和概率譯碼。其中,概率譯碼根據(jù)最大似然譯碼原理在所有可能路徑中求取與接收路徑最相似的一條路徑,具有最佳的糾錯(cuò)性能,維特比譯碼是概率譯碼中極重要的一種方式。
序列譯碼和門限譯碼則不一定能找出與接收路徑最相似的一條路徑。不同于維特比譯碼,門限譯碼與序列譯碼所需的計(jì)算量是可變的且對(duì)于給定信息分組的最終判決僅僅基于(m+1)個(gè)接收分組,而不是基于整個(gè)接收序列。
與維特比譯碼所使用的對(duì)數(shù)似然量度不同,序列譯碼所使用的量度為Fano量度。在接收序列受擾嚴(yán)重的情況下,序列譯碼的計(jì)算量大于維特比譯碼所需的固定計(jì)算量,雖然序列譯碼要求的平均計(jì)算次數(shù)通常小于維特比譯碼。在采用并行處理的情況下,維特比譯碼的速度會(huì)優(yōu)于序列譯碼。在同樣碼率和存儲(chǔ)級(jí)數(shù)的條件下,門限譯碼的性能比維特比譯碼低大約3dB.
維特比譯碼的數(shù)據(jù)輸出方式有硬判決及軟判決兩種方式,本文選取生成多項(xiàng)式為561,753的(2,1,8)卷積碼對(duì)硬判決的性能進(jìn)行分析,并依據(jù)維特比譯碼的原理以及卷積碼的特性,對(duì)卷積碼編碼和維特比譯碼過程在加性高斯白噪聲(AWGN)信道下進(jìn)行仿真,并且根據(jù)仿真結(jié)果對(duì)維特比譯碼(硬判決)的結(jié)果進(jìn)行分析。由于卷積碼的生成可以看做一個(gè)馬爾科夫過程,因此,不同狀態(tài)間的轉(zhuǎn)移概率對(duì)描述這個(gè)過程有極關(guān)鍵的作用。本文則基于MATLAB對(duì)不同狀態(tài)間的轉(zhuǎn)移概率進(jìn)行求解,從而更準(zhǔn)確地分析維特比譯碼的性能。仿真結(jié)果表明卷積碼抗突發(fā)錯(cuò)誤的能力不強(qiáng),生成多項(xiàng)式為561,753的(2,1,8)卷積碼在信噪比大于1dB時(shí),編碼增益體現(xiàn)明顯。在信噪比低于-1dB時(shí),編碼增益得不到體現(xiàn)。
2.卷積碼編碼譯碼原理
卷積碼編碼通過輸入序列與生成多項(xiàng)式的每一行做卷積,每次輸入k比特,輸出n個(gè)比特。在卷積碼編碼器中,每(m+1)個(gè)比特構(gòu)成譯碼器中的一個(gè)狀態(tài)。假設(shè)在一個(gè)二進(jìn)制輸入的離散無記憶信道上,有一個(gè)長度為k*L的信息序列u=(u0,u1,…,uL-1)被編碼成為長為T=n(L+m)的碼字c=(c0,c1,…,cT-1),接收到的序列為r=(r0,r1,…,rT-1)。維特比譯碼使用對(duì)數(shù)量度來衡量幸存路徑所編成的碼字與接收序列的相似度,量度越大,說明該幸存路徑是信息序列的概率越大。維特比譯碼選取那條量度最大的幸存路徑作為譯碼結(jié)果。
由于對(duì)離散無記憶信道:
其中P ( r l | v l )是信道轉(zhuǎn)移概率;logP(r|v)稱為和路徑v相關(guān)的量度,以M(r|v)表示;logP(rl|vl)稱為分支量度。
維特比譯碼的原理則是找出一條路徑,使得該路徑的累積量度最大。在譯碼過程中,如果在某一節(jié)點(diǎn)上發(fā)現(xiàn)某路徑已不可能是需要找到的那條路徑,就將此路徑去掉,不保存在幸存路徑之中。然后再在剩下的幸存路徑中選擇譯碼路徑,直到輸入所有譯碼器序列。理論上,搜索路徑需要無限長度,而實(shí)際應(yīng)用中考慮到試驗(yàn)因素搜索長度有限,搜索長度對(duì)譯碼性能有一定的影響,搜索路徑的長度一般為約束長度的四倍到五倍。維特比譯碼可以被總結(jié)成如下步驟:
第一步:在時(shí)間單元t=m開始,計(jì)算進(jìn)入每一狀態(tài)的單個(gè)路徑的部分量度,并存儲(chǔ)每一狀態(tài)下的路徑(幸存的)及其量度。
第二步:t增加1.將進(jìn)入每一狀態(tài)的分支量度與前一時(shí)間單元有關(guān)的幸存路徑的量度相加,計(jì)算進(jìn)入該狀態(tài)的所有2k路徑的部分量度;對(duì)每一狀態(tài),比較進(jìn)入該狀態(tài)的所有2k路徑的量度,選擇具有最大量度的路徑(幸存路徑),存儲(chǔ)該路徑及其量度,并刪除其他所有路徑。
第三步: 如果t < L + m , 重復(fù)步驟二;否則停止。
維特比譯碼性能分析:
假設(shè)一個(gè)二進(jìn)制序列經(jīng)BPSK調(diào)制后通過加性高斯白噪聲(AWGN)信道后的誤比特率為e,因?yàn)楸疚牟捎玫纳啥囗?xiàng)式為561,753的(2,1,8)卷積碼編碼器,則有9*2=18個(gè)比特與當(dāng)前輸出比特相關(guān)。由于該卷積碼的自由距為12,因此如果一個(gè)比特出現(xiàn)譯碼錯(cuò)誤,則留下的幸存路徑(也即最大似然路徑)經(jīng)編碼后的序列會(huì)與正確路徑的序列相差1 2比特,并且會(huì)對(duì)其后18個(gè)比特產(chǎn)生影響。
所以,維特比譯碼抗突發(fā)錯(cuò)誤能力不強(qiáng),而實(shí)際應(yīng)用時(shí)往往在卷積編碼后加入交織編碼,使突發(fā)錯(cuò)誤離散化。因?yàn)榫矸e碼的馬爾科夫性,可以推測(cè)出:當(dāng)不編碼時(shí),若誤比特率足夠高,則編碼后序列的誤比特率會(huì)比不編碼更高。而仿真結(jié)果表明,當(dāng)未編碼序列的誤比特率達(dá)到8*10-2,隨著未編碼序列的誤比特率升高,編碼后序列的誤比特率會(huì)迅速升高。而在當(dāng)未編碼序列的誤比特率小于5*10-2時(shí),編碼后序列的誤比特率升高得較為緩慢且編碼增益得到明顯體現(xiàn)。
3.卷積碼編碼及維特比譯碼仿真
自編函數(shù)對(duì)維特比譯碼仿真:
本文應(yīng)用MATLAB對(duì)卷積碼編碼器以及維特比譯碼器進(jìn)行仿真。由于卷積碼的馬爾科夫性,轉(zhuǎn)移概率是其中一個(gè)重要特性。顯然,如果其中一個(gè)比特譯碼錯(cuò)誤,后面N個(gè)比特的誤比特率都會(huì)因此受到影響,所以需要求出一步轉(zhuǎn)移概率、兩步轉(zhuǎn)移概率…N步轉(zhuǎn)移概率。由于本文采用的是(2,1,8)卷積碼,N=8.
基于MATLAB首先編寫出模擬卷積碼編碼和維特比譯碼的函數(shù),再分類討論。在一定誤比特率情況下,當(dāng)影響第L個(gè)比特譯碼的2*9個(gè)比特中錯(cuò)n(n=1,2,3…,18)個(gè)時(shí),求得第(L+N)比特譯碼錯(cuò)誤的轉(zhuǎn)移概率。假設(shè)BPSK調(diào)制的誤碼率為e;在影響第L比特譯碼結(jié)果的18個(gè)比特中有n個(gè)誤比特時(shí),假設(shè)第(L+h)個(gè)比特經(jīng)譯碼后的誤比特率為P (h) n .
由于加性高斯白噪聲信道是非記憶信道,則譯碼后序列的誤比特率近似等于:
其中Pr(n)是18個(gè)比特中有n比特錯(cuò)的概率,當(dāng)誤比特率為e, ,N=18.
創(chuàng)建m文件,函數(shù)有三個(gè)輸入:生成多項(xiàng)式G、接收到的信道輸出誤比特率BER、影響第x比特譯碼結(jié)果的18比特中的誤比特?cái)?shù)n,輸出則是P (h) n .這里h的值為1~8.對(duì)于信道輸出序列的誤碼率為0.1時(shí)進(jìn)行分析,基于MATLAB仿真得到的所有P (h) n 如圖1所示。
由圖1中的結(jié)果可以算出當(dāng)接收到的信道輸出序列的誤碼率為0.1時(shí),經(jīng)維特比譯碼后的誤比特率約為0.1071.
而且,當(dāng)信道輸出中連續(xù)1 8比特的誤比特?cái)?shù)大于3 時(shí), 第( x + h ) 個(gè)比特的誤比特率遠(yuǎn)高于平均誤比特率,這表明維特比譯碼抗突發(fā)錯(cuò)誤能力低下。
以n=4為例,根據(jù)圖1中數(shù)據(jù)可得出當(dāng)h=1,2,…,8時(shí),第(x+h)個(gè)比特的平均誤比特率為0 . 3 9 2 2.當(dāng)n的值比較小時(shí)( n < 4 ),可以得到以下結(jié)論,當(dāng)h=1,2,…,8時(shí),第(x+h)個(gè)比特的誤比特率隨h增加而增大。由于卷積碼的特性,第L個(gè)比特的譯碼結(jié)果可直接影響第(x+j)個(gè)比特(j=1,2,…,7)的譯碼結(jié)果,而第(x+j)個(gè)比特的譯碼結(jié)果又會(huì)直接影響第(x+h)個(gè)比特(h=1,2,…,8)的譯碼結(jié)果。因?yàn)檫@種迭代關(guān)系,第(x+h)個(gè)比特的誤碼率會(huì)隨h增大而增大,從而造成卷積碼抗突發(fā)錯(cuò)誤性能低下。并且,在信道輸出的誤碼率較大時(shí),碼字速率已經(jīng)大于信道容量,此時(shí)采用編碼不可能進(jìn)行可靠通信。
仿真結(jié)果表明:當(dāng)信噪比等于-1dB時(shí),一個(gè)序列通過加性高斯白噪聲信道后接收到的信道輸出誤比特率大于10-1,且該序列運(yùn)用[2,1,8]卷積碼編碼,維特比譯碼(硬判決)后所得的序列誤比特率升高。當(dāng)信噪比為2dB時(shí),一個(gè)序列通過加性高斯白噪聲信道后接收到的信道輸出誤比特率約為4*10-2,且該序列運(yùn)用[2,1,8]卷積碼編碼,維特比譯碼后所得的序列誤比特率小于10-3,誤碼率遠(yuǎn)低于不編碼時(shí)的誤碼率。因此卷積碼適用于信道輸出誤碼率比較低時(shí)候。
4.結(jié)論
本文基于MATLAB對(duì)卷積碼編碼和維特比譯碼進(jìn)行仿真,比較了未編碼序列的誤比特率和編碼后序列的誤比特率。依據(jù)卷積碼的馬爾科夫性,利用MATLAB仿真,對(duì)其轉(zhuǎn)移概率進(jìn)行了求解,并通過轉(zhuǎn)移概率得出了維特比譯碼的性能以及卷積碼抗突發(fā)錯(cuò)誤能力不高的結(jié)論。當(dāng)信噪比為-1dB時(shí),生成多項(xiàng)式為561,753的(2,1,8)卷積碼的誤碼率約為1.27*10-1,而不編碼的BPSK的誤碼率約為1.04*10-1,編碼后誤碼率反而高于不編碼。在信道條件較好時(shí),卷積碼的編碼增益體現(xiàn)明顯,當(dāng)信噪比為2dB,生成多項(xiàng)式為561,753的(2,1,8)卷積碼的誤碼率約為8*10-4,而不編碼的BPSK的誤碼率約為4.64*10-2,編碼后誤碼率明顯降低。
-
編碼器
+關(guān)注
關(guān)注
45文章
3573瀏覽量
133982 -
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119816 -
譯碼
+關(guān)注
關(guān)注
2文章
88瀏覽量
32058
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論