彭萬權(quán)
(重慶工程職業(yè)技術(shù)學院,重慶 江津,402260)
并行級聯(lián)卷積碼基于軟輸入硬輸出的迭代譯碼
彭萬權(quán)
(重慶工程職業(yè)技術(shù)學院,重慶 江津,402260)
以遞歸卷積系統(tǒng)碼為分量碼構(gòu)造的并行級聯(lián)卷積碼具有優(yōu)良的距離特性,本文提出一種新的迭代譯碼算法,通過引入校正因子α(n)和β(n),對viterbi譯碼輸出和原始接收信息進行線性疊加,從而將當前的硬判決譯碼輸出轉(zhuǎn)化為下一次譯碼的軟輸入。仿真結(jié)果表明,該算法與乘積碼相比,具有更強的糾錯性能和更快的譯碼速度。
遞歸系統(tǒng)卷積碼;并行級聯(lián)卷積碼;迭代譯碼;校正因子
Turbo碼[1]也稱并行級聯(lián)卷積碼(PCCC),其基本思想在于將卷積碼和交織器相結(jié)合,用隨機編碼策略巧妙地實現(xiàn)了長碼。為了達到行與列的交織,以及獲得良好的距離特性,其分量碼采用了一種特殊類型的卷積碼——遞歸卷積系統(tǒng)碼,Turbo碼譯碼器的一個重要組成部分是軟輸人硬輸出器,它能夠為下一級譯碼提供外信息,從而實現(xiàn)多次迭代譯碼,獲取外信息的經(jīng)典算法包括MAP和SOVA[2],其中MAP算法的性能能夠逼近Shannon限,但復雜的計算致使其硬件實現(xiàn)非常困難;SOVA算法性能比MAP差,但僅僅兩倍于Viterbi的運算量使其更適合于工程運用。目前很多turbo碼迭代譯碼基本都是圍繞MAP、SOVA算法進行,并在各種通信系統(tǒng)中廣泛應用。
當采用分組碼作為級聯(lián)碼的分量碼時可稱之為乘積碼[3],作者曾在文獻[4]中針對該碼型提出一種簡化算法。雖然乘積碼與本文PCCC在構(gòu)造方式上存有一定區(qū)別,但其疊加反饋的迭代譯碼算法是可以借鑒的:在反饋時納入了兩個校正因子α(n)和β(n),分量碼譯碼器通過Viterbi譯碼輸出硬判決信息,并借助校正因子與接收軟信息進行線性處理,從而得到下一級譯碼器的軟輸入。由于本算法在獲取外信息時與標準viterbi算法的復雜度相當,僅為SOVA算法的一半,因此在工程上具有一定的實用價值。文章主要闡述算法的編譯碼原理,仿真部分給出了不同情況的測試結(jié)果,并在計算速度和糾錯性能等方面與乘積碼進行了比較。
1.1 分量碼的編碼
卷積碼類似于連環(huán)鎖鏈的編碼構(gòu)造策略體現(xiàn)了不同時刻碼組之間的信息共享,具有良好的距離特性,是級聯(lián)碼分量碼的較佳選擇。但是,級聯(lián)碼的構(gòu)造特點決定了其分量碼必須為系統(tǒng)碼,而傳統(tǒng)系統(tǒng)卷積碼的糾錯性能又明顯遜于非系統(tǒng)卷積碼,因此在PCCC中必須納入一種遞歸系統(tǒng)卷積碼(RSC)[5]。遞歸系統(tǒng)卷積碼是一種帶反饋的編碼器,可以由非系統(tǒng)卷積碼從編碼輸出端向輸入端引入反饋而得,圖1是碼率=0.5、約束長度=4的(23,35)RSC編碼器。其生成矩陣為
(1)
其中D為延遲算子,表示編碼過程中一個單位時間的延遲。RSC既是一種系統(tǒng)碼,又具有和非系統(tǒng)卷積碼同樣出色的糾錯能力,因此很好地解決了如何選擇PCCC分量碼的問題。
圖1 (23,35)RSC編碼器Fig.1 (23,35)RSC encoder
1.2 PCCC的編碼
PCCC編碼器如圖2所示,k1×k2位信息序列矩陣M經(jīng)過一個行進列出交織器,形成一個新的序列MT,二者分別傳送到兩個相同的RSC分量碼編碼器。為了使矩陣復接后碼率依然等于0.5,還需對分量碼編碼器的輸出進行刪余處理,刪余矩陣為
(2)
其中第一行或第二行分別表示按奇數(shù)位置或偶數(shù)位置間隔保留行或列卷積碼的校驗位,設(shè)信息塊、行校驗塊和列校驗塊矩陣分別為Cm、Cr、Ca,按順序復接后得到編碼輸出矩陣為
C=[CmCrCa]
(3)
該碼字矩陣的比特數(shù)為k1×k2+0.5k1×k2+k1×0.5k2=2k1×k2,可見其編碼碼率為1/2。
圖2 PCCC編碼器框圖Fig.2 PCCC encoder frame diagram
Viterbi譯碼作為一種經(jīng)典算法,幾乎適用于任意類型的卷積碼[6-7],其主要基于碼的網(wǎng)格圖,通過乘-加比選操作尋找一條具有最佳估計值的路徑。該算法所具有的一個顯著優(yōu)勢是,其軟判決譯碼和硬判決譯碼的復雜度近乎相等,因此特別適合對PCCC進行譯碼。
圖3為并行卷積級聯(lián)碼的反饋迭代譯碼器,采用串行方式,每一次迭代包含兩次viterbi譯碼、復接和交織等操作,若干次迭代構(gòu)成整個譯碼器。設(shè)碼陣C經(jīng)過BPSK調(diào)制和高斯信道,在接收端接收到帶有噪聲的軟信息矩陣為:
R=E+G=[RmRrRa]
(4)
圖3 PCCC的串行譯碼器Fig.3 PCCC serial decoder
(5)
圖4 半個迭代過程Fig.4 Semi iterative process
實驗在BPSK和高斯信道環(huán)境下進行,選用以(1)式為生成多項式的(2,1,4)RSC作為分量碼,為了進一步降低譯碼復雜度,本文采納了文獻[7]相關(guān)研究成果,對分量碼實施Viterbi的矩陣化譯碼。 viterbi譯碼的幸存路徑存儲長度為30,并在發(fā)生2000~10000bit錯誤時終止仿真。實驗的首要任務是確定出合適的α(n)和β(n)序列,設(shè)α(n)和β(n)序列是尾數(shù)和首數(shù)分別為1的遞增等差數(shù)列。當信噪比Eb/No=2.2dB、交織長度N=64×64、迭代次數(shù)=4時,經(jīng)大量測試,發(fā)現(xiàn)α(n)=(0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)、β(n)=(1,1.1,1.2,1.3,1.4,1.5,1.6,1.7)近乎為最佳的序列組合。
采用行進列出交織方式時,PCCC對交織器行數(shù)與列數(shù)的選擇比乘積碼更為靈活,原則上可選用任意偶數(shù)行或偶數(shù)列。圖5是迭代四次,交織長度分別為10×10、20×20、32×32和44×44時的誤碼特性對比。由該圖可以看出交織長度對譯碼性能有著直接的影響,但交織長度變得足夠大時,這種影響將逐漸減弱。
圖5 不同交織長度的誤碼特性Fig.5 Error characteristics of different interleaving lengths
結(jié)合文獻[3]和[4],圖6給出了(64,45,8)2乘積碼與PCCC的信噪比誤碼率關(guān)系曲線對比,鑒于可比性,均采用四次迭代,PCCC的交織長度選為44×44,此時兩種碼型具有非常接近的塊長度和編碼效率,如表1所示。該圖表明在中低信噪比時PCCC具有更強的糾錯能力,考慮到10-5的誤碼率能滿足一般的工程要求,即便PCCC存在底板效應也無疑為更好選擇。表1還給出了二者的仿真速度,之所以PCCC在計算速度上更具優(yōu)勢,主要原因在于viterbi軟判決譯碼比chase2譯碼效率更高。
圖6 乘積碼和PCCC的誤碼特性對比Fig.6 BER comparison between product codes and PCCC
分量碼幀長度編碼效率計算速度(2,1,4)1936bit0.529Mbit/s(64,45,8)2025bit0.4944.5Mbit/s
本文采用viterbi算法對PCCC的分量碼進行譯碼,雖然得到的是硬判決輸出,但是通過利用迭代過程中這種硬判決輸出的可信度逐漸增強的特點,與原始的接收軟信息進行線性疊加,從而獲得了下一次譯碼的軟輸入,校正因子的引入有效地控制了已譯信息的再利用程度。仿真實驗確定出α(n)和β(n)序列,并對不同迭代次數(shù)和不同交織長度進行了測試,最后與參數(shù)條件相似的乘積碼進行比較,發(fā)現(xiàn)PCCC在糾錯能力和譯碼速度上占有明顯優(yōu)勢。
[1]C BERROU,A GLAVIEUX.Near optimum error-correcting coding and decoding:turbo codes [J].IEEE Transaction on Communications,1996,44(10):1261-1271.
[2]Jinyoung Kim,Jaejin Lee.Iterative Two-Dimensional Soft Output Viterbi Algorithm for Patterned Media[J].IEEE Transactions on Magnetics ,2011,47(3):594 - 597.
[3]黨小宇,陶靜,虞湘賓,等.一種低復雜度Turbo乘積碼自適應Chase譯碼算法[J].電子與信息學報,2014,36(3):739-743.
[4]彭萬權(quán),馮文江.乘積碼基于相關(guān)運算的迭代譯碼[J].電路與系統(tǒng)學報,2006,11(4):26-30.
[5]張立民,劉杰,鐘兆根.(n,1,m)遞歸系統(tǒng)卷積碼的盲識別[J].電訊技術(shù),2014,54(9):1220-1225.
[6]彭萬權(quán),張承暢,馮文江,等.多階幻方卷積碼的構(gòu)造及譯碼[J].電子學報,2013,41(1):123-130.
[7]彭萬權(quán),伍小兵,張承暢.一種維特比譯碼器的矩陣實現(xiàn)方案[J].電路與系統(tǒng)學報,2012,17(3):115-120.
Iterative decoding of parallel concatenated convolutional codes based on soft input hard output
PENG Wanquan
(Chongqing Vocational Institute of Engineering,Chongqing 402260,China)
Parallel concatenated convolutional codes constructed with recursive system convolutional codes as component codes have good distance characteristic. This paper presents a new iterative decoding algorithm, by introducing correction factorα(n) andβ(n), the viterbi decoding output and the original received information are linearly superimposed, and the current hard decision decoding output is converted into the soft input of the next decoding. The simulation results show that this algorithm has better error correcting performance and faster decoding speed than the product code.
recursive systematic convolutional code; parallel concatenated convolutional codes; iterative decoding; correction factor
1672-7010(2017)02-0023-05
2017-02-24
重慶市基礎(chǔ)與前沿研究計劃項目(cstc2013jcyjA40055 )
彭萬權(quán)(1974-),男,重慶墊江人,副教授,碩士,從事糾錯碼的算法研究工作
TN911.22
A