5G/NR  -  NR Light

PDSCH (Physical Data Shared Channel)

This page is about the process of converting user data into PDSCH data and transmit it through each transmission antenna. This would be one of the most complicated process in NR process and a lot of factors are involved in this process. Followings are those factors getting involved in this process. The critical (core part) is Transport Process and DCI and RRC is to provide (configure) some parameters for the transport process. In LTE, most of the transport parameters are fixed or automatically determined by transport process algorithm and only small numbers of parameters are configured by DCI but RRC message does not influence very much in the process. However, in NR many of the transport process parameters are provided (configure) not only by DCI but also by RRC message, meaning that the process would become more flexible but troubleshoot for the process will become more challenging.

PDSCH Transport Process

(1) Transport block CRC attachment

(2) LDPC base graph selection

LDPC BaseGraph type is determined by Transport Size (A) and Code Rate(R)  based on following criteria.

If I represent this as areas in coordinate, it would become as follows.

(3) Code block segmentation And Code Block CRC Attachment

i) Determine the max size of the code block (Kcb)

: The max size of the code block depends on LDPC base graph type as follows.

• For LDPC base graph type 1 : Kcb = 8448
• For LDPC base graph type 2 : Kcb = 3840

ii) Determine the number of Codeblocks

if B(Transport block size) < Kcb(Max Codeblock size)

L = 0

C (number of codeblocks) = 1

B' = B   // this mean 'No Segmentation'.

else

L = 24

C = Ceiling(B/(Kcb - L))

B' = B + C * L

iii) Determine the number of bits in each code block

K'(the number of bits in each code block) = B'/C

iv) Determine Kb

For LDPC base graph type 1

Kb = 22

For LDPC base graph type 2

if B (Transport blocksize) > 640

Kb = 10

else if B (Transport blocksize) > 560

Kb = 9

else if B (Transport blocksize) > 192

Kb = 8

else

Kb = 6

v) find the minimum value of  Z in all sets of lifting sizes in [38.212-Table 5.3.2-1: Sets of LDPC lifting size]

vi) denote Zc such that (Kb * Zc) >= K'

vii) set K = 22 Zc for LDPC base graph 1

K = 10 Zc for LDPC base graph 2

viii) perform segmentation and add CRC bits

s = 0  // s = bit position in B (transport block)

for r = 0 to C-1

for k = 0 to K'-L-1

crk = bs

s = s + 1

end for

if C > 1  // Do this if the number of the code block is more than 1

