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