楊曉玲,郭 烜
(1.新鄉(xiāng)市科學(xué)技術(shù)協(xié)會,河南 新鄉(xiāng) 453000;2. 中兵通信科技股份有限公司,河南 新鄉(xiāng) 453000)
基于FPGA的RS編碼的設(shè)計與實(shí)現(xiàn)
楊曉玲1,郭烜2
(1.新鄉(xiāng)市科學(xué)技術(shù)協(xié)會,河南 新鄉(xiāng) 453000;2. 中兵通信科技股份有限公司,河南 新鄉(xiāng) 453000)
RS碼是線性分組碼中一種典型的糾錯碼,它既能糾正隨機(jī)錯誤,也能糾正突發(fā)錯誤,在現(xiàn)代通信領(lǐng)域中越來越受到重視。論文在分析RS編碼原理的基礎(chǔ)上,主要研究了基于FPGA的RS編碼器的組成和結(jié)構(gòu),并使用VHDL語言和RAM模塊設(shè)計了數(shù)據(jù)轉(zhuǎn)換模塊,最后在Quartus II 8.1軟件環(huán)境下進(jìn)行功能仿真,仿真結(jié)果與MTALAB編碼結(jié)果對比一致,驗(yàn)證該設(shè)計的正確性,該設(shè)計方法在大容量通信系統(tǒng)中得到實(shí)際驗(yàn)證。
FPGA;RS編碼;VHDL語言;MTALAB
RS碼全稱Reed-Solomon碼,是以它的發(fā)現(xiàn)者的姓氏首字母命名的,于1960年構(gòu)造出來的[1]。RS碼是一類特殊的BCH碼,它是m=1,m0=1的q元本原BCH碼,是BCH碼的一個最重要的子類。RS碼是迄今為止所發(fā)現(xiàn)的一類很好的線性糾錯碼類,在短碼和中等碼上下,其性能很接近于理論值,并且構(gòu)造方便,編碼簡單,編譯碼設(shè)備也相對簡單[2]。RS碼的最小距離dmin比校驗(yàn)位個數(shù)多一個,既它的最小距離已經(jīng)達(dá)到了所能達(dá)到的最大值,其設(shè)計距離與實(shí)際距離是一致的。正是由于該碼優(yōu)異性能及各種成熟、可用、有效的編碼法算法,因此在實(shí)踐中被廣泛應(yīng)用。
RS碼是q進(jìn)制BCH碼的特殊子集,其碼字的符號取值域與g(x)的根所在域相同,均在GF(q)上。
設(shè)長度為1q?,距離為d的RS碼,生成多項(xiàng)式為:
若取1i=,則:
由此生成(q?1,q?d)RS碼,有最小距離為dmin。其中a為GF(q)上的本原元素。這個RS碼的參數(shù)具有如下關(guān)系:
下面考慮編碼方法,令信息元多項(xiàng)式為:
剩余多項(xiàng)式(x)r至少比(x)g低一次:
則編成的碼多項(xiàng)式為:
編碼器的結(jié)構(gòu)如圖1所示。
圖1 RS編碼器的結(jié)構(gòu)[4]
data_in = 102 * ones(1,102);
msg = gf(data_in,m);
code = rsenc(msg,n,k);
MATLAB仿真結(jié)果如圖8所示。
圖8 MATLAB仿真結(jié)果圖
對比兩個仿真結(jié)果的最后10位檢驗(yàn)碼,結(jié)果一致,從而驗(yàn)證了該設(shè)計的正確性。
在現(xiàn)代通信系統(tǒng)中,信道編碼技術(shù)已經(jīng)得到了廣泛地應(yīng)用[6]。本文基于RS編碼進(jìn)行了研究,并在Altera公司的FPGA芯片上實(shí)現(xiàn)了一種編碼算法,最后以仿真結(jié)果來驗(yàn)證了這種算法的有效性,并通過MATALB結(jié)果驗(yàn)證了這種算法的正確性,該設(shè)計在實(shí)際應(yīng)用中具有一定的參考價值。
(責(zé)任編輯 王磊)
[1] 王新梅,肖國鎮(zhèn).糾錯碼——原理和方法[M].西安:西安電子科技大學(xué)出版社,2001.
[2] 唐朝京,雷菁.信息論與編碼基礎(chǔ)[M].北京:電子工業(yè)出版社,2010.
[3] 張輝,曹麗娜.現(xiàn)代通信原理與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2013.
[4] 晏堅(jiān),何元智,潘亞漢等譯.差錯控制編碼[M].北京:機(jī)械工業(yè)出版社,2007.
[5] Altera. Inc.. Cyclone FPGA Family Data Sheet[EB/OL]. http://www.altera.com/literature/hb/cyc/cyc_c5v1_01.p df.2016-05-03.
[6] 孫麗華.信息論與糾錯編碼[M].北京:電子工業(yè)出版社,2005.
The Implementation and Design of Reed-Solomon Encoder Based on FPGA
YANG Xiao-ling,et al
(Xinxiang Association for Science and Technology, Xinxiang 453003, China)
RS code is an important linear block code widely used in modern digital communications. It can correct both random and bursting errors. In this paper, we analyze the theory of Reed-Solomon, and research the RS encoder composition and structure based on the FPGA, and design data conversion module with the language of VHDL and RAM module, and realize the function simulation in the Quartus II 8.1 software environment, simulation results agree with MTALAB theoretical analysis to verify the correctness of this design. The method is given in large capacity communication system.
FPGA; Reed-Solomon; VHDL language; MTALAB
TN762
A
1008–2093(2016)04–0011–04
2016-04-28
楊曉玲(1987―),女,河南新鄉(xiāng)人,助理工程師,碩士,主要從事電氣工程研究。