殷云志,韓明鑰,張玉琴
(1.中國電子科技集團公司第五十四研究所,河北石家莊050081;2.冀州職教中心,河北冀州053200)
Turbo乘積碼(Turbo Product Code,TPC)由于具有優(yōu)異的性能、較低的編譯碼復(fù)雜度以及短的譯碼延時,而且碼字內(nèi)部具有自交織結(jié)構(gòu),可以有效對抗快衰落,因此可將其應(yīng)用于具有衰落信道的無線通信系統(tǒng)[1,2]。
主要研究TPC碼在無線衰落信道中應(yīng)用的設(shè)計實例。在研究過程中,為使開發(fā)工作能夠科學(xué)、有效、快速的進行,按照以下步驟進行:
①TPC碼的理論研究以及在衰落信道中應(yīng)用碼字的選取;
②利用Matlab工具進行編譯碼算法的性能仿真,指導(dǎo)硬件參數(shù)設(shè)計;
③以Quartus為設(shè)計工具、Altera StratixII開發(fā)板為平臺進行硬件設(shè)計與實現(xiàn);
④將編、譯碼模塊應(yīng)用到無線通信調(diào)制解調(diào)器中,并進行性能測試。
Turbo乘積碼結(jié)構(gòu)簡單,可以有效地基于2個或多個短碼來構(gòu)造長碼[1-3]。考慮2個系統(tǒng)線性分組碼C1,參數(shù)為(n1,k1,δ1)和C2,參數(shù)為(n2,k2,δ2),其中,ni,ki,δi,i∈(1,2)分別代表分組碼的碼字長度、信息位長度、最小漢明距。Turbo乘積碼P的參數(shù)分別為n=n1×n2,k=k1×k2,δ=δ1×δ2,碼率為R=R1×R2,其中Ri,i∈(1,2)分別為C1、C2的碼率。
Turbo乘積碼編碼步驟如下:
①(k1×k2)位信息比特放入k1行、k2列的方陣中;
②對k1行以C2進行編碼;
③對n2列以C1進行編碼。
Turbo乘積碼采用軟判決迭代譯碼,結(jié)構(gòu)如圖1所示。其行(列)譯碼器由SISO(soft-input/soft-output)的Chase譯碼器來實現(xiàn)。在2個子譯碼器之間傳遞的反饋信息是譯碼器輸出碼字的可靠性與接收字的差值,可靠性用對數(shù)似然比進行估值[4-6]。

圖1 TPC迭代譯碼結(jié)構(gòu)示意圖
下面簡述TPC碼的迭代譯碼過程:
①對接收序列矩陣R及其硬判決矩陣D的行(或列)應(yīng)用Chase譯碼算法,其中β(m)為迭代過程的調(diào)節(jié)系數(shù),控制軟輸出信息的輸出峰值范圍,一般選取經(jīng)驗值β(m)=[0.2 0.4 0.6 0.8 1.0 1.0 1.0 1.0 1.0 1.0];
②R中每一元素為rij,D中每一元素為dij,迭代譯碼中用到的反饋信息wij為:

式中,Λ(dij)是譯碼器輸出判決碼字元素dij的可靠性;
③計算碼字矩陣中每一向量的外信息,并用該外信息修改接收序列信息,送入下一次迭代譯碼過程。假設(shè)[W(m)]是第m次迭代計算的外信息,[R]是接收序列矩陣,則第(m+1)次迭代輸入信息為:

