zoukankan      html  css  js  c++  java
  • 汉明码(海明码)计算方法

    汉明码是一种具有纠错功能的校验码.本文简单地介绍汉明码的计算方法.
    汉明码的目的是能够纠正一位误码.假设信息码共有 n 位,汉明码共有 r 位,那么总共的码长为 n + r 位.为能检测出 n + r 位编码中其中一位的错误,汉明码必须能够表示至少 n + r + 1 种状态,其中 n + r 种表示 n + r 位编码中有一位错误,另外还需要一种来表示整个编码正确无误.则汉明码的长度需要满足下列关系:
    2 r >= n + r + 1

    校验位的确定
    k个校验位是通过对m+k位复合码字进行奇偶校验而确定的。
    其中:P1位负责校验海明码的第1、3、5、7、…(P1、D1、D2、D4、…)位,(包括P1自己)
    P2负责校验海明码的第2、3、6、7、…(P2、D1、D3、D4、…)位,(包括P2自己)
    P3负责校验海明码的第4、5、6、7、…(P3、D2、D3、D4、…)位,(包括P3自己)
     
    3、5、7、9、11的二进制编码的第一位为1,所以3、5、7、9、11号位参加第一位校验位,
    类似:3、6、7、10、11号位参加2号位校验,5、6、7号位参加4号位校验,9、10、11号位参加8号位校验
     
    汉明码的纠错方式实际上是对传送后的汉明码形成新的检测位P 根据P的状态 直接找出错误
    因此可得到三个校验方程及确定校验位的三个公式:(根据规则进行校验 如果是配偶原则P=0 配奇原则P=1
    P1=B1⊕B3⊕B5⊕B7
    P2=B2⊕B3⊕B6⊕B7
    P3=B4⊕B5⊕B6⊕B7 
    例 唐 计原的一道例题
     
    注:汉明码常用来纠错一位的场合,若欲实现纠错2位,可以再增加一位就错位
  • 相关阅读:
    linux系统/var/log目录下的信息详解
    SQL 显示表名显示列名
    P2P平台介绍
    outlook署名最后一行没换行
    CSS3下的渐变文字效果实现
    SSH(poderosa)を使って、さくらのMySQLサーバーに接続する方法
    内网IP外网IP的关联及访问互联网原理
    自己吃的哑巴亏,怎么也要吞下去
    解决Ehcache缓存警告问题
    管理的艺术
  • 原文地址:https://www.cnblogs.com/attitudeY/p/6868899.html
Copyright © 2011-2022 走看看