How to generating LDPC parity-check matrices with arbitrary sizes?

28 次查看(过去 30 天)
I want to use comm.LDPCEncoder/comm.LDPCDecoder and i know to use this encoder decoder in Matlab the H matrices should be Systematic (support Systematic codes only) otherwise i will receive this error.
"the last (N-K) columns of the parity-check matrix must be invertible in GF(2)."
I know two methods from MATLAB that will generate parity-check matrices:
H = dvbs2ldpc(r)
h = hammgen(m)
However, these methods are restricted to a certain ratio between rows and columns. I tried some other third-party scripts to generate the matrix, but some of them don't seem to return a valid matrix, since "comm.LDPCDecoder" will fail with the same error.
I used some predefined H matrices of Mackay, but no way.
lent of my code-word is not fix it's about 1000 to 3000 it depend to the situation of my simulation(for example code-word length is equal to 1536 or another case 2048), that's why i should create a spars matrix then use it.
Now how to generate the LDPC parity-check matrices with arbitrary sizes[depend to length of my code-word]?  
How to generating LDPC parity-check matrices with arbitrary sizes?

回答(1 个)

David Ding
David Ding 2017-1-5
Hi Hamid,
I believe you might find the following link useful:
Essentially, you just need to do a bit of pre-processing on the parity check matrix in permuting its columns, such that the last (n-k) columns of the new H is always invertible in F_2. To do this, as the author in the link suggested, you may use:
% Permute H to obtain a systematic code
% This is always possible if H has full rank and if infobits_loc is
% correctly defined
paritybits_loc = setdiff(1:size(H,2),infobits_loc);
H2 = H(:,[infobits_loc paritybits_loc]);
Hope this helps.
David
  3 个评论
Zeyad Qasem
Zeyad Qasem 2020-8-2
Hi Cheng, Have you got the answer of this question?, I'm also stuck in that same issue.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Error Detection and Correction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by