專利名稱:基于fpga的rs編碼裝置及編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于FPGA的RS編碼裝置及編碼方法,屬數(shù)字編碼技術(shù)領(lǐng)域。
二、 背縈技術(shù)
Reed-solomn (里德-索羅蒙)碼是一類很強的糾錯能碼,屬于BCH碼的一種,也是一種典型 的代數(shù)幾何碼。它由里德(Reed)和索羅蒙(Solomn)于1960年應(yīng)用MS多項式構(gòu)造出來,是 一類很好的線性糾錯碼。RS編碼具有很強的應(yīng)用空間,廣泛應(yīng)用于通信系統(tǒng)、數(shù)字電視和計算 機存儲系統(tǒng)中。
傳統(tǒng)的RS編碼算法復雜,占用的硬件資源多,成本高。在RS編碼中,用到的核心器件是 常系數(shù)伽勒華域乘法器,常見的實現(xiàn)方法有Berlekamp和Massey-Omura比特串行乘法器、 Mastrovko比特并行乘法器,特別是Berlekamp比特串行乘法器應(yīng)用于RS碼時硬件結(jié)構(gòu)更簡單, 但當數(shù)據(jù)吞吐率較高時,由于Berlekamp比特串行乘法器涉及到兩個基,比特串行的運算較難以 達到設(shè)計的要求。
三
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的缺陷和不足,本發(fā)明提供一種基于FPGA的RS編碼裝置及編碼方法。 一種基于FPGA的RS編碼裝置,包括一臺pc機, 一臺開發(fā)板,其特征在于pc機的并口通過 一條JATG連接線與開發(fā)板相連接,開發(fā)板上裝置有FPGA芯片。
所述的FPGA芯片配置后包括伽羅華域加法器單元、伽羅華域乘法器單元、寄存器和選擇器。
FPGA即現(xiàn)場可編程門陣列。
一種利用上述FPGA的RS編碼裝置進行編碼的方法,步驟如下
(1) 當檢測到包同步信號后所有寄存器"Q^…"i5清零;
(2) 對于每一幀的前188個字節(jié),K2打在b上,與此同時K1閉合,在數(shù)據(jù)時鐘的上升沿順 序移出188個輸入數(shù)據(jù),同時輸入的每一個數(shù)據(jù)與"15寄存器異或后作為16個乘法器的乘數(shù),為
提高數(shù)據(jù)的吞吐率,我們采用流水線技術(shù)在數(shù)據(jù)的上升沿進行乘法運算,下降沿進行異或運算;
(3) 188個字節(jié)通過后,K2打在a上,同時K1斷開,并反饋回路置零,在接下來的16個時
鐘內(nèi)通過"i5順序移出16個校驗字節(jié),從而完成對一個包的編碼,當檢測到下一個包的包同步 信號時,再進行同樣的操作。
本發(fā)明編碼方法的原理為-.
1. RS編碼的構(gòu)成
RS碼是碼元符號域與碼多項式的根域相一致的BCH碼,對(n, k, t)RS碼中的n的含義不是二進 制比特而為符號數(shù)。
2. 碼生成多項式
按照國家標準的規(guī)定,在能量擴散隨機化處理之后,采用T-8、截短的RS編碼,并將其加到 每一個已經(jīng)隨機化的MPEG-2傳送包上。即對每個傳送包而言,可糾正8個錯誤字節(jié)。此過程在MPEG-2傳送包中增加了16個校驗字節(jié),碼字為(204, 188) 。 RS編碼同樣也作用于包同步字節(jié), 不論是未倒相的(即47hex)還是已經(jīng)倒相的(B8hex)。 碼生成多項式為
= (x+義0 )(x+;i1 )(x+義2). (x+義15) 這里x =02H 。
域生成多項式為PO)-^+^4+ +^2+l,此處截短的RS碼的實現(xiàn)方法是在(255, 239)編碼裝置輸入端輸入信息字節(jié)之前,添加51個字節(jié),并設(shè)置為全零。編碼后,再將這些空 字節(jié)丟棄。
3.基于弱對偶基的有限域比特并行乘法器 由標準的規(guī)定,有線數(shù)字電視廣播信道編碼的碼生成多項式為
g(x) = o+;i0Xx+/i1)(x+/i2)"'(x+;i15)
g(x) = x16+"21x15+/i10V4+/i11(V3 + 十;Tx11 +"6V0+"3x9
+義'V +;i1(V + W +A158;c5 +;i181x4 +"95x3 + A208 +;i241x + /l136
將入^2H帶入,應(yīng)用伽羅華域乘法規(guī)則,計算可得
g(;c) = ;c16 + 59jc15 +13jc14十104jc13 +189 2 +68x" +209jc1q +30jc9 +8jc8 +163x7 +65x6 +4bc5 +229/ +98x3 +50x2 +36jc + 59 將上式的系數(shù)按照前述理論轉(zhuǎn)化為弱對偶基系數(shù),該弱對偶基系數(shù)可以用15位位寬4位的16進制 數(shù)描述,用VHDL語言描述如下
al. CONST =15'h0ce7,
a2. CONST =15' h7f21'
a3. CONST =15' h7062,
a4. CONST =15, h2b32,
a5. CONST =15' h5fbc,
a6. CONST =15, h72a5,
a7. CONST =15' h0315,
a8.CONST =15' hObaf,
a9.CONST =15' h3880,
alO.CONST =15' h37c3,
all.CONST =15'h3cdd,
al2.CONST =15' h3611,a13. CONST = 15'h3c6c,
al4. CONST = 15'h71b0,
al5. CONST = 15'h0d84,
al6. CONST = 15'hOce7,
可以看到al6.C0NST和al.C0NST是一致的,只需要復用一個乘法器就可以,因此該設(shè)計需要 用到15個伽羅華域乘法器。 仿真及測試驗證 仿真結(jié)果
在Xilinx公司ISE9.2的軟件平臺上,采用硬件描述語言VHDL完成設(shè)計,用ModelSim SE6. 2i 進行仿真。輸入模擬DVB-C標準的輸入要求,每幀204個字節(jié),前188個字節(jié)為從1到188,后16 個字節(jié)任意。輸出的16個校驗字節(jié)與軟件仿真結(jié)果對比,結(jié)果完全正確。 硬件測試驗證
本發(fā)明采用Xilinx公司XC3S500E芯片,通過一種新的常系數(shù)伽勒華域乘法器算法,完成RS (204, 188)編碼的設(shè)計,降低了系統(tǒng)的開銷。編碼裝置工作時鐘達到200Mhz。片上驗證采用 ChipSc叩ePro9.2邏輯分析儀。其基本原理是利用FPGA中未使用的BlockRam,根據(jù)用戶設(shè)定的 觸發(fā)條件將信號實時地保存到這些BlockRam中,然后通過JATG傳到計算機,最后在計算機屏幕 上顯示出實時波形。觸發(fā)方式選擇clk—gex(系統(tǒng)主頻200Mhz)時鐘的上升沿觸發(fā),采樣2048個點, 與仿真結(jié)果完全一致,從而進一步驗^E了系統(tǒng)設(shè)計的正確性。 本發(fā)明的優(yōu)點及有益效果如下
本發(fā)明采用比特并行乘法器的方法進行設(shè)計。該方案通過計算用于RS編碼設(shè)計的最優(yōu)對偶
基,并且采用該最優(yōu)對偶基構(gòu)成比特并行有限域元素乘法器,由這樣的乘法器構(gòu)成的RS編碼裝
置復雜度低,且能夠達到較高的系統(tǒng)數(shù)據(jù)吞吐率。
本發(fā)明RS編碼裝置及編碼方法可簡化硬件電路,從而降低系統(tǒng)的開銷,節(jié)約成本,以實現(xiàn) 高速、低復雜度的RS編碼裝置及編碼方法。
四
圖l是本發(fā)明編碼裝置的示意圖。
其中1、 pc機,2、 JATG連接線,3、開發(fā)板,4、 Fpga芯片。
圖2是本發(fā)明編碼裝置的芯片示意圖,其中g(shù)0-gl5為伽羅華域加法器單元,D1-D16為寄存器, Kl、 K2為選擇器。
五具體實施例方式
以下實施例是對本發(fā)明的進一步說明,但不限于此。 實施例1:
一種基于FPGA的RS編碼裝置,包括一臺pc機l, 一臺開發(fā)板3,其特征在于pc機l的并口通 過一條JATG連接線2與開發(fā)板3相連接,開發(fā)板3上裝置有FPGA芯片4。
所述的配置后FPGA芯片4包括伽羅華域加法器單元、伽羅華域乘法器單元、寄存器和選擇器。
實施例2:
一種利用上述FPGA的RS編碼裝置進行編碼的方法,步驟如下
5(1 )當檢測到包同步信號后所有寄存器A"…""清零;
(2) 對于每一幀的前188個字節(jié),K2打在b上,與此同時K1閉合,在數(shù)據(jù)時鐘的上升沿順 序移出188個輸入數(shù)據(jù),同時輸入的每一個數(shù)據(jù)與As寄存器異或后作為i6個乘法器的乘數(shù),為
提高數(shù)據(jù)的吞吐率,我們采用流水線技術(shù)在數(shù)據(jù)的上升沿進行乘法運算,下降沿進行異或運算;
(3) 188個字節(jié)通過后,K2打在a上,同時K1斷開,并反饋回路置零,在接下來的16個時
鐘內(nèi)通過""順序移出16個校驗字節(jié),從而完成對一個包的編碼,當檢測到下一個包的包同步 信號時,再進行同樣的操作。
權(quán)利要求
1、一種基于FPGA的RS編碼裝置,包括一臺pc機1,一臺開發(fā)板3,其特征在于pc機1的并口通過一條JATG連接線2與開發(fā)板3相連接,開發(fā)板3上裝置有FPGA芯片4。
2、 如權(quán)利要求1所述的一種基于FPGA的RS編碼裝置,其特征在于所述的FPGA芯片包括伽羅華域加法器單元、伽羅華域乘法器單元、寄存器和選擇器。
3、 一種利用權(quán)利要求1所述FPGA的RS編碼裝置進行編碼的方法,步驟如下(1) 當檢測到包同步信號后所有寄存器DnA…D'5清零;(2) 對于每一幀的前188個字節(jié),K2打在b上,與此同時K1閉合,在數(shù)據(jù)時鐘的上升沿順序移出188個輸入數(shù)據(jù),同時輸入的每一個數(shù)據(jù)與D'5寄存器異或后作為16個乘法器的乘數(shù),為 提高數(shù)據(jù)的吞吐率,我們采用流水線技術(shù)在數(shù)據(jù)的上升沿進行乘法運算,下降沿進行異或運算;(3) 188個字節(jié)通過后,K2打在a上,同時K1斷開,并反饋回路置零,在接下來的16個時鐘內(nèi)通過"'5順序移出16個校驗字節(jié),從而完成對一個包的編碼,當檢測到下一個包的包同步 信號時,再進行同樣的操作。
全文摘要
基于FPGA的RS編碼裝置及編碼方法,屬數(shù)字編碼技術(shù)領(lǐng)域。包括一臺pc機,一臺開發(fā)板,其特征在于pc機的并口通過一條JATG連接線與開發(fā)板相連接,開發(fā)板上裝置有FPGA芯片。FPGA芯片包括伽羅華域加法器單元、伽羅華域乘法器單元、寄存器和選擇器。本發(fā)明RS編碼裝置及編碼方法可簡化硬件電路,從而降低系統(tǒng)的開銷,節(jié)約成本,以實現(xiàn)高速、低復雜度的RS編碼裝置及編碼方法。
文檔編號H03M13/00GK101431339SQ20081015874
公開日2009年5月13日 申請日期2008年11月6日 優(yōu)先權(quán)日2008年11月6日
發(fā)明者帥 于, 劉志軍, 孔德超, 韓慶喜 申請人:山東大學