1、循环校验码(CRC码):
是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
2、生成CRC码的基本原理:
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。
标准CRC生成多项式如下表:
名称 |
生成多项式 |
简记式* |
标准引用 |
CRC-4 |
x4+x+1 |
3 |
ITU G.704 |
CRC-8 |
x8+x5+x4+1 |
0x31 |
|
CRC-8 |
x8+x2+x1+1 |
0x07 |
|
CRC-8 |
x8+x6+x4+x3+x2+x1 |
0x5E |
|
CRC-12 |
x12+x11+x3+x+1 |
80F |
|
CRC-16 |
x16+x15+x2+1 |
8005 |
IBM SDLC |
CRC16-CCITT |