如有不足之处,请予指正。
1、减少基于软件检错的代价
2、增加冗余码(校验位)
3、码距:
同一编码中,任意两个合法编码之间不同二进制数位数的最小值;
eg: 0011 1100 0000 0101 不同二进制数位数为2,所以码距为2
0011与0001的码距为1,一位错误时无法识别
0000、0011、0101、0110、1010、1100、1111等编码码距为2。任何一位发生改变,如0000变为1000就从有效编码变成无效编码,容易检测到这种错误
校验码中增加冗余项的目的就是为了增大码距
4、码距与检错纠错的关系
码距≥e + 1——可检测e个错误
eg:码距为2的,2≥1+1,可以检测1个错误
码距≥2t + 1——可纠正t个错误
eg:码距为2的,无纠错能力
码距≥e + t + 1——可纠正t个错误,检测e个错误
eg:码距为4的,4≥2+1+1,可以检测到2位错误,纠正1位错误
5、码距越大,抗干扰越强,纠错检错能力越强,数据冗余越大,编码效率低;校验既可以采用硬件实现,也可采用软件实现