[发明专利]循环冗余校验码的生成方法和装置有效
申请号: | 201710303212.0 | 申请日: | 2017-05-03 |
公开(公告)号: | CN108809323B | 公开(公告)日: | 2021-10-19 |
发明(设计)人: | 张永伟 | 申请(专利权)人: | 成都鼎桥通信技术有限公司 |
主分类号: | H03M13/03 | 分类号: | H03M13/03;H03M13/09 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 孙清然;王琦 |
地址: | 610041 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环 冗余 校验码 生成 方法 装置 | ||
本申请公开了一种循环冗余校验码的生成方法和装置,其中方法包括:将预设的生成多项式G(X)转换成二进制码G(n);将待生成循环冗余校验码的信息M(X)转换成二进制码M(k);其中,n=0,1,……,N;k=0,1,……,K‑1;N为G(X)的阶数,K为M(k)的位数;根据所述M(k)和所述G(n),利用预设的反馈移位寄存器组,采用逐次移位的方法,计算M(k)*XN模2除以G(n)的余数,将所述余数作为所述M(k)的循环冗余校验码;其中,所述反馈移位寄存器组按照Q(i‑1)=G(0)*Q(i‑1)*X‑N+G(1)*Q(i‑1)*X‑(N‑1)+……+G(N‑1)*Q(i‑1)*X‑1+M(i‑1)+G(N)构建得到;所述Q(i‑1)表示第i‑1次移位相除的商,所述+表示模2加运算符号,所述*表示乘运算符号,X‑n表示逻辑右移n次的符号,i=1,……,K。采用本发明,可以节约计算开销、有效提高CRC的生成效率。
技术领域
本发明涉及移动通信技术,特别是涉及一种循环冗余校验码(Cyclic RedundancyCheck,CRC)的生成方法和装置。
背景技术
循环冗余校验码是数据通信领域中最常用为一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。在发送时,发送方根据CRC生成多项式,计算得到发送数据的CRC校验码,并将该CRC校验码附在发送数据的后面发送出去。在接收时,接收方同样根据CRC生成多项式,计算得到接收数据的CRC校验码,并与接收到的CRC校验码进行比较,以检测数据传输的正确性。具体地,生成CRC校验码的二进制多项式定义如下:
M(X)*XN=G(X)*Q(X)+R(X)。
其中:M(X)为信息多项式,G(X)为生成多项式,N为G(X)的阶数,Q(X)为商,R(X)为余数。
根据上面的公式,用M(X)*XN除以生成多项式G(X),得到余数R(X),那么R(X)即定义为CRC校验码。需要说明的是,这里进行除法操作过程中,在循环相减时位与位之间使用模2减法的运算规则:1-1=0,1-0=1,0-1=1,0-0=0,在相减时,不需要判断二者之间的大小,无进位,也无借位。
为了便于对CRC校验码的实现机制的理解,下面对二进制数码与多项式之间的对应关系进行详细说明:
多项式的各幂次对应二进制数码的各位,多项式每个幂次的系数等于二进制数码相应位的二进制数字。如生成多项式G(X)=X4+X3+1,G(X)的最高幂次为N=4,那么其对应的二进制数码G(n)=11001,G(n)的位数则为N+1=5。
基于上述原理,传统的CRC校验码的生成过程包括如下步骤:
步骤101、产生生成多项式G(X)对应的二进制码G(n),n=[0,1,2,...,N],N为G(X)的阶数。
步骤102、产生信息多项式M(X)对应的二进制码M(k),k=[0,1,2,...,K-1],K为M(k)的位数。
步骤103、生成M(X)*XN对应的二进制码,设M′(k)=M(k)*XN,M′(k)即是在M(k)的后面添加N个零得到的二进制码。
步骤104、用M′(k)模2除以G(n),得到的余数即是CRC校验码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都鼎桥通信技术有限公司,未经成都鼎桥通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710303212.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种独立式键盘扫描及编码方法
- 下一篇:LDPC译码方法
- 同类专利
- 专利分类