学习笔记之——汉明码(Hamming Code)

 

 

差错控制编码

在通信系统中,信道通常是非理想的。信号经过信道时,一方面会受到噪声的干扰;另一方面,信道本身可能产生的复杂衰落变化也会对信号造成影响。这两种因素通常导致接收出现误码。

故此,在一个实际的数字通信系统中,应有某些措施将一个非理想的物理信道,改造成没有误码或可将误码控制到可接受范围的逻辑信道。这些措施中的基本手段,就是所谓的差错控制编码

差错控制的基本思想是在信息序列中加入进行差错控制所需的监督位,使信息序列与监督位构成某种关联关系。一旦传输过程中发生错误,这种关联关系就会被破坏,据此可以发现错误。监督位对于接收端来说,仅用于差错控制,不包含信源的信息,从这个意义上来说,监督位是冗余的成分。

与信源编码的区别:

信源编码主要作用时根据信源本身的统计特性和特定的应用要求等,通过有损或无损的压缩变换,减少传输的数据量,提高通信效率。

而差错控制编码,则是在待传输的码序列中建立某种关联关系,如果在传输过程中发生了错误,这种约束关系就会受到破坏,接收端可以据此检测在传输过程中是否出现了错误。而要建立这种关联关系,必须在待传输的序列中加入不包含信息的“冗余”码作为监督位。而差错控制编码理论,就是研究如何有效地建立这种官渡关系的。

分类:

1、检错重发。只具备检错功能的编码算法。如果有错就重新发送(只适合于有反向传输信道的场合)

2、前向纠错。通过较为复杂的编码译码算法,使接收端不仅能检测出错误,而且定位出码字中错误的位置并加以纠正。

3、混合差错控制。前向纠错编码算法。

 

Hamming Code

汉明码(Hamming Code),是在电信领域的一种线性调试码,以发明者理查德·卫斯里·汉明的名字命名。汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。

在线下分组码中,汉明码就是一种高效码。

汉明码的实现原则是在原来的数据的插入k位数据作为校验位,把原来的N为数据变为m(m = n +k)位编码。其中编码时要满足以下原则:

2^k - 1 >= m 其中(m = n + k)

这就是Hamming不等式,汉明码规定,我们所得到的m位编码的2^k ( k>=0 && 2^k < m)位上插入特殊的校验码,其余位把源码按顺序放置

 

 

 

 

 

 

参考资料

https://www.cnblogs.com/Philip-Tell-Truth/p/6669854.html

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值