《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 變參數RS編碼器IP核的設計與實現
變參數RS編碼器IP核的設計與實現
摘要: 設計了一種碼長可變、糾錯能力可調的RS 編碼器。該RS 編碼器可對常用的RS 短碼進行編碼, 可做成IP 核, 為用戶提供了很大的方便; 采用基于多項式乘法理論GF (2m ) 上的m 位快速有限域乘法的方法,
關鍵詞: SoPC RS編碼器 IP核
Abstract:
Key words :

  引言

  數字信號在傳輸過程中可能受到各種干擾及信道傳輸特性不理想的影響而使信號發生錯誤, 從而接收到錯誤的信息。為了實現數字系統在傳輸過程中的可靠性, 幾乎所有的現代通信系統都把糾錯編碼作為一個基本組成部分。Reed-So lomon (RS)碼是目前最有效、應用最廣的差錯控制編碼之一,是一類具有很強糾錯能力的多進制BCH 碼, 它既可以糾正突發錯誤, 也可以糾正隨機錯誤。RS 碼主要應用于實時性較高的移動通信系統、深空通信、數字衛星電視、磁記錄系統等方面。

  目前對RS 編碼器的設計主要局限于單一碼長和固定糾錯能力的RS 碼編碼器設計。本文提出的這種碼長可變、糾錯能力可調的RS 編碼器是把常用的RS (7, 3) 碼、RS (15, 11) 碼、RS (15, 9) 碼在一個編碼電路中實現, 把它做成IP 核, 這樣既可以大大地減少了芯片的面積而且給用戶提供了方便,又有很大的選擇空間。該編碼電路采用基于多項式乘法理論GF (2m ) 上的m 位快速有限域乘法的方法, 使電路的編碼速度有了很大的提高。本文設計的編碼器的最高工作頻率可達到100MHz, 完全滿足無線通信中,語音通信和數據通信的數據傳輸速率為幾百kbp s 的要求。

 

  編碼算法選取

  一般來說, RS 碼可以用(n, k , t) 三個參數來表示, 其中n 表示碼字長度, k 表示信息位長度, t 為糾錯能力, 滿足關系: t= (n- k )/2。RS 碼的所有元素都是定義在GF (2m ) 上, 其中有:m = log2n。對于不同的m 對應著一個本原多項式, 從本原多項式就可以得到有限域各元素。

  RS (7, 3) 碼的有限域見表1。

RS (7, 3) 碼的有限域

  RS 編碼的生成多項式定義為:

RS 編碼的生成多項式定義

  所以可以得到各碼的生成多項式:

  RS (7, 3) 碼:

  g (x ) = x 4 + a3x 3 + x 2 + ax + a3

  RS (15, 11) 碼:

  g (x ) = x 4 + a13x 3 + a6x 2 + a3x + a10

  RS (15, 9) 碼:

  g (x ) = x 6 + a10x 5 + a14x 4 + a4x 3 +a6x 2 + a9x + a6

  用m (x ) 表示信息碼字多項式, c (x ) 表示編碼后的碼字多項式, 則RS 碼的編碼過程可以用下面編碼多項式來表示:

  c (x ) = m (x ) x n- k + [m (x ) x n- k ]modg (x )

   上式中, [m (x ) x n- k ]modg (x ) 是求余運算, 得到是校驗位。

  RS 編碼器的硬件實現過程, 就是運用電路來完成上述編碼多項式中信息位多項式k (x ) 與x n- k的乘法運算及k (x ) x n- kmodg (x ) 的求余運算的過程。下面將詳細討論編碼電路的構成及工作原理。

  編碼電路的實現

  RS編碼電路的求余運算可以用n- k 級的移位寄存器來實現, 因此可以選取6 級的移位寄存器; 信息位的輸入個數用計數器來控制, 可以加一選擇端來控制計數器是對哪一種碼字進行編碼計數; 信息位與校驗位的輸出可以用選擇器來切換。因此我們可以得到編碼電路的原理框圖如圖1。