Calculate pr0,pr1,pr2,...,pr(L-1) using the sequence cr0,cr1,cr2,...,cr(K'-L-1) and g_CRC24B(D)

for k = K'-L to K'-1  // Append CRC bit

crk = pr(k+L-K')

end for

end if

for k = K' to K-1  // Insertion of filler bis

crk = < NULL >

end for

end for

Perform LDPC as described in 38.212 - 5.3.2

(5) Rate Matching

(7) Scrambling

(8) Modulation

(9) Layer Mapping

<  38.211 - Table 7.3.1.3-1: Codeword-to-layer mapping for spatial multiplexing.  >

(10) Antenna Port Mapping

Once the data path through the layer mapping process, the data from each layer are mapped to each Antenna Port. When CSI is not applied, the data maps to physical antenna port as below.

When CSI is applied, the data from layer mapper are first mapped to each of CSI antenna port as shown below.

The determination of W(i) from reportQuantity of CSI-ReportConfig can be summarized as shown below.

 reportQuantity W(i) determination criterial cri-RI-PMI-CQI or cri-RI-LI-PMI-CQI PMI Report from UE cri-RI-CQI The process described in 38.214-5.2.1.4.2 cri-RI-i1-CQI i1 Report from UE

(11) Mapping to VRB

For each antenna step, a virtual resource grid is created. Within the resource grid, fill out each of the resource elements(RE) with PDSCH data from the RE at the lowest frequency to higher frequency. Once it reaches the RE at the highest frequency of the assigned PDSCH resource block, move to the RE at the lowest frequency of next OFDM symbol. But you should not use the REs that are assigned for following purpose :

• REs assigned for DMRS associated with the PDSCH to be transmitted
• REs assigned for DMRS intended for other co-scheduled UEs
• REs for non-zero-power CSI-RS, except for non-zero-power CSI-RSs configured by the higher-layer parameter CSI-RS-Resource-Mobility in the MeasObjectNR IE.
• REs for PTRS
• REs declared as 'not available for PDSCH

(12) Mapping from virtual to physical resource blocks

< Non-Interleaved >

< Interleaved >

RRC Parameters

PDSCH-Config ::=                        SEQUENCE {

dataScramblingIdentityPDSCH         INTEGER (0..1007)    OPTIONAL,

OF TCI-State    OPTIONAL,   -- Need N

tci-StatesToReleaseList                 SEQUENCE (SIZE(1..maxNrofTCI-States))

OF TCI-StateId  OPTIONAL,   -- Need N

vrb-ToPRB-Interleaver                   ENUMERATED {n2, n4},

resourceAllocation                      ENUMERATED { resourceAllocationType0,

resourceAllocationType1,

dynamicSwitch},

pdsch-AllocationList           SEQUENCE (SIZE(1..maxNrofDL-Allocations))

OF PDSCH-TimeDomainResourceAllocation     OPTIONAL,

pdsch-AggregationFactor                 ENUMERATED { n2, n4, n8 } OPTIONAL,

OF RateMatchPattern    OPTIONAL, -- Need N

rateMatchPatternToReleaseList           SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

OF RateMatchPatternId     OPTIONAL, -- Need N

rateMatchPatternGroup1                  SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

OF RateMatchPatternId     OPTIONAL, -- Need R

rateMatchPatternGroup2                  SEQUENCE (SIZE (1..maxNrofRateMatchPatterns))

OF RateMatchPatternId     OPTIONAL, -- Need R

rbg-Size                                ENUMERATED {config1, config2},

mcs-Table                               ENUMERATED {qam64, qam256},

maxNrofCodeWordsScheduledByDCI          ENUMERATED {n1, n2} OPTIONAL,   -- Need R

prb-BundlingType                    CHOICE {

static                                  SEQUENCE {

bundleSize                              ENUMERATED { n4, wideband }  OPTIONAL

},

dynamic                                 SEQUENCE {

bundleSizeSet1                          ENUMERATED { n4,

wideband,

n2-wideband,

n4-wideband

}  OPTIONAL,   -- Need S

bundleSizeSet2                          ENUMERATED { n4,

wideband

} OPTIONAL    -- Need S

}

},

OF ZP-CSI-RS-Resource   OPTIONAL,   -- Need N

zp-CSI-RS-ResourceToReleaseList         SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources))

OF ZP-CSI-RS-ResourceId OPTIONAL,   -- Need M

OF ZP-CSI-RS-ResourceSet   OPTIONAL, -- Need N

aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList   SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

OF ZP-CSI-RS-ResourceSetId   OPTIONAL, -- Need N

OF ZP-CSI-RS-ResourceSet     OPTIONAL, -- Need N

sp-ZP-CSI-RS-ResourceSetsToReleaseList  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Sets))

OF ZP-CSI-RS-ResourceSetId   OPTIONAL, -- Need N

...

}

dataScramblingIdentityPDSCH : Identifer used to initalite data scrambling (c_init) for both PDSCH. Corresponds to L1 parameter 'Data-scrambling-Identity'

dmrs-DownlinkForPDSCH-MappingTypeA : DMRS configuration for PDSCH transmissions using PDSCH mapping type A (chosen dynamically via PDSCH-TimeDomainResourceAllocation)

dmrs-DownlinkForPDSCH-MappingTypeB : DMRS configuration for PDSCH transmissions using PDSCH mapping type B (chosen dynamically via PDSCH-TimeDomainResourceAllocation)

tci-StatesToAddModList : A list of Transmission Configuration Indicator (TCI) states for dynamically indicating (over DCI) a transmission configuration which includes QCL-relationships between the DL RSs in one RS set and the PDSCH DMRS ports

vrb-ToPRB-Interleaver :  Interleaving unit configurable between 2 and 4 PRBs. Corresponds to L1 parameter 'VRB-to-PRB-interleaver'

resourceAllocation :  Configuration of resource allocation type 0 and resource allocation type 1 for non-fallback DCI. Corresponds to L1 parameter 'Resouce-allocation-config'

pdsch-AllocationList :  List of PDSCH-TimeDomainResourceAllocation. If configured, the values provided herein override the values received in corresponding PDSCH-ConfigCommon. This information elements has an array structure as sown below. For each PDSCH scheduling, Time domain resource assignment of DCI 1_0 or DCI 1_1 specify a specific row number (row index) of the following table as stated in 38.214 - 5.1.2.1.

