一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

電子設(shè)計(jì) ? 來源:固體電子學(xué)研究與進(jìn)展學(xué) ? 作者:董懷玉,余寧梅, ? 2021-05-28 11:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

編碼算法選取

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

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

o4YBAGCwZqKAEUxGAAFz_IsISLQ695.png

RS 編碼的生成多項(xiàng)式定義為:

pIYBAGCwZq-APJP_AAASjmf1mQQ493.png

所以可以得到各碼的生成多項(xiàng)式:

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 ) 表示信息碼字多項(xiàng)式, c (x ) 表示編碼后的碼字多項(xiàng)式, 則RS 碼的編碼過程可以用下面編碼多項(xiàng)式來表示:

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

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

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

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

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

o4YBAGCwZtaAGyWZAADDAD2lDvs313.png

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

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

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

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

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

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

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

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

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

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

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

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

pIYBAGCwZt2AYxw9AAA6wZ3-lM0811.png

電路仿真及測(cè)試

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

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

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

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

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

o4YBAGCwZwKAIxk3AACnngIT8ZU089.png

C) 給reset 一個(gè)復(fù)位信號(hào), sel 置為11 時(shí), 輸入信息電路開始編碼。輸入信息為(0, 1, 2, 3, 4, 5,6, 7, 8) , 編碼后得到校驗(yàn)位(B, C, 0, 5, 7, 8) , 所以輸出端輸出碼字為(0, 1, 2, 3, 4, 5, 6, 7, 8,B, C, 0,5, 7, 8)。輸入端再次輸入信息, 循環(huán)進(jìn)行編碼。

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

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

o4YBAGCwZwqAZBXsAAB5HD20dOA250.png

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

o4YBAGCwZySAPciAAAB_EW3PCRQ080.png

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

o4YBAGCwZzWABBBAAAB7HAjr4BI298.png

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

電路參數(shù)

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

結(jié)論

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

責(zé)任編輯:gt

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

    關(guān)注

    45

    文章

    3808

    瀏覽量

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

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

    關(guān)注

    4

    文章

    338

    瀏覽量

    50815
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    絕對(duì)值編碼器原理

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

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

    詳細(xì)探討了卷積Turbo編碼器實(shí)現(xiàn)過程的關(guān)鍵問題,結(jié)合CCSDS及IMT-2000國(guó)際通信標(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'>實(shí)現(xiàn)</b>工程<b class='flag-5'>中</b>的關(guān)鍵問題

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

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

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

    在工業(yè)自動(dòng)化和精密測(cè)量領(lǐng)域,編碼器是不可或缺的關(guān)鍵設(shè)備。編碼器能夠?qū)C(jī)械位移轉(zhuǎn)換為電信號(hào),以便于計(jì)算機(jī)或其他數(shù)字系統(tǒng)進(jìn)行處理。在編碼器的眾多類型,增量
    的頭像 發(fā)表于 06-03 15:40 ?4250次閱讀