- 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编码原理及应用
在数据传输中,通常把误码率作为通信质量的衡量标准,但误码率是一个整体的平均衡量,是一种长期的性能评估。不能提供特定代码源和码源组的源信度评估,也不能在短时间内对通信质量进行评估。一种常用的解决方法是将数据分组传输,每组码元采用称为帧校验序列(FCS,Frame Check Sequence)的差错控制编码进行编码/解码,从而获得具体每一帧的误码性能和置信度。
在帧校验序列的实现中,循环冗余校验码(CRC,Cyclic Redundancy Check Code)以其高效率、高性能获得了广泛应用,其中具有16个冗余比特的CRC编码进入了多个国际通信标准,本文的研究重点就是16位冗余CRC编码。常见的16位CRC多项式有两个:
CRC CCITT
g(x)=x16+x12+x5+1
=(x+1)(x15+x14+x13+x12+x4+x3+x2+x+1)
CRC ANSI
g(x)=x16+x15+x2+1=(x+1)(x15+x+1)
这两个多项式都由两部分组成,前部分是因式(x+1),可以提供具有差分运算的功能,后一部分是一个周期为215-1=32767的本原多项式,可以证明两个本原多项式的周期都是32767,即(x32767+1)mod(g(x))=0,生成多项式的组成和周期在很大程度上决定了CRC的性能。
1 编码性能的控制
CRC的基本原理在一般的通信教科书中都有较为详细的描述,这里只给出简单的数学描述,本文的目的是找出数学原理中和编码性能相关的部分,本文不考虑发送接收长度不相等的情况,实际应用中可以通过其他方法进行控制。为了推导方便全文设定下列符号:
1.1 编码程式的生成
CRC编码分析在GF(2)上进行,分析的工具是近世代数的多项式理论。基本过程如下:
设m(x)xr=p(x)g(x)+q(x),
p(x)为商式,q(x)为余式两边同时加余式q(x)
m(x)xr+q(x)=p(x)g(x)+q(x)+q(x)
=p(x)g(x)
令
s(x)=m(x)xr+q(x)=p(x)g(x)
显然
s(x) modg(x)=0,即发送编码多项式可以被生成多项式整除。如果传输中没有错误则r(x)=s(x),应有r(x)modg(x)=0。
很明显如果信息传输的过程中没有发生错误,则接收到的信息多项式一定可以被生成多项式整除,这就是CRC的检错原理。
值得注意的是这一命题的逆命题并不成立,也就是说接收到的信息多项式可以被生成多项式整除,并不代表信息在传输中没有发生错误,下文将对这一问题仔细分析。
1.2 crc编码的检错能力
CRC在本质上一种缩短循环码,是分组码的一种特例,同时由于编码后的前k位是信息,所以是一种系统循环码。因此当n小于2r-1时,除了不具有循环码的循环性外具有分组码和循环码的全部特性:
1)[n,k]循环码构成n维线性空间的一个k维子空间,在长度为n中2n个组和中仅有2k个组和属于码空间;
2)任意两个码字的和仍然是一个码字;
3)码的最小距离等于非零码的最小重量;
下面分析传输有错情况下的s(x)、r(x)和e(x)关系:
r(x)modg(x)=(s(x)+e(x)) modg(x)
=s(x)modg(x)+e(x) modg(x)
=e(x)modg(x),
由此可得到的结论:CRC编码的检错能力与信息码序列无关,只和差错序列有关。分析下列两种情况:
1)e(x)modg(x)≠0,CRC可以检出传输有错,通信系统一般采用ARQ机制进行重传:
2)e(x)modg(x)20,且e(x)≠0,CRC检错失效,产生漏检,可以看出此时的e(x)也属于一个码字,即r(x),s(x),c(x)都是合法的码字,这种情况下CRC就是失去了检错的能力。
推论1:当错误图样多项式e(x)是码空间的一个样本时,CRC无法检出错误,这时r(x)、s(x)和e(x)都是属于码空间的合法码字。
1.3 crc编码参数
1 1生成的矩阵和验证矩阵
由于RIC是循环码的一种特例,所以可以按照循环码用生成多项式g(x)的通用方法来生成CRC码的生成矩阵和校验矩阵。
2 编码的偶校验特性
码重分布是指一个[n,k]线性分组码的码字重量分组,它是计算各种错误概率的主要依据之一,也是研究码结构的重要窗口,通过它可以透彻地了解码的内部结构。
设Ai为[n,k]分组码中重量为i的码字数目,则集合{A0,A1,…,An}称为该分组码的重量分组。一般而言求出一个码组的算法复杂度是2k,属于一个NP完全问题。当Kn-k时就是信息位的数目大于校验位数目,可以求取对偶码的重量分布利用Mac-Willians恒等式获得,这样可以将算法复杂度降低到2n-k,在本文中提到的两种CRC方案里r=n-k=16,这种复杂度下可以利用计算
文档评论(0)