[发明专利]一种获得CRC码的方法及装置有效
申请号: | 201910019439.1 | 申请日: | 2019-01-09 |
公开(公告)号: | CN111431541B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 山珊;李丹妮 | 申请(专利权)人: | 电信科学技术研究院有限公司 |
主分类号: | H03M13/09 | 分类号: | H03M13/09;H04L1/00 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 张恺宁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获得 crc 方法 装置 | ||
本申请提供一种获得CRC码的方法及装置,用于减少并行计算多比特数据的CRC码过程中占用的内存空间。该方法包括:按照目标比特数量,将待处理数据依次分成N个数据切片;将第i数据切片与CRC寄存器中的当前值进行异或运算,得到第i异或运算结果;对第i异或运算结果进行处理,获得满足第一条件的H个子切片;根据预存的余式表,获得第i异或运算结果的H个CRC余式;若N为1,则根据第i异或运算结果的H个子切片进行异或运算,获得待处理数据的CRC码;若N大于1,则根据第i异或运算结果的H个CRC余式,以及N个数据切片中除了第i数据切片之外的数据切片,获得待处理数据的CRC码。
技术领域
本申请涉及通信技术领域,尤其涉及一种获得CRC码的方法及装置。
背景技术
循环冗余校验(cyclic redundancy check,CRC)是一种常用的数据校验方法。CRC校验的基本思想是利用线性码原理,源端对需要进行传输的待处理数据按照一定的规则处理,获得CRC码,并将CRC码附加在待处理数据后面,形成包括CRC码的待处理数据,最后将该包括CRC码的待处理数据发送给宿端。宿端收到包括CRC码的待处理数据后,可以根据CRC码校验待处理数据在传送过程中是否发生错误。现有计算CRC码的方式包括查表法。
查表法的思路是:提前将各种可能的数据对应的CRC余式存储在余式表中。先将待处理数据的高M比特(bit)存入寄存器,从余式表中获得对应的CRC余式(M表示并行处理的目标比特数量),将寄存器中的高M个bit移出更新为低M个bit,CRC余式和更新后的寄存器进行异或,异或结果存入寄存器的高Mbit,依次类推,一直到待处理数据处理完成,从而获得待处理数据的CRC码。
查表法可以相对快速地获得待处理数据对应的CRC码,但是如果需要计算k个bit的待处理数据的CRC码,需要将k位二进制序列数从0~2M-1的CRC余式全部计算出来,则对应需要存储2M个余式表。如果M取值较大时,则需要存储的余式表较多,占用的内存空间较大。
发明内容
本申请提供一种获得CRC码的方法及装置,用于减少并行计算多比特数据的CRC码过程中占用的内存空间。
第一方面,提供一种获得循环冗余校验CRC码的方法,应用于获得CRC的装置中,所述获得CRC的装置包括CRC寄存器,所述方法包括:
按照目标比特数量,将待处理数据依次分成N个数据切片;其中,所述N个数据切片中的每个数据切片的比特数量与所述目标比特数量均为M,N为正整数;
将第i数据切片与所述CRC寄存器中的当前值进行异或运算,得到第i异或运算结果,所述N个数据切片包括第i数据切片,i为大于或等于1且小于N的正整数;
对所述第i异或运算结果进行划分以及补0操作,获得满足第一条件的H个子切片;其中,M能被H整除,所述第一条件为H个子切片的比特数量依次递减M/H个比特,且H个子切片中所有子切片的有效净荷比特数量均相同,有效净荷比特数量是指所述每个子切片中补0之前的比特数量,H大于或等于2;
根据预存的余式表,获得所述第i异或运算结果的H个子切片中的每个子切片对应的CRC余式,从而获得所述第i异或运算结果的H个CRC余式;
若N为1,则根据所述第i异或运算结果的H个子切片进行异或运算,获得所述待处理数据的CRC码;
若N大于1,则根据所述第i异或运算结果的H个CRC余式,以及所述N个数据切片中除了所述第i数据切片之外的数据切片,获得所述待处理数据的CRC码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电信科学技术研究院有限公司,未经电信科学技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910019439.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多光束光掩膜板曝光系统
- 下一篇:旋转机械设备的技术状态评估方法
- 同类专利
- 专利分类