文章目录

  • 一.数据校验的必要性
  • 二.数据校验的基本原理
  • 三.码距
  • 四.码距与检错纠错能力的关系
  • 五.选择码距要考虑的因素



一.数据校验的必要性

  1. 受元器件的质量、电路故障或噪音干扰登因素的影响,数据在被处理、传输、存储的过程中可能出现错误。
  2. 若能设计硬件层面的错误检测机制,可以减少基于软件检错的代价(系统观)。

二.数据校验的基本原理

常识告诉我们,任何收获都是基于付出的,校验也是如此。

那么为了对传输的数据实施校验,我们必须要有额外的付出,那么就是通过增加冗(rong)余项来实现的。

校验access_token 校验的拼音_数据


校验位的 ‘r’位就是付出

基本原理:在发送方对被发送的信息,基于校验位做某种运算,得到一个编码,发送给接收方,接收方会根据收到的信息和校验位再去执行与发送方相关的运算,去评测收到的这个数据是否出现了错误,如果出现了错误,能否定位并改正错误。

这个编码既包括原始数据,也包括基于规则算出来的校验信息。

因为不同的校验编码有不同检错纠错能力,为了分析不同的校验编码所具有的检错纠错能力,我们还要学习一下‘码距’的概念

三.码距

基本概念: 码距顾名思义就是编码的距离。微观的说,他就是在同一个编码当中,任意两个合法编码之间,不同二进制位数的最小值。

例如
在四位二进制编码当中,0011与0001的码距为1

校验access_token 校验的拼音_数据_02


虽然0000与1111有四位不同,但是码距的概念是不同进制位数的最小值,所以0000与0011有两位不同,所以码距是2

校验码中增加冗余位的目的就是为了增大码距,使得错误发生以后,接收方至少可以检测出错误,

四.码距与检错纠错能力的关系

校验access_token 校验的拼音_数据校验_03


所以根据此关系图,我们对于任意的校验码,你应该知道他的码距,只要码距求出来了,根据这个规则,我们就可以评判他的检错纠错能力。

五.选择码距要考虑的因素

我们根据上图已经知道了码距与检错纠错的关系,但是根据这个图,我们可以发现码距越大,检错和纠错能力就越强,那么是不是在我们的实际生活当中,我们都尽量选择大的码距呢?

也不完全是这样,我们在实际当中选择码距或者说校验编码的时候,会出现问题:

  • 码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率低,编码电路也相对复杂。

所以说,我们选择码距要根据实际情况灵活变化:

  • 选择码距必须考虑信息发生差错的概率和系统能容许的最小差错率。

本文根据华中科技大学的《计算机组成原理》总结而成。