When the UE is scheduled to receive PDSCH by a DCI, the Time domain resource assignment field of the DCI provides a row index of a higher layer configured table pdsch-symbolAllocation, where the indexed row defines the slot offset K0, the start and length indicator SLIV, and the PDSCH mapping type to be assumed in the PDSCH reception.

 pdsch-AllocationList row 0 PDSCH-TimeDomainResourceAllocation ::=      SEQUENCE {     k0                                  INTEGER (1..3)     mappingType                         ENUMERATED {typeA, typeB},     startSymbolAndLength                BIT STRING (SIZE (7)) } row 1 PDSCH-TimeDomainResourceAllocation ::=      SEQUENCE {     k0                                  INTEGER (1..3)     mappingType                         ENUMERATED {typeA, typeB},     startSymbolAndLength                BIT STRING (SIZE (7)) } ... ... row N PDSCH-TimeDomainResourceAllocation ::=      SEQUENCE {     k0                                  INTEGER (1..3)     mappingType                         ENUMERATED {typeA, typeB},     startSymbolAndLength                BIT STRING (SIZE (7)) }

pdsch-AggregationFactor  : Number of repetitions for data. Corresponds to L1 parameter 'aggregation-factor-DL' . When the field is absent the UE applies the value 1

rateMatchPatternToAddModList : Resources patterns which the UE should rate match PDSCH around. The UE rate matches around the union of all resources indicated in the nexted bitmaps. Corresponds to L1 parameter 'Resource-set-BWP'

rateMatchPatternGroup1 : The IDs of a first group of RateMatchPatterns defined in the rateMatchPatternToAddModList. Corresponds to L1 parameter 'Resource-set-group-1'

rateMatchPatternGroup2 :  The IDs of a second group of RateMatchPatterns defined in the rateMatchPatternToAddModList Corresponds to L1 parameter 'Resource-set-group-2'

rbg-Size : Selection between config 1 and config 2 for RBG size for PDSCH. Corresponds to L1 parameter 'RBG-size-PDSCH'

rbg-Size : Selection between config 1 and config 2 for RBG size for PDSCH. Corresponds to L1 parameter 'RBG-size-PDSCH' for Resource Allocation Type 0.

mcs-Table : Indicates which MCS table the UE shall use for PDSCH. Corresponds to L1 parameter 'MCS-Table-PDSCH'. (64QAM, 256 QAM)

maxNrofCodeWordsScheduledByDCI :  Maximum number of code words that a single DCI may schedule. This changes the number of MCS/RV/NDI bits in the DCI message from 1 to 2.

prb-BundlingType : Indicates the PRB bundle type and bundle size(s). If "dynamic" is chosen, the actual BundleSizeSet to use is indicated via DCI. If a bundleSize(Set) value is absent, the UE applies the value n2. Corresponds to L1 parameter 'PRB_bundling'

zp-CSI-RS-ResourceToAddModList : A list of Zero-Power (ZP) CSI-RS resources used for PDSCH rate-matching. Corresponds to L1 parameter 'ZP-CSI-RS-ResourceConfigList'

aperiodic-ZP-CSI-RS-ResourceSetsToAddModList : A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the  zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the DCI payload. The resources referenced in these sets are confgiured with resourceType 'aperiodic'. Corresponds to L1 parameter ' ZP-CSI-RS-ResourceSetConfigList'

sp-ZP-CSI-RS-ResourceSetsToAddModList :  A list of sets. Each set contains a set-ID and the IDs of one or more ZP-CSI-RS-Resources (the actual resources are defined in the zp-CSI-RS-ResourceToAddModList). The network triggers a set by indicating its set-ID (ZP-CSI-RS-ResourceSetId) in the MAC CE. The resources referenced in these sets are confgiured with resourceType 'semi-persistent'. Corresponds to L1 parameter 'SP-ZP-CSI-RS-Resource-List'

PDSCH-ConfigCommon ::=       SEQUENCE {

pdsch-AllocationList        SEQUENCE (SIZE(1..maxNrofDL-Allocations))

OF PDSCH-TimeDomainResourceAllocation   OPTIONAL,-- Need R

...

}

Reference

[1]