nrULSCH
Apply UL-SCH encoder processing chain
Description
The nrULSCH
      System object™ applies the uplink shared channel (UL-SCH) encoder processing chain to one or
      two transport blocks. The UL-SCH encoding process consists of cyclic redundancy check (CRC),
      code block segmentation and CRC, low-density parity-check (LDPC) encoding, rate matching, and
      code block concatenation. The object implements these aspects 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 encoder processing chain:
- Create the - nrULSCHobject 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
encUL = nrULSCH
encUL = nrULSCH(Name,Value)
Example: For example, nrULSCH('MultipleHARQProcesses',true) creates
          the object and enables multiple hybrid automatic repeat-request (HARQ)
          processes.
Properties
Usage
Syntax
Description
codedBits = encUL(mod,nLayers,outlen,rv)outlen. Before you call this object, you must load the
          transport blocks into the object by using the setTransportBlock
          object function. mod specifies the modulation scheme.
            nLayers specifies the number of transmission layers.
            rv specifies the redundancy version of the transmission.
codedBits = encUL(___,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.
codedBits = encDL(___,cbgtiIn)CBGTransmission property to true. (since R2025a)
[___,
          also returns the CBG transmission information after the encoding in addition to the input
          and output arguments in any of the previous syntaxes.  (since R2025a)cbgtiOut] = encDL(___)
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
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.