纠错编码的基本原理
3位二进制数字构成的码组,共有8种不同的组合。任一码组在传输中若发生一个或多个错码,将变成另一信息码组,此时无法发现错误。若如下所示,使用部分码字,则接收端在某一位发生错误时,可以发现一个错码。但是这种码不能发现两个错码,因为发生两个错码后产生的是许用码字。该码只能检测错误,不能纠正错误,当收到的码组为禁用码字100时,无法判断时哪一位码发生了错误,如000、101、110都可能变成100。要想能纠正错误,还要增加冗余度。
000
001(不可用)
010(不可用)
011
100(不可用)
101
110
分组码和线性分组码
信息码分组,每组信码附加若干监督码,称为分组码。(n, k)表示分组码,n为码组长度(码长),k为信息码长,m=n-k为监督码长。
码重:“1”的数量称为码重。
码距:两个码字对应位置上数字不同的位数称为码字的距离,又称汉明距离。
最小码距:某种编码中各个码字间距离的最小值称为最小码距d。(即校验矩阵H中任意(d-1)列线性无关)
最小码距与码的纠错能力有以下关系:
(1) 检测e个随机错误,要求d≥e+1;
(2) 纠t个随机错误,要求d≥2t+1;
(3) 纠t个随机错误,同时检测e(e≥t+1)个随机错误,要求d≥e+t+1。
奇偶监督码的编码原理利用了代数关系式,这类建立在代数学基础上的编码称为代数码,在代数码中常见的是线性码。线性码中信息位和监督位是由一些线性代数方程联系起来的,或者说线性码是按一组线性方程构成的。
汉明码
汉明码(Hamming Code)是由Richard Hamming于1950年提出的,属于线性分组码的范畴,其基本原理是将信息码元与监督码元通过线性方程式联系起来的,每一个监督位被编在传输码字的特定比特位置上。系统对于错误的数位,无论是原有信息位中的,还是附加监督位中的都能把它分离出来。各种码之间的大致关系如下: