文章目录
一、CRC校验的基本原理
1、增加冗余码(校验位)
有效信息(k位) | 校验信息(r位) |
---|
N = k + r ≤ 2 r − 1 N = k + r \leq 2^r - 1 N=k+r≤2r−1
2、生成多项式G(x)
收到双方约定的一个 r + 1 r + 1 r+1 位二进制数,发送方利用 G ( x ) G(x) G(x) 对信息多项式做模 2 2 2 除运算,生成校验码。接收方利用 G ( x ) G(x) G(x) 对收到的编码多项式做模 2 2 2 除运算检测差错及错误定位。
3、G(x) 应满足的条件
(1)最高位和最低位必须为 1 1 1
(2)当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为 0 0 0
(3)不同位发生错误时,模 2 2 2 除运算后余数不同
(4)对不为 0 0 0 余数继续进行模 2 2 2 除运算应使余数循环
(5)常见生成多项式 G ( x ) G(x) G(x) :
N | K | 码距d | G(x)多项式 | G(x) |
---|---|---|---|---|
7 | 4 | 3 | x 3 + x + 1 x^3 + x + 1 x3+x+1 | 1011 |
7 | 4 | 3 | x 3 + x 2 + 1 x^3 + x^2 + 1 x3+x2+1 | 1101 |
7 | 3 | 4 | x 4 + x 3 + x 2 + 1 x^4 + x^3 + x^2 + 1 x4+x3+x2+1 | 11101 |
7 | 3 | 4 | x 4 + x 2 + x + 1 x^4 + x^2 + x + 1 x4+x2+x+1 | 10111 |
15 | 11 | 3 | x 4 + x 1 + 1 x^4 + x^1 + 1 x4+x1+1 | 10011 |
15 | 7 | 5 | x 8 + x 7 + x 6 + x 4 + 1 x^8 + x^7 + x^6 + x^4 + 1 x8+x7+x6+x4+1 | 111010001 |
31 | 26 | 3 | x 5 + x 2 + 1 x^5 + x^2 + 1 x5+ |