《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 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].河南機電高等??茖W校學報,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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产尻逼 | 国产丝袜在线视频 | 亚洲欧美日韩在线线精品 | 国产黄网永久免费 | 麻豆传煤一区免费入 | 精品国产一区在线观看 | 欧美日韩中文字幕在线视频 | 春菜花在线中文字幕hd | 成人三级黄色片 | 亚洲精品无码不卡在线播放he | 校园春色 自拍偷拍 | 亚洲人人干 | 女女同性一区二区三区四区 | 久久天天躁夜夜躁狠狠躁2019 | 亚洲另类激情专区小说婷婷久 | 97精品视频在线观看 | porefree日本中国 | 一本高清 | 1204手机在线观看免费高清 | 亚洲一区二区三 | 国产亚洲精品自在久久77 | 带肉很污的甜宠文bl | 成人免费视频一区 | 国产视频麻豆 | 在线成年人网站 | 国产特黄特色a级在线视频 国产特黄特色a级在线视 | 国产成人精品免费大全 | 在线观看 中文字幕 | 玖玖成人网| 120秒男女动态视频免费 | 成人精品国产 | 黄色一级毛片网站 | 精品午夜视频 | 日本综合久久 | 插插宗合网 | 欧美 日产 国产精选 | 亚洲欧洲精品成人久久曰 | 嗯啊使劲用力在线观看视频 | 深夜在线免费 | 制服中文字幕 | 免费成人视屏 |