Reed-Muller 码-第三种构造方法 - 生成矩阵
这篇文章介绍 Reed-Muller 码的第三种构造方法,通过计算出生成矩阵来做编码。这个方法通过递推的方式来计算生成矩阵,可以看成是一种递推方法(Recursive).
(视频在:https://www.bilibili.com/video/BV1k14y1c7xG/)
Reed-Muller 码是记为 R(r,m),对应的生成矩阵,记为 G(r,m),则计算生成矩阵的递推公式为:
公式 (1) 中的递推的结束条件是有两种,一个是碰到 R(r=m,m) 的生成矩阵 G(r=m,m),另外一个是碰到 R(0,m) 的生成矩阵 G(0,m).
在前面的文章中我们分析过,R(m,m) 这个编码器,其输入的比特数量等于输出的比特数量,都是 ,所以相当于没有编码,那么,没有编码的 "编码器",其对应的生成矩阵就是一个单位矩阵,维度是
一个长度为 的输入向量,乘以 G(m,m),得到的还是输入的向量。
而对于 R(0,m) 这个编码器,是输入一个符号,输出重复的 个符号,则其生成矩阵为一个全 1 的行向量,长度为
输入比特 0,乘以 G(0,m) 得到一个全 0 的长度为 的序列;输入比特 1, 乘以 G(0,m) 得到一个全 1 的长度为
的序列,所以这是一个重复码。
我们下面举个例子来说明这个过程,我们以 R(2,4) 为例子,这样可以与前面文章(本系列文章的第二个:第二种构造方法)中得到的生成矩阵做对比。
根据 (1) 的递推,我们有:
继续递推公式 (2) :
以及
再继续递推公式 (3) (4)
公式 (5) 中的:
以及:
把公式 (6) (7) 代入公式 (5) 有:公式 (4) 中的
把公式 (8) (9) 代入公式 (4) 有:
公式 (3) 中的:
把公式 (11) 和公式 (10) 代入公式 (3)有:
把公式 (12)(10) 代入公式 (2) :
在前面的文章中,我们通过第二种构造方法也得出了一个生成矩阵,如下:
表面上看 (13) 与 (14) 的结果不同,但是,其实都是 16 维空间中 的 11 维子空间中的基,只是选取的基不同。 (13) 式可以通过适当的行变换,得到 (14).
我们把公式 (13) 中矩阵的各个行,记为 [1] [2],...., [11],则 (14) 的矩阵就是:
所以,这两个生成矩阵是等价的,虽然输入相同的数据,得到的是不同的输出,但是,他们在性能上,结构上是完全等价的。