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

 

 

差错控制编码

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

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

差错控制的基本思想。。。。。。。。。。。。。。。。。。。。。。。。。。。

与信源编码的区别:

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

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

分类:

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

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

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

 

Hamming Code

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

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

学习笔记之——汉明码(Hamming Code)_第1张图片

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

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

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

学习笔记之——汉明码(Hamming Code)_第2张图片

 

 

 

 

 

 

参考资料

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

 

 

 

 

你可能感兴趣的:(通信技术)