編碼電路的實現

  在圖1 的電路中, 所有的信息數據傳輸均采用4 位比特寬的傳輸。Reset 是系統復位信號。電路的工作原理描述如下:

  (1) 當sel 置為01 時, 編碼電路處于RS (7, 3)碼的編碼狀態。因為RS (7, 3) 碼的信息用3 位的二進制表示, 所以數據線的最高位為零, 只有低3 位起作用。

  A  編碼前首先給電路一個reset 復位信號,使計數器和移位寄存器中的觸發器處于零狀態, 復位采用異步復位。

  B  輸入信息(m 2,  …,m 0 ) , 計數器開始計數,每輸入一個信息位, 計數器計一次數, 然后輸出。此時, selecto r2 的輸出與計數器的輸出端相接, 因此信息位一方面從編碼電路的輸出端輸出, 另一方面送入移位寄存器電路進行求余運算。

  C 當3 位信息位輸入完后, 計數器輸出一個控制信號ct r, 它是控制信息位與校驗位的輸出, 此時selcto r2 的輸出與selecto r1 的輸出端相接,add5 的兩個輸入端均為selecto r1 的輸出端, 由于有限域加法不考慮各位之間的進位, 因此add5 的輸出為0, 從而各乘法器m u l 的輸出為0, 所以移位寄存器中的校驗位會一次輸出。所以校驗位(D 3,…,D 0) 一次輸出。校驗位輸出后寄存器和計數器回到零狀態。因而得到編碼后的碼字為(m 2, .,m 0,D 3, …,D 0)。

 

  D  因為RS (7, 3) 碼編碼電路的求余運算只需要4 級的移位寄存器來實現, 因此開關K 斷開,后面兩級移位寄存器不工作, 這樣就降低了電路的功耗。A dd5 的輸入端接D3 的輸出端。

  (2) 當sel 置為10 時, 編碼電路處于RS (15,11) 碼的編碼狀態, 在編碼前要給電路一個復位信號。過程與上面一樣, 編碼后得到碼字為(m 10, …,m 0, D 3, …,D 0)。同樣RS (15, 11) 碼編碼電路的求余運算只需要4 級的移位寄存器來實現, 因此K斷開, add5 的輸入端接D3 的輸出端。

  (3) 當sel 置為11 時編碼電路處于RS (15, 9)碼的編碼狀態, 編碼前, 給電路一個復位信號。編碼后便可得到碼字為(m 8, …, m 0, D 3, …, D 0 )。RS(15, 9) 碼編碼電路的求余運算要6 級的移位寄存器來實現。因此K 開通, add5 的輸入端接D5 的輸出端。

  在編碼電路中乘法器采用了基于多項式乘法理論GF (2m ) 上的m 位有限域乘法的方法, 大大地提高了電路的運算速度。

  快速有限域乘法器實現:

  快速有限域乘法的實現思路如下, 以RS (7, 3)碼為例:

  因此就可以實現快速有限域乘法器, 這樣對電路的運算速度將會有很大的提高。由于RS (15,11) 碼和RS (15, 9) 碼基于同一個有限域GF (24 ) ,因此它們的乘法器一樣。當sel 置為01 時, 乘法器工作在GF (23 ) 的乘法狀態, 當sel 置為10 或11時, 乘法器工作在GF (24) 的乘法狀態。只不過工作在GF (23 ) 狀態時乘法器輸入輸出端的第4 位為0。

編碼電路模塊

  電路仿真及測試

  編碼電路模塊可以表示為:

  sel 是編碼電路的選擇端, clk 是時鐘輸入端,reset 是系統復位端, in 是信息輸入端, ou t 是碼字輸出端。

  用V erilog HDL 語言編寫電路的代碼后, 再用Cadence 公司的NC V erilog HDL 仿真工具進行仿真, 得到各種編碼的仿真結果。

  A ) 給reset 一個復位信號, 使電路處于零狀態, sel 置為01 時, 輸入信息電路開始編碼。輸入信息位為(0, 1, 2) , 編碼后得到校驗位(2, 3, 1, 3) , 因此輸出端輸出碼字為(0, 1, 2, 2, 3, 1, 3)。然后再輸入信息位, 循環進行編碼。輸出波形如圖3 所示。

