那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在編碼電路中實現(xiàn)RS碼編碼器IP核的應(yīng)用設(shè)計

電子設(shè)計 ? 來源:固體電子學(xué)研究與進展學(xué) ? 作者:董懷玉,余寧梅, ? 2021-05-28 11:40 ? 次閱讀

作者:董懷玉,余寧梅,高勇,劉高輝,牛蘭奇,陳靜瑾

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

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

編碼算法選取

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

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

o4YBAGCwZqKAEUxGAAFz_IsISLQ695.png

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

pIYBAGCwZq-APJP_AAASjmf1mQQ493.png

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

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

編碼電路的實現(xiàn)

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

o4YBAGCwZtaAGyWZAADDAD2lDvs313.png

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

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

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

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

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

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

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

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

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

快速有限域乘法器實現(xiàn):

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

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

pIYBAGCwZt2AYxw9AAA6wZ3-lM0811.png

電路仿真及測試

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

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

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

A ) 給reset 一個復(fù)位信號, 使電路處于零狀態(tài), sel 置為01 時, 輸入信息電路開始編碼。輸入信息位為(0, 1, 2) , 編碼后得到校驗位(2, 3, 1, 3) , 因此輸出端輸出碼字為(0, 1, 2, 2, 3, 1, 3)。然后再輸入信息位, 循環(huán)進行編碼。

B) 給reset 一個復(fù)位信號, 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)。輸入端再次輸入信息, 循環(huán)進行編碼。輸出波形如圖4 所示。

o4YBAGCwZwKAIxk3AACnngIT8ZU089.png

C) 給reset 一個復(fù)位信號, 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)。輸入端再次輸入信息, 循環(huán)進行編碼。

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

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

o4YBAGCwZwqAZBXsAAB5HD20dOA250.png

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

o4YBAGCwZySAPciAAAB_EW3PCRQ080.png

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

o4YBAGCwZzWABBBAAAB7HAjr4BI298.png

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

電路參數(shù)

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

結(jié)論

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3667

    瀏覽量

    135243
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5363

    瀏覽量

    121162
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    331

    瀏覽量

    49637
