1. 利用海明码纠正单位错,如果有6位信息位,则需要加入()位冗余位。
A 2
B 3
C 4
D 5
分析:
海明码需要满足一个基本条件:
冗余位数量 r 要使得下面这个不等式成立:
2r(2的r次方)≥m+r+1
其中:
m 是信息位数量(题目给的是 6 位)
r是冗余位数量
咱们代进去试试看:
m=6
试探一下:
r = 2:
2的2次方=4<6+2+1=9(不行)
r = 3:
2的3次方=8<6+3+1=10(还是不行)
r = 4:
2的4次方=16≥6+4+1=11(可以了!)
2. 循环冗余校验码(Cyc1ic Redundancy Check,CRC)是数据通信领域中最常用的一种差错校验码,该校验法中,使用多项式除法(模2除法)运算后的余数为校验字段。若数据信息为n位,则将其左移k位后,被长度为k+1位的生成多项式相除,所得的k位余数即构成k个校验位,构成n+k位编码。若数据信息为1100,生成多项式为X3+X+(即1011),则CRC编码是()。
A 1100010
B 1011010
C 1100011
D 1011110
分析:
已知:
数据信息:1100 (共4位,n=4)
生成多项式:X³ + X + 1 → 二进制为 1011(共4位,对应k=3)
所以:我们将数据左移3位(即后面补3个0)得到 1100000
步骤1:模2除法(不进位的除法)
我们要做的是:
对 1100000 除以 1011(即生成多项式),取余数。
模2除法(手动来):
1011 )1100000 第一步:看前4位 -> 1100 1100 ⊕ 1011 = 0111 (异或运算) 带下一个0,得到 1110 1110 ⊕ 1011 = 0101 带下一个0,得到 1010 1010 ⊕ 1011 = 0001 带下最后一个0,得到 010 (注意被除数位数小于除数,不再除) 最终余数:**010**
步骤2:将余数作为校验位,拼接到原始数据后面:
原始数据:1100
余数(校验位):010
所以最终的 CRC编码 为:1100010
3. 海明码利用奇偶性检错和纠错,通过在n个数据之间插入k个检验位,扩大数据编码的码距。若n=32,则k应为()。
A 4
B 5
C 6
D 7
分析:【海明码检验位数量公式】 2的k次方≥n+k+1
其中:
n=32(信息位)
k 是我们要求的冗余位(检验位)
代入计算,暴力尝试即可:
尝试 k = 4:
2的4次方=16<32+4+1=37❌
尝试 k = 5:
2的5次方=32<37❌
尝试 k = 6:
2的6次方=64≥39✅
已经满足条件!
4. 使用海明码对长度为8位的数据进行检错和纠错时,若能纠正一位错,则校验位至少为()。
A 3
B 4
C 5
D 6
分析:设校验位的位数为k,数据位的位数为n,海明码能纠正一位错应满足关系2^k>=n+k+1,n=8,当k=4时,2^4>8+4+1,符合要求,所以校验位至少为4。
5. 已知数据信息为32位,最少应附加()位校验位,才能实现海明码纠错。同时想要实现校验,海明码的码距至少为()。请回答第一个问题
A 3
B 4
C 5
D 6
分析:2^r ≥ r + k + 1
6. 已知数据信息为32位,最少应附加()位校验位,才能实现海明码纠错。同时想要实现校验,海明码的码距至少为()。请回答第二个问题
A 2
B 3
C 1
D 没有要求
分析:在一个码组内,要检测e个误码,要求的最小码距应该满足:d>=e+1;在一个码组内,要纠正t个误码,要求的最小码距应该满足:d>=2t+1;同时纠错检错:d>=e+t+1
7. 海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个检验位,扩大数据编码的码距。若n=32,则k应该为()。
A 3
B 4
C 5
D 6
分析:设校验位的位数为k,数据位的位数为n,海明码能纠正一位错应满足关系2^k>=n+k+1,n=32,当k=6时
2^6>32+6+1,符合要求,所以校验位至少为6。
8. 循环冗余校验码(CRC)利用生成多项式进行编码。设数据位为n,校验位为k位,则CRC码的格式为()。
A k个校验位按照指定间隔位与n个数据位混淆
B k个校验位之后跟n个数据位混淆
C n个数据位之后跟k个校验位
D k个校验位等间隔的放入n个数据位中
分析:
🧠 基本原理回顾:
CRC 的编码过程是这样的:
原始数据位 n:记作一个二进制串 D
附加 k 个 0 到数据后面(相当于乘以 2k2^k2k)
用生成多项式 G(x) 对这个新串(长度为 n+k)做模 2 除法
得到的 余数 R 是 CRC 校验码,长度为 k 位
最终发送的是:原始数据位 D + 校验位 R
简答题:
9. 哪种校验码采用模2运算?
答:循环冗余校验码(CRC)
分析:
因为 CRC 编码的本质,就是把数据多项式和生成多项式 在 GF(2)(即模2域)上进行模 2 除法,这里的除法全程使用的是 异或(XOR) 操作:
加法 = 异或(XOR)
减法 = 异或(XOR)
没有进位,没有借位,全是“0变1,1变0”的纯异或操作
10. 对于海明码,设数据位n位,校验位是k位,则n和k必须满足的关系式是?
答:设数据位是n位,校验位是K位,则n和k必须满足以下关系:2^K>n+k+1
分析:设数据位是n位,校验位是K位,则n和k必须满足以下关系:2^K>n+k+1