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位,可以再增加一位就错位
  • 相关阅读:
    K-Means++ 聚类之数据可视化:使用gnuplot
    QQ设计第1-5步
    QQ设计第1-5步
    为什么有很深的windows基础还是不能动摇linux半步
    常用命令
    在线会计_金蝶友商网
    XP使用VNC远程桌面CentOS 6
    Fatal error: Call to undefined function mb_substr()
    如何汉化 po 文件及编译成 mo 文件
    idoerp
  • 原文地址:https://www.cnblogs.com/attitudeY/p/6868899.html
Copyright © 2011-2022 走看看