生成矩阵转换为典型矩阵的例子
对于一个(n,k)线性分组码,如果其生成矩阵G具有G=[Ik P]的形式,其中Ik是k阶单位矩阵,P是一个k(n-k)的矩阵,则称G为典型生成矩阵(或系统生成矩阵)。由任意一个生成矩阵G',总可以通过矩阵的初等行变换及列交换,得到一个与之等价的典型生成矩阵G。
任何一个秩为k的生成矩阵G,总可以经过一系列的初等行变换和列交换,变换成如下形式:G = [Ik | P],其中Ik是一个k×k的单位矩阵,P是一个k×(n-k)的矩阵。我们称这种形式的生成矩阵为系统(典型)生成矩阵,由它所生成的线性分组码称为系统(典型)码。
具体变换方法是:首先在G中找到k个线性无关的列,然后通过列交换把它们移到矩阵的前k列,再通过初等行变换把这k列组成的矩阵变为单位矩阵Ik。注意,对生成矩阵的列进行交换,相当于对码字中的码元位置进行交换,因此在编码时要交换回来。
例:已知一个(7,3)线性分组码的生成矩阵G'如下,求其典型生成矩阵G。G'=[1011100; 0110110; 1101010]
首先利用初等行变换将G'的前3列组成的矩阵化为单位矩阵。第一步,(3)行+(1)行,即r3+r1,得到G1=[1011100; 0110110; 0110110]
第二步,(3)行+(2)行,即r3+r2,得到G2=[1011100; 0110110; 0000000]。此时矩阵的秩为2,k=2,与题设k=3不符,说明原生成矩阵G'的行向量线性相关,(3)行是多余的,应舍去。
设C是一个(n,k)线性码,其生成矩阵为G。为了得到该码的一个系统形式,我们需要对G进行高斯-若尔当消元。其目标是将G变换为一个等价的生成矩阵G_sys,形如G_sys = [I_k | P],其中I_k是k阶单位阵,P是k x (n-k)的矩阵。这一过程不改变G的行空间,因此G与G_sys生成的是同一个码。
我们来看一个具体的变换过程。设一个(6,3)码的生成矩阵为G=[110100; 011010; 101001]。目标是将其化为[I3 P]的形式。r1与r3行互换,得到[101001; 011010; 110100]。接着,r3=r3+r1,得到[101001; 011010; 011101]。
继续上一步,r3=r3+r2,得到[101001; 011010; 000111]。此时左边的3x3子矩阵[101; 011; 000]还不是单位阵。这说明我们最初选择的列可能无法直接形成单位阵,需要进行列交换。将第3列与第4列交换,矩阵变为[100011; 010110; 001110]。现在前三列是单位阵了,变换完成。但必须记住编码后的码字也要做相应的列交换。
以(7,4)汉明码为例,其非系统形式的生成矩阵可能为G。为了方便编码,通常将其转换为系统形式。例如,给定一个生成矩阵,我们通过行变换可以得到 G_sys = [P | I_4] 的形式。注意,单位阵不一定总在左边,也可以通过列交换调整到右边,这对应于信息位在码字中的不同位置。
上一篇:萤石云关联摄像头到录像机怎么设置
上一篇:H海康工业相机调试教程 步骤指南