Problem with LDPC encoder for base graph 2
Problem with LDPC encoder for base graph 2
Branch: develop-nr
Bug summary
Location: Function ldpc_encoder_optim_8seg
, ldpc_encoder_optim
, ldpc_encoder_optim_8seg_multi
, ldpc_encoder_orig
in openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c.
LDPC encoder give wrong result for base graph 2 due to the use of magic number instead of corresponding variable for each base graph.
Line 402, openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c
// calculate number of punctured bits
no_punctured_columns=(int)((nrows-2)*Zc+block_length-block_length*3)/Zc;
removed_bit=(nrows-no_punctured_columns-2) * Zc+block_length-(int)(block_length*3);
Resolve:
Magic number '3' should be change to R_inv, which is equal to 3 for base graph 1 and 5 for base graph 2.
Regards,
Son