什么是多项式码?


多项式码是一种线性码,其有效码字集由能被较短的固定多项式(称为生成多项式)整除的多项式组成。

它们用于数据传输和存储过程中的错误检测和纠正。

多项式码的类型

多项式码的类型包括:

  • 循环冗余校验码 (CRC)
  • 博斯-乔德赫里-霍克文海姆码 (BCH码)
  • 里德-所罗门码 (Reed–Solomon码)

用多项式表示比特串

码字(本质上是比特串)由系数为 0 或 1 的多项式表示。一个 k 位字由从 x0 到 xk-1 的多项式表示。此多项式的阶数是最高次项的幂,即 (k-1)。

例如,8 位字 11001101 由以下 7 阶多项式表示:

1x7 + 1x6 + 0x5 + 0x4 + 1x3 + 1x2 + 0x1 + 1x0 = x7 + x6 + x3 + x2 + 1

模 2 运算

多项式码运算采用模 2 算术。

  • **加法和减法:**根据有限域理论的规则,在模 2 算术中,加法和减法没有进位或借位。因此,这两个运算都与异或 (XOR) 运算相同。

操作数操作数模 2 加法模 2 减法
0000
0111
1011
1100

例如,如果存在两个字 11001011 和 10101111,则加法和减法都将得到结果 01100100。

  • **乘法:**

    模 2 乘法与与运算相同。

操作数操作数模 2 乘法
000
010
100
111

生成多项式

使用多项式码对消息进行编码时,会使用一个称为生成多项式 G(x) 的固定多项式。G(x) 的长度应小于它编码的消息的长度。

在 CRC 编码中,G(x) 的最高有效位 (MSB) 和最低有效位 (LSB) 位置都应为 1。在编码过程中,CRC 位附加到消息上,以便生成的帧可被 G(x) 整除。

更新于:2019年7月30日

3K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告