海明码之编码方法

对于循环汉明码还是比较熟悉的,但是海明码是什么鬼?不急,博客上有许多讲解这个的。
参考:
http://blog.csdn.net/yudandan10/article/details/11878421
类比循环码的特点(不熟悉的一定要去复习下)。
对于k位的信息位,如果要有纠正一位误码的能力,必须满足
2^r-1>k+r(减一是r位校验位为零是没有意义的~)
举例,对于k=8,原码:10101111至少需要校验位的位数r=4。
1.这样就确定了海明码的码长n=r+k,我们目前n=12;

2.接下来确定校验位是如何放的~

这里写图片描述
P1-P4都是校验位其他照着要校验的码直接按顺序填写即可
3.信息位和校验位的位置确定后,那么问题就剩下校验位怎么产生的了
要想校验第几位 (i) 那么i就等于校验位所在位号的和 举个简单的例子,加入我要校验第3位,那么3=1+2 也就是3 由第一个和第二个校验位来校验,照这样的算法,以此类推,我们就可以知道每个位置都需要哪个校验位来校验了 。(一般从大号往小号取,比如6=4+2,不能搞个1+1+1+1+1+1)
这里写图片描述
通过对占用的校验号统计,我们知道P1-P4分别是那些校验后位号的奇偶校验和。
No.1 bit has parity collection: 1,3,5,7,9,11 (即P1由3,5,7,9,11这些位异或而得,后面的也是如此)

No.2 bit has parity collection: 2、3、6、7、10、11

No.4 bit has parity collection: 4、5、6、7、12

No.8 bit has parity collection: 8、9、10、11、12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值