纠错码(Error-Correcting Code,ECC)是一种用于数据传输过程中的错误检测和纠正的技术。
在数据传输过程中,由于信号传输过程中会受到干扰和噪声的影响,从而导致数据出现错误。为保证数据的完整性和可靠性,需要引入纠错码技术进行校验和纠正。纠错码的原理主要是通过添加冗余信息,对原始数据进行编码,从而在数据传输过程中进行误差检测和纠正。冗余信息是预先计算并添加到原始数据中的,这些信息可以用来检测和纠正数据中的错误。纠错的方法是找到与接收到的信号最接近的码字,并将其判定为发送信号。一般采用“距离”来度量信号间的接近程度,一种常用的“距离”称为汉明距离,它被定义为两码字间对应位不同的个数总和。一个给定码,其全部码字两两之间距离的最小值被称为这个码的码距。码距是一个码纠错能力的重要参数,例如在汉明距离下,若接收到的信号出错的位数不多于码距的一半,则接收端总能正确地恢复所发送的码字,从而正确地恢复所发送的信息。纠错编码又称信道编码,它与信源编码是信息传输的两个方面。关系的建立称为编码。码字到达收端后,用编码时所用的规则去检验。如果没有错误,则原规则一定满足,否则就不满足。由此可以根据编码规则是否满足以判定有无错误。当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予以纠正。纠错并恢复原码字的过程称为译码;码元间的关系为线性时,称为线性码;否则称为非线性码。