nrULSCHDecoder
Apply UL-SCH decoder processing chain
Description
The nrULSCHDecoder
System object™ applies the uplink shared channel (UL-SCH) decoder processing chain to the soft
bits corresponding to one or two UL-SCH-encoded transport blocks. The UL-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
UL-SCH encoding process specified in these sections of TS 38.212 [1]:
Sections 6.2.1: Transport block CRC attachment
Sections 6.2.2: LDPC base graph selection
Sections 6.2.3: Code block segmentation and code block CRC attachment
Sections 6.2.4: Channel coding of UL-SCH
Sections 6.2.5: Rate matching
Sections 6.2.6: Code block concatenation
To apply the UL-SCH decoder processing chain:
Create the
nrULSCHDecoder
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 UL-SCH
decoder System object.decUL
= nrULSCHDecoder
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.decUL
= nrULSCHDecoder(Name,Value
)
Example: For example, nrULSCHDecoder('MultipleHARQProcesses',true)
creates the object and enables multiple hybrid automatic repeat-request (HARQ)
processes.
Properties
Usage
Description
specifies the HARQ process number trblk
= decUL(___,harqID
)harqID
used with the current
transport block 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] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[3] Gallager, Robert G. Low-Density Parity-Check Codes, Cambridge, MA, MIT Press, 1963.
[4] 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
[5] 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