循环冗余校验(CRC) 口CRC是一种多项式编码,它将位串看成是某个一元多项式 的系数,如101看成是一元多项式X3+X+1的系数。 口信息多项式Mx):由m个信息比特为系数构成的多项式 冗余多项式R(x):由r个冗余比特为系数构成的多项式 口码多项式T(x):在m个信息比特后加上r个冗余比特构成的 码字所对应的多项式,表达式为Ⅳx)=xMx)+R(x) 口生成多项式G(x):双方确定用来计算R(x)的一个多项式 口编码方法:R(x)=xM(x)÷G(x)的余式 口检验方法:若T(x)÷G(x)的余式为0,判定传输正确 口CRC码检错能力极强,可用硬件实现,是应用最广泛的检 错码
循环冗余校验(CRC) CRC是一种多项式编码,它将位串看成是某个一元多项式 的系数,如1011看成是一元多项式X3 + X + 1的系数。 信息多项式M(x):由m个信息比特为系数构成的多项式 冗余多项式R(x):由r个冗余比特为系数构成的多项式 码多项式T(x):在m个信息比特后加上r个冗余比特构成的 码字所对应的多项式,表达式为T(x) = x r·M(x) + R(x) 生成多项式G(x):双方确定用来计算R(x)的一个多项式 编码方法:R(x) = x r·M(x) ÷ G(x) 的余式 检验方法:若T(x) ÷G(x)的余式为0,判定传输正确 CRC码检错能力极强,可用硬件实现,是应用最广泛的检 错码
CRC生成多项式标准 ■四个多项式已成为国际标准 O CRC-12 x12+x11+x3+x2+x O CRC-16 16+x15+x2+1 O CRC-CCITT =16+x12 +x5+1 O CRC-32 ■硬件实现CRC校验 o网卡NTc( Network工 nterface Card)
CRC生成多项式标准 ◼ 四个多项式已成为国际标准 CRC-12 = x12 + x11 + x3 + x2 + x + 1 CRC-16 = x16 + x15 + x2 + 1 CRC-CCITT = x16 + x12 + x5 + 1 CRC-32 ◼ 硬件实现CRC校验 网卡NIC(Network Interface Card)
循环码性质 (1)由任何多于一项的生成多项式g(x)产生的循 环码能够检测所有单个错误; (2)每个被(1+x)除尽的多项式都具有偶数项。 若生成多项式g(x)具有偶数项,则由它产生 的编码就能检测所有奇数个错误; (3若码长n不大于生成多项式g(x)的指数e(即 n≤e),则由g(x)产生的码能够检测所有单 个和两个错码 g(x)的指数e:e是使g(x)能除尽x°+1的最小 正整数;
循环码性质 ⑴由任何多于一项的生成多项式g(x)产生的循 环码能够检测所有单个错误; ⑵每个被(1+x)除尽的多项式都具有偶数项。 若生成多项式g(x)具有偶数项,则由它产生 的编码就能检测所有奇数个错误; ⑶若码长n不大于生成多项式g(x)的指数e(即 n≤e),则由g(x)产生的码能够检测所有单 个和两个错码; g(x)的指数e:e是使g(x)能除尽x e+1的最小 正整数;
循环码性质 (4)若码长n不大于g1(x)的指数,则由生成多项 式g(x)=(x+1)g1(x)产生的码能检测所有单个 、两个及三个错误 (5)由(n-m)次多项式产生的任一循环码,能检 测所有长度不超过(mm)的突发错误 ()长度为b(n-m)的突发错误中: 若b=n-m+1,则不能检测部分占2(nm-1); 若bn-m+1,则不能检测部分占2mm)
循环码性质 ⑷若码长n不大于g1(x)的指数,则由生成多项 式g(x)=(x+1)g1(x)产生的码能检测所有单个 、两个及三个错误; ⑸由(n-m)次多项式产生的任一循环码,能检 测所有长度不超过(n-m)的突发错误; ⑹ 长度为b>(n-m)的突发错误中: 若b=n-m+1,则不能检测部分占2 -(n-m-1) ; 若b>n-m+1,则不能检测部分占2 -(n-m)
循环码性质示例 CRC-16、CRC- CCITT可以检测所有单个错码( 性质1);奇数个错码(性质2);2个错码(性质 3);长度不大于16的突发错码(性质5): 99997%[=(1-215)长为17的突发错码、 99998%[=(1-216)]更长的突发错码(性质6) Note: 17n-m+1=16+1 15=n-m-1=16-1 16=n-m=16
循环码性质示例 CRC-16、CRC-CCITT可以检测所有单个错码( 性质1);奇数个错码(性质2);2个错码(性质 3);长度不大于16的突发错码(性质5); 99.997%[=(1-2-15)]长为17的突发错码、 99.998%[=(1-2-16)] 更长的突发错码(性质6) Note: 17=n-m+1=16+1 15=n-m-1=16-1 16=n-m=16