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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > RS通信編碼器的優(yōu)化設(shè)計(jì)及FPGA實(shí)現(xiàn)

          RS通信編碼器的優(yōu)化設(shè)計(jì)及FPGA實(shí)現(xiàn)

          作者: 時(shí)間:2010-10-29 來源:網(wǎng)絡(luò) 收藏

          引言
          Reed-Solomon碼首先是由Reed和Solomon兩人于1960年提出來的,簡(jiǎn)稱為RS碼。這是一類具有很強(qiáng)糾錯(cuò)能力的多進(jìn)制BCH碼,既能糾正隨機(jī)錯(cuò)誤,也能糾正突發(fā)錯(cuò)誤,也是一類典型的代數(shù)幾何碼。RS碼一直以來都是國(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語言編譯,在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)。
          由于注意到:


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 編解碼器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();