差错控制
概述
由来:信道传输中的差错都是由于噪声引起的。
| 噪声类别 | 产生原因 | 解决方法 | 产生差错 |
|---|---|---|---|
| 随机热噪声 | 信道本身固有的、持续存在的,是由导体中分子的热运动引起的,是无法完全消除的 | 提高信噪比来减少或避免干扰 | 随即错 |
| 冲击噪声 | 外界特定的短暂原因(如闪电、强电磁干扰)造成的,持续时间短,幅度大,呈突发状 | 利用编码技术来检错纠错。 | 突发错误 |
基础概念
位错:比特位出错。1 变 0,0 变 1。
链路层为网络层提供的服务:
- 无确认的无连接服务:用于通信质量好、有线传输链路
- 有确认的无连接服务:用于通信质量差的无线传输链路
- 有确认的面向连接服务:同上
信息位:发送方要发送给接收方的数据
冗余位:为了让接收方进行差错检验而附加的位
码字:包含信息位和冗余位的数据单元
编码效率 R :衡量差错控制编码性能的一个重要参数,它是传输码字中信息位与码字长度的比值。
- R 越大,信道中用来传输信息码元的有效利用率就越多。
差错控制最常用的方法:差错控制编码
1.简单的差错控制编码
(1)奇偶校验码
-
发送方:通过附加以为冗余位(设置为0或者1),使码字中的1的个数保持为奇数(奇校验)或者偶数(偶校验)。
-
接收方:根据所收到的码字中“1”的个数是奇数或偶数判别是否有传输差错。
| 差错控制编码 | 原理 | 特点 | 编码效率 |
|---|---|---|---|
| 垂直平奇偶校验 | 将要发送的整个信息块分为定长为 p 的若干段(例如说 q 段),每段后面按 1 的个数为奇数或者偶数的规律加上以为奇偶校验位 | 能检测出每一列中的奇数位错; 对于突发错误来说,对差错的漏检率接近 0.5 | R=p/(p+1) |
| 水平奇偶校验 | 对每个信息段的相应位进行横向编码,产生一个奇偶校验冗余位 | 可以检测出各段同一位上的奇数位错和突发长度小于等于 p 的所有突发错误,漏检率比垂直奇偶检验方法低,但其编码和校验的实现更为复杂 | R=q/(q+1) |
| 水平垂直奇偶校验 | 同时进行水平奇偶校验和垂直奇偶校验 | 能检测出 3 位或者 3 位以下的错误、奇数位错、突发长度<=p+1 的突发错以及部分偶数位错;还可以用来纠正部分差错(例如仅存在一位错时) | R=pq/[(p+1)(q+1)] |
(2)定比码和正反码
| 差错控制编码 | 原理 | 特点 | 编码效率 |
|---|---|---|---|
| 定比码 | 每个码字中的 1 的个数与 0 的个数之比保持恒定 | 能检测出全部奇数位错以及部分偶数位错(码字中1变成0和0变成1成对出现的差错除外),所以还是有一定应用场合的 | R=⌈log_2〖C_n^m 〗 ⌉/n |
| 正反码 | 冗余位与信息位位数相同,信息位中“1”的个数是奇数时,冗余位与信息位完全相同;信息位中“1”的个数是偶数时,冗余位与信息位完全相反即为信息位的反码 | 先将接收码字中的信息位和冗余位按位串加,得到一个合成码组,进而由合成码组产生校验码组,然后按照校验码组中“1”的个数进行检错及纠错。 | 1/2 |
数据链路层-差错控制(循环冗余码 CRC)
数据链路层-差错控制(海明码)