RS通信編碼器的優(yōu)化設計及FPGA實(shí)現
引言
Reed-Solomon碼首先是由Reed和Solomon兩人于1960年提出來(lái)的,簡(jiǎn)稱(chēng)為RS碼。這是一類(lèi)具有很強糾錯能力的多進(jìn)制BCH碼,既能糾正隨機錯誤,也能糾正突發(fā)錯誤,也是一類(lèi)典型的代數幾何碼。RS碼一直以來(lái)都是國際通信領(lǐng)域研究的熱點(diǎn)之一。
本文以戰術(shù)軍用通信系統的首選碼RS(31,15)碼為例,對生成多項式進(jìn)行了優(yōu)化,并采用查表法的原理極大地提高了編碼器運算數據的能力,縮短了運算周期,最終利用VHDL語(yǔ)言編譯,在FPGA中實(shí)現,得到了正確的RS編譯碼。
1 RS編碼原理
能糾正t個(gè)錯誤的RS(n,k)碼具有如下特性:
碼長(cháng):n=2m-1符號或m(2m-1)比特;信息碼元數:k=n-2t符號或mk比特;監督碼元數:n-k=2t符號或m(n-k)比特;最小距離:d=2t+1=n-k-1符號或m(n-k+1)比特;最小距離為d的本原RS碼的生成多項式一般為:
令信息元多項式為:
監督多項式為:
則碼多項式為:
式中:Q(x)是g(x)整除C(x)所得的商式。所有這些原理都與二進(jìn)制循環(huán)碼一樣,不同的僅在于運算方法。對于二進(jìn)制碼,碼多項式各項系數只能取0或1,多項式的加減乘除是模二運算,是定義在GF(2)域上的多項式?,F在碼多項式各項系數可以取q=2m種不同的值,應當是定義在GF(2m)域上的多項式。
2 生成多項式的優(yōu)化
以RS(31,15)為例,n=31,k=15,可糾正錯誤數為t=(n-k)/2=8;以為本原多項式,可得到GF(25)上的元素如表1所示。
一般的生成多項式為:
則碼字多項式以為零點(diǎn)。
由于注意到:
評論