一、奇偶校验的基本原理
1、增加冗余项(校验位)
有效信息(k位) | 校验信息(r=1位) |
---|
2、编码:根据有效信息计算校验信息位,使校验码(数据+1位校验信息)中 1 的个数满足奇/偶校验的要求。
0001 − > 00011 0001\ -> 00011 0001 −>00011 (偶校验) P = D 1 ⨁ D 2 ⨁ D 3 ⨁ D 4 P = D_1\bigoplus D_2\bigoplus D_3\bigoplus D_4 P=D1⨁D2⨁D3⨁D4
0001 − > 00010 0001\ -> 00010 0001 −>00010 (奇校验) P = D 1 ⨁ D 2 ⨁ D 3 ⨁ D 4 ‾ P = \overline{D_1\bigoplus D_2\bigoplus D_3\bigoplus D_4} P=D1⨁D2⨁D3⨁D4
3、检错方法与电路
奇校验检错码:
G
=
C
⨁
X
1
⨁
X
2
⨁
X
3
⨁
X
4
⨁
X
5
⨁
X
6
⨁
X
7
‾
G = \overline{C\bigoplus X_1\bigoplus X_2\bigoplus X_3\bigoplus X_4\bigoplus X_5\bigoplus X_6\bigoplus X_7}
G=C⨁X1⨁X2⨁X3⨁X4⨁X5⨁X6⨁X7
G = 0 表示数据正常,否则表示出错。
校验检错码:
G
=
C
⨁
X
1
⨁
X
2
⨁
X
3
⨁
X
4
⨁
X
5
⨁
X
6
⨁
X
7
G = C\bigoplus X_1\bigoplus X_2\bigoplus X_3\bigoplus X_4\bigoplus X_5\bigoplus X_6\bigoplus X_7
G=C⨁X1⨁X2⨁X3⨁X4⨁X5⨁X6⨁X7
G = 0 表示数据正常,否则表示出错。
二、奇偶校验的特点
1、编码与检错简单;
2、编码效率高;
3、不能检测偶数个错误,无错结论不可靠,是一种错误检测码;
4、不能定位错误,因此不具备纠错能力。
三、奇偶校验的码距
最小码距 | 检错 | 纠错 |
---|---|---|
1 | 0 | 0 |
2 | 1 | 0 |
3 | 2 | 或1 |
4 | 2 | 加1 |
5 | 2 | 加2 |
6 | 3 | 加2 |
7 | 3 | 加3 |
1、
码
距
≥
e
+
1
码距 \geq e + 1
码距≥e+1;
可检测 e 个错误
2、
码
距
≥
2
t
+
1
码距 \geq 2t + 1
码距≥2t+1;
可纠正 t 个错误;
3、
码
距
≥
e
+
t
+
1
码距 \geq e + t + 1
码距≥e+t+1;
可纠正 t 个错误,同时检测 e 个错误(
e
≥
t
e \geq t
e≥t)。
举例说明奇/偶校验码距为2
11000011
−
>
01000010
11000011 -> 01000010
11000011−>01000010
四、改进的奇/偶校验
1、双向奇偶校验
目标情况:
检错分析:
(1)可纠正 1 位错误
(2)可检测出某行(列)上的奇数个错误
(3)可检出部分偶数个错误的情况
(4)不能检测出错码分布在矩形 4 个顶点上的错误
2、方块校验
3、垂直水平校验
五、关于奇/偶校验应用的讨论
1、哪些场合应用奇偶校验?
一般在同步传输方式中常采用奇校验,异步传输方式中常采用偶校验
哪条内存条可能具有奇偶校验功能?
2、工程上的应用
http://www.eepw.com.cn/article/280413.htm (关于串口奇偶校验配置的经验)