2.10-2.21CRC校验码、海明校验码

例:求信息码1011的海明码。

1.确认校验位数。由2^K≥N+K+1(其中N为信息码的位数,K为校验码的位数,例题中N为4位),得校验码的位数为K=3。

2.列表。校验码在二进制串中的位置为2^n(n=0,1,2...)。剩下的位置为数据。

7654321位置
111110101100011010001位置(B)
1011信息位
k3k2k1校验位

3.计算。

k3所在的位置是4,即100(B),那么找到形如1**的位置的,7、6、5即111、110、101。将他们的信息位异或处理。k3=1^0^1=0

同理k2(形如*1*)是7、6、3,k2=1^0^1=0,k1(形如**1)是7、5、3,k1=1^1^1=1

所以1011的海明码为1010101

4.检错。假设1010101的第3位发生错误变成了1010001

将所有1**、*1*、**1的位置分别异或。

1**:0^1^0^1=0

*1*:0^0^0^1=1

**1:1^0^1^1=1

出错位置是011,第三位。

例:选择多项式为1011(x^3+x+1),把4位有效信息位1100编成CRC码。

1.把信息位补K个0以便拼装K位个余数。(K=多项式的最高次幂)

1100000

2.计算

1100000/1011=1110------010(异或除法)

3.拼装

把余数010拼装到信息位后面。1100010

所以CRC码是1100010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值