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

news2024/11/15 17:43:56

文章目录

  • 纠错编码-海明码
  • 海明距离
    • 1.确定校验码位数r
    • 2.确定校验码和数据的位置
    • 3.求出校验码的值
    • 4.检错并纠错
      • 纠错方法1
      • 纠错方法2
  • 小结

纠错编码-海明码

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

在这里插入图片描述

海明距离

如果找到码距为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

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

小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1436733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙开发-UI-组件导航-Tabs

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 文章目录 一、基本概念 二、导航 1.底部导航 2.顶部导航 3.侧边导航 4.导航栏限制滑动 三、导航栏 1.固定导航栏 2.滚动导航栏 3…

莉莉与神奇花朵的冒险

现在,我将根据这些步骤编写一个对话形式的童话故事。 在很久很久以前的一个小村庄里,有一个勤劳善良的小女孩叫莉莉。她住在一间小茅屋里,和她的奶奶一起生活。奶奶年纪大了,行动不便,所以莉莉每天都要照顾她。 一天&a…

【多模态大模型】跨越视觉-语言界限:BLIP的多任务精细处理策略

BLIP 核心思想MED架构和CapFilt方法效果 总结CLIP模型 VS BLIP模型CLIP模型BLIP模型 核心思想 论文:https://proceedings.mlr.press/v162/li22n/li22n.pdf 代码:https://github.com/salesforce/BLIP BLIP(Bootstrapping Language-Image Pre…

win11安装MySql5.7

1、下载 打开下载链接:MySQL :: Download MySQL Installer 2、安装 2.1、安装界面 2.2、选择自定义安装 2.3、根据自己系统的位数进行选择是X64还是X86 2.4、选择安装路径 2.5、继续下一步 2.6、选择服务器专用,端口是3306 2.7、设置密码 2.8、设置服…

python函数入参、类成员引用支持灵活参数可配

一、背景 python编码时,有可能在不同场景下输入修改的参数,不方便直接写死,因此需要灵活配置这些函数入参,类成员 二、函数入参支持灵活可配 场景:如下场景,对于hello函数,不同场景下想要对不…

async/await使用过程中,要注意的问题

问: const getData async () >{ console.log(触发了getData接口) let resultData await getActivityInfo(activityId); console.log(resultData,resultData) let id resultData.id; let shareImg resultData.shareImg let shareSubtitle resultData.shareSubtit…

T-Sql 也能更新修改查询JSON?

今天看见一个澳洲项目里面使用了 JSON_VALUE 这样的函数解析 JSON 我倍感诧异,我印象当中Sql Server并不支持JOSN的相关操作,他最多只把JSON当成一个字符串来存储,更不要说去解析,查询和更新了 我随后查询了下此函数,…

美颜SDK是什么?探秘直播美颜SDK在视频社交平台中的应用

当今,美颜SDK正扮演着改变用户体验的“角色”,本篇文章,小编将为大家讲述美颜SDK的概念、原理以及在视频社交平台中的广泛应用。 一、什么是美颜SDK? 美颜SDK是一套软件工具包,提供了一系列美颜算法和功能&#xff…

基础面试题整理6之Redis

1.Redis的应用场景 Redis支持类型:String、hash、set、zset、list String类型 hash类型 set类型 zset类型 list类型 一般用作缓存,例如 如何同时操作同一功能 2.redis是单线程 Redis服务端(数据操作)是单线程,所以Redis是并发安全的,因…

页面模块向上渐变显示效果实现

ps: 先祝各位朋友新春快乐 ^o^/ 想要首页不那么枯燥无味吗?还在未首页过于单调而苦恼吧,来试试这个吧(大佬请忽略上述语句o) 今天要实现一个页面线上渐变显示的效果,用来丰富首页等页面: 这里先随机建立几…

哈希加密Python实现

一、代码 from cryptography.fernet import Fernet import os import bcrypt# 密钥管理和对称加密相关 def save_key_to_file(key: bytes, key_path: str):with open(key_path, wb) as file:file.write(key)def load_key_from_file(key_path: str) -> bytes:if not os.path…

linux服务器如何提高游戏帧率?

在Linux服务器上,由于硬件配置和系统的限制,提高游戏帧率变得更加困难。但是通过一些优化和调整,我们仍然可以提升Linux服务器上的游戏性能。 首先我们需要了解游戏帧率与服务器性能之间的关系。游戏帧率是指游戏每秒渲染的帧数,…

零基础学编程从哪里入手,在学习中可以线上会议答疑解惑

一、前言 零基础学编程可以先从容易学的语言入手,比如中文编程,然后再学其他编程语言则会比较轻松,初步掌握编程思路。很多IT人士一般学2到3种编程语言。 今天给大家分享的中文编程开发语言工具资料如下: 编程入门视频教程链接…

网络防御安全:2-6天笔记

第二章:防火墙 一、什么是防火墙 防火墙的主要职责在于:控制和防护。 防火墙可以根据安全策略来抓取流量之后做出对应的动作。 二、防火墙的发展 区域: Trust 区域,该区域内网络的受信任程度高,通常用来定义内部…

【cmu15445c++入门】(6)c++的迭代器

一、迭代器 C 迭代器是指向容器内元素的对象。它们可用于循环访问该容器的对象。我们知道迭代器的一个示例是指针。指针可用于循环访问 C 样式数组. 二、代码 自己实现一个迭代器 // C iterators are objects that point to an element inside a container. // They can be…

光学PCIe 6.0技术引领AI时代超大规模集群

随着云计算、大数据和人工智能技术的快速发展,超大规模数据中心正经历一场前所未有的变革。传统的集中式架构逐渐转变为解聚式(disaggregated)架构,这种架构将计算、存储和网络资源从单一的物理服务器中分离出来,形成独…

CSS实践调研,行业流行的CSS代码风格

案例1 Taro中的组件 以下为ScrollView组件的样式(更新时间为2024年1月): taro的 image组件(更新时间为3年前): 案例2: vantui 的Button组件 案例3:elementui的slider组件 案例4…

十分钟GIS——geoserver+postgis+udig从零开始发布地图服务

1数据库部署 1.1PostgreSql安装 下载到安装文件后(postgresql-9.2.19-1-windows-x64.exe),双击安装。 指定安装目录,如下图所示 指定数据库文件存放目录位置,如下图所示 指定数据库访问管理员密码,如下图所…

泛型、Trait 和生命周期(上)

目录 1、提取函数来减少重复 2、在函数定义中使用泛型 3、结构体定义中的泛型 4、枚举定义中的泛型 5、方法定义中的泛型 6、泛型代码的性能 每一门编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是 泛型(generics)。泛型是具体类型…

点燃设计之魂,展现艺术力量:NCDA邀你参赛!

未来设计师全国高校数字艺术设计大赛(NCDA)教育部中国高等教育协会认定,由工业和信息化部人才交流中心主办,教育部发文支持“学习强国”学习平台,与联合国国际大赛对接。比赛始于2012年,每年举行一次&#…