线性码是一类非常重要的分组码,是讨论各种码的基础。线性码的编码方案和译码方案都非常简单。许多特殊的线性码都具有非常好的性质,绝大多数的已知好码都是线性码。
是
的一个子空间,则称 C 为一个 q元线性码。如果 C 是
的一个 k 维子空间,则称 C 为一个 q 元 [n,k]线性码。进一步,如果 C 的最小距离是 d,则称 C 为一个 q 元 [n,k,d] 线性码。
性质 显然,
是一个线性码当且仅当
都有
和任意
,都有
特别地,一个二元码
是线性码当且仅当对任意
,都有
和
是
上的两个 k×n阶矩阵,并且
。如果可以通过一系列下述变换将
化成
,则
和
生成的 q 元 [n,k] 线性码一定是等价的。 (R1)重新排列行向量; (R2)将某一行乘以一个非零元素; (R3)将某一行乘以一个非零元素,然后加到另一行; (C1)重新排列列向量; (C2)将某一列乘以一个非零元素。 行变换(R1)、(R2)和(R3)保持了生成矩阵中行向量的线性无关性,这三种行变换只不过是将同一个对性码的一组基换成了另外一组基。 列变换(C1)、(C2)是将一个线性码的生成矩阵变换成了与其等价的线性码的生成矩阵。
设 C 是一个 q 元线性码,G 为其生成矩阵。C 中的每个码字是 G 的行向量的线性组合,即
由于 C 中有
个码字,故线性码可以用来传输
个不同信源中的任意一个。因此,线性码的编码方法为:假设信源信息由
中的向量来表示,则对任意信源信息向量
,u 编码为 C 中的码字
。
。定义
称为 C 的一个陪集。
个向量;
因此,nnn 维向量空间 V(n,q)被划分成了 C 的
个不相交的陪集,即
其中
可以选为陪集代表元。
对于线性码的译码,可以使用标准阵译码方法。一个 q 元 [n,k]线性码 C 的标准阵是由 V(n,q) 中的向量组成的一个
阶阵列,其每一行都是 C 的一个陪集。第一行由 C中的码字构成,0 码字在最左端,其它各行由陪集
构成,陪集代表元在最左端,其它元素的排列次序与第一行中码字的排列次序相对应。即标准阵中的 (i,j) 位置上的向量是第 j 列最顶端的码字与第 i 行最左端的陪集代表元的加和。
标准阵构造方法 一个 q 元 [n,k] 线性码 C的标准阵可以按下述方法来构造:
,将
与第一行中的每个码字相加得到第二行,它们构成陪集
,将
与第一行中的每个码字相加得到第 i+1 行,它们构成陪集
。
标准阵译码方法 设 C 是一个 q 元 [n,k,d] 线性码,
是在信道发送端发送的码字,
是在信道接收端接收到的向量。称
为差错向量。译码器的作用就是确定差错向量,然后纠正码字在信道传输过程中发生的错误。线性码的标准阵译码方法描述如下: 设 y\boldsymbol{y}y 是在信道接收端接收到的向量。在标准阵中找到 y所在的行和列,将 y译为 y所在的列中最顶端的码字,y 所在行的最左端的向量为差错向量。
对于一个
或
线性码 C,如果按照陪集代表元的重量从小到大的顺序对 C 的标准阵中的陪集进行排序,则可以将 C 标准阵分为上下两部分。上半部分的陪集代表元的重量都不大于 t,下半部分的陪集代表元的重量都大于 t。当在信道接收端接收到的向量 y 位于标准阵的上半部分时,则可以认为发生的错误不大于 t(当然实际也有可能大于t),此时按照正常的标准阵译码方法进行译码;当信道接收端收到的向量 y 位于标准阵的下半部分时,则发生的错误一定大于 t,此时可以考虑请求信道发送端重新发送码字。
这种只有当接收到的向量 y 位于标准阵上半部分时才进行译码的做法称为不完全译码,完全译码则是不管接收到的向量 y位于标准阵的上半部分还是下半部分,都进行译码。
完备码的标准阵中,所有陪集代表元重量都不大于 t。
为简单起见,以二元线性码为例,假设信道为二元对称信道,一个字符在信道传输过程中发生错误的概率为 p。
令
表示利用标准阵译码方法将一个接收到的向量正确译码的概率。设
为线性码 C 的标准阵中重量为 iii 的陪集代表元的数目,
。当发送的一个码字在信道传输过程中发生的差错向量恰好为一个陪集代表元时,利用标准阵译码方法一定可以正确译码,故显然有
所谓译码错误,即利用标准阵译码方法将一个接收向量译成的码字不是在信道发送端发送的码字。用
表示译码错误概率,则显然有
所谓不可检错误,即一个码字在信道传输过程中发生了错误,而在信道接收端的译码器却检查不出来。用
表示不可检错误概率。显然,译码器检查不出一个码字 x在信道传输过程中所发生的错误当且仅当接收到的向量 y 是一个与 x 不同的码字,即当且仅当差错向量
是一个非零码字。
是 C 中重量为 i 的码字的数目,
。如果码 C 用于检错,则发生不可检错误的概率为
称为 C 的对偶码,其中,⋅ 表示向量的内积。换句话,C 的对偶码
定义为 V(n,q)中与 C 的所有码字都正交的向量集合。
的生成矩阵 H 称为线性码 C 的校验矩阵。
则其校验矩阵为
。
,则称 C 为最大距离可分码,简称 MDS 码。 对于一个 q 元 [n,k,d]线性码 C ,n−k 称为其冗余度。
伴随式译码方法 由定理八可以看出,一个 q 元 [n,k]线性码 C 的所有不同陪集与 V(n,q)中向量的所有不同伴随之间存在着一个一一对应关系。列出线性码 C 的所有陪集代表元,并计算相应的伴随,将每个陪集代表元和相应的伴随排成一行,即得到一个伴随式列表。一个 q 元 [n,k] 线性码 C 的伴随式译码方法描述如下:
;
所对应的陪集代表元a;
伴随式译码方案是标准阵译码方案的改进,它不需要存储标准阵,只需要存储陪集代表元和相应的伴随即可,既节省了大量存储空间,又提高了译码效率。
除了在编码理论基础中提到的几种由已知码构造新码的简单方法外,对于线性码还有几种方法。