Why does the LDPC encoder block error out with certain sparse parity check matirces Communications Blockset 4.0 (R2008a)?
1 view (last 30 days)
Show older comments
MathWorks Support Team
on 3 Aug 2010
Commented: Sriram Narayanan
on 23 Mar 2015
Some sparse matrices will cause the error
Cannot register run-time parameter for dialog parameter 7 for S-function
'scomldpcencode' in 'ldpcerror/LDPC Encoder/LDPC Encoder' because the
dialog parameter is empty.
when used as the Parity Check Matirx parameter of the LDPC encoder block.
The same error is not thrown when using the command line interface.
Reproduction steps:
[parmat,genmat] = hammgen(3);
checkmat=sparse(genmat);
checkmat, used in the command line API works:
enc = fec.ldpcenc(checkmat); % Construct a default LDPC encoder object
% Generate and encode a random binary message
msg = randint(1, enc.NumInfoBits, 2);
codeword = encode(enc, msg);
disp(['codeword = ' num2str(codeword(1:length(codeword)))]);
But if checkmat is used in the LDPC encoder block the error above is thrown.
Accepted Answer
MathWorks Support Team
on 3 Aug 2010
The parity check matrix specified for the LDPC block is decomposed, in the MATLAB code mask initialization function, into several submatrices, which are then passed as parameters into the S-functions below the mask. In the cases where the block errors out, one of those submatrices was empty due to the sparseness of the parity check matrix 'H'.
Such a condition is a clear indication that the parity check matrix is poorly formed, and will not provide very good BER performance. Even so, the block should run with the poorly formed H matrix just as the command line API does. The reason it errors out is because it uses Simulink run-time parameters (RTPs) to try to pass the parameter to other blocks that are beneath the mask. Simulink does not allow empty matrices to be used as a run-time parameters.
The best way to ensure that the LDPC block does not error out is to use a robust parity check matrix.
0 Comments
More Answers (0)
See Also
Categories
Find more on AI for Wireless in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!