已知 4 位有效信息为 1010, 试根据下列要求进行编码。
按配偶原则将其编码为扩展的海明码, 要求能发现两位错并纠正一位错。
(1) 题目要求能够发现两位错并纠正一位错, 故需要在海明码的基础上增加 1 位全局的奇偶校验位, 此时的编码方式称为“扩展的海明码”。
普通海明码编码计算如下: 首先计算所需校验位的位数 k, 根据 2 k ≥4+k+1, 可知应取 3 位校验位, 数据位与校验位的位置安排如下:
表 2-5
| 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| D3 | D2 | D1 | C4 | D0 | C2 | C1 |
| 1 | 0 | 1 | 0 |
各校验位的数值计算如下:
C1 校验的比特位包含 1、 3、 5、 7 位, 按配偶原则:
C1=0⊕1⊕1=0;
C2 校验的比特位包含 2、 3、 6、 7 位, 按配偶原则:
C2=0⊕0⊕1=1;
C4 校验的比特位包含 4、 5、 6、 7 位, 按配偶原则:
C4=1⊕0⊕1=0;
故, 将有效信息 1010 编码扩展的海明码为 11010010。
将其编码为循环冗余校验码, 生成多项式 G(x) =1011。
将待编码的有效信息 1010 表示为多项式 M(x): M(x) =x3 +x=1010。 由于生成多项式 G(x) 为 4位, 故将 M(x) 左移 3 位, 得 M(x) ×x3,目的是空出 3 位, 以便拼装余数(校验位):
M(x)×x3=x6+x4=1010000;
用 M(x) ×x3模 2 除生成多项式 G(x):
