肖雪芳,左石凱,蘇國(guó)良,雷國(guó)偉
(1.廈門理工學(xué)院光電與通信工程學(xué)院,福建 廈門 361024;2.福建省高校光電技術(shù)重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361024;3.廈門市LED照明應(yīng)用工程技術(shù)中心,福建 廈門 361024;4.集美大學(xué)理學(xué)院,福建 廈門 361021)
隨著當(dāng)代通信的高速發(fā)展,高速率傳輸以及高可靠性傳輸被稱為信息傳輸中最重要的兩個(gè)方面。而在這方面,卷積碼都有著非常大的優(yōu)勢(shì)。已廣泛應(yīng)用于各類無(wú)線通信系統(tǒng)中。卷積碼是由伊萊亞斯在1955年提出的一種非分組的連環(huán)碼[1],具有高結(jié)構(gòu)化的映射關(guān)系,由連續(xù)的信息序列比特構(gòu)成,是一種向前糾錯(cuò)型的編碼類型[2]。在卷積碼中,譯碼方法有許多種,Viterbi的最大似然譯碼是迄今為止性能最好的一種譯碼算法。文獻(xiàn)[3-4]在不同類型的數(shù)字信號(hào)處理(digital signal process,簡(jiǎn)稱DSP)技術(shù)芯片上使用Viterbi方法進(jìn)行卷積碼的譯碼。文獻(xiàn)[5-6]在DSP上實(shí)現(xiàn)了咬尾卷積碼的編譯碼。文獻(xiàn)[7-8]從不同約束長(zhǎng)度的角度,討論在DSP上實(shí)現(xiàn)不同卷積碼結(jié)構(gòu)的性能。除了上述對(duì)卷積碼結(jié)構(gòu)的性能比較外,關(guān)于卷積碼的幸存路徑、進(jìn)制等還需要進(jìn)行性能比較。
本文分析了不同進(jìn)制、不同碼率下的編碼結(jié)構(gòu),并從譯碼角度探討了不同幸存路徑下的譯碼性能,并在TMS320C5509系列平臺(tái)上搭建卷積碼的編譯碼系統(tǒng)。系統(tǒng)中,對(duì)卷積碼的碼字進(jìn)行模擬干擾,以便更好地分析比較卷積碼的性能。最后通過(guò)實(shí)驗(yàn)仿真,驗(yàn)證了卷積碼在不同編碼結(jié)構(gòu)、不同幸存路徑、不同進(jìn)制等條件下譯碼的性能。
卷積碼編碼的基本原理是編碼器對(duì)數(shù)據(jù)流進(jìn)行1 bit或kbit編碼運(yùn)算,編碼輸出n個(gè)bit的編碼符號(hào)。在通常情況下卷積碼是用(n,k,m)來(lái)表示。其中,n為一個(gè)編碼器輸出的編碼標(biāo)志個(gè)數(shù),k表示為輸入的信息碼元長(zhǎng)度,m為連續(xù)式輸入的寄存器個(gè)數(shù)。編碼率r=k/n。卷積碼就是在編碼的時(shí)候,將kbit的信息編譯生成nbit的編碼組,這就讓編碼的產(chǎn)生不單單與當(dāng)前狀態(tài)下k比特的信息有關(guān)聯(lián),還與當(dāng)時(shí)這個(gè)信息段的前面m-1個(gè)信息有關(guān)[1],其中m為編碼約束長(zhǎng)度。二進(jìn)制(2,1,3)和四進(jìn)制(3,1,3)編碼器結(jié)構(gòu)如圖1所示。圖1(a)和圖1(b)均由3級(jí)移位寄存器組成。其中圖1(a)由兩個(gè)模2加法器和兩個(gè)輸出構(gòu)成,圖1(b)由3個(gè)模4加法器和3個(gè)輸出構(gòu)成。
(a)二進(jìn)制(2,1,3)(b)四進(jìn)制(3,1,3)
圖1編碼器結(jié)構(gòu)
Fig.1Convolutionalencoder
卷積碼的譯碼方式一般有兩種。第一種方式是代數(shù)譯碼[9],第二種方式是概率譯碼。前者有大數(shù)邏輯譯碼,后者也被稱為最大似然譯碼。維特比(viterbi,VB)譯碼算法是一種最大似然譯碼算法,即它對(duì)整個(gè)信息比特序列譯碼的差錯(cuò)概率最小。當(dāng)前應(yīng)用最多最廣的是維特比譯碼方式,其基本思想是把接收到的矢量,和網(wǎng)格圖上諸種可能的路徑比較,刪去距離大的路徑,保留距離小的路徑,以距離最小路徑作為發(fā)碼的估值。具體來(lái)說(shuō),就是在每個(gè)單元時(shí)間,運(yùn)算出2L個(gè)分叉的度量,加到相對(duì)應(yīng)之前路徑上的度量中。然后進(jìn)行對(duì)比2L個(gè)度量,找出路徑度量中擁有最多的度量路徑。像這種結(jié)果路徑就被叫做幸存路徑[10]。經(jīng)過(guò)路徑度量相加后比對(duì),找出幸存路徑,就是硬判決。而在離散信道中,軟判決運(yùn)用的歐式距離,將可信度最大的作為幸存路徑。正常來(lái)說(shuō)軟判決的譯碼結(jié)果相對(duì)于硬判決的譯碼結(jié)果來(lái)說(shuō)性能會(huì)比較好。圖2是編碼器圖1(a)的狀態(tài)網(wǎng)格圖。從圖2可以看出,當(dāng)輸入為(1011100)時(shí),輸出為(11100001100111),碼率為1/2(見(jiàn)加粗標(biāo)注路徑)。
圖2 狀態(tài)網(wǎng)格圖Fig. 2 Trellis graph
在DSP平臺(tái)上模擬搭建卷積碼通信系統(tǒng),該實(shí)驗(yàn)系統(tǒng)有豐富的硬件資源,如CPU板,E_LAB總線接口、模擬信號(hào)源、A/D與D/A轉(zhuǎn)換單元、I/O單元、鍵盤接口單元、液晶顯示單元、JTAG仿真器等??梢酝瓿啥喾NDSP基礎(chǔ)實(shí)驗(yàn)、算法實(shí)驗(yàn)、控制對(duì)象實(shí)驗(yàn)和編解碼通信實(shí)驗(yàn)。該DSP平臺(tái)所選用的DSP芯片為TMS320C5509系列。該卷積碼通信系統(tǒng)主要由信源、交織器、編碼器、信道、譯碼器、解交織器、判決等部分組成。
信源模塊由rand()函數(shù)產(chǎn)生隨機(jī)小數(shù),再通過(guò)round()函數(shù)取整后產(chǎn)生0或1的隨機(jī)數(shù)。四進(jìn)制的隨機(jī)數(shù)產(chǎn)生比較簡(jiǎn)單,只要將rand()函數(shù)產(chǎn)生的隨機(jī)小數(shù)乘以3,然后通過(guò)round()函數(shù)取整即可得到。交織器是對(duì)隨機(jī)數(shù)進(jìn)行塊交織,重新編排其數(shù)據(jù)順序。本質(zhì)上來(lái)說(shuō)就是一種實(shí)現(xiàn)最大限度的改變信息結(jié)構(gòu)而不改變信息內(nèi)容的器件。使信道傳輸過(guò)程中所突發(fā)產(chǎn)生集中的錯(cuò)誤最大限度的分散化。編碼器是對(duì)交織后的數(shù)據(jù)進(jìn)行卷積碼編碼。卷積碼屬于信道編碼,它能增強(qiáng)數(shù)據(jù)在信道中傳輸時(shí)抵御各種干擾的能力,提高信息傳輸?shù)目煽啃?。信道模塊由rand()函數(shù)產(chǎn)生模擬信道噪聲。譯碼器是編碼器的逆過(guò)程,一般借助狀態(tài)網(wǎng)格圖對(duì)數(shù)據(jù)進(jìn)行維特比譯碼。解交織器是對(duì)譯碼數(shù)據(jù)按原序重排。判決器是將譯碼結(jié)果與源信息數(shù)據(jù)進(jìn)行一一核驗(yàn),統(tǒng)計(jì)錯(cuò)誤數(shù)量。最后計(jì)算系統(tǒng)的誤碼率。
編碼過(guò)程:運(yùn)行CCS3.0軟件,新建項(xiàng)目juanji.pjt;然后添加編寫好的juanji.c(源文件)、juanji.cmd(cmd文件)、rts.lib(庫(kù)文件)。該源文件包括信源模塊、交織模塊、編碼模塊以及信道模塊。模擬信道就是對(duì)編碼文件bianmazhi.txt添加模擬噪聲,生成bianmazhi2.txt文件。
譯碼過(guò)程:新建yima.pjt;然后添加yima.c(源文件)、yima.cmd(cmd文件)、rts.lib(庫(kù)文件)。該源文件作用是先從c://bianmazhi.txt文件中接收卷積碼字,進(jìn)行維特比譯碼,結(jié)果保存到c://yimajieguojz.txt文件當(dāng)中,并對(duì)數(shù)據(jù)進(jìn)行解交織,保存到c://jyimajieguo.txt文件當(dāng)中去。
最后判決就是取出譯碼文件c://jyimajieguo.txt與源數(shù)據(jù)文件c://bianma.txt核對(duì)統(tǒng)計(jì)誤碼率。
為了更好地評(píng)估卷積碼性能,在原有誤碼率的基礎(chǔ)上,引入擾碼率的概念,對(duì)編碼后的卷積碼字進(jìn)行隨機(jī)干擾,即擾碼率=傳輸中的擾碼/所傳輸?shù)目偞a數(shù)×100%,誤碼率=譯碼錯(cuò)誤個(gè)數(shù)/傳輸數(shù)據(jù)總數(shù)×100%。然后從幸存路徑、編碼標(biāo)志數(shù)、進(jìn)制等不同側(cè)面來(lái)比較分析其性能。
由圖3可見(jiàn),在相同卷積碼結(jié)構(gòu)中,幸存路徑較大的維特比譯碼方式的抗噪能力較優(yōu)于幸存路徑較小的譯碼方式。
圖4顯示了卷積碼的編碼標(biāo)志數(shù)對(duì)卷積碼的影響。從圖4(a)可以看出,在相同擾碼率下,卷積碼二進(jìn)制(3,1,3)的誤碼率遠(yuǎn)低于卷積碼二進(jìn)制(2,1,3)的誤碼率。這意味著卷積碼編碼標(biāo)志數(shù)n越大,其抗噪性能越優(yōu)。圖4(b)是從另一個(gè)側(cè)面來(lái)分析,當(dāng)信噪比一定時(shí),卷積碼二進(jìn)制(3,1,3)的性能要優(yōu)于卷積碼二進(jìn)制(2,1,3)。圖4說(shuō)明了編碼率r=k/n對(duì)卷積碼性能的影響。雖然(3,1,3)的誤碼率要低于(2,1,3),但(3,1,3)的編碼率僅為r=1/3,而(2,1,3)的編碼率為r=1/2。因此對(duì)卷積碼而言,編碼率與誤碼率是難以調(diào)和的兩個(gè)性能指標(biāo)。要提高系統(tǒng)的抗干擾性能,就不得不靠增加更多的冗余比特,這樣就無(wú)形中降低了有效信息的比重。反之,若要實(shí)現(xiàn)高速率傳輸,就不得不降低抗干擾性能。
由圖5(a)可以看出,在相同擾碼率下,四進(jìn)制卷積碼(3,1,3)的誤碼率低于二進(jìn)制卷積碼(3,1,3)。圖5(b)是從另一個(gè)側(cè)面來(lái)分析,當(dāng)信噪比一定時(shí),四進(jìn)制卷積碼(3,1,3)的性能要優(yōu)于二進(jìn)制卷積碼(3,1,3)。并且當(dāng)信噪比逐漸增大,效果更明顯。因此,采用多進(jìn)制的卷積碼,不啻為另一種實(shí)現(xiàn)高速率傳輸?shù)氖侄巍?/p>
基于DSP平臺(tái),模擬搭建了卷積碼的通信系統(tǒng)。通過(guò)實(shí)驗(yàn),引入擾碼率的概念,從幸存路徑、編碼標(biāo)志數(shù)、進(jìn)制等不同側(cè)面對(duì)比分析其性能。結(jié)果顯示:幸存路徑越大,譯碼性能越好,但是要以譯碼復(fù)雜度為代價(jià);編碼標(biāo)志數(shù)越大,抗噪性能越優(yōu),但是要以犧牲數(shù)據(jù)率為代價(jià);而高進(jìn)制編碼不啻為改善性能和提高數(shù)據(jù)率的有效方法之一。高速率傳輸與誤碼率是一對(duì)難以調(diào)和的矛盾。要降低誤碼率就需要為信息位增加冗余比特,以增強(qiáng)糾錯(cuò)性能。而本文提到的多進(jìn)制卷積碼,繞開(kāi)了這種單純靠約束長(zhǎng)度來(lái)降低誤碼率的方法。本文的分析結(jié)果也適用于任何型號(hào)的DSP芯片,特別對(duì)未來(lái)的無(wú)線通信、衛(wèi)星通信、以及高速寬帶的通信都具有重要的意義。
[參考文獻(xiàn)]
[1]RYAN W E,林舒.信道編碼:經(jīng)典與現(xiàn)代[M].白寶明,馬嘯,譯.北京:電子工業(yè)出版社,2017.
[2]MCELIECE R J,LIN W.The trellis complexity of convolutional codes[J].IEEE Transactions on Information Theory,1996,42(6):1 855-1 864.
[3]周軍,韓曉莉.Viterbi譯碼及其DSP算法研究[J].通信與廣播電視,1999(2):15-21.
[4]趙冰.卷積編碼及基于DSP的Viterbi譯碼器設(shè)計(jì)[J].信息與控制,2002,31(5):473-476.
[5]羅友寶,李小文.LTE系統(tǒng)的Viterbi譯碼算法仿真及DSP實(shí)現(xiàn)[J].光通信研究,2010(3):67-70.
[6]陳發(fā)堂,孫鵬,代修文,等.TD-LTE系統(tǒng)中咬尾卷積碼的DSP實(shí)現(xiàn)及性能測(cè)試[J].電子技術(shù)應(yīng)用,2014,40(6):115-118.
[7]魏旭,陳雙良.基于高性能DSP的(3,2,2)卷積編解碼應(yīng)用研究[J].貴陽(yáng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2012,7(2):48-50.
[8]王宏俊,杜長(zhǎng)斌,楊自恒,等.基于(2,1,7)卷積碼實(shí)現(xiàn)低誤碼率通信的DSP設(shè)計(jì)[J].電子器件,2014,37(1):97-102.
[9]徐英杰.卷積編碼及基于DSP的Viterbi譯碼器設(shè)計(jì)[D].北京:北方工業(yè)大學(xué),2005.
[10]張博.卷積碼的譯碼研究及DSP實(shí)現(xiàn)[D].天津:天津大學(xué),2008.