式中,α(m)是外信息[W(m)]的歸一化加權(quán)因子,在[0,1]之間取值,一般選取經(jīng)驗值:α(m)=[0 0.2 0.3 0.5 0.7 0.9 1.0 1.0 1.0 1.0];
④若未達到設(shè)定的迭代次數(shù),矩陣[R(m+1)]輸入到下一次譯碼過程,迭代過程轉(zhuǎn)至式(1);否則,對矩陣[R(m+1)]進行硬判決,得到原始信息。
上述過程中,每次迭代完成一次行或列譯碼,都只是完成了半次迭代譯碼,二者一起才完成一次完整的迭代。
根據(jù)TPC編譯碼原理可知,通過行編碼、列編碼實現(xiàn)了碼字的內(nèi)交織特性,采用基于Chase算法的軟判決迭代譯碼,從而具有優(yōu)異的糾錯性能。碼長、碼率都是影響碼字性能的關(guān)鍵因素,碼長越長、碼率越低,性能越好[7]。
在無線通信中,對于高速傳輸,由于受到帶寬限制,碼率不能低于0.7,同時考慮到碼長過長使得譯碼復(fù)雜度很高,因此選擇(64,57,4)擴展?jié)h明碼作為TPC碼字的子碼[8]。
利用Matlab仿真工具,采用蒙特卡羅仿真模型,對以(64,57,4)擴展?jié)h明碼作為子碼的TPC碼字進行編譯碼算法的仿真[9-12]。
在AWGN信道條件下,采用BPSK調(diào)制,譯碼過程采用浮點運算,迭代次數(shù)分別為1~6次的仿真結(jié)果如圖2所示,顯示了在不同的信噪比下迭代次數(shù)和誤碼率的關(guān)系曲線。可知,迭代次數(shù)大于4的性能改善很小,考慮譯碼復(fù)雜度與性能的折中,迭代次數(shù)選取4次。

圖2 迭代次數(shù)與誤碼率的關(guān)系
在AWGN信道條件下,采用BPSK調(diào)制、譯碼迭代4次、譯碼運算定點量化的性能曲線如圖3所示,顯示了量化比特數(shù)目與誤碼率的關(guān)系。采用的量化比特數(shù)目越多,性能越好,但是量化比特數(shù)為3~5時的性能變化顯著,且量化比特數(shù)為5時已經(jīng)非常接近浮點運算的性能,比特數(shù)再增加帶來的意義不大。因此,采用5bit量化,實現(xiàn)了復(fù)雜度與性能的最佳配置。

圖3 量化比特數(shù)目與誤碼率的關(guān)系
采用(64,57,4)擴展?jié)h明碼作為子碼的TPC碼字,對其在衰落信道中的性能進行仿真,根據(jù)上節(jié)不同參數(shù)的仿真結(jié)果,編譯碼參數(shù)選擇:譯碼迭代4次、定點量化5bit。仿真條件為:QPSK調(diào)制、瑞利衰落信道、4重分集、2Mb/s速率、5Hz多普勒頻移,仿真結(jié)果如圖4所示。由圖4可知,誤碼率10-5時的編碼增益約3.5dB。因此,TPC碼應(yīng)用于衰落信道可獲得顯著的性能改善。

圖4 TPC碼在衰落信道中的仿真性能
根據(jù)上節(jié)的仿真結(jié)果,對以(64,57,4)擴展?jié)h明碼為子碼的TPC碼字進行編譯碼算法的硬件設(shè)計,采用4次譯碼迭代、5bit定點量化。本設(shè)計在QuartusII-6.0集成環(huán)境下進行,并結(jié)合編譯碼算法的Matlab仿真,采用Altera StratixII開發(fā)板為平臺。
在進行硬件設(shè)計時,首先將編、譯碼算法分解為各個子模塊,完成各子模塊硬件程序的編寫后分別將編碼模塊、譯碼模塊作為一個整體進行調(diào)試。由于編、譯碼模塊程序龐大、結(jié)構(gòu)復(fù)雜,因此硬件邏輯開發(fā)過程關(guān)鍵在于編碼、譯碼模塊的調(diào)試,為使得調(diào)試過程高效、有序的進行,采用從前至后、逐個子模塊進行功能檢測的串行調(diào)試方法。
完成了TPC編譯碼模塊的硬件設(shè)計與調(diào)試后,將其應(yīng)用于某8Mb/s無線通信調(diào)制解調(diào)器,通過接口設(shè)計分別將2個模塊與調(diào)制解調(diào)器內(nèi)的調(diào)制、解調(diào)模塊進行有效連接,進而完成整個調(diào)制解調(diào)器的設(shè)計,其連接框圖如圖5所示。其中,調(diào)制端通過插入幀頭將編碼后的碼字進行成幀處理,解調(diào)端通過幀頭檢測對均衡解調(diào)后的信號流實現(xiàn)幀同步;由于衰落信道中解調(diào)信號存在相位旋轉(zhuǎn),采用去相位模糊模塊,根據(jù)幀頭檢測指示,對解調(diào)后的信號進行相位糾正后送入譯碼模塊。