輸出波形

  B) 給reset 一個復位信號, sel 置為10 時, 輸入信息電路開始編碼。輸入信息為(0, 1, 2, 3, 4, 5, 6,7, 8, 9,A ) , 編碼后得到校驗位(C, E, 8, 3) , 所以輸出端輸出碼字為(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A , C, E,8, 3)。輸入端再次輸入信息, 循環進行編碼。輸出波形如圖4 所示。

輸出波形

  C) 給reset 一個復位信號, sel 置為11 時, 輸入信息電路開始編碼。輸入信息為(0, 1, 2, 3, 4, 5,6, 7, 8) , 編碼后得到校驗位(B, C, 0, 5, 7, 8) , 所以輸出端輸出碼字為(0, 1, 2, 3, 4, 5, 6, 7, 8,B, C, 0,5, 7, 8)。輸入端再次輸入信息, 循環進行編碼。

  仿真完成后, 采用Xilinx 的FPGA 板, 主芯片為SPARTAN II XC2SPQ 208 進行驗證, 輸入信息與仿真輸入的信息一致, 然后用邏輯分析儀觀測輸出結果。

  A ) 給reset 一個復位信號后, 使電路工作在RS (7, 3) 碼的編碼狀態。用邏輯分析儀觀測輸入與輸出的結果如下圖6 所示, 虛線圈起來的(0, 1, 2,2, 3, 1, 3) 表示一個完整的輸出碼字。

RS (7, 3) 碼的編碼

  B) 先使電路復位, 然后讓電路工作在RS (15,11) 碼的編碼狀態, 用邏輯分析儀觀測輸入與輸出結果如下圖7 所示, 虛線圈起來的(0, 1, 2, 3, 4, 5,6, 7, 8, 9,A , C, E, 8, 3) 表示一個完整的輸出碼字。

RS (15, 9) 碼的編碼

  C) 電路復位后, 使它工作在RS (15, 9) 碼的編碼狀態, 用邏輯分析儀觀測結果如下圖8 所示, 虛線圈起來的(0, 1, 2, 3, 4, 5, 6, 7, 8,B, C, 0, 5, 7, 8)表示一個完整的輸出碼字。

RS (15, 9) 碼的編碼

  從上面的仿真波形和測試結果可以看到他們的輸出結果一致, 驗證了設計的正確性。

  電路參數

 

 用Xilinx 公司的Pro ject Navigator 綜合工具對電路代碼進行綜合后, 得到電路的等效門單元數1339; 測得電路的靜態功耗為12.50 mW , 最高作頻率為100MHz。

  結論

  提出了一種碼長可變、糾錯能力可調的RS 碼編碼器, 它解決了以往RS 編碼器只能對單一碼長和固定糾錯能力編碼的局限, 同時采用快速有限域乘法的方法提高了電路的運算速度。設計后通過在FPGA 上測試, 驗證了設計的正確性。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲人成网站看在线播放 | 清风阁我爱干视频网 | 免费观看成年的网站 | 中文字幕第38页永久乱码 | 爱操视频在线观看 | 天天干天天日天天射天天操毛片 | 激情小说五月 | 天堂va欧美ⅴa亚洲va一国产 | 国产成人在线播放 | 最近免费中文字幕大全视频 | 成年香蕉大黄美女美女 | 欧美综合图区亚洲综合图区 | 日韩最新中文字幕 | 99成人在线 | 国产午夜精品福利 | 色综合 成人 | 亚洲国产成人在线视频 | 久青草国产97香蕉在线视频xx | zzji国产精品视频 | 精品欧美成人bd高清在线观看 | 亚洲欧美在线不卡 | 欧美日韩导航 | 91成人抖音| 日韩第六页 | 日韩精品中文字幕视频一区 | 国产精品午夜高清在线观看 | 亚洲视屏在线观看 | 欧美色操 | 国产一在线精品一区在线观看 | 久久久亚洲精品视频 | 天天爽天天 | 故意坐公交忘穿内裤被挺进小说 | 成年在线视频免费视频观看 | 粉嫩极品国产在线播放 | 永久福利盒子日韩日韩免费看 | 成 人 黄 色 视频免费播放 | 2017天天爽夜夜爽精品视频 | 午夜视频在线观看网站 | 成人免费在线视频 | 在线h片 | 亚洲欧美精品一区 |