李春暉
(大連海洋大學信息工程學院,遼寧大連116023)
基于System View的BCH編碼器的誤碼率研究
李春暉
(大連海洋大學信息工程學院,遼寧大連116023)
BCH碼是一類循環碼。它是由博斯、查德胡里和霍昆格姆三個人獨立發現的。BCH碼是糾錯碼中的一種編碼方法,用于改正多個隨機出現的、突發的錯誤的不等長的數字編碼。文中利用System View對BCH編碼器的誤碼率進行仿真,并分析仿真結果。
System View;BCH;循環碼
1950年漢明發表了糾正單個隨機錯誤的碼,1959年由霍昆格姆(Hocquenghem),1960年由博斯(Bose)和雷-查德胡里(Ray-Chaudhuri)分別提出了糾正多個隨機錯誤的循環碼——BCH碼(Bose、Ray-Chaudhuri與Hocquenghem的首字母縮寫)的構造方法。BCH碼是一種多級循環、錯誤校正的交長數字編碼,就目前所使用的最好的一類線性糾錯碼,主要用于多個隨機錯誤模式的校正。BCH碼的實用性很強,編碼簡便,結構方便,尤其是對于中短碼,它的糾錯率接近理論值。最主要的是BCH碼的代數結構非常嚴格,對于編碼理論研究有著非常重要的作用。
System View由美國的ELANIX公司首次發行,它的運行環境是Windows,就一種主要用于系統仿真分析的可視化的軟件工具,對于程序的描述主要是通過功能模塊。借助System View軟件,我們可以構造多種多速率系統,還可以構造更加復雜的數字、模擬,甚至是數模混合系統。所以,一般情況下,我們用System View來處理各種非線性或是線性控制系統的仿真和設計。在進行系統的構造設計時,用戶只要將有關圖標從System View早已配置好的圖標庫中調出,設置好參數,把圖標進行連線,就可以開展仿真操作,并以眼圖、時域波形或是功率譜等形式把仿真分析結果系統分析出來。
作為一個動態系統分析平臺,System View主要作用于現代工程與科學系統設計和仿真。System View提供了一整套精密的嵌入式的分析工具,既可以建立一般的系統數學模型,又可以實現濾波器設計、信號處理、完整通信系統的設計與仿真等復雜工序。
BCH碼是循環碼的一個重要子類。BCH碼可以分為兩類,即本原BCH碼和非本原BCH碼。
2.1BCH碼的構建
2.1.1本原BCH碼
設BCH碼的碼長為n,信息位個數為k,則監督位為n-k,糾錯個數為t。則它們的關系如下:對于正整數m和糾錯個數t,必然存在一個碼長為n=2^m-1,信息位為k>=n-mt,能糾正所有小于等于t個隨機錯誤的BCH碼。例如(7,4)漢明碼,碼長為n=7=2^3-1,即m=3,信息位k=4,t>=1,它是以g1(x)=x^3+x+1或g12(x)=x^3+x^2+1生成的BCH碼。
2.1.2非本原BCH碼
非本原BCH碼的生成多項式中不含本原多項式,且碼長n是(2^m-1)的一個因子,即i=(2^m-1)/n,其中:i>1,且除得盡2^m-1。例如,碼長為n=17,信息位為k=9,t=2時,通過查表可知g(x)=(727)8,因為727的8進制對應的2進制為111010111,則111010111為g(x)的各項系數。
2.2BCH碼的編碼
因為BCH碼屬于循環碼,所以它滿足循環碼的編碼方法。設(n,k)碼的生成多項式為g(x),設信息碼多項式為m(x),其編碼步驟如下:1)在監督位填n-k個“0”,即用xn-k乘以m(x);2)用g(x)除以第一步的計算結果,得到商Q(x)和余式r(x);3)用余式r(x)替換監督位的n-k個“0”。
2.3BCH碼的解碼
BCH的解碼過程可分為以下五步:
1)由余式r(x)計算伴隨矩陣;
2)求解錯位多項式;
3)用試根法求錯位多項式,得到錯誤位置;
4)求解錯誤圖樣e(x),糾正錯誤;
5)如果不是二進制BCH碼,就計算錯誤位置的誤差值。
3.1系統定時
System View系統是一個離散時間系統。換言之,每次在運行系統前,先要對系統頻率進行設定。系統在進行仿真時,要事先對信號的系統頻率采樣,再根據系統處理信號的結果對每個采樣點的值進行計算,最后輸出的時候,在觀察窗內根據要求依次畫出每一個點的位置或擬合曲線。
正常情況下,為了使傳真波形更理想,對于采樣頻率的設定一般是最高信號頻率的5到7倍,而當采樣頻率達到系統最高頻率10倍以上的時候,仿真波形幾乎完美。采樣頻率和運行時間共同決定了系統采樣點數,這三者之間的關系可以表示如下:
采樣點數=(終止時間-起始時間)×采樣頻率+1
系統每循環運行一次,都計算一次某一信噪比下的誤碼率[1]。
3.2系統搭建
設計一個BCH編碼器,碼長n=7,信息位k=4,糾錯能力t=1。輸入信號為1Hz,幅度為1 V的PN碼,為了保證每個比特對應一個采樣,在信號源的后面加入了一個采樣器,采樣頻率設為1Hz,信號源的時間偏移設為0,即數據從0時刻開始輸出。編碼方式選擇BCH。信道為加性高斯白噪聲信道。接收端采用匹配濾波器作最佳接收機,這里采用一個積分清洗算子作為匹配濾波器。
3.3仿真結果
信噪比為3 dB時,誤碼率BER為40e-3;信噪比為4 dB時,誤碼率約為18e-3;即隨著信噪比的增加,誤碼率減小。且當信噪比為7 dB時,誤碼率為0。誤碼計數器兩路輸入信號的卷積峰值剛好對準0點,準確同步。
BCH碼解決了生成多項式與糾錯能力的關系問題,可以在給定糾錯能力要求的條件下尋找到碼的生成多項式。在同樣的信道條件下BCH(7,4)對數據傳輸中的隨機差錯具有明顯的編碼增益。
[1]楊亮,齊林,劉艷霞.基于System View的比特誤碼率測試的仿真[J].現代電子技術,2005(2):109-114.
(編輯:王鋼)
BER Study BCH Encoder Based on System view
Li Chunhui
(Information Engineering,Dalian Ocean University,Dalian Liaoning 116023)
BCH code is a quasi-cyclic code.It is composed of Booz,Chad Hu and Huokungemu three independent discovery.BCH code is an error correcting code in a coding method used to correctmultiple random,sudden unequal number of coding errors.The authors use the System View for BCH encoder BER simulation and analysis of simulation results.
Systemview View;BCH;cyclic code
TN911
A
2095-0748(2016)17-0097-02
10.16525/j.cnki.14-1362/n.2016.17.40
2016-08-06
李春暉(1979—),女,遼寧彰武人,本科,講師,研究方向:移動通信。