循环冗余码(CRC)及计算方法 循环冗余校验码怎么算?
循环冗余校验码怎么算?循环冗余校验码的计算方法:CRC(cyclic redundancy)循环冗余校验码(cyclic redundancy check,CRC)是一种常用的校验码,在早期通信中得到
循环冗余校验码怎么算?
循环冗余校验码的计算方法:CRC(cyclic redundancy)循环冗余校验码(cyclic redundancy check,CRC)是一种常用的校验码,在早期通信中得到了广泛的应用。由于早期的通信技术是不可靠的(不可靠的来源是由通信技术决定的,如电磁波通信中雷电等因素的影响),不可靠的通信会带来“确认信息”的混乱。书中提到,红军和蓝军联手攻打山头的情况下,在敌人的情况下,红军向蓝军发出了第二天进攻的信息。蓝军收到消息后,发出了确认消息。但蓝军担心,如果“确认电文”不可靠,不能送达红军,岂不是很危险?于是红军又发了一条“求证电文”,但同样的问题解决不了,红军还是不敢贸然行动。
求循环冗余校验码的步骤?
信息代码:110信息多项式:K(x)=x2 x
生成代码:10011生成多项式:G(x)=X4 x 1(r=4)
解决方案:1)K(x)*X4的乘积为x6x5,对应代码为1100000。
2)产品g(x)(根据模块化二算法)。
结果显示冗余码为0101,码字为1100101。
****************************110←Q(x)
g(x)→10011)1100000←f(x)*XR
*******10011
*******10110
**********10011
***********************************************************************************************************
循环冗余码:0101
模2:
1-0-0=1]有效信息:m;
除数g(生成多项式)有:m/g=q R/g;
在这种情况下,可以选择R作为校验位,那么Mr是校验码。
校验原理:(M-R)/g=q 0/g
注:将收到的校验码除以约定的除数。如果余数为0,则可以认为接收到的数据是正确的。
示例:有效信息1101,生成多模式1011
循环校验码解决方案:
有效信息1101(k=4),即m(x)=X3 x2 x0,生成多项式1011(r1=4,即R=3);
即g(x)=X3 X1 x0,m(x)·X3=X6 X5 X3,即1101000(左移三位到1101);
m(x)·X3/g(x)=1101000/1011=1111001/1011,即1010的CRC为1101001。
计算如下: