資源描述:
《循環(huán)冗余校驗(yàn)碼(crc)在mstp上的應(yīng)用》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、循環(huán)冗余校驗(yàn)碼(CRC)在MSTP上的應(yīng)用尹恒(武漢郵電科學(xué)研究院,武漢,430074)摘要:本文介紹了循環(huán)冗余校驗(yàn)碼(CRC)的原理、軟硬件實(shí)現(xiàn)以及在MSTP中的應(yīng)用,指出循環(huán)冗余校驗(yàn)碼(CRC)是一中非常實(shí)用的檢錯碼。關(guān)鍵詞:循環(huán)冗余校驗(yàn)碼(CRC);MSTP;PPP/HDLC協(xié)議;LAPS協(xié)議;GFP協(xié)議ApplicationofCyclicRedundancyCheck(CRC)intheMSTPYINHENG(WuhanResearchInstituteOfPostandCommunication,Wuhan,430074,China)Abstract:Thispaperintrod
2、ucestheprincipleandRealizationofCyclicRedundancyCheck(CRC),pointsoutthatRealizationofCyclicRedundancyCheck(CRC)isveryuseful.KeyWord:RealizationofCyclicRedundancyCheck(CRC);MSTP;PPP/HDLCprotocol;LAPSprotocol;GFPprotocol1前言根據(jù)經(jīng)典的香農(nóng)公式,理想信道的容量是無限的,然而在實(shí)際信道上傳輸數(shù)字信號時(shí),由于信道傳輸特性不理想及加性噪聲的影響,所收到的數(shù)字信號不可避免的會發(fā)生錯誤。為了
3、加強(qiáng)通信系統(tǒng)的可靠性,除了合理設(shè)計(jì)基帶信號,選擇調(diào)制、解調(diào)方式,采用頻域均衡、時(shí)域均衡,使誤碼率盡可能降低之外,還需要采用信道編碼,即差錯控制編碼,使誤碼率進(jìn)一步降低以滿足指標(biāo)要求。隨著差錯控制編碼理論的完善和數(shù)字電路的發(fā)展,信道編碼已經(jīng)成功地應(yīng)用各種通信系統(tǒng)中。差錯控制編碼的基本做法是:在發(fā)送端被傳輸?shù)男畔⑿蛄猩细郊右恍┍O(jiān)督碼元,這些多余的碼元與信息碼元之間以某種確定的規(guī)則相互關(guān)聯(lián)(約束)。接收端按照既定的規(guī)則檢驗(yàn)信息碼元與監(jiān)督碼元之間的關(guān)系,一旦傳輸過程中出現(xiàn)差錯,則信息碼元與監(jiān)督碼元之間的關(guān)系將遭到破壞,從而可以發(fā)現(xiàn)錯誤,乃至糾正錯誤。其中,循環(huán)冗余校驗(yàn)碼(CRC)憑借極強(qiáng)的檢錯性能,很
4、小的開銷,以及易于實(shí)現(xiàn)的特點(diǎn),成為目前通信系統(tǒng)中最常用的一種差錯控制編碼。2循環(huán)冗余校驗(yàn)碼(CRC)原理[1]2.1循環(huán)冗余校驗(yàn)碼(CRC)簡介利用循環(huán)冗余校驗(yàn)碼(CRC)進(jìn)行檢錯的過程可簡單描述為:在發(fā)送端根據(jù)要傳送的二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼,附在原始信息之后,構(gòu)成一個(gè)新的二進(jìn)制碼序列,然后發(fā)送出去。在接收端根據(jù)信息碼和監(jiān)督碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),一旦傳輸過程中發(fā)生差錯,則信息碼與監(jiān)督碼之間的關(guān)系遭到破壞,從而可以發(fā)現(xiàn)錯誤。2.2循環(huán)冗余校驗(yàn)碼(CRC)生成與校驗(yàn)過程2.2.1循環(huán)冗余校驗(yàn)碼(CRC)的生成循環(huán)冗余校驗(yàn)碼(CRC)校驗(yàn)生成的循環(huán)碼為系統(tǒng)碼,采用循環(huán)
5、碼特有的多項(xiàng)式編碼方法。信息碼多項(xiàng)式升(n-k)次冪后除以生成多項(xiàng)式,然后將所得的余式加上升冪后的信息碼多項(xiàng)式,由此得到系統(tǒng)碼多項(xiàng)式。在發(fā)送端,設(shè)有一組信息碼多項(xiàng)式,最高次數(shù)為k-1(共k位),以乘以構(gòu)成一個(gè)n-1次(最高次)多項(xiàng)式,即,再除以生成多項(xiàng)式(以為模),則式中,為商,為余式,余式的系數(shù)即為生成的CRC監(jiān)督碼。將計(jì)算出的余式與相加,可得到循環(huán)碼多項(xiàng)式,即將發(fā)送到信道上傳輸。2.2.2循環(huán)冗余校驗(yàn)碼(CRC)的校驗(yàn)校驗(yàn)方法一:在接收端,對接收到的信息碼多項(xiàng)式進(jìn)行與發(fā)送端相同的運(yùn)算,即通過計(jì)算,可得到新的余式。將與從接收的循環(huán)碼多項(xiàng)式中提取的相比較,若,說明在傳輸?shù)倪^程中未出現(xiàn)了誤碼。比
6、較的過程即為校驗(yàn)的過程。校驗(yàn)方法二:直接用接收到的序列除以生成多項(xiàng)式,即通過計(jì)算,若余數(shù)為0,則說明在傳輸?shù)倪^程中未出現(xiàn)了誤碼。2.3生成多項(xiàng)式的國際標(biāo)準(zhǔn)2.4循環(huán)冗余校驗(yàn)碼(CRC)檢錯性能循環(huán)冗余校驗(yàn)碼(CRC)的檢錯能力很強(qiáng),既能檢測隨機(jī)差錯,也能檢測突發(fā)性差錯,其檢錯性能包括以下5點(diǎn):l能檢測出全部單個(gè)錯誤。l能檢測出全部隨機(jī)的2位錯誤。l能檢測出全部奇數(shù)個(gè)錯誤。l能檢測出全部長度小于等于k的錯誤。l能以的概率檢測出長度為k位的突發(fā)性錯誤。1循環(huán)冗余校驗(yàn)碼(CRC)的實(shí)現(xiàn)3.1軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)的流程圖如下所示:其中,GetCRC子程序的作用是生成循環(huán)冗余校驗(yàn)碼(CRC)。GetCRC子
7、程序源代碼如下:intGetCRC(intt)//生成循環(huán)冗余校驗(yàn)碼 { intk; intg=0x13;//這里生成多項(xiàng)式使是4次10011 cin>>t;//輸入的信息碼是6位,如果要更長,修改下l字g=g<<5;for(;i<6;)if(t<0x200)t=t>>6; t=t<<4; k=t; g=g<<3; inti=0; for(;i<4;) {