《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > RS编码算法的优化与FPGA实现
RS编码算法的优化与FPGA实现
2020年电子技术应用第2期
李锦明,刘梦欣,成乃朋
中北大学 仪器与电子学院,山西 太原030051
摘要: 针对常用RS编码算法中伽罗华域(Galois Field,GF)的乘法运算在FPGA中实现时存在的数据运算量大、复杂度高等问题,对RS编码模块进行优化,通过增加乘法器因子求取模块,完成RS编码乘法器因子的求取,降低伽罗华域乘法运算在FPGA实现过程中的复杂度,减少运算量。测试结果表明,优化后的RS编码FPGA实现简单有效,且编码准确无误,编码结果与MATLAB计算所得理论结果一致,可适用于任意码长的RS编码,在移动通信、航天通信等复杂多因素通信领域有着广泛的应用价值。
中圖分類號: TN911.22;TN914
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190901
中文引用格式: 李錦明,劉夢欣,成乃朋. RS編碼算法的優化與FPGA實現[J].電子技術應用,2020,46(2):76-79,83.
英文引用格式: Li Jinming,Liu Mengxin,Cheng Naipeng. Optimization and FPGA implementation of RS coding algorithm[J]. Application of Electronic Technique,2020,46(2):76-79,83.
Optimization and FPGA implementation of RS coding algorithm
Li Jinming,Liu Mengxin,Cheng Naipeng
School of Instrument and Electronics,North University of China,Taiyuan 030051,China
Abstract: Aiming at the problems of large amount of computation and high complexity of multiplication of Galois Field(GF) in the common RS coding algorithm, the RS coding module is optimized and the multiplier factor is obtained. The module completes the calculation of the RS code multiplier factor, reduces the complexity of the Galois field multiplication operation in the FPGA implementation process, and reduces the amount of computation. The test results show that the optimized RS-coded FPGA is simple and effective, and the coding is accurate. The coding result is consistent with the theoretical results obtained by MATLAB. It can be applied to RS coding of arbitrary code length, and complex multi-factor communication in mobile communication and space communication.
Key words : RS coding;Galois field;algorithm optimization;FPGA

0 引言

    里得-所羅門碼(Reed-Solomon,RS)是由REED I S和SOLOMON G在1960年提出的一種特殊的非二進制BCH碼[1],是所有(n,k)線性分組碼中糾錯能力最強的碼型,可同時糾正隨機錯誤和突發錯誤。隨著大規模集成電路技術的發展,RS碼憑借其優異的性能廣泛應用于深空通信、移動通信、軍用通信、光纖通信、磁盤陣列及光存儲等領域,另外RS編碼也可應用于保密通信中[2-8]

1 RS編碼原理

    對于碼長為n=2m-1(n>2)的RS(n,k)碼,其碼元符號均取GF(2m),其信息段具有k個符號,監督段具有n-k個符號,可糾正t個突發錯誤,其生成多項式為:

jsj2-gs1-2.gif

    RS(n,k)編碼的碼多項式為:

    jsj2-gs3.gif

其中,r(x)為RS(n,k)編碼的校驗多項式。

    在實際應用中采用的RS碼均為系統碼,c(x)可被g(x)整除,mod為求余運算,則:

jsj2-gs4-6.gif

2 RS編碼電路

    根據RS編碼原理可知,RS碼的編碼電路主要根據生成多項式g(x)進行設計,實際應用中的常用RS編碼電路[10-14]如圖1所示。

jsj2-t1.gif

    圖1中, g2t-1,g2t-2,…,g1,g0為生成多項式g(x)的系數:

    jsj2-gs7.gif

    電路工作前將所有寄存器清零,開關SW1接至mr處,開關SW2接至m處,信息碼mk-1,…,m1,m0依次進入編碼電路,并同時由輸出端進行輸出。當m(x)送入電路后,開關SW1接至0處,開關SW2接至r處,依次輸出寄存器R2t-1,…,R1,R0的值,即校驗子rn-k-1,…,r1,r0的值,從而完成RS(n,k)編碼。

3 基于FPGA的RS編碼優化

jsj2-gs8-10.gif

jsj2-gs11.gif

其中,矩陣C為乘法器因子矩陣。觀察RS編碼電路可知,每個乘法器的系數gk為固定值,即RS編碼電路每個乘法器的乘法器因子為固定值。因此,可以在編碼前根據生成多項式g(x)的系數g2t-1,g2t-2,…,g1,g0的值生成乘法器因子矩陣C2t-1,C2t-2,…,C1,C0用于后續的RS編碼。例如,RS(255,239)的生成多項式系數g15=118,對應的乘法器因子矩陣C15為:

    jsj2-gs12.gif

jsj2-gs13-14.gif

    由此證明通過乘法器因子矩陣可以把RS編碼中信息碼與生成多項式系數gk伽羅華域上的乘法轉換轉為信息碼數據位之間的加法運算。根據伽羅華域的加法運算法則,信息碼數據位之間的伽羅華域加法運算在FPGA實現時可由異或操作(^)完成,從而使得FPGA實現伽羅華域的乘法運算簡化,數據運算量減少。

jsj2-4-s1.gif

4 RS編碼優化后的FPGA實現

4.1 乘法器因子求取模塊的FPGA實現

jsj2-4.1-x1.gif

jsj2-t2.gif

    在FPGA中實現GF(28)域中RS(255,239)乘法器因子求取的結果如圖3所示。

jsj2-t3.gif

4.2 RS編碼的FPGA實現

    為了驗證乘法器因子模塊的有效性,采用所得的乘法器因子進行RS編碼,將編碼結果與MATLAB計算的理論結果進行對比驗證[15]

    RS編碼的RTL原理圖如圖4所示,包括信息碼數據緩存模塊m_fifo、控制模塊control、校驗碼生成模塊R_top、編碼數據輸出模塊c_fifo。其中,校驗碼生成模塊R_top中包含乘法器因子求取模塊,由其完成乘法器因子的求取。

