Hi, I am trying to make a parity check matrix from non-systematic to systematic. Hence I am attaching my code below. Somewhat it is correct, but there are some problems. It would be really great if someone could help me in this. Thanks

10 views (last 30 days)
Information theory and coding. I am working on LDPC coding and decoding. Please check the code below
  2 Comments
sb
sb on 10 Jun 2016
Edited: Walter Roberson on 25 May 2017
For e.g.
This is my H matrix
H =
1 0 1 1 0
0 0 1 0 1
1 0 0 1 0
1 0 1 1 1
I want to have an identity matrix inside the matrix. the dimension on H matrix here is (mxn) which is (4x5).
I should have matrix as this in the result:
Hsys =
0 1 0 0 0
0 0 1 0 0
1 0 0 1 0
0 0 0 0 1
I should have an identity matrix of dimension 'm'

Sign in to comment.

Answers (1)

freebil
freebil on 10 Jun 2016
You have to do gauss jordan elimination to convert a parity check matrix to upper triangular form. For example,
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];
There is rref() in matlab and you have to do it in GF(2). So,
HH = mod(rref(H),2)
gives
HH = 1 0 0 0 0 0 1 1 1 0
0 1 0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1 0 1
0 0 0 1 0 0 0 1 1 1
0 0 0 0 1 1 1 0 0 1
  2 Comments
SP22
SP22 on 20 Nov 2017
This might help you to get parity check matrix in form H=[A In-k].
temp=HH(:,1:5) %Access the identity matrix through column
temp2=HH(:,6:10) %Acces the parity through column
Hsyst=horzcat(temp2,temp) %Actual systematic matrix in the form H((n-k)*n)=[P' :I(n-k)]

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!