<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的RS(255,239)編譯碼器

          基于FPGA的RS(255,239)編譯碼器

          作者: 時間:2016-10-18 來源:網(wǎng)絡 收藏

          摘要 RS(Reed—Solomon)編碼是一種具有較強糾錯能力的多進制BCH編碼,其既可糾正隨機錯誤,又可糾正突發(fā)錯誤。器廣泛應用于通信和存儲系統(tǒng),為解決高速存儲器中數(shù)據(jù)可靠性的問題,文中提出了RS編碼的實現(xiàn)方法,并對編碼進行了時序仿真。仿真結果表明,該譯碼器可實現(xiàn)良好的糾錯功能。

          本文引用地址:http://www.ex-cimer.com/article/201610/308453.htm

          RS(Reed—Solomon)碼是差錯控制領域中的一種重要線性分組碼,既能糾正隨機錯誤,又能糾正突發(fā)錯誤,且由于其出色的糾錯能力,已被NASA、ESA、CCSDS等空間組織接受,用于空間信道糾錯。本文研究了RS碼的實現(xiàn)方法,并基于Xilinx的FPGA芯片Spartan-6 XC6SLX45完成了器的設計,同時對其進行了仿真和在線調(diào)試,并給出了功能仿真圖和測試結果。時序仿真結果表明,該編譯碼器能實現(xiàn)預期功能。

          1 RS編碼的實現(xiàn)方法

          RS碼是一種多進制BCH(Bose—Chaudhuri—Hocquenghem)碼,在給定每個碼字所具有多少冗余量的情況下,RS碼具有極大的最小距離。即RS碼的最小距離d、信息長度k以及碼字長度n滿足d=n-k+1。而RS(255 239)碼是在伽羅華(Galois Field)GF(28)中運算得到的,編碼器實現(xiàn)的關鍵是乘法器的設計。設計中的乘法是2個有限域中元素的指數(shù)相加與255取模。GF(28)編碼參數(shù)如下:碼長n=255;信息位個數(shù)k=239;校驗位r=n-k=16;糾錯能力t=8;碼距d=17。生成多項式為

          基于FPGA的RS(255,239)編譯碼器

          根據(jù)式(3)畫出RS編碼的電路圖,如圖1所示。

          基于FPGA的RS(255,239)編譯碼器

          n-k級RS編碼器主要由一組線性反饋移位寄存器和控制電路組成,其是n-k=16級編碼器,亦是線性反饋寄存器的反饋系數(shù),reg16寄存器的值與當前輸入的信息碼元異或得到的結果即為feedback寄存器的值。

          編碼步驟:

          步驟1 將所有寄存器清零,開關放到1上,則239個信息碼元一邊依次進入除法電路,一邊依次輸出。

          步驟2 當最后一個信息碼進入電路后,將開關放到2上,第一個校驗位輸出。

          步驟3 校驗碼按時鐘節(jié)拍載入寄存器,并依次輸出。當最后一個校驗位輸出時,編碼結束。

          2 RS編碼的仿真結果及分析

          設計的RS(255 239)編碼器使用Verilog HDL對整個模型進行描述,以Xilinx FPGA芯片Spartan-6XC6SLX45為硬件平臺進行實現(xiàn),并利用ISim仿真工具對RS編碼進行仿真。

          基于FPGA的RS(255,239)編譯碼器

          設計的RS(255,239)編碼器,信息位239位編碼為0,1,2,…,238,則16位校驗位的值為58,236,152,44,88,31,20,168,121,60,32,10,191,166,4,101。設計的RS(255,239)編碼器的仿真圖如圖2所示,當DI_VAL=0時,輸出239個信息位;當DI_VAL=1時,輸出16個校驗位。該編碼器實現(xiàn)了預期的編碼功能。

          3 RS譯碼的實現(xiàn)方法

          RS譯碼主要有時域譯碼和頻域譯碼,時域譯碼一般采用BM迭代算法或歐式算法(Euclid's Algorithm)。RS譯碼中最重要的環(huán)節(jié)是求解關鍵方程,歐式算法在求解關鍵方程時需進行多項式次數(shù)的判斷,因此造成硬件電路復雜,譯碼速度下降,BM迭代算法具有快速、消耗資源少、控制電路較為簡單等優(yōu)點。文中改進后的BM迭代原理及以該算法為基礎的RS譯碼器的FPGA實現(xiàn)。RS譯碼可分為4步:(1)由接收到的碼組計算伴隨式。(2)求關鍵方程。(3)計算出錯誤圖樣。(4)由錯誤圖樣和接收碼組計算出可能發(fā)送的碼字。圖3給出了RS譯碼器的一般步驟框圖。

          基于FPGA的RS(255,239)編譯碼器
          基于FPGA的RS(255,239)編譯碼器

          設錯誤圖樣為E(x),則R(x)=C(x)+E(x)。RS碼的譯碼可分為3步:(1)由接收到的R(x)計算出伴隨多項式S。(2)由伴隨式計算出錯誤圖樣E(x)。(3)由C(x)=及(x)-E(x)計算得到發(fā)送碼字,并完成譯碼。伴隨式是對接收序列R(x)進行奇偶校驗的結果,用以判斷R(x)是否為有效碼字,若R(x)為有效碼字則伴隨式S為零,任何S的非零值表示R(x)有錯誤。為譯出一個糾正t個錯誤的RS碼,伴隨式S是2t重的,即S=(s1,s2,…,s2t-1,s2t)。

          基于FPGA的RS(255,239)編譯碼器
          基于FPGA的RS(255,239)編譯碼器

          以上運算均可用流水線結構硬件實現(xiàn)。

          基于FPGA的RS(255,239)編譯碼器

          初始化時,所有寄存器置零。經(jīng)255個周期,接收完所有255個符號后,便可得到全部16個伴隨式。因整個譯碼器采用流水線結構,所以在伴隨式計算完后,產(chǎn)生一個時鐘周期有效的“sc_done”信號,用以啟動后續(xù)電路進行新的計算。由于在BM模塊中,用到了A(x)與S的卷積求和,因此本模塊將計算出的伴隨式序列串行輸出。

          關鍵方程的計算采用不僅在RS碼的譯碼中起著關鍵作用,且也是目前已知的求序列線性復雜度最快且最佳的方法之一。該算法采用規(guī)整的脈動陣列,硬件實現(xiàn)更為方便。通過求解關鍵方程,得到A0~A8,其為后續(xù)的模塊提供了參數(shù)。

          基于FPGA的RS(255,239)編譯碼器

          A(x)可用來搜索錯誤位置,具體方法為:依次將

          基于FPGA的RS(255,239)編譯碼器

          ,則在該位置出現(xiàn)誤碼。模塊框圖如圖5所示。

          基于FPGA的RS(255,239)編譯碼器

          從上式可看出,兩個多項式的相乘實質(zhì)就是兩個多項式對應的系數(shù)卷積求和。因此,該運算也可采用FIR濾波技術來實現(xiàn),當初始化時,所有寄存器置零。然后每個時鐘周期,伴隨式從S1,S2,…,S2t依次移入寄存器。最終2t個Ωi移位寄存器的內(nèi)容從左向右依次為Ω2t-1,…,Ω1,Ω0。錯誤多項式可得,整個譯碼過程如圖6所示。

          基于FPGA的RS(255,239)編譯碼器
          基于FPGA的RS(255,239)編譯碼器
          基于FPGA的RS(255,239)編譯碼器

          該過程完全實現(xiàn)流水線結構,其中包括伴隨式計算、關鍵方程求解、等模塊并行工作。在經(jīng)過295個固有延遲后,每個時鐘周期均可連續(xù)輸出經(jīng)校正的碼字。

          4 RS譯碼的仿真結果及分析

          因設計的譯碼器最大糾錯能力為8個符號,該文設定錯誤情況是第140位到第147位全錯,正確值為140,141,142,143,144,145,146,147,錯誤值為5,11,56,98,35,15,132,159,圖7是輸入到譯碼器中含8個連續(xù)錯誤碼字的255位編碼序列,圖8是譯碼器輸出全部糾錯以后的編碼序列,由ISim仿真波形圖可知,Err_Indicator表示錯誤標志,設計的譯碼器能實現(xiàn)最大的糾錯能力。


          基于FPGA的RS(255,239)編譯碼器

          基于FPGA的RS(255,239)編譯碼器

          5 結束語

          文中闡述了RS(255,239)編譯碼器的設計原理,并對編碼器給出了在ISim中的時序仿真結果,其結果證明了該編碼器設計的正確性。而在對譯碼器的設計中,假定出現(xiàn)連續(xù)8個誤碼的情況,并用ISim對所設計的譯碼器進行驗證,由時序仿真結果表明,設計的RS(255,239)譯碼器能實現(xiàn)最大的糾錯能力。設計的RS(255,239)編譯碼器達到了預定的目標,且該編譯碼器可應用于數(shù)據(jù)通信和數(shù)據(jù)存儲系統(tǒng)的差錯控制中。



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();