k)比特的碼組,編碼出的n比特碼組值不僅與當(dāng)前碼字中的k個(gè)信息比特值有關(guān),而且與其前面v個(gè)碼組中的v*k個(gè)信息比特值有關(guān)。 " />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

卷積碼編碼和維特比譯碼的原理、性能與仿真分析

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-14 08:10 ? 次閱讀

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,編碼后誤碼率明顯降低。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3573

    瀏覽量

    133982
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119816
  • 譯碼
    +關(guān)注

    關(guān)注

    2

    文章

    88

    瀏覽量

    32058
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是卷積碼? 什么是卷積碼的約束長度?

    從此時(shí)刻收到的碼元中提取譯碼信息,而且還利用以后若干時(shí)刻收到的碼字提供有關(guān)信息。卷積碼的糾錯(cuò)性能隨k 的增加而增大,而差錯(cuò)率隨N 的增加而指數(shù)下降。由于卷積碼
    發(fā)表于 05-30 16:06

    卷積碼的Viterbi高速譯碼方案

    本文探討了無線通信中廣泛涉及的差錯(cuò)控制問題,介紹了卷積碼的編譯碼原理。提出了一種卷積碼編碼,及其高速Viterbi 譯碼的實(shí)現(xiàn)方案,對(duì)
    發(fā)表于 01-06 15:06 ?13次下載

    卷積碼的Viterbi高速譯碼方案

    本文探討了無線通信中廣泛涉及的差錯(cuò)控制問題,介紹了卷積碼的編譯碼原理。提出了一種卷積碼編碼,及其高速Viterbi譯碼的實(shí)現(xiàn)方案,對(duì)
    發(fā)表于 07-21 17:20 ?22次下載

    基于OCDMA的新型卷積碼譯碼方案

    對(duì)光碼分多址(OCDMA)的誤碼特性和卷積碼進(jìn)行研究,根據(jù)兩者的特點(diǎn)提出了一種新的基于OCDMA多址干擾信道模型的卷積碼譯碼方法。針對(duì)這種新型卷積碼
    發(fā)表于 08-26 16:40 ?17次下載

    卷積碼/Viterbi譯碼,卷積碼/Viterbi譯碼是什么

    卷積碼/Viterbi譯碼,卷積碼/Viterbi譯碼是什么意思 卷積碼在一個(gè)二進(jìn)制分組(n
    發(fā)表于 03-18 14:09 ?2277次閱讀

    卷積碼,什么是卷積碼

    卷積碼,什么是卷積碼 卷積碼在一個(gè)二進(jìn)制分組(n,k)當(dāng)中,包含k個(gè)信息位,組長度為n,每個(gè)
    發(fā)表于 04-03 12:11 ?7225次閱讀

    LTE中Tail-biting卷積碼譯碼器設(shè)計(jì)

    本文設(shè)計(jì)的譯碼器,利用Tail-biting卷積碼的循環(huán)特性,采用固定延遲的算法與維特算法結(jié)合,在FPGA上實(shí)現(xiàn)和驗(yàn)證,能達(dá)到135.78 MHz時(shí)鐘
    發(fā)表于 08-05 11:57 ?4641次閱讀
    LTE中Tail-biting<b class='flag-5'>卷積碼</b>的<b class='flag-5'>譯碼</b>器設(shè)計(jì)

    基于FPGA的卷積碼譯碼器的方案

    卷積碼是深度空間通信系統(tǒng)和無線通信系統(tǒng)中常用的一種差錯(cuò)控制編碼。它克服了分組由于以塊為單位編譯碼而使分組間的相關(guān)信息丟失的缺點(diǎn)。(2,1
    發(fā)表于 10-12 15:05 ?1645次閱讀
    基于FPGA的<b class='flag-5'>卷積碼</b><b class='flag-5'>譯碼</b>器的方案

    基于Viterbi算法的卷積碼性能分析

    本文主要對(duì)卷積碼編碼和Viterbi譯碼進(jìn)行MATLAB實(shí)現(xiàn),并在此基礎(chǔ)上分析移位寄存器對(duì)糾錯(cuò)能力的影響。論文首先根據(jù)MATLAB的存儲(chǔ)特點(diǎn)及函數(shù)特征,主要介紹
    發(fā)表于 01-13 16:56 ?39次下載
    基于Viterbi算法的<b class='flag-5'>卷積碼</b><b class='flag-5'>性能</b><b class='flag-5'>分析</b>

    通信系統(tǒng)中Viterbi譯碼的Matlab仿真與實(shí)現(xiàn)

    文中提出的卷積碼譯碼Matlab仿真方案,旨在用Viterbi譯碼實(shí)現(xiàn)對(duì)卷積碼譯碼的功能。
    發(fā)表于 03-22 17:21 ?58次下載
    通信系統(tǒng)中Viterbi<b class='flag-5'>譯碼</b>的Matlab<b class='flag-5'>仿真</b>與實(shí)現(xiàn)

    卷積碼編碼器怎么畫 淺談卷積碼編碼器設(shè)計(jì)

    卷積碼擁有良好的糾錯(cuò)性能,是一種被廣泛應(yīng)用于移動(dòng)通信的信道編碼系統(tǒng)。
    的頭像 發(fā)表于 08-20 15:30 ?1.4w次閱讀
    <b class='flag-5'>卷積碼</b><b class='flag-5'>編碼</b>器怎么畫 淺談<b class='flag-5'>卷積碼</b><b class='flag-5'>編碼</b>器設(shè)計(jì)

    卷積編碼維特譯碼介紹 淺析卷積碼之應(yīng)用

    以(n,k,m)來描述卷積碼,其中k為每次輸入到卷積編碼器的bit數(shù),n為每個(gè)k元組碼字對(duì)應(yīng)的卷積碼輸出n元組碼字,m為編碼存儲(chǔ)度,也就是
    發(fā)表于 08-21 09:56 ?3335次閱讀

    卷積碼編碼譯碼程序仿真程序 卷積碼應(yīng)用詳解

    卷積碼是一種差錯(cuò)控制編碼,由P.Elias于1955年發(fā)明。因?yàn)閿?shù)據(jù)與二進(jìn)制多項(xiàng)式滑動(dòng)相關(guān)故稱卷積碼。
    發(fā)表于 08-21 10:34 ?4041次閱讀
    <b class='flag-5'>卷積碼</b><b class='flag-5'>編碼</b><b class='flag-5'>譯碼</b>程序<b class='flag-5'>仿真</b>程序 <b class='flag-5'>卷積碼</b>應(yīng)用詳解

    深度解讀VHDL語言的卷積碼和Viterbi譯碼的實(shí)現(xiàn)

    介紹并用VHDL語言實(shí)現(xiàn)了卷積編碼維特譯碼。根據(jù)編碼器特征設(shè)計(jì)了一種具有針對(duì)性的簡(jiǎn)潔的
    的頭像 發(fā)表于 05-12 15:22 ?2451次閱讀
    深度解讀VHDL語言的<b class='flag-5'>卷積碼</b>和Viterbi<b class='flag-5'>譯碼</b>的實(shí)現(xiàn)

    卷積碼編碼譯碼算法的基本原理

    卷積碼是一種信道糾錯(cuò)編碼,在通信中具有廣泛的應(yīng)用。在發(fā)送端根據(jù)生成多項(xiàng)式進(jìn)行卷積碼編碼,在接收端根據(jù)維特
    的頭像 發(fā)表于 04-28 15:02 ?1.2w次閱讀