郝天鐸,王可人,金 虎,熊 最
(電子工程學(xué)院,合肥 230037)
基于錯誤圖樣的Viterbi譯碼性能分析
郝天鐸,王可人,金 虎,熊 最
(電子工程學(xué)院,合肥 230037)
針對卷積碼的Viterbi譯碼性能在“比特級”層面的研究還不夠深入,提出了一種利用錯誤圖樣分布來研究其譯碼性能的方法。該方法在不加調(diào)制的情況下,通過設(shè)定不同錯誤圖樣的參數(shù),詳細分析了不同錯誤圖樣下的譯碼性能。同時,給出了一種錯誤圖樣搜索算法,可搜索出對譯碼性能影響最明顯的錯誤圖樣分布。在此基礎(chǔ)上又對幾種典型錯誤圖樣分布下的糾錯性能進行了對比分析。仿真結(jié)果表明,錯誤圖樣的不同分布會對Viterbi譯碼性能產(chǎn)生不同的影響。
卷積碼,Viterbi譯碼,錯誤圖樣
卷積碼的Viterbi譯碼算法是一種最大似然譯碼算法,當(dāng)碼的約束長度較短時,它比貫序解碼算法的效率更高、速度更快,現(xiàn)已得到廣泛的應(yīng)用[1]。
研究Viterbi譯碼性能的文章較多,但大多是從譯碼算法的改進上進行分析,而從“比特級”層面上對其性能進行深入研究的則很少。文獻[2]提出了一種針對卷積碼的脈沖干擾方法,利用干擾脈沖控制目標(biāo)通信系統(tǒng)的錯誤圖樣分布,在“比特級”層面對Viterbi譯碼性能進行了分析。但文獻[2]中并未分析不同錯誤圖案分布對Viterbi譯碼性能的影響。文獻[3]提出了一種使Viterbi譯碼的糾錯性能最差的錯誤圖樣搜索算法,得到了在QPSK調(diào)制下錯誤的塊長和錯誤間隔。但其給出的輸出參數(shù)僅考慮到突發(fā)錯誤,沒有對塊內(nèi)的隨機錯誤進行分析,同時,調(diào)制的加入會對錯誤圖樣分析造成影響。
為了在“比特級”層面進行更深入的研究,本文在不加調(diào)制的情況下,通過設(shè)定不同錯誤圖樣的參數(shù),詳細分析了不同錯誤圖樣下的譯碼性能。同時,給出了一種錯誤圖樣搜索算法,可搜索出對譯碼性能影響最明顯的錯誤圖樣分布。
1.1 Viterbi譯碼的性能分析
表1列出了編碼效率為1/2、約束長度m為6~9的卷積碼的自由距離以及的值。
1.2 錯誤圖樣分析
1.2.1 系統(tǒng)模型
本文只在“比特級”層面上進行討論[8],不考慮調(diào)制解調(diào)的作用,在判決方法上采用硬判決,信道則采用二進制對稱信道,具體系統(tǒng)模型如圖1所示。
錯誤圖樣e代表由發(fā)送端的碼字c轉(zhuǎn)變成接收端的碼字r時,在信道上必然產(chǎn)生的差錯事件,由c變?yōu)閞時的誤碼數(shù)目正好等于e中“1”的個數(shù),而r就是c與e序列模2相加的結(jié)果。例如,發(fā)送序列c:(1111100000),接收序列r:(1001010000),可得出錯誤圖樣的第2、3、4、5位取值為1,其他各位取值為0,即e:(0110110000)。
1.2.2 參數(shù)設(shè)定
如圖2所示,在錯誤圖樣e中,Block代表“塊”,在文中為產(chǎn)生錯誤的塊的長度,為錯誤產(chǎn)生的首位置,亦即錯誤圖樣中首次出現(xiàn)“1”的位置,Ne為塊內(nèi)錯誤比特,D為兩塊之間的間隔,第1塊內(nèi)為隨機錯誤[9],第2塊內(nèi)為突發(fā)錯誤。錯誤比特所在位置用“1”表示,空白位置用“0”表示。兩個塊的長度均為7 bit,第1塊內(nèi)“1”出現(xiàn)的次數(shù)為3,所以產(chǎn)生的是Ne1等于3 bit的隨機錯誤;第2塊內(nèi)“1”出現(xiàn)的次數(shù)為7,所以產(chǎn)生的是Ne2等于7 bit的突發(fā)錯誤,錯誤圖樣中兩個塊之間的間隔D為3 bit。因此,錯誤圖樣e為:(10100100001111111)。
1.2.3 不同參數(shù)對糾錯性能的影響
本文選用糾錯能力較強的(2,1,7)卷積碼作為研究對象,譯碼器的輸入誤比特率用表示,輸出誤比特率用表示。
(1)隨機與突發(fā)錯誤
在Viterbi譯碼過程中,不僅從此時刻收到的n個碼元中提取譯碼信息,而且還利用以后若干時刻收到的碼組提取有關(guān)譯碼信息[10],且卷積碼糾正隨機錯誤的能力較強,而對突發(fā)錯誤的糾錯性能較差[2]。由于隨機錯誤的隨機性,其產(chǎn)生的po在pi的取值較小時(取pi≤0.05),應(yīng)與由式(1)的理論值產(chǎn)生的近似相等;但是當(dāng)隨機產(chǎn)生的錯誤碼元數(shù)達到一定門限時,由于不同位置碼元之間的相互約束,在譯碼時會相互影響從而產(chǎn)生錯誤擴散的現(xiàn)象;對突發(fā)錯誤而言,由于錯誤是依次產(chǎn)生的,在譯碼時產(chǎn)生的錯誤也僅限于被干擾的碼組內(nèi),因而不會產(chǎn)生錯誤擴散的現(xiàn)象,當(dāng)pi達到一定門限值時,預(yù)計會產(chǎn)生等量的輸出誤比特個數(shù)。
(2)錯誤產(chǎn)生的首位置
由1.1可知,(2,1,7)卷積碼可在14個連續(xù)比特之內(nèi)可以糾正4個比特的隨機錯誤。然而,當(dāng)錯誤比特產(chǎn)生的位置距離碼序列的末端的長度小于回溯長度時,需要譯碼的序列長度小于回溯長度,得不到有效的譯碼,從而使得譯碼性能下降。
(3)產(chǎn)生錯誤的塊的長度
對于一定數(shù)量的輸入誤碼個數(shù),總會存在一個對應(yīng)的塊長,使得在這個塊長內(nèi)碼元相互之間的影響最大,從而po的值也最大。
(4)塊與塊之間的間隔
當(dāng)產(chǎn)生錯誤的塊與塊之間的間隔較小時,不同塊之間的距離較近,相互的影響也較大,po相應(yīng)的也會變大;當(dāng)間隔較大時,不同塊之間的距離也變大,相互的影響也會變小,因此,po也會變小。
1.2.4 幾種典型的錯誤圖樣分布對糾錯性能的影響
通過對錯誤圖樣不同參數(shù)的性能分析,有針對性地選擇幾種典型的錯誤圖樣分布,并通過計算機搜尋使糾錯性能最差的錯誤圖樣分布。設(shè)定幾種典型的錯誤圖樣為:
(1)整個碼序列上產(chǎn)生突發(fā)錯誤(error pattern1);
(2)在一個大的塊長內(nèi)產(chǎn)生隨機錯誤(error pattern2);
(3)在多個小塊長內(nèi)產(chǎn)生隨機錯誤(error pattern3);
(4)計算機尋優(yōu)所得錯誤圖樣:通過計算機尋優(yōu),尋找使糾錯性能最差的錯誤圖樣分布。首先定義一個效益函數(shù)ε=Po/Pi,即輸出誤比特率與輸入誤比特率的比值。在Pi相同的情況下,效益函數(shù)的值越大,糾錯效果就越差。產(chǎn)生錯誤的塊長b、幀內(nèi)誤比特個數(shù)e、間隔d的單位均為bit,塊的個數(shù)n=骔C/(b+d)」,式中C代表編碼后碼序列的長度,單位也為bit,通過遍歷b、e和d的組合,可得到所有效益函數(shù)值ε的集合,其中最大值對應(yīng)的各個參數(shù)值即為所尋結(jié)果,代碼如下[3]:
設(shè)產(chǎn)生錯誤的塊的長度從1到500 bit依次遍歷,塊內(nèi)誤比特個數(shù)從1到每次對應(yīng)的塊長取值依次遍歷,間隔從1到30 bit依次遍歷。經(jīng)過大量的仿真實驗運算,得到的結(jié)果為:當(dāng)錯誤產(chǎn)生的塊的長度為3 bit,塊內(nèi)誤比特個數(shù)為3,間隔為18 bit時,當(dāng)Pi一定時,這種錯誤圖樣分布使糾錯性能達到最差。
由于在仿真時需要進行大量的重復(fù)隨機性實驗,所以仿真時采用蒙特卡羅仿真方法,如無特別說明,仿真中編碼后碼序列c長度一律設(shè)為3 000 bit。
2.1 不同參數(shù)下的仿真實驗
2.1.1 隨機與突發(fā)錯誤
設(shè)錯誤比特個數(shù)從1到360 bit依次變化,隨機錯誤在整個碼序列c上產(chǎn)生,突發(fā)錯誤從碼序列c的首位置開始產(chǎn)生,統(tǒng)計pi與po的關(guān)系如圖3所示。在pi較小時(0~0.05),隨機錯誤產(chǎn)生的誤比特率與理論值大體相等(理論值的pi小于等于0.05),糾隨機錯誤的能力較強。當(dāng)pi達到一定門限(0.1)時,隨機錯誤會使譯碼產(chǎn)生錯誤擴散的現(xiàn)象。而對于突發(fā)錯誤,卷積碼對其糾錯效果較差,pi與po大體成正比關(guān)系。以上仿真結(jié)果符合1.2.3小節(jié)的理論分析。
對于糾錯碼而言,根據(jù)經(jīng)驗公式,當(dāng)po大于0.05時,就認(rèn)為接近許多數(shù)字通信無法進行的區(qū)域[11]。從圖3可以看出,突發(fā)錯誤產(chǎn)生的po率先達到0.05,這說明在實際通信過程中突發(fā)錯誤對Viterbi譯碼產(chǎn)生的影響更大。
2.1.2 錯誤產(chǎn)生的首位置
設(shè)編碼后碼序列c長度為300 bit,產(chǎn)生錯誤的塊長為14 bit,錯誤在塊內(nèi)產(chǎn)生,塊的位置從碼序列c的首位置開始,依次遍歷整個碼序列,回溯長度設(shè)為5倍的編碼約束度即為35。由圖4可見,當(dāng)錯誤產(chǎn)生的首位置距離碼的末端大于回溯長度時,也即1到265左右時,在14個連續(xù)比特內(nèi)可以糾正4個比特的隨機錯誤;當(dāng)首位置大于265時,譯碼序列長度小于回溯長度,糾錯能力下降。以上仿真結(jié)果符合理論分析。
2.1.3 產(chǎn)生錯誤的塊的長度
設(shè)產(chǎn)生錯誤的塊長從Ne到3 000 bit變化,在塊長內(nèi)產(chǎn)生Ne=100 bit的隨機錯誤,統(tǒng)計不同塊長下的輸出誤比特率,如圖5(a)[9]所示;采用同樣的方法,錯誤在塊內(nèi)產(chǎn)生,當(dāng)輸入誤比特個數(shù)從1到500依次變化時,分別尋找最大po下對應(yīng)的塊的長度,并統(tǒng)計輸入的誤比特個數(shù)與塊長的比值,如圖5(b)所示。由圖5(a)可見,對于一定的輸入誤比特數(shù)(100),隨著塊長的增加,po先增大后減小,在幀長為某一值(約600 bit)時po達到最大,與理論分析相符。由圖5(b)可見,若po最大,則輸入誤比特個數(shù)與相應(yīng)塊長的比值趨于0.17左右。
2.1.4 塊與塊之間的間隔
設(shè)產(chǎn)生錯誤的塊的個數(shù)為20,塊長為60 bit,塊內(nèi)誤比特數(shù)為10,在塊內(nèi)錯誤隨機分布,間隔從1到50 bit依次取值。如圖6所示,隨著間隔的變大,po的取值變得越來越小,當(dāng)間隔達到一定門限時,不同塊之間的影響可以忽略不計,最后趨于一個定值,這與理論分析相符。
2.2 幾種典型錯誤圖樣下的仿真實驗
對于error pattern2,根據(jù)2.1節(jié)中的第3部分的結(jié)論進行設(shè)定,輸入誤比特個數(shù)與塊長的比在仿真時始終保持0.17;對于error pattern3,設(shè)小塊長為60 bit,塊的個數(shù)為10,塊內(nèi)誤比特個數(shù)從1到15依次變化,錯誤產(chǎn)生的方式為隨機錯誤,且根據(jù)2.1節(jié)分析結(jié)果,塊之間的間隔選為20 bit,仿真結(jié)果示于圖7中。
從圖7中可以看出,在輸入誤比特率相同的情況下,本文所選的典型錯誤圖樣分布對譯碼性能的影響都大于理論值,其中,尋優(yōu)所得的錯誤圖樣分布對譯碼性能的影響最大。從實驗結(jié)果可知,在實際情況中,若要達到0.05的輸出誤比特率,對數(shù)字通信形成有效的干擾,最少只需39個輸入誤比特,也即0.013的輸入誤比特率即可。
本文在“比特級”層面對Viterbi譯碼性能進行了分析,實驗結(jié)果表明,本文所提出方法可以直觀地指出不同錯誤圖樣分布對Viterbi譯碼性能的影響,并通過完善參數(shù)值的設(shè)置,使用本文所給的算法搜索出了使譯碼性能最差的錯誤圖樣分布。以上結(jié)論為相關(guān)通信系統(tǒng)的設(shè)計提供了參考,在此基礎(chǔ)上,對卷積碼在完整通信系統(tǒng)中的譯碼性能分析,是下一步的研究方向。
[1]樊昌信,曹麗娜.通信原理[M].第6版.北京:國防工業(yè)出版社,2006.
[2]杜宇峰,劉豐.針對前向糾錯編碼的脈沖干擾技術(shù)研究[J].無線電工程,2013.43(7):17-20.
[3]張一嘉,楊紅娃,徐建良.對Viterbi譯碼的高效脈沖干擾技術(shù)[J].通信對抗,2009(2):18-21.
[4]王新梅,肖國鎮(zhèn).糾錯碼——原理與方法[M].西安:西安電子科技大學(xué)出版社,1991.
[5]Prasad K,Rajan B S.Convolutional Codes for Network-Error Correction[C]//.IEEE Global Telecommunications Conference,2009.
[6]王新梅.糾錯碼與差錯控制[M].北京:人民郵電出版社,1989.
[7]〔美〕John G P著,張力軍,譯.數(shù)字通信[M].第4版.北京:電子工業(yè)出版社,2003.
[8]Smarandache R,Rosenthal J.Decoding of Convolutional Codes over the Erasure Channel[J].IEEE Transactions on Information Theory,2012,58(1):90-108.
[9]吳湛擊,王文博.現(xiàn)代糾錯碼與調(diào)制理論及應(yīng)用[M].北京:人民郵電出版社,2008.
[10]劉玉君.信道編碼[M].鄭州:河南科學(xué)技術(shù)出版社,2001.
[11]蔡曉霞,陳紅,徐云.通信對抗原理[M].北京:解放軍出版社,2012.
Analysis of Viterbi Decoding Performance on Error Pattern
HAO Tian-duo,WANG Ke-ren,JIN Hu,XIONG Zui
(Electronic Engineering Institute,Hefei 230037,China)
In order to get further studies of the decoding performance for concatenated RS-convolutional codes on“bits”level,a method which using the error pattern distribution to analyze the decoding performance is proposed.The influence of error pattern distribution is analyzed on the decoding performance by setting parameters without modulation.Also the search algorithm which can find a error pattern distribution that letting the performance become most sensitive is given.Then the error correction performance in several typical error pattern distribution is discussed.Results show that different error pattern distribution have different influence on the Viterbi decoding performance.
convolutional code,viterbi decoding,error pattern
TN911.22
A
1002-0640(2015)10-0083-04
2014-07-15
2014-10-20
郝天鐸(1989- ),男,內(nèi)蒙古呼和浩特人,碩士研究生。研究方向:數(shù)字通信。