• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于FPGA 的CRC 編解碼器實(shí)現(xiàn)*

    2012-08-09 08:08:28孫志雄謝海霞
    電子器件 2012年6期
    關(guān)鍵詞:分組碼編碼方法編解碼

    孫志雄,謝海霞

    (瓊州學(xué)院電子信息工程學(xué)院,海南 三亞 572022)

    在數(shù)字信號傳輸過程中,由于受到干擾的影響,碼元波形將變壞,接收端有可能產(chǎn)生誤碼。而誤碼率是衡量數(shù)字通信系統(tǒng)的一個重要指標(biāo),它關(guān)系到通信系統(tǒng)的通信質(zhì)量。因此,如何降低誤碼率是通信系統(tǒng)設(shè)計所必須考慮的問題。通信過程中產(chǎn)生的誤碼原因主要是由于傳輸過程中信道的變化及噪聲加入的結(jié)果。因此可以在信號傳輸前進(jìn)行信道編碼,增加信號的冗余度。在接收端進(jìn)行糾錯檢錯減少噪聲的影響,從而盡可能的恢復(fù)原始信號,達(dá)到減少誤碼的目的。循環(huán)冗余校驗(yàn)碼(CRC)就是具有這種強(qiáng)檢錯功能的技術(shù),由于它的高效率、高性能,實(shí)現(xiàn)起來相對簡單,因此研究CRC 碼的實(shí)現(xiàn)具有實(shí)際意義[1-6]。

    1 CRC 碼的原理

    在線性分組碼中,有一種重要的碼稱為循環(huán)冗余校驗(yàn)(CRC)碼。它是在嚴(yán)密的代數(shù)學(xué)理論的基礎(chǔ)上建立起來的。CRC 碼除了具有線性分組碼的一般性質(zhì)外,還具有循環(huán)性。循環(huán)性是指任一碼組循環(huán)一位(即將最右端的一個碼元移至左端,或反之)以后,仍為該碼中的一個碼組。在下表1 中給出了一種(7,3)循環(huán)碼的全部碼組。

    表1 一種(7,3)循環(huán)碼的全部碼組

    2 CRC 碼的編解碼方法

    2.1 CRC 碼的編碼方法

    在代數(shù)編碼理論中,一般把各碼組中的碼元當(dāng)作是一個多項式的系數(shù),這種多項式稱為碼多項式。在CRC 編碼時,首先要根據(jù)給定的(n,k)值選定生成多項式g(x),即從(xn+1)的因子中選一個(n-k)次多項式作為g(x)。由于所有碼多項式T(x)都可以被g(x)整除。根據(jù)這條原則,就可以對給定的信息位進(jìn)行編碼:設(shè)m(x)為信息碼多項式,其次數(shù)小于k。用xn-k乘m(x),得到的xn-km(x)的次數(shù)必定小于n。用g(x)除xn-km(x),得到余式r(x),r(x)的次數(shù)必定小于g(x)的次數(shù),即小于(n-k)。將此余式r(x)加于信息位之后作為監(jiān)督位,即將r(x)和xn-km(x)相加,得到的多項式必定是一個碼多項式。因?yàn)樗囟鼙籫(x)整除,且商的次數(shù)不大于(k-1)。因此,CRC 碼編碼步驟可以歸納為:

    (1)用xn-k乘m(x)。這一運(yùn)算實(shí)際上是在信息碼后附加上(n-k)個“0”。

    (2)用g(x)除xn-km(x),得到商Q(x)和余式r(x),即

    (3)編出的碼組T(x)為

    2.2 CRC 碼的解碼方法

    在CRC 編碼中,由于任意一個碼組多項式T(x)都應(yīng)該能被生成多項式g(x)整除,所以在接收端可以將接收碼組R(x)用原生成多項式g(x)去除。當(dāng)傳輸中未發(fā)生錯誤時,接收碼組與發(fā)送碼組相同,即R(x)=T(x),故接收碼組R(x)必定能被g(x)整除;若碼組在傳輸中發(fā)生錯誤,則R(x)≠T(x),R(x)被g(x)除時可能除不盡而有余項,因此,就以余項是否為零來判別接收碼組中有無錯碼[7]。

    3 VHDL 的CRC 編解碼仿真及實(shí)現(xiàn)

    根據(jù)CRC 編碼方法,利用VHDL 語言編程實(shí)現(xiàn)一種(7,3)循環(huán)碼的編碼及仿真,實(shí)驗(yàn)采用并行方式輸入輸出,其生成多項式g(x)為:g(x)=x4+x2+x+1。

    對應(yīng)上述編碼方法實(shí)現(xiàn)的CRC 編碼器的VHDL程序如下:

    其CRC 編碼仿真波形如圖1所示,其中d為信息位,crc為CRC 編碼輸出,其結(jié)果和表1 的CRC編碼結(jié)果一致。與上述CRC 編碼方法相對應(yīng)的CRC 解碼器的VHDL 程序如下:

    圖1 CRC 編碼仿真波形圖

    其CRC 解碼仿真波形如圖2所示,其中crc為CRC 解碼輸入,d為CRC 解碼輸出,en為解碼使能端,高電平有效,其結(jié)果和表1 的CRC 編碼對應(yīng)的信息位(即解碼)一致。

    圖2 CRC 解碼仿真波形圖

    在運(yùn)行上述CRC 編解碼器的VHDL 程序并利用Quartus Ⅱ仿真平臺進(jìn)行編譯、仿真驗(yàn)證的基礎(chǔ)上,將CRC 編解碼器的配置程序下載到FPGA 芯片EP1K30QC208-2,并在EDA 實(shí)驗(yàn)開發(fā)板進(jìn)行測試,實(shí)驗(yàn)結(jié)果表明CRC 編解碼是正確的[8]。

    4 結(jié)束語

    利用VHDL 語言編程,并基于FPGA 實(shí)現(xiàn)了CRC編解碼器的設(shè)計,體現(xiàn)了軟件無線電設(shè)計通信系統(tǒng)的思想,是EDA 技術(shù)在通信系統(tǒng)設(shè)計中的應(yīng)用,體現(xiàn)了現(xiàn)代電子設(shè)計的優(yōu)越性。VHDL 語言具有良好的可移植性,可以在不同的設(shè)計環(huán)境和系統(tǒng)平臺中使用。另外由于使用FPGA 硬件實(shí)現(xiàn)CRC 編解碼算法,運(yùn)行速度比基于CPU 的軟件實(shí)現(xiàn)速度要快。在此算法的基礎(chǔ)上,只要改變生成多項式g(x),就可以實(shí)現(xiàn)其它位數(shù)的CRC 編解碼器,本文設(shè)計思想可以為其它線性分組碼的編解碼器設(shè)計提供借鑒。

    [1]劉新寧,王超,胡晨,等.一種快速CRC 算法的硬件實(shí)現(xiàn)方法[J].電子器件,2003,26(1):88-91.

    [2]金素梅,王家禮.基于FPGA 的CRC 編碼器的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2005(24):18-20.

    [3]范綠蓉,栗廣云,吳淑君.基于VHDL 語言的CRC 信道編解碼電路設(shè)計與實(shí)現(xiàn)[J].通信技術(shù),2008,41(6):103-105.

    [4]Xu Zhanqi,Yi Kechu,Liu Zengji.A Universal Algorithm for Parallel CRC Computation and Its Implementation[J].Journal of Electronics(chinese),2006(4):528-531.

    [5]常天海,胡鑒.基于FPGA 的CRC 并行算法研究與實(shí)現(xiàn)[J].微處理機(jī),2010(2):45-48.

    [6]郭瑛,俞宗佐.基于FPGA 的循環(huán)冗余校驗(yàn)?zāi)K設(shè)計[J].內(nèi)蒙古大學(xué)學(xué)報(自然科學(xué)版),2010,41(4):417-420.

    [7]樊昌信,曹麗娜.通信原理[M].6 版.北京:國防工業(yè)出版社,2006.

    [8]江國強(qiáng).EDA 技術(shù)與應(yīng)用[M].3 版.北京:電子工業(yè)出版社,2010.

    猜你喜歡
    分組碼編碼方法編解碼
    可變摩擦力觸感移動終端的漢語盲文編碼設(shè)計
    1553B總線控制器編解碼設(shè)計
    大型民機(jī)試飛遙測視頻編解碼方法研究
    基于H.265編解碼的高清視頻傳輸系統(tǒng)研究
    電子測試(2018年18期)2018-11-14 02:30:54
    基于公約式權(quán)重的截短線性分組碼盲識別方法
    毫米波大規(guī)模MIMO系統(tǒng)中低復(fù)雜度混合預(yù)編碼方法
    基于多分組碼的密鑰預(yù)分配算法研究
    主流視頻編解碼軟件的硬件性能分析與設(shè)計
    一種新的星載InSAR直接地理編碼方法
    淺析公路工程物資的分類及編碼方法
    民权县| 牟定县| 秦皇岛市| 曲水县| 永丰县| 霞浦县| 昭通市| 鲜城| 延庆县| 磐石市| 玛纳斯县| 张家川| 明星| 司法| 阜康市| 萨嘎县| 和静县| 甘泉县| 习水县| 隆昌县| 中方县| 应城市| 营口市| 竹北市| 洱源县| 新宁县| 龙井市| 板桥市| 新田县| 九台市| 若尔盖县| 望江县| 波密县| 龙海市| 浪卡子县| 深泽县| 德州市| 绿春县| 伊金霍洛旗| 九龙坡区| 柳林县|