注:该内容是观看大学mooc之后做的笔记,便于之后的复习,以及初学时的理解。
数据校验的基本原理:
1数据校验的必要性:
(1)受元器件的质量、电路故障或者其它因素的影响,数据在被处理、传输、存储的过程中可能会出现错误
(2)若能设计硬件层面的错误检测机制,可以减少基于软件检错的代价(一种系统观)
在硬件做这些可以给软件腾出更多的空间
2校验的基本原理:
增加冗余码(检验码):
有效信息(k位)校验信息(r位)
在有效数据位后增加校验信息位可以被接收放检查甚至主动修正过来
发送方(给接收方发送信息)---------------->接收方
而接收方会收到有效信息和有规则的校验信息,会对有效信息和校验信息进行一系列与发送方相关的运算,去评测这个数据是否出现问题。
3码距的概念:
(1)在同一编码之间,任意两个合法编码之间不同二进制位的最小值
(2)如0011与0001的码距就为1,1位错误时无法识别
(3)0000、0011、0101、0110、1001等编码码距为2,任意一位发生改变、如0000变成1000就从有小编码变成了无效编码,就是一个错误,然后就能检查到这种错误
(4)校验码中增加冗余位的目的就是为了增加码距(如果校验码能力较强的话甚至可以纠正错误)
4码距与检错或纠错能力的关系:
(1)码距>=e+1 可检测e个错误
(2)码距>=2t+1 可纠正t个错误
(3)码距>=e+t+1 可纠正t个错误,同时检测e个错误
码距 | 检错 | 纠错 |
1 | 0 | 0 |
2 | 1 | 0 |
3 | 2 | 或1 |
4 | 2 | 加1 |
5 | 2 | 加2 |
6 | 3 | 加2 |
7 | 3 | 加3 |
因此码距越大检错与纠错能力就越强。
5选择码距要考虑的因素:
(1)码距越大,抗干扰能力越强,纠错能力越强,数据冗余越大,编码效率越低,编码电路也相对复杂。
(2)选择码距必须要考虑信息发生差错的概率和系统能容许的最小差错率。