计算机网络-差错控制(奇偶校验码 CRC循环冗余码)

2024-02-05 09:28

本文主要是介绍计算机网络-差错控制(奇偶校验码 CRC循环冗余码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 差错从何而来
    • 从传感器层面提高信道比来减少线路本身的随机噪声的一个例子
    • 热噪声和冲击噪声
  • 数据链路层的差错控制
    • 检错编码-奇偶校验码
    • 检错编码-CRC循环冗余码
    • 例子
    • 注意

差错从何而来

  • 噪声通常指的是任何未预期的、随机的信号干扰,这些干扰可能源自多种物理来源,如电子设备的热噪声、无线信号的环境干扰等。

不同链路采用不同链路层的服务
在这里插入图片描述

从传感器层面提高信道比来减少线路本身的随机噪声的一个例子

在通信系统中,信号在通过信道传输时会出现衰减,并且信道上的干扰和噪声也会对信号产生影响,导致信号失真。为了确保信号在到达接收端时能够被正确译码而不出现太大的错误,需要采取措施提高信噪比。具体如下:

改善传输手段:例如,使用光缆或同轴电缆代替传统的铜线电缆,因为这些介质提供的传输质量更高,能够有效减少信号在传输过程中的损失和外部电磁干扰。

增大设备能力:比如在传感器输出端使用低噪声放大器(LNA)来增强信号强度,或者在信号处理阶段使用数字滤波器来去除噪声,从而提高信号的质量。

热噪声和冲击噪声

冲击噪声和热噪声是两种不同的干扰,它们各自有不同的特点和解决办法。具体如下:

  • 冲击噪声:

特点:冲击噪声通常是由外界因素引起的突发性干扰,可能是由于电磁干扰或电源开关跳变等原因造成的。它的幅度较大,可能会导致数据传输中相邻多个比特同时出错

解决办法:为了解决冲击噪声的问题,可以采用纠错编码技术,如奇偶校验码、循环冗余校验(CRC)或更复杂的前向纠错(FEC)编码。这些编码能够在接收端检测并纠正由冲击噪声引起的突发错误。

  • 热噪声:

特点:热噪声又称为白噪声,是由导体中电子的热震动引起的,存在于所有电子器件和传输介质中。它是温度变化的结果,但不受频率变化的影响。热噪声是不能被消除的,它是通信系统中不可避免的一部分。

解决办法:尽管热噪声无法完全消除,但可以通过提高信噪比(SNR)来减少其影响。这可以通过使用低噪声放大器(LNA)、高质量的电缆和连接器、以及在信号处理中使用滤波器来实现。此外,通过增加信号的传输功率也可以在一定程度上抵消热噪声的影响。

数据链路层的差错控制

在这里插入图片描述

检错编码-奇偶校验码

检验元是添加的,为0还是为1根据奇校验码还是偶校验码
奇校验码:1的个数是奇数个则正确
偶校验码:1的个数是偶数个则正确

如果发现是奇数个1,但依然可能存在少了偶数个1的情况。所以正确率是一半
在这里插入图片描述

检错编码-CRC循环冗余码

生成多项式会给出,注意是先算出r位的检验序列,然后再加到原数据后面
在这里插入图片描述

例子

在这里插入图片描述

在这里插入图片描述

注意

凡是接收端数据链路层接收的帧均无差错一般是正确的:此时的接收有最终的意思,这是因为有差错的没有被最终接收。但注意此时余数对应的比特可能也是不一样的,所以均无差错还是有可能存在差错的,但因为概率小,所以认为均无差错

CRC检验实现比特无差错(不是百分之百的),但对于帧的丢失或者重复等没有保证。所以并不是说发送啥就能接收到啥,不是可靠传输
在这里插入图片描述

这篇关于计算机网络-差错控制(奇偶校验码 CRC循环冗余码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680471

相关文章

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

poj3750约瑟夫环,循环队列

Description 有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。 Input 第一行输入小孩的人数N(N<=64) 接下来每行输入一个小孩的名字(人名不超过15个字符) 最后一行输入W,S (W < N),用

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

校验码:奇偶校验,CRC循环冗余校验,海明校验码

文章目录 奇偶校验码CRC循环冗余校验码海明校验码 奇偶校验码 码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据检验码的码距。 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。 奇校验:整个校验码中1的个数为奇数 偶校验:整个校验码中1的个数为偶数 奇偶校验,可检测1位(奇数位)的错误,不可纠错。

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

Spring是如何解决循环依赖?

现象解释: 在Spring框架中,循环依赖(Circular Dependency)是指两个或多个Bean之间相互依赖,形成了一个循环。例如,Bean A依赖于Bean B,而Bean B又依赖于Bean A。Spring通过多种机制解决循环依赖问题,具体来说,主要有以下几种方式: 1.三级缓存机制 Spring容器在实例化Bean时使用了三级缓存来解决循环依赖,主要涉及三个缓存结构: 一级

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els