圖5 TPC編譯碼模塊在調(diào)制解調(diào)器中的應(yīng)用
針對該調(diào)制解調(diào)器在變參模擬信道中進行測試,由于變參信道測試儀器的限制,無法實現(xiàn)調(diào)制解調(diào)器所需的4重空間分集,只能在2重空間分集下進行近似測試,測試條件如下:2重分集、瑞利衰落信道、多徑數(shù)目5個、多普勒頻移5Hz、多徑時延500ns。測試結(jié)果如圖6所示,針對未采用TPC編碼時的性能與采用TPC編碼后的性能進行比較可知,在誤碼率10-5時的編碼增益約3dB。因此,采用TPC糾錯編碼顯著提高了調(diào)制解調(diào)器的性能。

圖6 變參信道性能測試
基于Turbo乘積碼的編譯碼原理,對以(64,57,4)擴展BCH碼為子碼的TPC碼字進行了不同參數(shù)時的性能仿真,根據(jù)仿真結(jié)果確定了硬件實現(xiàn)的設(shè)計參數(shù)并進行了硬件設(shè)計,將其成功應(yīng)用到無線調(diào)制解調(diào)器中,使得系統(tǒng)性能得到顯著改善。這種性能善使得無線通信系統(tǒng)可以實現(xiàn)更低的系統(tǒng)門限,也可用于改善系統(tǒng)通信質(zhì)量。
[1]劉東華,梁光明.Turbo碼設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[2]TRANTER W H,SHANMUGAN K S,RAPPAPORT T S.通信系統(tǒng)仿真原理與無線應(yīng)用[M].肖明波,楊光松譯.北京:機械工業(yè)出版社,2004.
[3]PYNDIAH R M.Near-optimum Decoding of Product Codes:Block Turbo Codes[J].IEEE Transactions on Communications,1998,46(8):1003-1010.
[4]吳丹.刪余Turbo乘積碼的編譯碼算法分析[J].無線電工程,2011,41(12):26-28.
[5]SHIC,LI Z W,WU D J,et al.Turbo Product Codes on Frequency Selective Fading Channel[C]// Vehicular Technology Conference,2002:1233-1236.
[6]BERROU C,GLAVIEUX A,THITIMAJSHIMA P.Near Shannon Limit Error-Correcting Codeing and Decoding:Turbo Codes[J].IEEE International Conference,1993(2):1064-1070.
[7]楊亮,胡家佺,馬騰飛.Turbo碼隨機性交織器設(shè)計[J].無線電工程,2011,41(6):36-39.
[8]CHEN Y,PARHI K K.Avery Low Complexity Block Turbo Decoder Composed of Extended Hamming Codes[C]// IEEE GlobalTelecommunicationsConference,2011:171-175.
[9]孟慶萍,周新力,田偉.基于DDEA算法的短波信道Turbo均衡研究[J].無線電通信技術(shù),2011,37(6):28-32.
[10]姚安,陳自力.Turbo均衡中迭代停止準(zhǔn)則的研究[J].無線電通信技術(shù),2014,40(1):37-40.
[11]吳丹,唐秋菊,梁保衛(wèi).刪余Turbo乘積碼的編譯碼算法分析[J].無線電工程,2011,41(12):26-28.
[12]段志輝.一種用于高可靠性系統(tǒng)蒙特卡羅仿真的抽樣方法[J].兵工學(xué)報,1990(2):63-66.