冗余要有可检查的结构
传送或保存数据时,噪声与设备问题可能翻转某些比特。纠错码把信息映射成较长的合法码字,使接收结果即使出现部分变化,仍有线索辨认原来属于哪一个码字。额外位不是简单重复任意内容,而是按规则建立可用于检查和恢复的关系。
参考:[1]
距离划分可恢复范围
两个等长二进制串在多少位置不同,称为汉明距离。合法码字彼此距离较大时,少量变化后的结果仍能靠近原码字,并与其他合法值区分。最小距离为d的码可检测至多d减一位错误,并能唯一纠正不超过向下取整的(d减一)/2位错误,这是有范围条件的保证。
参考:[2]
校验结果帮助定位
汉明码把若干重叠校验安排在不同位置,每项检查覆盖特定比特。收到数据后,检查结果组合成综合征,在规定的单错情形下可以指出错误位置,再翻转相应比特。超出设计范围的错误可能产生另一种解释,因此解码器需要按照码的能力处理,而不是把每个综合征都当作可靠的单错证据。
参考:[1]
码率与实现成本
加入越多冗余通常意味着同样的信息需要更多传送或存储空间,编码和解码也要计算资源。具体方案需要结合错误分布、延迟和设备条件选择。纠错与检错后的重传还可以配合:先在本地修复适当错误,无法可靠恢复时再采取其他措施,使资源开销与可靠性目标相匹配。
参考:[2]