資源描述:
《rs編譯碼的硬件解決方案》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、RS編譯碼的硬件解決方案.freelbps以下。本文提出的歐氏算法和頻譜結(jié)構(gòu)分析相結(jié)合的rs硬件解碼方案,適用于fpga單片實(shí)現(xiàn),速率高、延遲小、通用性強(qiáng)、使用靈活。筆者在fpga芯片上實(shí)現(xiàn)了gf(28)上符號速率為50mbps的流式解碼方案,最大延時為640ns,參數(shù)可以根據(jù)需要靈活設(shè)置。1rs碼的結(jié)構(gòu)碼字長度為n=q-1(q=2i),生成多項(xiàng)式為,αi∈gf(q)的rs碼有最小碼距δ=2t+1,.freel0=0、t=8,其中g(shù)f(28)的生成多項(xiàng)式為g(x)=x8+x4+x3+x2+1。由于rs碼的編碼邏輯結(jié)構(gòu)比較簡單,文中僅給出仿真結(jié)果。2rs碼的譯碼算法rs譯碼算法一般分為三
2、步:伴隨式計算、關(guān)鍵方程獲得和錯誤圖樣的求解。其中關(guān)鍵方程的獲得是rs譯碼中最困難、最為關(guān)鍵的一步。在利用伴隨式求解關(guān)鍵方程時,bm算法和euclidean(歐氏)算法是兩種較好的選擇。bm算法涉及大量的變量存儲和復(fù)雜的邏輯控制,適用于軟件編程而不適合硬件實(shí)現(xiàn)。歐氏算法數(shù)據(jù)存儲量少、控制便捷,適合硬件實(shí)現(xiàn)。且采用歐氏算法確定關(guān)鍵方程所需時間與錯誤個數(shù)成正比,因此從處理時間上考慮,歐氏算法也是較好的選擇。在獲得關(guān)鍵方程后,采用時域處理方法,需要大量的運(yùn)算單元和控制電路,在硬件實(shí)現(xiàn)中是不可取的。而采用頻譜結(jié)構(gòu)分析方法,利用最短線性移位寄存器綜合及離散傅氏逆變換進(jìn)行處理,邏輯簡單、耗時少,適
3、合硬件實(shí)現(xiàn)。雖然在傅氏變換時需要較多的邏輯單元,但對gf(2n)在n10的情況下,變換域譯碼器要比時域譯碼器簡單得多。因而本文提出歐氏算法和頻譜結(jié)構(gòu)分析相結(jié)合的方案,并在實(shí)踐中獲得了較好的效果。euclidean算法步驟如下:(2)按所列方法進(jìn)行迭代3方案流程方案流程框圖如圖1所示。3.1伴隨式s0,s1,…,s2t-1的計算令r1,r2,…,rn為接收到的rs碼字,根據(jù)系統(tǒng)碼監(jiān)督矩陣的特性,可構(gòu)造如圖2所示伴隨式計算電路si=(((r1αi+r2)αi+r3)αi…+rn,從而實(shí)際伴隨式序列的計算。3.2利用伴隨式確定關(guān)鍵方式euclidean算法的難點(diǎn)主工在于迭代計算過程中存在的被
4、除數(shù)多項(xiàng)式和除數(shù)多項(xiàng)式長度的不確定性,使每次計算中產(chǎn)生的商序列的長度不等,以及因此可能涉及到的不定長多項(xiàng)式的相乘和相加問題,增加了硬件設(shè)計的難度。系統(tǒng)采用了嵌套雙循環(huán)的方法,利用'時鐘產(chǎn)生2'控制外循,'時鐘產(chǎn)生1'控制內(nèi)循環(huán),從而優(yōu)化了算法,得到了問題的解決方案。在獲得伴隨式的基礎(chǔ)上,圖3電路可具體完成euclidean算法對關(guān)鍵方程的求解σ(x)=σtxt+σt-1xt-1+…+σ1x+1。3.3利用最短線性移位寄存器綜合和離散傅氏變換獲取錯誤圖樣在得到關(guān)鍵方程后,首先應(yīng)進(jìn)行錯誤位置(關(guān)鍵方程的根)的確定,這樣可減小電路的規(guī)模;利用錢搜索(工程上求解σ(x)根的實(shí)用方法)的方法可以
5、簡捷的確定錯誤位置。然后,啟動最短線性移位寄存器綜合和離散傅氏逆變換,經(jīng)過n次(運(yùn)算所在域的長度)迭代,即可求得對應(yīng)各個錯誤位置的錯誤圖樣,如圖4所示。用錯誤圖樣對接收碼字進(jìn)行糾錯,就可得到正確的序列。3.4rs編譯碼在fpga上的實(shí)現(xiàn)有限域的乘法、加法運(yùn)算單元和各模塊的控制邏輯設(shè)計是系統(tǒng)成功的關(guān)鍵。涉及有限域的各個運(yùn)算單元的運(yùn)算速度制約了譯碼器的速度,而控制邏輯引導(dǎo)了譯碼的流程。硬件電路的軟件開發(fā)工具給設(shè)計復(fù)雜電路提供了簡捷思路。系統(tǒng)采用了quartus與第三方軟件相結(jié)合的方法,用vhdl語言設(shè)計了大部分功能模塊。特別是在乘法器設(shè)計中,乘數(shù)確定、被乘數(shù)不定的有限域乘法器,經(jīng)邏輯綜合和
6、優(yōu)化設(shè)計后,運(yùn)算速度可分別在6.8ns和11.6ns內(nèi)完成,完全可以滿足系統(tǒng)符號速率50mbps的要求。應(yīng)該指出,系統(tǒng)速度的進(jìn)一步提高受到求逆運(yùn)算的限制,求逆運(yùn)算沒有明確的結(jié)構(gòu)(通常采用查表的方法),這是制約運(yùn)算速度的瓶頸。但針對流式譯碼算法,上述結(jié)構(gòu)已能滿足要求。4仿真結(jié)果4.1編碼器的仿真仿真的時鐘頻率為50mhz,在en為高電平時輸入信息有效。為簡單起見,采用系統(tǒng)碼的縮短型,即信息為(00,00,…,00,02,01,02).編碼器的仿真結(jié)果如圖5所示。其中,in為輸入,clk為系統(tǒng)時鐘,c為編碼輸出(輸入和輸出均為16進(jìn)制)。4.2譯碼器的仿真首先,給出系統(tǒng)的仿真全貌,如圖6所
7、示。其中c為接收到的rs碼,sp為伴隨式s15,shang為運(yùn)用歐氏算法得到的商序列,seryda為s序列,anssd和ertd分別對應(yīng)碼字可能存在的第四個錯誤位置和錯誤值,仿真中的接收碼在位置(105,106,107,108,109,110,111,112)上錯誤均為(01)hex。伴隨式的計算結(jié)果:s15,s14,…,s1,s0為(fd,8d),ce,4a,51,b2,a1,ca,c4,0d,73,56,a6,f5,01),圖6和圖7中的s