汉明码计算及其纠错原理详解

  当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,由Bell 实验室的R.W.Hamming 发明,因此定名为汉明码。

  汉明码(Hamming Code),是在电信领域的一种线性调试码,以发明者理查德卫斯里汉明的名字命名。汉明码在传输的消息流中插入验证码,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。其SECDED (single error correction, double error detection)版本另外加入一检测比特,可以侦测两个或以下同时发生的比特错误,并能够更正单一比特的错误。因此,当发送端与接收端的比特样式的汉明距离(Hamming distance)小于或等于1时(仅有1 bit发生错误),可实现可靠的通信。相对的,简单的奇偶检验码除了不能纠正错误之外,也只能侦测出奇数个的错误。

  在数学方面,汉明码是一种二元线性码。对于每一个整数,存在一个编码,带有个奇偶校验位个数据位。该奇偶检验矩阵的汉明码是通过列出所有米栏的长度是两两独立。

  设:m=数据位数,k=校验位数为,n=总编码位数=m+k,有Hamming不等式:

  a) 总数据长度为N,如果每一位数据是否错误都要记录,就需要N位来存储。

  依照此前的汉明码不等式计算出,当数据位为4位时,汉明码校验位至少为3位,如上方式排列

  小解释:数据位共4位每行等式都缺少一位,而缺少的这位数据位正好是DX,等式左边的校验位为PY,X=2y.

  从高到低排列的二进制数:P3 P2 P1表示的就是出错的编码位,从-110-111共5种组合,可表示原数据位D8D4D2D1某一位错&没错的一共5种状态。

  我发现,很多人认为伟大的科学都是因为运气,emm……想想爱因斯坦吧,他发现了那么多伟大的理论,难道都….

  按照表中的规定可知,仅当一个错码位置在a2,a4,a5或a6时校正子S1为1,否则S1为0。这就意味….

  .简而言之,所有校验位覆盖了数据位置和该校验位位置的二进制与的值不为0的数。 采用奇校验还是偶校验都….

  汉明码,汉明码是什么意思 汉明码是一种能够纠正单个错误的线性分组码。它有以下特点: (1)最小….

  在简要介绍汉明码编码原理的基础上,详细分析干扰对汉明码纠错的影响;通过对汉明码重新组织排列,在不增加….

发表评论

电子邮件地址不会被公开。 必填项已用*标注