数据通信基础 - 差错控制(奇偶校验、海明码、CRC循环冗余校验码)

news2024/11/13 23:03:47

文章目录

  • 1 概述
    • 1.1 检错和纠错
    • 1.2 差错控制原理
  • 2 差错控制的方法
    • 2.1 奇偶校验
    • 2.2 海明码
    • 2.3 CRC循环冗余校验码
  • 3 扩展
    • 3.1 网工软考真题

1 概述

1.1 检错和纠错

  • 无论通信系统如何可靠,都不能做到完美无缺。因此,必须考虑怎样发现和纠正信号传输中的差错。
    • 检错:接收方知道有差错发生,但不知道是怎样的差错,向发送方请求重传(发现错误
    • 纠错:接收方知道有差错发生,而且知道是怎样的差错,自行纠正(发现并改正错误

1.2 差错控制原理

  • 原理:传输 K 位,加入 r 位冗余(某种算法定义),接收方收到并进行计算比较
  • 思考:检错和纠错哪种好?(假设有 100 件商品,成本都是 1 元,要求:发出 100 件合格的产品
序号数量合格率增加合格率的成本总成本合格的产品数量
110090%010090
2100100%101000100
312090%0120108
  • 序号1:类似检错。合格的产品数量为 90,不符合要求。
  • 序号2:类似纠错,其中 “增加合格率的成本” 相当于 纠错策略。合格的产品数量为 100,符合要求,但总成本过高。
  • 序号3:类似加入 差错控制。将 “数量” 改为 120 件(冗余),合格的产品数量为 108,符合要求,同时总成本较低。

2 差错控制的方法

2.1 奇偶校验

  • 检错:最常用的 ~ 方法,能检出 一位错位
  • 原理:在 7 位 ASCII 码 增加一位,使 码中 1 的个数 变成 奇数(奇校验)偶数(偶校验)
    • 奇校验:1011 010(1)=> 5 个 1
    • 偶校验:1011 010(0) => 4 个 1

2.2 海明码

  • 纠错:通过冗余数据位来检测和纠正差错的编码方式。(只能纠正 1 位错误)
  • 原理:在数据 中间 加入几个校验码,码距均匀拉大,当某一位出错,会引起几个校验位的值发生变化。
  • 海明距离:一个码字要变成另一个码字时必须改变的最小位数(不同位的个数)。
    • 0101 => 0100 => 不同位的个数为 1 位,故海明距离 = 1
    • 0101 => 0000 => 不同位的个数为 2 位,故海明距离 = 2
  • 海明不等式 2 k − 1 ≥ m + k 2^k - 1 \geq m + k 2k1m+k
    • k:校验位的个数
    • m:数据位的个数
  • 海明码编码方式
    • 规则:第 2 i 2^i 2i(i = 0, 1, 2, 3…) 位是 校验位,其余是 数据位
    • 数据位和校验位的关系:数据位 = 校验位之和( 2 i 2^i 2i
      • 3 = 2 + 1 = 2 1 + 2 0 3 = 2 + 1 = 2^1 + 2^0 3=2+1=21+20 表示:位置 3 上的数据位经过位置 2 和 位置 1 的校验
      • 10 = 8 + 2 = 2 3 + 2 1 10 = 8 + 2 = 2^3 + 2^1 10=8+2=23+21 表示:位置 10 上的数据位经过位置 8 和 位置 2 的校验
    • 举例:假设传送信息 1001011,按 偶校验 计算
      • 参加位置 1 校验的有:3、5、7、9、11 =》对应数据:10101 =》偶校验计算结果为 1
      • 参加位置 2 校验的有:3、6、7、10、11 =》对应数据:10111 =》偶校验计算结果为 0
      • 参加位置 4 校验的有:5、6、7 =》对应数据:001 =》偶校验计算结果为 1
      • 参加位置 8 校验的有:9、10、11 =》对应数据:011 =》偶校验计算结果为 0
    • 最终 海明码 为 校验码校验结果 + 原数据
位置1234567891011
校验位 2 0 2^0 20 2 1 2^1 21 2 2 2^2 22 2 3 2^3 23
数据位1001011
偶校验计算结果1010
海明码10110010011

2.3 CRC循环冗余校验码

  • 检错末尾 加入CRC循环冗余校验码 能检错不能纠错,广泛用于网络通信和磁盘存储
  • 四个步骤。原理很复杂,计算时,记住下列四个步骤即可。
    在这里插入图片描述

3 扩展

3.1 网工软考真题

// 2016年 上半年
[1]海明码是一种纠错码,一对有效码字之间的海明距离是(14),如果信息位为6位,
要求纠正 1 个错位,按照海明编码规则,需要增加的校验位至少(15)位。
14 A.两个码字的比特数之和
   B.两个码字的比特数之差
   C.两个码字之间相同的比特数
   D.两个码字之间不同的比特数
   
15 A.3   B.4   B.5   B.6

【参考答案:14-D,15-B】

  • 海明不等式: 2 k − 1 ≥ m + k 2^k - 1 \geq m + k 2k1m+k(m:数据位,k:校验位)
    • 根据题干:m = 6,带入选项得 k = 4 时,符合题意

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

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

相关文章

【实用教程】教你制作好看的论文区位图

区位图是反映目标区所在位置和与周边地区自然、经济相互作用关系的体现区位的地图。好的区位图能为论文打好专业的基调,给读者留下更好观感,是科研论文不可或缺的一部分。 层次:面向国际期刊的区位图一定要从国际角度出发,清楚表示…

第一性原理差分电荷密度计算能得到什么数据?

第一性原理差分电荷密度(DFT)计算是一种用于计算分子和材料结构的计算化学方法。它基于物理学原理和量子力学理论,通过解决薛定谔方程来计算电子在分子和材料结构中的行为。DFT是一种非常重要的计算方法,因为它可以提供关于分子和…

自媒体必备素材库,免费、商用,赶紧马住~

自媒体经常需要用到各类素材,本期就给大家安利6个自媒体必备的素材网站,免费、付费、商用都有,建议收藏起来~ 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库可以找到设计、办公、图片、视频、音频等各种素材。视频素…

托福高频真词List03 // 附阅读真题

目录 4月23日单词 4月23日真题 4月23日单词 adjacentneighboringnearbyadj 毗邻的dependablereliableadj 可靠的 chronology a list that pairs past events with dates n 年表remarkably closeextremely close极为接近competenceabilityn 才能supplementadd tov 补充supplem…

Linux_红帽8学习笔记分享_6

Linux_红帽8学习笔记分享_6 文章目录 Linux_红帽8学习笔记分享_61. RPM软件包的使用技巧1.1如何查询指定软件包是否安装1.2如何删除指定软件包1.3如何安装指定软件包1.5依赖关系 2. YUM软件仓库的配置及使用2.1修改YUM软件仓库的配置文件 3.YUM常见命令使用技巧3.1查询指定软件…

Django框架之创建项目、应用并配置数据库

django3.0框架创建项目、应用并配置数据库 创建项目 进入命令行 新建一个全英文的目录 进入目录 输入命令 django-admin startproject project 项目目录层级 查看当前目录层级 tree /f 目录文件说明 创建数据库 做一个学生管理系统做演示,使用navicat创建数据…

【LPC55s69】使用FAL分区管理与easyflash变量管理

文章目录 1.FAL组件1.1什么是FAL1.2 使用ENV配置FAL1.3 FAL SFUD 移植1.4 FAL SFUD 测试用例1.5 测试结果 2.DFS文件系统2.1 什么是DFS2.2 DFS架构2.3 使用ENV配置DFS2.4 DFS挂载到FAL分区测试2.5 测试结果 3.Easyflash移植到FAL分区3.1 简述EasyFlash3.2EasyFlash软件包使用3.…

Docker的数据管理(dockerfile等)

文章目录 一、管理docker容器中数据1、 数据卷2、数据卷容器 二、容器互联(使用centos镜像)三、Docker 镜像创建1、基于现有镜像创建2、基于本地模板创建3、基于Dockerfile创建 四、Dockerfile操作常用的指令:五、Dockeerfile案例 一、管理docker容器中数…

HNU数据结构与算法分析-小班7

HNU数据结构与算法分析-小班7

【Python】可视化KITTI激光雷达点云绘制立体框

前言 最近在复现PointRCNN论文过程中发现没有可视化代码,于是查找资料找到了: pointRCNN 结果可视化——tiatiatiatia 按照参考链接下载代码【轮子库】并可视化成功了 mayavi库的学习 主要是利用了mlab模块: Mayavi2 旨在提供一个简单…

隐私计算商业化,原语科技的开源路线是否最优解?

2023年2月,《数字中国建设整体布局规划》出台,首次对我国数字中国建设提出了宏观规划。其中,尤为值得关注的是隐私计算领域。 隐私计算能够实现数据的所有权和使用权分离,可以在保护个人数据隐私安全的基础上,推动数字…

《Linux0.11源码解读》理解(一) 从开机到加载bootsec

计算机启动时, 内存(RAM)没有任何东西, 自然也无法跑操作系统. 但是可以执行固化在ROM里面的BIOS程序. 在按下电源键的一刻. CPU的cs和ip寄存器硬件被设置为0xf000和0xfff0, 于是cs:ip也就指向0xffff0这个地址, 而这个地址正是指向了ROM的BIOS范围(这里是0xfe000~0xfffff, 20根…

Zuul源码解析(二)

Zuul 的自动配置 ZuulProxyAutoConfiguration 如何触发 如上图,在 spring.factory 中配置 ZuulProxyAutoConfiguration 自动配置了,直接点进去 如上图所示,发现这有个条件注解,需要有 org.springframework.cloud.netflix.zuul.Zu…

Kubernetes 核心对象

Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。它们主要描述了如下信息: 哪些容器化应用正在运行(…

ObjectARX中的坐标系以及坐标转换

1 AutoCAD中的坐标系种类 WCS World Coordinate System. The “reference” coordinate system. All other coordinate systems are defined relative to the WCS, which never changes. Values measured relative to the WCS are stable across changes to other coordinate s…

Nginx之正则表达式、location匹配简介以及rewrite重写

引言 在Nginx已经成为很多公司作为前端反向代理服务器的首选,在实际工作中往往会遇到很多跳转(重写URL)的需求。比如更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求。如果在后端使用的Apache服务器&#xff…

力扣---LeetCode203. 移除链表元素

文章目录 前言203. 移除链表元素链接方法一:直接删除1.1 注意:1.2 各种情况的流程图:方法二:遍历将非val的节点尾插2.1 流程图:2.2 注意: 总结 前言 你坚持的东西 总有一天会反过来拥抱你 本章的内容是力扣…

智安网络|数据安全问题频发,首推云墙·网站综合防御系统

近期,企业数据安全问题频发,数据安全依旧是企业目前面临的重大风险之一。作为网络安全公司,智安网络以专业的技术团队和丰富的行业经验,为企业和个人提供安全可靠的数据保护服务 案例一: 大学生学习软件超星学习通(下称…

JUC高级十二-ReentrantLock、ReentrantReadWriteLock、StampedLock

无锁→独占锁→读写锁→邮戳锁 1. 关于锁的大厂面试题 你知道Java里面有哪些锁?你说你用过读写锁,锁饥饿问题是什么?有没有比读写锁更快的锁?StampedLock知道吗?(邮戳锁/票据锁)ReentrantReadWriteLock有锁降级机制策略你知道吗&#xff1…

Spring的创建与Bean对象的存取

文章目录:一.Spring项目的创建1.先创建maven项目 2.添加国内源 3.添加spring依赖 4.创建spring配置文件 5.创建启动类 二.Bean对象的创建和读取1.Bean对象的创建与存储方式(1)类注解 (2)方法注解 (3&#x…