《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 神秘电影欧美草草影院麻豆第一页| 国产成年无码v片在线| 国产精品视频yy9099| 国产精品乱码一区二区三区| 国产欧美精品一区二区色综合| 国产又大又粗又硬又长免费 | 女人18毛片免费观看| 国内精品久久人妻互换| 国产欧美一区二区三区在线看| 国产人妖ts视频在线观看| 全日本爽视频在线| 亚洲大香人伊一本线| 久久只有这才是精品99| xxxxhd93| 日韩在线播放全免费| 美女隐私尿口视频网站| 波多野结衣无限| 日韩免费无砖专区2020狼| 婷婷99视频精品全部在线观看| 国产精品蜜臂在线观看| 国产丰满麻豆videossexhd| 人人妻人人澡人人爽人人精品浪潮 | 在线观看黄日本高清视频| 国产极品视觉盛宴| 免费人成激情视频在线观看冫| 亚洲AV无码成人网站在线观看 | 久草资源在线观看| 一区五十路在线中出| 六月丁香色婷婷| 精品免费AV一区二区三区| 极品粉嫩嫩模大尺度无码视频| 性孕妇video国产中国| 国产日韩精品中文字无码| 免费国产一级特黄久久| 久久综合香蕉国产蜜臀AV| fc2ppv在线播放| 青草资源视频在线高清观看| 波多野结衣久久高清免费| 日日夜夜嗷嗷叫| 国产精品国产三级国产AV′| 动漫人物桶动漫人物免费观看 |