We found that the generator matrix in Fig.6-2 to be wrong, Bi,j's are not circulant. You can not derive circulant Bi,j's from the parity check matrix in Fig.6-1.
There are two vital problems in the LDPC codes of CCSDS 131.0-P-1.1:
(1) the parity check matrix in Fig.6-1 is not full rank;
(2) the generator matrix in Fig.6-2 is wrong, which are not circulant.
To check our comments for the CCSDS 131.0-P-1.1 codes, you only construct the generator matrix in Fig.6-2, then multiply the transpose of the the parity check matrix in GF(2) provided by our program. You will find that the product in GF(2) is not zero!
Hi Jon, I wanted to ask you where could I find these generator G and parity check H matrices you mention in your last comment. I have managed to calculated the H matrices from the CCSDS recommendation and I cross checked them with previous versions of the recommendation and other sources. Now I am in the process of deriving the corresponding G matrices but it takes a (very) long time. So I saw your post and I was wondering whether I could have access to the G matrices directly. Thanks.
Please keep in mind that the CCSDS document Xiao references is only a draft CCSDS recommendation, not the final recommendation. A few changes have been made since then. In the meantime, the G and H for all 10 of the LDPC codes have been verified.
The CCSDS specification gives the algorithm for generating G and H, but it does take some work to follow the directions.
For those interested in using or simulating the CCSDS LDPC codes, I am working to make full G and H files publicly available, so that people don't have to struggle with the standards document to derive these (large) matrices. In the meantime, if you contact me I can help you with access to them. In addition, full MATLAB encoder/decoder software is available (a C version is available as well)-- this code takes advantage of the circulant-based nature fo the code, so it is a bit more efficient than generic LDPC encoder/decoder that works with arbitrary parity matrices. This code is not public, but it can be licensed royalty free.
In my following published book, I derived the algorithm of generator matrices of CCSDS LDPC, classical approach is invalid for the problem.
 Y. Xiao, Turbo and LDPC Codecs and their Applications, Press of Posts and Telecommunications, Beijing, 2010.
1. To solve the problem of H and G needs good technique, I have solved the problem after the publication of the program one week.
2. Please carefully study the reference I provide, then you may find a way to solve the problem of H and G.
The readers of our program will find that your LDPC simulation program can not run the parity check matrix of CCSDS codes, that is the problem of the CCSDS LDPC code we pointed.
Then you need read the CCSDS file to get the generator matrix, while you wil further find the generator matrix of CCSDS is not orthogonal to the the parity check matrix of CCSDS codes.
We wonder that the vital problems of LDPC codes of CCSDS can exist in wellknown CCSDS !
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.