Low-density parity-check (LDPC) decoding
[
returns the LDPC-decoded output matrix out
,actNumIter
,finalParityChecks
] = nrLDPCDecode(in
,bgn
,maxNumIter
)out
for the input data matrix
in
, base graph number bgn
, and maximum number of
decoding iterations maxNumIter
. The function also returns the actual
number of iterations actNumIter
and the final parity checks per
codeword finalParityChecks
.
The decoder uses the sum-product message-passing algorithm. The data bits must be LDPC-encoded as defined in TS 38.212 Section 5.3.2 [1].
[
specifies optional name-value pair arguments, in addition to the input arguments in the
previous syntax.out
,actNumIter
,finalParityChecks
] = nrLDPCDecode(___,Name,Value
)
[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] Gallager, Robert G. Low-Density Parity-Check Codes, Cambridge, MA, MIT Press, 1963.
[3] Hocevar, D.E. "A reduced complexity decoder architecture via layered decoding of LDPC codes." In IEEE Workshop on Signal Processing Systems, 2004. SIPS 2004. doi: 10.1109/SIPS.2004.1363033
[4] Chen, Jinghu, R.M. Tanner, C. Jones, and Yan Li. "Improved min-sum decoding algorithms for irregular LDPC codes." In Proceedings. International Symposium on Information Theory, 2005. ISIT 2005. doi: 10.1109/ISIT.2005.1523374