循环码的概念及性质:
在描述循环码之前,先看以下例子。设(7,4)汉明码C的生成矩阵和校验矩阵为:
于是可以得到相应的16个码组:
(1000101)(0001011)(0010110)(0101100)(1011000)(0110001)(1100010)(0100111)(1001110)(0011101)(0111010)(1110100)(1101001)(1010011)(1111111)(0000000)
由上述这些码组可以看到,如果是C的码组,则它的左右移位都是C的码组,具有这种特性的线性分组码称为循环码。
循环码具有以下一些性质:
??? 1、封闭性(线性性)。任何许用码组的线性和还是许用码组。由此性质可以知:线性码都包含全零码。且最小码重就是最小码距。
??? 2、循环性。任何许用的码组循环移位后的码组还是许用码组。
循环码可以用多项式来表示。为了用代数理论的方法研究循环码的特性,我们经常将循环码表示成码多项式的形式:通常将码的码多项式定义如下:
其中,D、。
这里,GF(2)表示2元域,在GF(2)内只有两种元素0,1,且0、1满足如下的加法和乘法运算规则:1+1=0、1+0=1、0+1=1、0+0=0;1×1=1、1×0=0、0×0=0、0×1=0。例如(1011000)码的多项式表示为
循环码的生成多项式:(返回)
n和生成多项式构成。其中g(D)是一个能除尽的n-k阶多项式。阶数低于n并能被g(D)除尽的一组多项式就构成一个(n,k)循环码。也就是说,阶数小于n-1且能被g(D)除尽
的每个多项式都是循环码的许用码组。例如,(7,4)循环码的生成多项式,则阶数低于n-1能被g(D)除尽的多项式为
,其中。
假设,则对应的循环码多项式为
????????????????
则对应的循环码组为(1111111)。
我们知道,循环码中任何码组的循环移位还是许用码组。用多项式的形式表示为:
码组,经过移位位,可得到码组
???
则可以证明得到(证明略):
?,即
??? 例如,(7,4)循环码(1000101)的码多项式为,移位1位后变成
????? ,将它被除,得到
?????
因此,循环左移一位的余式为,其相对应的码组为(0001011),正好是(1000101)循环左移一位的结果。
??? 另一个重要的结论是,(n,k)循环码的生成多项式一定是的因式,即????? 。反之,如果是一个n-k次多项式,且能除尽,则此一定生成一个(n,k)循环码。(证明略)
为寻找生成多项式,必须对因式分解。因式分解可以通过计算机分解的方式分解,也可以通过查表(通常一些参考书已给出了这种因式分解的表格)。例如,可分解为;(7,4)循环码的生成多项式可以选择或;而(7,3)循环码的生成多项式可以选择或;(7,6)循环码的生成多项式为D+1,实际上就是简单的偶校验码
循环码的生成矩阵与监督矩阵:
g(D)的倍式,且根据线性码的生成矩阵的特性,(n,k)码的生成矩阵实际上可以由(n,k)码中k个不相关的码组构成。因此,根据以上两点,我们可以挑选出k个循环码组的码多项式如下:
1、非系统码的生成矩阵
????????????????????? (非系统码的生成矩阵)
输入信息码元为时,相应的循环码组多项式为:
?????
?????
由上式得到的码组不是系统码。系统码的生成矩阵必须为典型形式[Ik,Q]。其中Ik为单位矩阵。例如,已知(7,4)循环码的生成多项式为,可按下面的推导过程求出非系统码生成矩阵。
因为,
所以,
2、?
系统码可定义为,(n,k)系统码的码组中前k个比特是信息比特,后n-k个比特是循环监督位。那么在已知生成多项式g(D)时,如何构造系统码的生成矩阵呢?在系统码中,码组应该具备如下的形式:
??
???????
???????
其中,的次数小于等于n-k-1。
实际上,上式表示了如何生成系统码,即将信息码多项式升n-k次,然后以g(D)为模,求出余式r(D)。我们仍然以(7,4)码为例,已知(7,4)系统循环码的生成多项式为,求其系统码的生成矩阵。系统码的生成矩阵形式肯定是典型形式[Ik,Q],因此我们选择信息多项式为、1。将提升n-k=3次,得到,求除以g(D)的余式得到
因此,系统生成矩阵为
表示成矩阵形式,得到
??? 循环码的监督矩阵可以由下述方法得到。由于g(D)能除尽,即
??????????????? (*)
这里,称为生成多项式,称为监督多项式,。由(*式)可知:
所以,如果生成矩阵是
则监督矩阵为:
它完全由的系数确定。可以看到,上述两者满足。例如,已知(7,3)码的生成多项式为,求生成矩阵和监督矩阵如下:
因为监督多项式为
所以,
监督矩阵为,可以验证。
数 字 音 频