jsj2-t4.gif

    采用乘法器因子模塊所得的乘法器因子實現的RS(255,239)編碼的測試結果如圖5所示。當輸入信息碼data_in為(1,2,3,…,238,239)時,校驗碼生成模塊R_top生成的16個校驗子為(37,133,225,126,37,59,132,133,56,168,179,4,9,99,79,148)。圖6為MATLAB對(1,2,…,239)進行RS(255,239)編碼輸出的計算結果,將圖6的輸出結果與圖5的輸出碼字c進行對比,可以驗證采用乘法器因子求取模塊實現的RS編碼無誤。

jsj2-t5.gif

jsj2-t6.gif

4.3 乘法器因子求取模塊的適應性驗證

    為了驗證乘法器因子求取模塊的適應性,采用乘法器因子求取模塊完成RS(255,223)的乘法器因子求取,輸入data_in為(0,1,2,…,222),RS(255,223)編碼測試結果如圖7所示,編碼輸出的32個校驗子為(102,212,116,164,159,61,229,39,17,244,245,67,253,18,156,217,115,73,31,174,27,140,69,159,104,219,254,187,173,169,10,116)。將編碼輸出與圖8所示RS(255,223)編碼計算結果進行比對,可驗證編碼無誤,證明采用乘法器因子求取模塊優化的基于FPGA的RS編碼可適應不同的生成多項式,完成有效RS編碼。

jsj2-t7.gif

jsj2-t8.gif

5 結論

    RS編碼是一類很好線性糾錯碼,在工程實踐中有著廣泛應用。本文通過設計乘法器因子求取模塊,將RS編碼中信息碼與乘法器系數在伽羅華域上乘法轉換轉為信息碼數據位之間的加法運算,降低FPGA實現時的運算復雜度、減少運算量,且可根據不同的乘法器系數生成相應的乘法器因子,完成不同碼長和校驗子的RS編碼,可廣泛應用于短碼及中長碼通信領域,具有很好的實際應用價值。

參考文獻

[1] REED I S,SOLOMON G.Polynomial codes over certain finite fields[J].Journal of the Society for Industrial and Applied Mathematics,1960,6(8):300-304.

[2] 張春生,蘇開友.FPGA數字信號處理與工程應用實踐[M].北京:中國鐵道出版社,2013.

[3] 于劍.基于FPGA的衛星通信信道編碼設計與工程實現[D].石家莊:河北科技大學,2015.

[4] 胡曉莉,王麗雪,錢永杰,等.基于H-PPM的可見光通信系統RS編碼性能分析[J].應用光學,2017,38(5):751-757.

[5] 張翔.無線光通信中的編碼與調制技術研究及應用[D].北京:北京郵電大學,2015.

[6] 楊家旺,曹陽,彭小峰,等.RS編碼與交織級聯在室內VLC中的應用研究[J].光通信技術,2016,40(2):37-39.

[7] 董光亮,崔健雄,李海濤,等.物理層網絡編碼在深空通信中的應用展望[J].電子技術應用,2016,42(5):21-23,31.

[8] 單慧琳,張銀勝.基于改進DEA算法的聲波加密傳輸系統[J].電子技術應用,2019,45(4):104-108.

[9] 周炯槃,龐沁華.通信原理[M].北京:北京郵電大學出版社,2008:382-383.

[10] 袁志東.基于Verilog語言的RS(255,247)編譯碼器設計[D].合肥:安徽大學,2015.

[11] 胡智寬.基于RS編譯碼的數字通信電路FPGA設計研究[D].北京:北京理工大學,2015.

[12] 楊曉玲,郭烜.基于FPGA的RS編碼的設計與實現[J].河南機電高等專科學校學報,2016,24(4):11-14.

[13] 孫健,張輝,王宇飛,等.一種基于RS(24,20)的編譯碼器設計[J].微電子學與計算機,2016,33(12):75-79.

[14] 俞旋.RS編碼算法及FPGA實現[J].科技咨詢導報,2007(28):27-28.

[15] 翟勇,唐凡.利用Matlab仿真RS編碼[J].有線電視技術,2010,17(11):41-44.




作者信息:

李錦明,劉夢欣,成乃朋

(中北大學 儀器與電子學院,山西 太原030051)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧洲精品在线播放| 国产av不卡一区二区| 久久精品免费一区二区| www黄色av| 日韩在线观看成人| 国产一区二区视频免费在线观看 | 国产日韩在线观看av| 亚洲国产一区二区在线| 国产精品美女午夜av| 久久久久久综合网天天| 一区二区在线观看网站| 欧美激情中文字幕在线| 日韩欧美一区二区在线观看| 真实国产乱子伦对白视频| 国产精品自拍视频| 国产一区深夜福利| 国产中文字幕视频在线观看| 久久久成人精品| 久久夜色撩人精品| 欧美日韩电影在线观看| 日产国产精品精品a∨| 国产a∨精品一区二区三区不卡| 精品久久久91| 精品人妻人人做人人爽| 欧美亚洲视频在线看网址| 日韩久久久久久久久久久久| 性高潮久久久久久久久 | 亚洲a级在线观看| 97久久久免费福利网址| 懂色av一区二区三区四区五区| 国产精品久久久久久av| 国产日韩中文在线| 国产欧美中文字幕| 国产精品美女久久久免费| 久久韩国免费视频| 国模吧无码一区二区三区| 激情五月婷婷六月| 国产精品一区二区在线观看| 国产精品日韩在线| 不卡av在线网站| 在线视频一区观看|