循环码是一类非常重要的线性码,其不仅在理论上有很好的代数结构,而且其编码和译码都可以很容易地利用线性移位寄存器来实现。一些重要的码,比如二元汉明码及其对偶码都等价于循环码。
设
是一个线性码。如果
的任意一个码字的循环移位还是一个码字,即当
时,
,则称
是一个循环码。
令
,其中
表示
元域
。显然,
中的向量与
中的多项式之间存在着一个自然的一一对应关系:
为方便起见,将
中的向量
与
中的
次多项式
看作是相同的。
对应的多项式系数依次从低次项到高次项。
是循环码当且仅当
满足下述两个条件:
,则
;
,
,则
。
设
,令
。显然
是由
生成的多项式带幺交换环
的一个理想。
,
是一个循环码。 称
为由
生成的循环码。
是
中的一个循环码,
,则
中存在惟一一个具有最低次数并且首项系数为
的多项式
;
;
整除
,即
是
的因子。
是
中的一个循环码,
。
中次数最低并且首项系数为
的多项式
称为循环码
的生成多项式。
是一个循环码
的生成多项式,则
。
是一个循环码,其生成多项式为
,则
,并且
的生成矩阵为
易知
是一个
元
循环码。
设
是一个循环码,其生成多项式为
,
。由定理三可知,存在
,使得
因为
的首项系数为
,所以
的首项系数也为
,并且
。称
为循环码
的校验多项式。
是一个循环码,其生成多项式为
,校验多项式为
,则对任意
,
是
的一个码字当且仅当
。
是一个
元
循环码,其校验多项式为
则
的校验矩阵为
的对偶码
是一个由多项式
生成的
元循环码,即
。
多项式
称为
的互反多项式。严格来说,
的生成多项式应为
等价于一个循环码。 由于循环码的对偶码还是循环码,所以二元汉明码
也等价于一个循环码。
是二元域
上的一个本原多项式,
,则循环码
就是二元汉明码
,其中
,
。
元汉明码
不一定等价于一个循环码,但如果
与
互素,即
,则
元汉明码
一定等价于一个循环码。
设
是一个
元
循环码,其生成多项式为
,
。显然,
有
个信息位,
个校验位。
可以对
中的数字信息进行编码。
循环码有两种非常直接的编码方法:一种是非系统的,另一种是系统的。
对任意信源信息向量
,构造信息多项式
这个多项式对应于循环码
中的一个码字
。因此,信源向量
被编码为
中的码字
。
对任意信源信息向量
,构造信息多项式
显然,当
不全为
时,
。用
去除
,得到
其中
。信源信息向量
被编码为循环码
中的码字
由于
与
没有相同的项,如果将
中的
的项按升幂次序排序,则码字中的后
位就是信息位,前
位是校验位。因此这种编码方案是一种系统编码。
文章作者: hotarugali
文章链接: https://hotarugali.github.io/2022/06/20/Technique/ChannelCoding/循环码/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 お前はどこまで見えている!