nrDLSCHDecoder
Apply DL-SCH decoder processing chain
Description
The nrDLSCHDecoder
System object™ applies the downlink shared channel (DL-SCH) decoder processing chain to the
soft bits corresponding to one or two DL-SCH-encoded transport blocks. The DL-SCH decoding
process consists of rate recovery, low-density parity-check (LDPC) decoding, desegmentation,
and cyclic redundancy check (CRC) decoding. The object implements the inverse operation of the
DL-SCH encoding process specified in TS 38.212 Section 7.2 [1].
To apply the DL-SCH decoder processing chain:
Create the
nrDLSCHDecoder
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
creates a DL-SCH
decoder System object.decDL
= nrDLSCHDecoder
creates the object with properties set by using one or more name-value pairs. Enclose the
property name inside quotes, followed by the specified value. Unspecified properties take
default values.decDL
= nrDLSCHDecoder(Name,Value
)
Example: For example, nrDLSCHDecoder('MultipleHARQProcesses',true)
creates the object and enables multiple hybrid automatic repeat-request (HARQ)
processes.
Properties
Usage
Description
specifies the HARQ process number trblk
= decDL(___,harqID
)harqID
used with the current
transmission in addition to the input arguments in the previous syntax. To use this
syntax, set the MultipleHARQProcesses
property to true
. When
the property is set to false
, the object uses HARQ process number
0.
When the object receives codewords with different redundancy version for an individual HARQ process, the object uses soft buffer state retention to enable soft combining of retransmissions. When you enable multiple HARQ processes, the object maintains independent buffers for each process.
Upon successful decoding of the input, the object automatically resets the soft buffer
for a HARQ process. To reset the soft buffer manually, call the resetSoftBuffer
function.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
Algorithms
References
[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. dois: 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