[发明专利]一种非整字节数据的循环冗余校验算法有效
申请号: | 201310246949.5 | 申请日: | 2013-06-20 |
公开(公告)号: | CN103297196A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 杨尚胜 | 申请(专利权)人: | 成都国星通信有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 611730 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字节 数据 循环 冗余 校验 算法 | ||
1.一种非整字节数据的循环冗余校验算法,CRC数学本质是对传输信息多项式对CRC生成多项式求余,CRC16的生成多项式为:G(x)=x16+x12+x5+1,其计算方法为:将16个0添加到S(x)的后面,也就是S(x)=r16×S(x),其中r=2为二进制多项式操作的基,然后S(x)对生成多项式G(x)做除法运算,即进行逻辑异或操作,最后得到除法的余数部分,即为CRC16,简称为Creg,而商部分简称M(x),其特征在于:其包括以下步骤:
S1:假设Sm对应的CRC16值为Creg,由定义,则:
R2*Sm=M(x)*G(x)+Creg (式2)
S2:在Sm后增加n位不足一个字节信息位,组成一个新的二进制多项式S'm,计算S'm的CRC16,其包括以下步骤:
S201:在Sm后增加n位不足一个字节信息位,组成一个新的二进制多项式S'm,
S'm=rn*Sm+Bn (式3)
Bn表示n位二进制多项式,其中高位在前,低位在后。
S202:对S'm进行增加16个0操作保证余数直接就是数据流的CRC16结果,得:
R2*S'm=R2*(rn*Sm+Bn)=rn*(R2*Sm)+R2*Bn (式4)
将式2替代进式4得:
R2*S'm=rn*(M(x)*G(x)+Creg)+R2*Bn
=(rn*M(x)*G(x))+rn*Creg+R2*Bn (式5)
令CH表示Creg的高n位,CL表示Creg低(16-n)位,
Creg=r(16-n)*CH+CL (式6)
将式6代入式5得:
R2*S'm=(rn*M(x)*G(x))+R2*CH+rn*CL+R2*Bn (式7)
=(rn*M(x)*G(x))+R2*(CH+Bn)+rn*CL
由CRC定义知:(rn*M(x)*G(x))Mod(G(x))≡0 (式8)
由逻辑抑或操作的结合性,式7以及式8得:
(R2*S'm)Mod(G(x))=Crc16_Table[CH+Bn]+rn*CL (式9)
即:
S3:由式10可知,计算当前数据的CRC16分两步完成,具体步骤如下;
S301:将上一字节的CRC16值的高n位CH和Bn相异或,异或结果作为下标查表得到Crc16_Table[(CH+Bn)];
S302:将上一字节的CRC16的低(16-n)位左移n位后与查表值Crc16_Table[(CH+Bn)]相异或。
S4:计算任意长度字节的CRC16,其包括以下步骤:
S401:取数据流的第一字节S0作为下标查表Crc16_Table[S0]得到S0的当前CRC16值;
S402:按照顺序将所有可以按字节处理的部分按照字节完成CRC16计算;
S403:取n为剩余数据的实际比特数代入式10,完成剩余不足字节部分CRC16的计算;
S404:结合S401、S402和S403得到的当前CRC16值、按照字节计算的CRC结果和不足字节部分CRC结果得到整个数据的CRC16结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都国星通信有限公司,未经成都国星通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310246949.5/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置