- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CRC检错码在CDT运动规约中的应用
CRC检错码在CDT运动规约中的应用及软件实现
王静,殷小贡,刘涤尘
(武汉大学电气工程学院)
摘 要:阐述了循环冗余校验码 (CRC)在数据通信系统特别是在远动系统中的应用,通过对CRC检错码原理的分析,以(48,40)码为例,给出了可在通信软件中直接作用的高效的C语言CRC编码源代码。
关键词:CRC检错码 ;差错控制;远动系统;CDT运动规约
1 引言
数字信号在传输时难免会受到噪声干扰,引起波形失真,因而在接收端可能作出错误判决,将某一码元“0”错判为“1”,或将“1”错判为“0”,从而造成错码。一个可靠的通信系统必须有检测和纠正这种错误的机制。差错控制技术是采用可靠、有效的编码以发现或纠正数字信号在传输过程中,由于噪声干扰而造成的错码,又称为抗干扰编码,即在信息码元中按照一定规则加入监督码元(又称冗余码元)。接收端按约定的规则对收到的码元序列进行检测以发现或纠正错误,用以提高传输的可靠性。
在数据通信中通常采用四种类型的冗余校验技术:垂直冗余校验(VRC)(又称奇偶校验),纵向冗余校验(LRC),循环冗余校验(CRC),以及校验和。前面三种是在物理层实现,而被数据链路层使用。校验和技术主要由网络层使用,而在传输层实现。
差错控制与流量控制
在OSI模型的物理层,仅仅实现了信号的传输;而保证数据传输的可靠性,则是OSI模型的第二层,数据链路层的功能。数据链路层中最重要的功能流量控制和差错控制。
2 . 1 差错控制的方法
差错控制的目的是使一个不可靠的通信链路变成一个可靠的链路。利用抗干扰编码进行差错控制可采用反馈重传纠错 (ARQ)方式、前向纠错 (FEC)方式和混合纠错 (HEC)方式。其中,FEC方式和HEC方式是基于纠错码编码,而ARQ方式是基于检错码编码。ARQ方式就是在发送端产生能检错的校验码,在接收端通过译码判断数据是否正确,若有错,则接收端产生自动重发请求 ,请求发送端重新发送。该方式编码效率高,实现容易,使用最为广泛。
2 . 2 流量控制
流量控制是用来告诉发送端在等待接收端的应答信号之前可传送多少数据。因为接收端在使用数据之前,必须对数据进行校验和处理,这种处理速率通常比传输速率低,因此在接收方设置缓冲区,如果缓冲区即将满,接收端必须通知发送方暂停发送。最简单的流量控制方法是停止—等待方式。即发端发送一帧数据后停下来,等待接收端的响应信号,在接收端允许发送下一帧时才继续发送,否则就等待。
可见,无论是差错控制还是流量控制,它们的基础都是校验码,校验码的检错能力越强 ,差错控制和流量控制的效果就越好。
1991年电力部颁布了《循环式远动规约》,即CDT规约,适用于点对点的远动通道结构,其主要特点是以厂站端为主动方,循环不断的向调度端发送遥信、遥测等数据。它所使用的差错控制方式是循环传送检错:发送端对信息进行抗干扰编码,发出能够检出错误的码字,即检错码;接收端收到后进行检错译码,如无错码,则进行接收处理,如有错码,则该组数码丢弃,待下次循环中在接收该信息。在CDT规约中远动信息的抗干扰编码采用的就是CRC编码。
3 CRC检错码原理
CRC检错码是根据循环码的编译码原理进行检错的,其编码效率高,检错、纠错能力强。与基于加法的VRC及LRC技术不同,循环冗余校验CRC是基于二进制除法的。
3. 1 CRC检错码编码原理
设待传送的k位信息组M(mk-1, mk-2, …,m1, m0),所对应的信息多项式为
M(x)= mk-1xk-1+ mk-2xk-2 +…+m1x +m0
其中mi =0 或1,x的幂次对应于各码元的位置。
所谓编码就是已知k位信息码元,要求计算出与这k位信息位码元有关的r位监督码元,形成(n,k)(n=k+r)循环码的码字C,C就是要发送的码元序列。在编码中通常把k位信息码元放在前面,r位监督码元紧随其后,形成的码字如图1所示,这种形式称为系统格式码,有利于接收端对k位信息码元的提取。
Cn-1 Cn-2 … Cr+1 Cr Cr-1 Cr-2 … C1 C0
图1 系统格式码
(n,k)循环码系统格式码编码的步骤为
(1 )将信息多项式M(x)左移r=n-k位,即M(x)乘以xn-k 得xn-kM(x) ;
(2 )将xn-kM(x)除以生成多项式g(x),得余式r(x) 。r(x)为CRC校验码多项式,对应r位监督码元;
(3 )码字C(x)= xn-kM(x)+ r(x)。
CRC检错码的检错能力与其生成多项式g(x)密切相关。(n,k)循环码的生成多项式g(x)的一般形式为:
g(x)= xn-k+ gn-k-1xn-k-1 +…+g1x +1
式中gi——生成多项式的系数,为0或1。注意:g(x)的首
文档评论(0)