摘 要:將RS編碼與卷積編碼通過交織器連接,級聯應用于OFDM系統之中。通過Matlab仿真顯示,級聯編碼對OFDM系統性能有顯著提高。在中低信噪比時,級聯編碼比單獨RS編碼或者卷積編碼最大有4 dB編碼增益;在中高信噪比時,級聯編碼性能趨近于卷積編碼性能。
關鍵詞:RS編碼; 卷積碼; 級聯編碼; OFDM 分析
中圖分類號:TN911.25-34 文獻標識碼:A
文章編號:1004-373X(2011)17-0116-03
Performance Analysis of Cascaded Code in OFDM System
XU Zhi-guang1,2, ZHU Lei-ji1, WANG Han1, SHI Yu-song1,2, XING Tao1,3, WANG Ying-guan1,2
(1. Shanghai Institute of Microsystem and Information Technology, Chinese Academy of Science, Shanghai 200050, China;
2. Jiaxing Wireless Sensor Networks Engineering Center, Chinese Academy of Science, Jiaxing 314006, China;
3. Wuxi IOT Industrialization Research Institute, Wuxi 214135, China)
Abstract: RS and convolution codes cascaded by interleaver are used in OFDM system. Matlab simulation shows that cascaded code can improve the performance of OFDM system dramatically. At the range of low to medium SNR, the cascaded code can get 4 dB code gain at most as compared with RS or convolution code. At the range of medium to high SNR, the cascaded code has almost the same performance as convolution code.
Keywords: RS code; convolution code; cascaded code; OFDM analysis
0 引 言
在頻譜資源日益寶貴的今天,OFDM調制,以其較高的頻譜利用率,廣泛應用于多種無線通信系統之中,比如802.11a。
通信系統的另外一個重要指標就是系統的可靠性。高可靠性的系統需要高性能的信道編解碼方案。到目前為止,信道編碼主要形成了包括分組編碼和卷積編碼在內兩大類編碼體系。其中,分組碼主要包括漢明碼、RS(Reed-Solomon)碼、BCH(Bose-Chaudhuri-Hocquenghem)碼。最近提出的LDPC碼也可以納入分組碼一類。卷積碼包括CC(Convolutional-Coding)編碼和以CC編碼作為分量碼的Turbo碼。
RS碼是一種多元BCH碼,屬于線性分組循環碼,具有同時糾正突發錯誤和隨機錯誤的能力,且結構相對簡單,是應用最廣的差錯控制編碼方式之一。卷積碼中的維特比譯碼在編碼增益和數據傳輸率方面都有較優異的性能[1-4]。
基于以上的分析,本文將RS與CC通過交織器的連接,級聯應用于OFDM系統之中[5-7]。通過計算機仿真,具體分析其性能指標。
1 設計原理
1.1 RS設計原理
1.1.1 編碼
RS編碼是一種定義在伽羅華域GF(2m)上的運算。(n=255,k=239)RS碼可由GF(28)導出。k表示待編碼的信息個數,n表示編碼后的數據個數,n-k=16就是添加的冗余個數。(255,239)RS碼能夠檢測16,糾正8個錯誤[1,8]。
因為RS碼是循環碼,所以它的監督碼元的生成由生成多項式決定。生成多項式的冪為監督碼元數,可取本原元α的連續n-k=16次冪作為生成多項式的根。因此可以得到(255,239)RS碼的生成多項式是:
由于RS碼為循環碼字,按照循環碼的系統編碼方法,可得到RS編碼。信息多項式為m(X),監督多項式為p(X),商多項式為q(X),那么Xn-km(X)=q(X)g(X)+p(X)可表示為p(X)=Xn-km(X)mod g(X),最終碼的子多項式U(X)表示為:U(X)=p(X)+Xn-km(X)。在利用算法實現時,求余數多項式p(X)的過程太過于復雜,所以選用比較容易的LFSR移位編碼作為編程實現,即(n-k)階移位寄存器的系統編碼。
圖1為(255,239)RS碼的16階位寄存器的系統編碼框圖。圖1所示寄存器的每個狀態具有8 b的碼元。系數g0,g1,g2,…,g14,g15是生成多項式的系數。
(255,239)RS碼的16階位寄存器的系統編碼形成系統碼字的步驟如下:
(1) 開關1在開始的k個時鐘周期內合上,使消息碼元進入移位寄存器的(n-k)級。
(2) 開關2在開始的k個時鐘周期內處于下面的位置,使得消息碼元同時直接傳輸到一個輸出寄存器中。待第k個消息碼元傳輸到輸出寄存器,開關1斷開,開關2移到上面位置。隨后的(n-k)個時鐘周期用于清除移位寄存器中的監督碼元,這可以通過將其移到輸出寄存器而完成[7]。
全部的時鐘周期數等于n,輸出寄存器存儲的內容就是碼字多項式p(X)+Xn-km(X)。p(X)和m(X)分別表示監督碼元和消息碼元多項式形式。
1.1.2 譯碼
RS譯碼采用與編碼相同的本原多項式,參數與編碼器也相同。具體實現框圖如圖2所示。
由圖2可見,RS解碼主要分為錯誤檢測和錯誤糾正兩個步驟。具體可分為:
(1) 伴隨多項式的計算;
(2) 確定錯誤位置多項式;
(3) 確定錯誤估值函數;
(4) 求解錯誤位置數和錯誤數值,并進行糾正。
1.2 CC設計原理
1.2.1 編碼
卷積編碼我們采用(2,1,7)卷積編碼器,其X,Y狀態轉移多項式為(171,133)。每個時鐘周期輸入1個bit信息,輸出2個bit信息。編碼器結構如圖3所示[5]。
1.3 交織器設計原理
OFDM系統中交織器的主要作用是抵抗信道的突發成片錯誤。交織器的設計目的就是把一組的成片錯誤分散到不同的分組之中。在這里選用實現較為簡單的行列交織器。系統設計的時候,發射端,RS編碼輸出的數據按列寫入交織器,CC編碼器按行讀取交織器內的數據;接收端,CC譯碼器按行向交織器寫入譯碼后數據,RS譯碼器按列讀取待譯碼數據。
2 仿真與分析
OFDM系統仿真參數如下:使用1 024個子載波,其中,768個傳輸數據,256個空載波,數據子載波中有12個導頻子載波,有效數據占736個子載波,(255,239)的RS編碼,(2,1,7)卷積編碼,QPSK調制,外交織為45×32,內交織均為23×32,限幅濾波器、上下采樣濾波器的系數通過Matlab產生,信道采用cost207中的TU六徑模型,理想同步,LS信道估計。每種信噪比條件下,誤碼率取1 000次仿真平均值。
通過計算機Matlab仿真,可以得到OFDM系統分別采用級聯編碼、RS編碼、CC編碼和無編碼編碼情況下的性能曲線,如圖5所示。
通過曲線圖可以看到,在同樣的系統參數條件下,不同的編碼增益具有較大的差異。其中,級聯編碼具有最好的性能。在中高誤碼率條件下,級聯編碼比RS和CC單獨編碼大約有2 dB編碼增益,最大值可達4 dB左右。在中低誤碼率條件下,卷積碼與級聯碼的性能相接近,這主要是因為在中低誤碼率條件下,RS碼的性能減弱,中和了級聯碼的性能,使得主要的編碼增益來自于卷積碼。
3 結 論
通過Matlab環境,搭建出使用RS編碼和卷積編碼通過交織器級聯作為信道編碼方案的OFDM系統。仿真表明,級聯編碼的引入,使得OFDM系統性能具有顯著的提高。
參 考 文 獻
[1]LIN Shu, COSTELLO D J. Jr.差錯控制編碼[M].2版.北京:機械工業出版社,2007.
[2]佟學儉,羅濤.OFDM移動通信原理與應用[M].北京:人民郵電出版社,2003.
[3]王新梅,肖國鎮.糾錯碼:原理與方法(修訂版)[M].西安:西安電子科技大學出版社,2001.
[4]王軍選.信道編碼的發展[J].現代電子技術,2003,26(21):16-18,21.
[5]龍昭華,王國鋒,雷維嘉.RS-CC的級聯編碼設計及其嵌入式FPGA實現[J].計算機工程與設計,2009(30):5369-5371,5375.
[6]王政,范光榮,王華,等.基于FPGA的級聯編碼系統的設計與實現[J].無線電通信技術,2007,33(5):56-58.
[7]劉小榮.級聯編碼及FPGA的實現[J].無線電技術,2003(1):83-89.
[8]張振全,羅新民,齊春,等.RS-Turbo級聯碼的性能仿真及其在圖像傳輸中的應用[J].現代電子技術,2005,28(24):94-95,98.
[9]鄭宇馳,周曉方,閔昊.OFDM系統中Viterbi譯碼器的設計及FPGA驗證[J].復旦學報:自然科學版,2005,44(6):923-928,934.
[10]蔡志龍,馮文江,楊洋.一種基于FPGA的Viterbi譯碼器優化算法[J].現代電子技術,2008,31(17):105-107.