 This topic has 4 replies, 2 voices, and was last updated 2 years, 9 months ago by Fam.

AuthorPosts

12. November 2018 at 14:03 #11530FamParticipant
Hi,
In Vienna Simulator (v1.1), in the shortBlockChannelCoding.m, the code rate of LDPC is higher.
May I know what is the formula used to calculate the code rate for LDPC?%% Information length and code rate K = 48; R = 1/6; R_LDPC = 0.256; % For LDPC, we use a higher code rate in order to compensate for the rate reduction caused by the addition of filler bits.
As I noticed the code rate used for LDPC code in Comparison_CodingSchemes_AWGN_BPSK.m was same as other codes.
% Set the code rate for all schemes codeRate = 1/2; ChannelCodingTBC = Coding.ChannelCoding(... 'TBConvolutional', ... % Coding scheme 'MAXLogMAP', ... % Decoding algorithim codeRate ... % Code rate ); ChannelCodingTurbo = Coding.ChannelCoding(... 'Turbo', ... % Coding scheme 'LinearLogMAP', ... % Decoding algorithim codeRate, ... % Code rate 8 ... % Decoding iterations ); ChannelCodingLDPC = Coding.ChannelCoding(... 'LDPC', ... % Coding scheme 'PWLMinSum', ... % Decoding algorithim codeRate, ... % Code rate 16 ... % Decoding iterations ); ChannelCodingPolar = Coding.ChannelCoding(... 'Polar', ... % Coding scheme 'CRCListSC', ... % Decoding algorithim codeRate, ... % Code rate 8 ... % List size );
Best Regards,
Fam13. November 2018 at 11:06 #11538Bashar TahirParticipantDear Fam,
As mentioned in our simulator publication: https://jwcneurasipjournals.springeropen.com/articles/10.1186/s1363801812396, the reason for that is to have a fair comparison between the different schemes for short block lengths. In the 5GNR codes, filler bits are added to compensate for the mismatch between the input block size and the dimensions of the party check matrix. Since this can result in a longer codeword, then the effective code rate will get reduced compared to the other schemes. To compensate for that, the code rate is reduced compared to the other coding schemes, such that for every scheme, the input information length, and the output codeword length are the same.
The reason why we did not do that in the Comparison_CodingSchemes_AWGN_BPSK.m example, is because the codeword length is 1712, and therefore the number of added filler bits is much smaller compared to the codeword length; so we just ignored it.
Best,
Bashar This reply was modified 2 years, 10 months ago by Bashar Tahir.
13. November 2018 at 18:17 #11542FamParticipantDear Bashar,
Noted, thank you for the detailed explanation!
May I know what is the formula used to calculate the code rate for LDPC code in ShortBlockChannelCoding.m in order to compensate the additional of filler bits?
Best Regards,
Fam16. November 2018 at 9:27 #11551Bashar TahirParticipantAs I mentioned, it was chosen such that the length of the LDPC output codeword is the same as that of the turbo code. No specific formula was used.
Best,
Bashar11. December 2018 at 18:36 #11619FamParticipantDear Bashar,
For ShortBlockChannelCoding.m, from the example of R=1/6, the R_LDPC is 0.256. So with reverse engineer calculation, the filler bits for LDPC is 34 bits?
Assuming that the calculation above is correct, R_LDPC is 0.307 when R=1/5. Is it correct?How about the bandwidth used in both ShortBlockChannelCoding.m and Comparison_CodingSchemes_AWGN_BPSK.m?
Best Regards,
Fam 
AuthorPosts
 You must be logged in to reply to this topic.