奇偶校验电路主要用来检测二进制代码在传输和储存的过程中是否出现错误,其原理是根据前面学过的异或运算的特点:当一串二进制代码想异或时,若其中有奇数个1,则结果为1;若其中有偶数个1,则结果为0。
奇偶检验分为奇校验和偶校验。奇偶检验电路检测电路的具体方法是,在远信息码后添加一位监督码。奇校验添加监督码后使1的个数为奇数个,校验结果为1。偶校验添加监督码后使1的个数为偶数个,校验结果为0。
以四位二进码的偶校验为例来介绍检验过程。偶校验的表达式为:
a1?a2?…?an-1?an?C=0
其中C为监督码。设四位二进制信息码为a4a3a2a1,可令监督码为:
C=a4?a3?a2?a1
这样就确保了1的个数为偶数个,如表5-19所示。
表5-19 四位二进制信息码的偶校验编码
a4 |
a3 |
a2 |
a1 |
C |
a4 |
a3 |
a2 |
a1 |
C |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
具体的收发过程如图5-44所示。发送端将信息码与校验码一起发送,接收端计算校验因子S:
S=a1?a2?…?an-1?an?C
如果计算出S=0,说明传输无误;如果计算出S=1,则说明传输有误。
图5-44 四位信息码偶校验的收发过程