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?
0 个评论
回答(1 个)
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
2020-8-2
Hi Cheng, Have you got the answer of this question?, I'm also stuck in that same issue.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Error Detection and Correction 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!