《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > RS通信編碼器的優(yōu)化設(shè)計(jì)及FPGA實(shí)現(xiàn)
RS通信編碼器的優(yōu)化設(shè)計(jì)及FPGA實(shí)現(xiàn)
陳 晨 徐 偉 金 光
摘要: RS碼是糾錯(cuò)能力很強(qiáng)的一類(lèi)線性糾錯(cuò)碼類(lèi),,被廣泛用于各種通信系統(tǒng)和計(jì)算機(jī)存儲(chǔ)系統(tǒng)中。介紹了一種優(yōu)化編碼生成多項(xiàng)式RS編碼器的設(shè)計(jì)方法,,用VHDL語(yǔ)言編寫(xiě),,利用ISE9.O軟件仿真,燒寫(xiě)入FPGA,,驗(yàn)證該RS編碼方法正確,。
Abstract:
Key words :

引言
    Reed-Solomon碼首先是由Reed和Solomon兩人于1960年提出來(lái)的,簡(jiǎn)稱(chēng)為RS碼,。這是一類(lèi)具有很強(qiáng)糾錯(cuò)能力的多進(jìn)制BCH碼,,既能糾正隨機(jī)錯(cuò)誤,也能糾正突發(fā)錯(cuò)誤,,也是一類(lèi)典型的代數(shù)幾何碼,。RS碼一直以來(lái)都是國(guó)際通信領(lǐng)域研究的熱點(diǎn)之一。
    本文以戰(zhàn)術(shù)軍用通信系統(tǒng)的首選碼RS(31,,15)碼為例,,對(duì)生成多項(xiàng)式進(jìn)行了優(yōu)化,并采用查表法的原理極大地提高了編碼器運(yùn)算數(shù)據(jù)的能力,,縮短了運(yùn)算周期,,最終利用VHDL語(yǔ)言編譯,在FPGA中實(shí)現(xiàn),,得到了正確的RS編譯碼,。

1 RS編碼原理
    能糾正t個(gè)錯(cuò)誤的RS(n,k)碼具有如下特性:
    碼長(zhǎng):n=2m-1符號(hào)或m(2m-1)比特,;信息碼元數(shù):k=n-2t符號(hào)或mk比特,;監(jiān)督碼元數(shù):n-k=2t符號(hào)或m(n-k)比特;最小距離:d=2t+1=n-k-1符號(hào)或m(n-k+1)比特,;最小距離為d的本原RS碼的生成多項(xiàng)式一般為:
   
    令信息元多項(xiàng)式為:
   
    監(jiān)督多項(xiàng)式為:
   
    則碼多項(xiàng)式為:
   
    式中:Q(x)是g(x)整除C(x)所得的商式,。所有這些原理都與二進(jìn)制循環(huán)碼一樣,,不同的僅在于運(yùn)算方法。對(duì)于二進(jìn)制碼,,碼多項(xiàng)式各項(xiàng)系數(shù)只能取0或1,,多項(xiàng)式的加減乘除是模二運(yùn)算,是定義在GF(2)域上的多項(xiàng)式?,F(xiàn)在碼多項(xiàng)式各項(xiàng)系數(shù)可以取q=2m種不同的值,,應(yīng)當(dāng)是定義在GF(2m)域上的多項(xiàng)式。

2 生成多項(xiàng)式的優(yōu)化
   
以RS(31,,15)為例,,n=31,k=15,,可糾正錯(cuò)誤數(shù)為t=(n-k)/2=8,;以為本原多項(xiàng)式,可得到GF(25)上的元素如表1所示,。
    一般的生成多項(xiàng)式為:
   
    則碼字多項(xiàng)式以為零點(diǎn),。
    由于注意到:
   


3 RS編碼器的設(shè)計(jì)
    在GF(2m)域上的加法運(yùn)算實(shí)際上就是每位作異或運(yùn)算,由異或門(mén)組合而成即可,。
    由于優(yōu)化了生成多項(xiàng)式g(x),,這里只需要在ROM中存入的乘法表即可。


    由加法模塊和乘法模塊組成的一級(jí)模二運(yùn)算電路如圖1所示,。


    利用ISE9.0仿真軟件得到的運(yùn)算一級(jí)模二運(yùn)算的仿真圖如圖2所示,。
   
    生成的一級(jí)模二運(yùn)算模塊如圖3所示。
    依次連接多個(gè)模二運(yùn)算模塊,,進(jìn)行一步步模二運(yùn)算,,得到余數(shù)多項(xiàng)式的系數(shù),即為RS校驗(yàn)碼,。圖4為當(dāng)信息碼字為M時(shí)的RS編譯結(jié)果,。
   
可看到此時(shí):
   

4 FPGA實(shí)現(xiàn)
   
通過(guò)RS編碼后的數(shù)據(jù)為5×31的矩陣,形如,;
   
    將5行數(shù)據(jù)交織編碼,,交織度為I=5,得到(ao bo co do eo a1 b1 c1 d1 e1…a30 b30 c30 d30 e30)的形式,,利用示波器從串口讀出,,得到波形圖如圖5所示。



5 結(jié)語(yǔ)
   
給出的RS編碼器設(shè)計(jì)方法對(duì)生成多項(xiàng)式進(jìn)行了優(yōu)化,,使得ROM中需要存入的乘法表大幅減少,,模擬模二運(yùn)算的步驟設(shè)計(jì)編碼過(guò)程,最終燒入FPGA中,,利用示波器采集到了正確的數(shù)據(jù),,證明RS編碼器編碼正確,。本文介紹的RS編碼器設(shè)計(jì)方法簡(jiǎn)單,占用資源少,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。