Standard parity-check matrices - how to construct them from a non standard one?

934 Views Asked by At

I am working with LDPC codes, and I would need to guess the value of the standard parity-check matrix ($H_{sys}$) corresponding to my non-standard one ($H$) so as to deduce the value of the code's generator matrix $G$. These two matrices -$H$ and $G$- are of dimensions $(n-k,n)$ and $(k,n)$, respectively.

I guess that this standard form $H_{sys} = [I|A]$, where $I$ is the identity matrix, of dimension $k$ must exist for any $H$? As $H$ is a binary matrix, it would be needed to perform Gauss-Jordan elimination over GF(2) on it to calculate $H_{sys}$. However I get as a result some null rows, which cannot be at all, as these would be removable and the dimension of both $H$ and $H_{sys}$ would no longer be the same.

I am supposed to do this with large matrices so I must do it programatically (with Matlab). Any guidance from your side?

Many thanks in advance, and best regards!

1

There are 1 best solutions below

11
On

You are on the right track. Given $H=[A \mid B]$ you want to transform it, by Gaussian elimination to the systematic form, $H_s = [I \mid P']$ For this to work, you need $H$ to be full rank, that is, that its rows are linearly independent. If this is not so, then some of the rows of $H$ (which correspond to the parity equations) are redundant: then, remove them.