奇偶校验码
校验原理
-
数据传输过程中,由于某环境因素影响,发生跳变(位错误),则需要优化编码方案
-
由若干位代码组成的一个字叫码字
-
将两个码字逐位进行对比,具有不同的位的个数成为两个码字间的距离
-
一种编码方案可能有若干个合法码字,各合法码字见的最小距离称为码距(d)
-
当d=1时,无检错能力;当d=2时,有检错能力;当d=3时,若设计合理,可能具有检错与纠错能力
-
奇偶校验码
-
奇校验码:整个校验码(有效信息位和校验位)中1的个数为奇数
-
偶校验码:整个校验码(有效信息位和校验位)中1的个数为偶数
-
例:给出两个编码1001101和1010111的奇校验码和偶校验码
-
奇校验码:1001101 => 11001101;1010111 => 01010111
-
偶校验码:1001101 => 01001101;1010111 => 11010111
-
-
偶校验的硬件实现:各信息进行异或运算(模2加),得到的结果即位偶校验位
例:求偶校验位 1001101 => 1⊕0⊕0⊕1⊕1⊕0⊕1 = 0 => 01001101 1010111 => 1⊕0⊕1⊕0⊕1⊕1⊕1 = 1 => 11010111
-
进行偶校验时,所有位进行异或运算,若结果位1说明出错
0⊕1⊕0⊕0⊕1⊕1⊕0⊕1 = 0;正确 1⊕1⊕0⊕1⊕0⊕1⊕1⊕0 = 1;错误
-
0⊕1⊕0⊕0⊕1⊕1⊕0(错误)⊕1(错误) = 0;奇偶校验时,若跳变2bit,异或运算结果也等于0,则检测不出错误