[英]How to determine LDPC generator matrix form parity check matrix (802.16e)
I have parity check table H
for 802.16e standard with 1/2
rate and expansion factor 96
:我有1/2
速率和扩展因子96
802.16e 标准的奇偶校验表H
:
Hb =
-1 94 73 -1 -1 -1 -1 -1 55 83 -1 -1 7 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 27 -1 -1 -1 22 79 9 -1 -1 -1 12 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 24 22 81 -1 33 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1
61 -1 47 -1 -1 -1 -1 -1 65 25 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1
-1 -1 39 -1 -1 -1 84 -1 -1 41 72 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 46 40 -1 82 -1 -1 -1 79 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1
-1 -1 95 53 -1 -1 -1 -1 -1 14 18 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1
-1 11 73 -1 -1 -1 2 -1 -1 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1
12 -1 -1 -1 83 24 -1 43 -1 -1 -1 51 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1
-1 -1 -1 -1 -1 94 -1 59 -1 -1 70 72 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1
-1 -1 7 65 -1 -1 -1 -1 39 49 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0
43 -1 -1 -1 -1 66 -1 41 -1 -1 -1 26 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0
Then I get H
in binary form with sizes 1152x2304
: spy(H) img然后我得到H
以二进制形式与尺寸1152x2304
:间谍(H)IMG
I want to get a matrix generator G
from H
, how can I do it?我想从H
得到一个矩阵生成器G
,我该怎么做? I need to encode words by multiplying words by a generator matrix ( cw = m*G
, where m
- input word, cw
- code word).我需要通过将单词乘以生成器矩阵( cw = m*G
,其中m
- 输入单词, cw
- 代码字)来编码单词。
I try different ways, but at the end i cant reach nnz(mod(G*H', 2))
equal 0
.我尝试了不同的方法,但最后我无法达到nnz(mod(G*H', 2))
等于0
。
An old question but as I had the same and designed a solution...一个老问题,但因为我有同样的问题并设计了一个解决方案......
This LDPC code is systematic, that is, the code words contain the information bits, and the information bits are the leading bits of the code word.这种LDPC码是系统的,即码字包含信息位,信息位是码字的前导位。 All computations are made in GF2
(Galois field of size 2).所有计算均在GF2
(大小为 2 的伽罗瓦域)中进行。
Let us denote:让我们表示:
n
the code word length (and number of columns of H
and G
), n
码字长度(以及H
和G
的列数),m
the number of parity bits (and the number of rows of H
), m
奇偶校验位数(以及H
的行数),k=nm
the number of information bits (and the number of rows of G
), k=nm
信息位数(以及G
的行数),[A,B]
the matrix formed by concatenating left to right the two sub-matrices A
and B
(when A
and B
have the same number of rows), [A,B]
由左到右连接两个子矩阵A
和B
形成的矩阵(当A
和B
具有相同的行数时),A^
the transposed matrix of matrix A
, A^
矩阵A
的转置矩阵,Ip
the identity matrix of size p
, Ip
大小为p
的单位矩阵,0p
the zero vector of size p
, 0p
大小为p
的零向量,inv(A)
the inverse of square matrix A
. inv(A)
方阵A
的逆矩阵。 If u
is a k
-bits word to encode (information bits) and x
the corresponding n
-bits code word, as the code is systematic with leading information bits, we have:如果u
是要编码的k
位字(信息位),而x
是相应的n
位代码字,因为该代码是具有前导信息位的系统,我们有:
x = u * G
= u * [Ik,F] = [u,u * F] = [u,c]
c = u * F
where F
is a k
-rows, m
-columns matrix.其中F
是k
行m
列矩阵。 We can also represent the parity check matrix H
as H = [A,B]
where A
is a m
-rows, k
-columns matrix and B
is a m
-rows, m
-columns (square) matrix.我们还可以将奇偶校验矩阵H
为H = [A,B]
,其中A
是m
行k
列矩阵, B
是m
行m
列(正方形)矩阵。 As a matter of fact, B
is not singular (it has an inverse).事实上, B
不是奇异的(它有一个逆)。 So:所以:
H * x^ = [A,B] * x^ = [A,B] * [u,c]^ = A * u^ + B * c^ = 0n^
(H * x^)^ = u * A^ + c * B^ = 0n
(H * x^)^ * inv(B^) = u * A^ * inv(B^) + c = 0n
From which it comes (we are in GF2
):它来自(我们在GF2
):
c = u * (A^ * inv(B^))
And thus:因此:
F = A^ * inv(B^)
G = [Ik,A^ * inv(B^)]
An octave code that computes G
from H
(where H
is already in GF2
) and checks that G * H^ = 0
(the Matlab code should be very similar):从H
计算G
的八度代码(其中H
已经在GF2
)并检查G * H^ = 0
(Matlab 代码应该非常相似):
pkg load communications
function F = make_gen_min(H)
m = size(H, 1);
n = size(H, 2);
k = n - m;
A = H(1:m, 1:k);
B = H(1:m, k+1:n);
F = transpose(A) * inv(transpose(B));
endfunction
function G = make_gen(H)
m = size(H, 1);
n = size(H, 2);
k = n - m;
F = make_gen_min(H);
G = [gf(eye(k), 2), F];
endfunction
H = [...];
G = make_gen(H);
if(any(G * transpose(H)))
disp ("Error: G * transpose(H) != 0");
else
disp ("Note: G * transpose(H) == 0");
endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.