1. 引言
在
上的线性码(或称线性分组码) C是线性空间
中的子空间。特别地,当
时,称为二元线性码。如果这个线性子空间的维数是k,则称C是一个
码,其中n是码长,k是码的维数。对于线性码C,若又有
,即d是C中所有
个非零码字中Hamming权的最小值,则记线性码C为
码。设
是
上的k个线性独立的码字,即构成C的一组基,这样,对于C中的每一个码字
总存在k个在
中的系数
使 得
。一个
矩阵为码C的生成矩阵,如果它的行向量构成C的一组基,通常用G来表示生成矩阵,若有
则H称为该码的校验矩阵 [1] [2]。
2. [10, 3, 5]二元线性码的构造
我们首先确定一个含有八个码字且能纠正2个错误位的码长应该是
的。根据二元码的Plotkin界知,一个码长为9并且最小距离为5的二元码最多含有6个码字。设一个参数为
的二元码C1,由此再重新考虑一个新码
,于是,新码C 的参数为
,由于
,从而
,于是我们可以确定一个含有八个码字且能纠正2个错误位的码字长度至少为10。
汉明码是一类非常重要的完全线性码,设
,以
为校验矩阵的q元线性码叫做汉明码,其中
是
中
个非零向量的各等价类里面的代表向量,长度为m,每个等 价类里面恰有
个向量。汉明码的参数为
,当
时,二元汉明码的参数为
,若又
,此时
且
。
在校验矩阵
中,我们发现向量的长度为7,每行向量的非零元个数为4,且两两向量相加的非零元个数是4,三个向量相加得到的向量非零个数亦是4。
我们要构造的二元线性码含有8个码字,信息元为三位,即
从中选取任意三个相互独立的向量与
中的行向量共同组成[10, 3, 5]码的生成矩阵G。比如,我们选取
并适当调整排列顺序得到系统码的生成矩阵,即生成矩阵
,其中
为三个相互独立的码字且码重都为5。由
我们可以得到八个码字,即
,
,
,
以及
,
,
和
,显然,构造出的码最小距离为5,可以检出4位错误并能纠正2位错误。
由于汉明码校验矩阵的形式,上述我们得到的构造方法可以推广到其他元码字的构造,比如
,此时三元汉明码的校验矩阵为
我们可以构造码长为13的三元线性码。
致谢
在学习和本论文的写作过程中,我们得到了许娟老师的悉心指导和帮助,在此向她表示感谢!
基金项目
山东临沂大学大学生创新创业训练计划项目编号X202010452128。