计算机网络-差错控制(纠错编码 海明码 纠错方法)

纠错编码-海明码

奇偶校验码:只能发现错误不能找到错误位置和纠正错误

在这里插入图片描述

海明距离

如果找到码距为1,那肯定为1了,因为是最小的
编码集的码距从1开始找,递增找

检验d位那么需要码距d+1
纠错d位那么需要码距2d+1

对于检测d位错误的能力,码距至少需要为d+1。这是因为如果码距为d+1,那么任何d位的错误都会导致编码从一个合法码字变为另一个非合法码字,而不会与任何其他合法码字相同。这样,接收方可以通过检查编码是否为一个合法的码字来检测错误。如果码距小于d+1,那么可能会存在两个合法的码字,它们之间的海明距离小于或等于d,这意味着d位错误可能将一个码字变为另一个合法的码字,从而无法检测到错误。

对于纠正d位错误的能力,码距至少需要为2d+1。这是因为为了纠正错误,接收方不仅需要能够检测到错误,还需要能够确定错误发生的具体位置。如果码距为2d+1,那么即使发生了d位错误,错误的码字与所有合法码字的最小汉明距离至少为d+1,这意味着接收方可以通过比较接收到的码字与所有合法码字的海明距离来确定最有可能的原始码字。如果码距小于2d+1,那么可能会存在多个合法码字与错误的码字海明距离相同,从而无法准确确定原始码字。
在这里插入图片描述

1.确定校验码位数r

按照公式确定r
在这里插入图片描述

2.确定校验码和数据的位置

在这里插入图片描述

3.求出校验码的值

通常采用偶校验,也可以采用奇校验
在这里插入图片描述

4.检错并纠错

纠错方法1

在这里插入图片描述
三个大圈是分别对应1,2,4号校验码,重叠部分为各自的总和。正确的部分2号校验码2,3,6,7那么没有问题,错误的部分1号和4号校验码的公共部分5,7肯定是有问题的,而7是没有问题(2号校验码2,3,6,7那么没有问题)所以5有问题
在这里插入图片描述

纠错方法2

通过两两异或得错误位置的二进制编码,再求该编码的十进制数即可得到错误位置
在这里插入图片描述

小结

在这里插入图片描述

相关推荐

  1. MySQL学习纠错笔记

    2024-02-06 07:52:02       27 阅读
  2. ASR语音识别纠错-fast correct

    2024-02-06 07:52:02       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 07:52:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 07:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 07:52:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 07:52:02       20 阅读

热门阅读

  1. iOS面试题

    2024-02-06 07:52:02       32 阅读
  2. zk集群--集群同步

    2024-02-06 07:52:02       28 阅读
  3. 设计模式(创建型模式)原型模式

    2024-02-06 07:52:02       29 阅读
  4. 系统架构设计师-22年-上午答案

    2024-02-06 07:52:02       25 阅读
  5. spring-boot-actuator 服务监控

    2024-02-06 07:52:02       28 阅读