12. November 2018 at 14:03 #11530
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(... 'TB-Convolutional', ... % Coding scheme 'MAX-Log-MAP', ... % Decoding algorithim codeRate ... % Code rate ); ChannelCodingTurbo = Coding.ChannelCoding(... 'Turbo', ... % Coding scheme 'Linear-Log-MAP', ... % Decoding algorithim codeRate, ... % Code rate 8 ... % Decoding iterations ); ChannelCodingLDPC = Coding.ChannelCoding(... 'LDPC', ... % Coding scheme 'PWL-Min-Sum', ... % Decoding algorithim codeRate, ... % Code rate 16 ... % Decoding iterations ); ChannelCodingPolar = Coding.ChannelCoding(... 'Polar', ... % Coding scheme 'CRC-List-SC', ... % Decoding algorithim codeRate, ... % Code rate 8 ... % List size );
Fam13. November 2018 at 11:06 #11538Bashar TahirParticipant
As mentioned in our simulator publication: https://jwcn-eurasipjournals.springeropen.com/articles/10.1186/s13638-018-1239-6, the reason for that is to have a fair comparison between the different schemes for short block lengths. In the 5G-NR 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.
13. November 2018 at 18:17 #11542
- This reply was modified 2 years, 7 months ago by Bashar Tahir.
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?
Fam16. November 2018 at 9:27 #11551Bashar TahirParticipant
As 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.
Bashar11. December 2018 at 18:36 #11619
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?
- You must be logged in to reply to this topic.