非线性码(拼音:fēi xiàn xìng mǎ;英文:nonlinear code),不满足线性叠加原理的纠错码。
按照码元取值的不同,可分为q(大于2)进制和二进制码;按照码的结构不同,可分为系统码和非系统码;按照对信息元处理方法的不同,可分为非线性分组码和非线性格码。但研究工作还仅局限于非线性分组码。
1994年,A.哈蒙斯等人通过适当的定义发现上述四种非线性码可表示为Z4上多项式环中理想,从而为深入探讨的这些码和其他非线性码开辟了新思路。这些码不仅纠错能力强,而且具有比任何已知的线性码多得多的码字。码长为n,最小距离为d,有M个码字的集合的非线性分组码可表示为[n, M, d]。
若一个[n, M, d]非线性系统分组码的码字为(c0, c1, …, cn-k−1, cn-k, …, cn−1),其中cn-k, …, cn−1为信息元,则校验元为
cn-k-i= fi( cn-k, …, cn−1) (i=1, …, n- k)
用不同的非线性函数fi,得到不同的非线性码。如n=3, k=2,且c0=f(c1, c2)= c1c2,则得到[3, 4, 1]码的四个码字为(000),(100),(010),(111)。它们并不能满足封闭性。一般可通过各种组合方法,由几个性能好的短码构成长的非线性码,或用线性码经过各种变换得到非线性码。非线性码的译码也可用类似于线性码的译码方法进行,但通常比线性码的译码困难,故使用得不多。
研究非线性码主要应用现代代数、组合数学、图论等数学工具,但并没有形成严格而完整的体系。在同样码长n和最小距离d下,非线性分组码的码字个数M,通常比线性分组码至少要多一倍,且M不一定等于qk或2k,因此非线性码的研究往往同研究完备码结合在一起。非线性分组码的另一个重要特点是码的重量分布与距离分布不一定相同,如上例的[3, 4, 1]码。