- 无论通信系统如何可靠,都无法做到完美无缺,因此需要考虑怎样发现和纠正信号传输中的差错
- 通信过程中出现的差错大致可分为2种
- 由热噪声引起的随机错误
- 由冲击噪声引起的突发错误
- 为进一步提高传输质量,就需要采用有效的差错控制办法
- 检错和纠错码就是广泛应用在数据通信中的一种可靠性技术
检错码
- 奇偶校验是最常见的检错方法,其原理是在7位的ASCII代码后增加一位,使码字中‘1’的个数成奇数【奇校验】或偶数【偶校验】;经过传输后,若其中一位【甚至奇数个位】出错,则接收端按同样的规则就能发现错误
- 该方法简单实用,但只能对付少量的随机性错误
海明码
- 1950年,海明研究了用冗余数据位来检测和纠正代码差错的理论和方法
- 按照海明的理论,可以在数据代码上添加冗余位来组成码字
- 码字之间的海明距离是一个码字要变成另一个码字时必须改变的最小位数
- 例如:7位ASCII码增加一位奇偶位成为8位的码字,这128个8位的码字之间的海明距离是2;因此,当其中一位出错时,便能立即检测出来,若两位出错时,就变成了另一个码字了
- 若对于m位的数据增长k位冗余位,则组成n=m+k位的纠错码
- 对于2^m有效码字中的每一个,都有n个无效但可以纠错的码字
- 这些可纠错的码字与有效码字的距