收藏 人收藏

    評論

    相關(guān)推薦

    采用路徑搜索的并行RS編碼器IP自動生成方法

    基于并行計算數(shù)據(jù)路徑的自動搜索求得編碼矩陣,生成有限域運算電路,從而使得編碼器所有HDL代碼可以由軟件自動生成。設(shè)計了一款9倍并行RS(2
    發(fā)表于 04-22 11:46

    RS通信編碼器怎么進行優(yōu)化設(shè)計?

    本文以戰(zhàn)術(shù)軍用通信系統(tǒng)的首選RS(31,15)為例,對生成多項式進行了優(yōu)化,并采用查表法的原理極大地提高了編碼器運算數(shù)據(jù)的能力,縮短了運算周期,最終利用VHDL語言編譯,在FPGA
    發(fā)表于 05-06 09:27

    什么是編碼器 什么叫編碼器 編碼器什么意思

    什么是編碼器 什么叫編碼器 編碼器什么意思 第一種含義:編碼器是把角位移或直線位移轉(zhuǎn)換成電信號的一種裝置。前者成為盤,后者稱碼尺.按照讀
    發(fā)表于 12-18 00:13 ?1.5w次閱讀
    什么是<b class='flag-5'>編碼器</b> 什么叫<b class='flag-5'>編碼器</b> <b class='flag-5'>編碼器</b>什么意思

    增量型編碼器與絕對型編碼器的區(qū)別

    增量型編碼器與絕對型編碼器的區(qū)別 編碼器如以信號原理來分,有增量型編碼器,絕對型編碼器。   增 量 型 編
    發(fā)表于 09-26 17:36 ?2632次閱讀

    增量光電編碼器基本波形和電路

    增量光電編碼器基本波形和電路圖 增量編碼器是以脈沖形式輸出的傳感,其盤比絕對編碼器
    發(fā)表于 10-29 22:55 ?3006次閱讀
    增量光電<b class='flag-5'>編碼器</b>基本波形和<b class='flag-5'>電路</b>

    編碼器,編碼器是什么意思

    編碼器,編碼器是什么意思 編碼器 編碼器(encoder)是將信號
    發(fā)表于 03-08 15:04 ?3139次閱讀

    RS連續(xù)編碼器的FPGA設(shè)計與實現(xiàn)

    介紹了Virtex2Ⅱ系列FPGA (現(xiàn)場可編程門陣列)的時鐘管理模塊DCM (數(shù)字時鐘管理)的結(jié)構(gòu)和功能,詳細分析了RS(Reed2Solomon)編碼器的工作過程,提出了一種連
    發(fā)表于 09-02 16:25 ?83次下載
    <b class='flag-5'>RS</b>連續(xù)<b class='flag-5'>編碼器</b>的FPGA設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    JPEG2000算術(shù)編碼器的改進算法與實現(xiàn)

    JPEG2000的編碼方式采用了嵌入式編碼(EBCOT)方式,在編碼過程采用了MQ算術(shù)編碼
    發(fā)表于 02-13 14:59 ?5次下載
    JPEG2000算術(shù)<b class='flag-5'>編碼器</b>的改進算法與<b class='flag-5'>實現(xiàn)</b>

    LDPC編碼器的FPGA實現(xiàn)

    800Mbps準(zhǔn)循環(huán)LDPC編碼器的FPGA實現(xiàn)
    發(fā)表于 05-09 10:59 ?37次下載

    基于FPGA的經(jīng)濟型MPEG2運動圖像編碼器IP設(shè)計

    基于FPGA的經(jīng)濟型MPEG2運動圖像編碼器IP設(shè)計
    發(fā)表于 08-30 15:10 ?9次下載

    編碼器元件工作原理及其應(yīng)用電路

    本文主要介紹了編碼器元件工作原理及其應(yīng)用電路。本文將對增量型編碼器和絕對型編碼器的工作原理和應(yīng)用進行介紹。在編碼器的本體(脈沖
    的頭像 發(fā)表于 03-04 15:20 ?4w次閱讀
    <b class='flag-5'>編碼器</b>元件工作原理及其應(yīng)用<b class='flag-5'>電路</b>

    絕對值編碼器原理

    絕對編碼器盤上有許多道光通道刻線,每道刻線依次以2線、4線、8線、16線編排,在編碼器的每一個位置,通過讀取每道刻線的通、暗,獲得一組從2的零次方到2的n-1次方的唯一的2進制編碼
    的頭像 發(fā)表于 12-06 17:12 ?5.4w次閱讀

    卷積Turbo編碼器及CPLD的實現(xiàn)工程的關(guān)鍵問題

    詳細探討了卷積Turbo編碼器實現(xiàn)過程的關(guān)鍵問題,結(jié)合CCSDS及IMT-2000國際通信標(biāo)準(zhǔn)給出了具體解決方案。使用Maxplus2開發(fā)工具在CPLD.上
    發(fā)表于 05-30 17:26 ?9次下載
    卷積Turbo<b class='flag-5'>碼</b><b class='flag-5'>編碼器</b>及CPLD的<b class='flag-5'>實現(xiàn)</b>工程<b class='flag-5'>中</b>的關(guān)鍵問題

    編碼器是什么?編碼器有哪些分類及應(yīng)用

    編碼器是什么?編碼器有哪些分類及應(yīng)用;編碼器是什么?在數(shù)字信號處理和通信系統(tǒng)編碼器是一種重要的設(shè)備,用于將原始數(shù)據(jù)轉(zhuǎn)換為字符序列或二進制
    的頭像 發(fā)表于 05-18 11:08 ?5592次閱讀
    <b class='flag-5'>編碼器</b>是什么?<b class='flag-5'>編碼器</b>有哪些分類及應(yīng)用

    增量編碼器和絕對值編碼器的區(qū)別

    在工業(yè)自動化和精密測量領(lǐng)域,編碼器是不可或缺的關(guān)鍵設(shè)備。編碼器能夠?qū)C械位移轉(zhuǎn)換為電信號,以便于計算機或其他數(shù)字系統(tǒng)進行處理。在編碼器的眾多類型,增量
    的頭像 發(fā)表于 06-03 15:40 ?3124次閱讀
    大发888游戏平台dafa 888 gw| 百家乐官网自动算牌软件| 圆梦城百家乐娱乐城| 百家乐官网去哪里玩最好| 全讯网wn888.com| 百家乐官网德州| 大发888下载| 百家乐视频游戏网站| 綦江县| 24山向中那个向最好| 淘金盈国际线上娱乐| 狮威百家乐娱乐平台| 百家乐官网赢多少该止赢| 真人21点| 百家乐推二八杠| 澳门百家乐官网网上直赌| 大发888娱乐城优惠码lm0| 百家乐发牌千数| 百家乐官网赢赌场百家乐官网| 大发888娱乐场下载 17| 至尊百家乐facebook| 澳门赌场美女| 博彩百家乐画谜网| 百家乐官网必胜方程式| 岑溪市| 怎么玩百家乐呀| 百家乐官网送18元彩金| 屏南县| 百家乐赌场视屏| 百家乐官网永利娱乐网| 册亨县| 互联网百家乐的玩法技巧和规则| 皇冠百家乐官网在线游戏| 砀山县| 互博百家乐的玩法技巧和规则| 金杯百家乐官网的玩法技巧和规则| 棋牌| 威尼斯人娱乐城购物| 百家乐实战玩法| 博天堂百家乐官网官网| 网络百家乐官网娱乐|