循环冗余校验码(crc)在mstp上的应用

循环冗余校验码(crc)在mstp上的应用

ID:15559572

大小:1.55 MB

页数:12页

时间:2018-08-04

循环冗余校验码(crc)在mstp上的应用_第1页
循环冗余校验码(crc)在mstp上的应用_第2页
循环冗余校验码(crc)在mstp上的应用_第3页
循环冗余校验码(crc)在mstp上的应用_第4页
循环冗余校验码(crc)在mstp上的应用_第5页
资源描述:

《循环冗余校验码(crc)在mstp上的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、循环冗余校验码(CRC)在MSTP上的应用尹恒(武汉邮电科学研究院,武汉,430074)摘要:本文介绍了循环冗余校验码(CRC)的原理、软硬件实现以及在MSTP中的应用,指出循环冗余校验码(CRC)是一中非常实用的检错码。关键词:循环冗余校验码(CRC);MSTP;PPP/HDLC协议;LAPS协议;GFP协议ApplicationofCyclicRedundancyCheck(CRC)intheMSTPYINHENG(WuhanResearchInstituteOfPostandCommunication,Wuhan,430074,China)Abstract:Thispaperintr

2、oducestheprincipleandRealizationofCyclicRedundancyCheck(CRC),pointsoutthatRealizationofCyclicRedundancyCheck(CRC)isveryuseful.KeyWord:RealizationofCyclicRedundancyCheck(CRC);MSTP;PPP/HDLCprotocol;LAPSprotocol;GFPprotocol1前言根据经典的香农公式,理想信道的容量是无限的,然而在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错

3、误。为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡,使误码率尽可能降低之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低以满足指标要求。随着差错控制编码理论的完善和数字电路的发展,信道编码已经成功地应用各种通信系统中。差错控制编码的基本做法是:在发送端被传输的信息序列上附加一些监督码元,这些多余的码元与信息码元之间以某种确定的规则相互关联(约束)。接收端按照既定的规则检验信息码元与监督码元之间的关系,一旦传输过程中出现差错,则信息码元与监督码元之间的关系将遭到破坏,从而可以发现错误,乃至纠正错误。其中,循环冗余校验码(CRC)凭借极强的

4、检错性能,很小的开销,以及易于实现的特点,成为目前通信系统中最常用的一种差错控制编码。2循环冗余校验码(CRC)原理[1]2.1循环冗余校验码(CRC)简介利用循环冗余校验码(CRC)进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码,附在原始信息之后,构成一个新的二进制码序列,然后发送出去。在接收端根据信息码和监督码之间所遵循的规则进行检验,一旦传输过程中发生差错,则信息码与监督码之间的关系遭到破坏,从而可以发现错误。2.2循环冗余校验码(CRC)生成与校验过程2.2.1循环冗余校验码(CRC)的生成循环冗余校验码(CRC)校验生成的循环码为

5、系统码,采用循环码特有的多项式编码方法。信息码多项式升(n-k)次幂后除以生成多项式,然后将所得的余式加上升幂后的信息码多项式,由此得到系统码多项式。在发送端,设有一组信息码多项式,最高次数为k-1(共k位),以乘以构成一个n-1次(最高次)多项式,即,再除以生成多项式(以为模),则式中,为商,为余式,余式的系数即为生成的CRC监督码。将计算出的余式与相加,可得到循环码多项式,即将发送到信道上传输。2.2.2循环冗余校验码(CRC)的校验校验方法一:在接收端,对接收到的信息码多项式进行与发送端相同的运算,即通过计算,可得到新的余式。将与从接收的循环码多项式中提取的相比较,若,说明在传输的过

6、程中未出现了误码。比较的过程即为校验的过程。校验方法二:直接用接收到的序列除以生成多项式,即通过计算,若余数为0,则说明在传输的过程中未出现了误码。2.3生成多项式的国际标准2.4循环冗余校验码(CRC)检错性能循环冗余校验码(CRC)的检错能力很强,既能检测随机差错,也能检测突发性差错,其检错性能包括以下5点:l能检测出全部单个错误。l能检测出全部随机的2位错误。l能检测出全部奇数个错误。l能检测出全部长度小于等于k的错误。l能以的概率检测出长度为k位的突发性错误。1循环冗余校验码(CRC)的实现3.1软件实现软件实现的流程图如下所示:其中,GetCRC子程序的作用是生成循环冗余校验码(

7、CRC)。GetCRC子程序源代码如下:intGetCRC(intt)//生成循环冗余校验码  {   intk;   intg=0x13;//这里生成多项式使是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;)   {  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。