纠错码(拼音:jiū cuò mǎ;英文:error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别,即把原码字按某种规则变成有一定剩余度的码字,并使每个码字的码之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规则是否满足以判定有无错误。当不能满足时,按一定规则确定错误所在位置并予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用,可以纠错。1948年C.E.仙农发表论文指出,只要采用适当的纠错码,就可在多类信道上传输消息。自仙农的论文发表以来,人们经过持续不懈的努力已经找到多种好码,可以满足许多实用要求。但在理论上,仍存在一些问题未能解决。纠错码能够检错或纠错,主要是靠码字之间有较大的差别。纠错码实现中最复杂的部分是译码,它是纠错码能否应用的关键。纠错码传输的都是数字信号。这既可用硬件实现,也可用软件实现。
纠错码种类繁多。(1)根据码元之间的关系,有线性码和非线性码;(2)根据编码所实现的功能,有检错码、纠错码和纠删码;(3)从信息码元和监督码元的关系,有分组码和卷积码;(4)由信息码元编码前后的形式,可分为系统码和非系统码;(5)针对不同的错误类型进行纠正的码,有纠正随机错误的码和纠正突发错误的码;(6)根据编码的构造方法又可分为代数码、几何码和算术码;(7)而从码元的取值,则可分为二进制码和多进制码。
分组码和卷积码是两类较重要的纠错码。分组码是对信源待发的信息序列进行分组(每组K位)编码,它的校验位仅同本组的信息位有关。自20世纪50年代分组码的理论获得发展以来,分组码在数字通信和数据存储系统中已被广泛应用。卷积码不对信息序列进行分组编码,它的校验元不仅与当前的信息元有关,而且同以前有限时间段上的信息元有关。卷积码在编码方法上尚未找到像分组码那样有效的数学工具和系统的理论。但在译码方面,不论在理论上还是实用上都超过了分组码,因而在差错控制和数据压缩系统中得到广泛应用。
发展方向
1.代数几何码。20世纪70年代,V.D.戈帕发现了编码理论与代数几何之间令人惊奇的联系,即可用代数曲线构造出有限域上的线性码,这种码称作代数几何码或几何戈帕码。代数几何码还未能走向实用,译码是期待突破的关键。
2.环上码。循环码如BCH码、RS码等可视为有限域上多项式环中的理想码。这给研究循环码的结构和性能带来了极大的方便,而其他许多分组码特别是非线性码却无法这样讨论。
3.分组码的网格结构及其网格译码。分组码的网格复杂度与其网格译码是现在编码理论界最引人注目的话题之一,因为它有潜力显著改善当前的通信系统和信息系统(如无线移动通信系统、个人通信系统、磁存储器和光存储器等)的性能。
4.Turbo码。它于1993年提出。Turbo码具有接近香农限的优越性能,它的出现是信道编码研究中的一项重大突破。因此Turbo码一经提出,立即受到了世界范围内信息和编码理论界的关注,并成为该领域近几年来研究的热点。