我需要将奇偶校验矩阵H
(仅由 1 和 0 组成)从非标准形式转换为标准形式,即,将其表示为:
Hsys = [A | I]
H
并Hsys
共享相同的维度:(n-k,n)
. I
上面对应于维度的单位矩阵(n-k)
。
Gauss-Jordan 消元法可以很好地解决这个问题。Matlab 有一个特定的命令 ,rref
用于此目的,但是在我们的例子中处理 GF(2) 时它不再有效。浏览互联网,我在 Github 中发现了一个潜在的合适的解决方案来克服这个缺点。然而,它并不总是奏效。
我也试过做HH = mod(rref(H),2)
,这根本不起作用,因为许多输出元素不是二进制的。
您可以在下面找到三个可以应用 Gauss-Jordan 消元(超过 GF(2))的非标准奇偶校验矩阵样本。由于应该始终有一种方法可以将任何矩阵安排为系统化,因此我需要一种适用于任何维度矩阵的方法。
这些第一个样本取自sid 在 Stackoverflow 中的帖子,尚未回复:
H=[1 0 1 1 0;
0 0 1 0 1;
1 0 0 1 0;
1 0 1 1 1];
H=[1 1 0 1 1 0 0 1 0 0;
0 1 1 0 1 1 1 0 0 0;
0 0 0 1 0 0 0 1 1 1;
1 1 0 0 0 1 1 0 1 0;
0 0 1 0 0 1 0 1 0 1];
最后一个是维度矩阵,(50x100)
可以在我的 Dropbox 的这个链接中找到。
编辑于 21/06/2017
@Jonas 提出的解决方案在某些情况下有效,但在大多数情况下都无效,因为 H 矩阵似乎是奇异的。还有其他类似的方法吗?
预先感谢您,并致以最诚挚的问候。