海明码(汉明码)

海明不等式:2^r>=k+r+1;

r为冗余信息位,k为信息位;

例子:有数据D=101101,可知数据的位数K=6;

根据不等式可知r=4,即海明码位数6+4=10;

==》

二进制0001001000110100010101100111100010011010
X1X2D1X3D2D3D4X4D5D6
101101

如何插入4位校验码?

按照2的多少次方来定,如2^0,2^1,2^2,2^3,即应当插入在,1,2,4,8位。

求检验码的值,进行分组异或来确定,怎么分组呢?二进制相同位置的数位“1”为一组,这里就是

X1,D1,D2,D4,D5为一组,令五个数异或为0可得X1=0;也可这样想:令这五个数中“1”的个数为偶数个,也可得到X1=0;

以此类推,==> X2=0,X3=0,X4=1.

则海明码为:0010011101 

纠错:

假设第五位出错,则接收的数据:0010111101

令之前的4的分组再次异或:

1.X1,D1,D2,D4,D5异或结果为1;

2、0

3、1

4、0

倒过来就是0101,即出错位就是第五位,取反即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值