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

圖1 TPC迭代譯碼結構示意圖
下面簡述TPC碼的迭代譯碼過程:
①對接收序列矩陣R及其硬判決矩陣D的行(或列)應用Chase譯碼算法,其中β(m)為迭代過程的調節系數,控制軟輸出信息的輸出峰值范圍,一般選取經驗值β(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的可靠性;
③計算碼字矩陣中每一向量的外信息,并用該外信息修改接收序列信息,送入下一次迭代譯碼過程。假設[W(m)]是第m次迭代計算的外信息,[R]是接收序列矩陣,則第(m+1)次迭代輸入信息為:

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

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

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

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

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

圖6 變參信道性能測試
基于Turbo乘積碼的編譯碼原理,對以(64,57,4)擴展BCH碼為子碼的TPC碼字進行了不同參數時的性能仿真,根據仿真結果確定了硬件實現的設計參數并進行了硬件設計,將其成功應用到無線調制解調器中,使得系統性能得到顯著改善。這種性能善使得無線通信系統可以實現更低的系統門限,也可用于改善系統通信質量。
[1]劉東華,梁光明.Turbo碼設計與應用[M].北京:電子工業出版社,2011.
[2]TRANTER W H,SHANMUGAN K S,RAPPAPORT T S.通信系統仿真原理與無線應用[M].肖明波,楊光松譯.北京:機械工業出版社,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碼隨機性交織器設計[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].無線電通信技術,2011,37(6):28-32.
[10]姚安,陳自力.Turbo均衡中迭代停止準則的研究[J].無線電通信技術,2014,40(1):37-40.
[11]吳丹,唐秋菊,梁保衛.刪余Turbo乘積碼的編譯碼算法分析[J].無線電工程,2011,41(12):26-28.
[12]段志輝.一種用于高可靠性系統蒙特卡羅仿真的抽樣方法[J].兵工學報,1990(2):63-66.