循环冗余校验原理循环冗余校验思想( CRC ): ?在K位信息码后再拼接 R位的校验码,整个编码长度为 N位,因此,这种编码又称为( N,K )码。?对于一个给定的( N,K )码,可以证明存在一个最高次幂为 R=N-K 的多项式 G(X), 根据 G(X) 可以生成 K位信息的校验码。 G(X) 称为这个 CRC 的生成多项式。 1、 CRC 校验码的生成过程?假设发送信息用信息多项式 C(X) 表示,将 C(X) 左移 R位,则可表示 C(X) ×2,这样 C(X) 的右边就会空出 R位,这就是校验码的位置, 通过 C(X) ×2除以生成多项式 G(X) 得到的余数就是校验码。?多项式和二进制数有直接对应关系:二进制数的最高位对应 X的最高次幂,以后的对应多项式的各幂次,有此幂次项对应 1,无此幂次项对应 0。由此可以看出: X 的最高次幂为 R,转换成对应的二进制数有 R+1 位。例如:生成多项式为 G(X)=X ?+X3 +X+1, 可转换为二进制数为 11011 。发送信息为 1111 ,可转换成数据多项式 C(X)= X 3 +X2 +X+1. 这里生成多项式是接收方和发送方的一个约定,即一个二进制数,在整个传输过程中,这个数始终保持不变。发送方利用生成多项式与信息多项式做模2除生成校验码。接收方利用生成多项式对收到的编码多项式做模 2除检测和确定错误位置。 2、 CRC 纠错?在接收方收到 CRC 码后用生成多项式 G(X) 做模 2除,若得到余数为 0,则码字没有错;若有一位出错,余数不为 0,而且不同位出错,其余数也不同。?余数与出错位的对应关系只与码制及生成多项式有关,而与
循环冗余校验原理 来自淘豆网www.taodocs.com转载请标明出处.