|
|||||||
PDCCH is a physical channel that carries downlink control information (DCI) and it has characteristics as described below.
In terms of Channel Process, PDSCH goes through following steps. In case of PDCCH, the most complicated (also the confusing process) would be related to Step (7). Refer to CCE Index Calculation/PDCCH Decoding/Blind Decoding for the detailed process of how each bits of PDCCH symbols find its place in canditate area. Also refer to PDCCH Resource Allocation, and refer to PDCCH Candidate and Search Space for basic terminologies related to PDCCH resource allocation. If you want to look into the final result of PDCCH resource allocation in visualized form as well as data processing process, refer to Matlab : Toolbox : PDCCH page.
CRC AttachmentIn LTE, PDCCH (Physical Downlink Control Channel) payloads use a 16-bit CRC for error detection (36.212-5.3.3.2). This design ensures the CRC not only provides error detection, but also implicitly encodes the target UE’s identity (the RNTI) and, if applicable, the chosen transmit antenna port. The CRC fails if a different RNTI or wrong antenna selection mask is assumed, preventing the UE from decoding control information not intended for it. Overall procedure for CRC attachment for DCI can be summarized as bellow
Let A be the length of the PDCCH payload (a0, a1, …, aA−1). The CRC bits (p0, …, p15) are computed over all A bits and then appended, giving a total of B = A + 16 bits (b0, …, bB−1). Once the 16 parity bits are attached, these bits can be scrambled using the RNTI (xrnti) and, optionally, an antenna-selection mask (xAS). This ensures the CRC is tied to a specific RNTI (and UE Tx antenna selection if applicable). The CRC generator polynomial from Section 5.1.1 is used to derive the 16-bit CRC (p0 … p15) over the payload a0 … aA−1. These are appended to form: b0, b1, …, bA−1, bA … bA+15 where bA+i = pi for i = 0..15. If UE Tx antenna selection is not enabled, the 16 CRC bits (bits bA … bA+15) are XOR-ed with the RNTI bits xrnti,0 … xrnti,15, where the MSB of the RNTI corresponds to xrnti,0. (This is the point where RNTI do the most important role) Formally: ck = bk for k < A ck = ( bk + xrnti, (k − A) ) mod 2 for k = A..(A+15) This combines the CRC bits with the RNTI so that a receiver needs the correct RNTI to pass the CRC check. When there is no UE Tx Antenna selection, CRC attachment and Masking goes as follows. When UE Tx antenna selection is configured, an extra mask xAS is applied — specifically for DCI format 0. In that case, each CRC bit bA..A+15 is XOR-ed with both xrnti and xAS: ck = bk for k < A ck = ( bk + xrnti, (k − A) + xAS, (k − A) ) mod 2 for k = A..(A+15) The mask xAS is defined in Table 5.3.3.2-1. For example, if UE port 1 is selected, xAS might be <0, …, 0, 1>, meaning only the least significant bit of the CRC is toggled. < 38.212-Table 5.3.3.2-1: UE transmit antenna selection mask.>
When there is UE Tx Antenna selection, CRC attachment and Masking goes as follows. In LTE, A represents the number of bits in the PDCCH payload (the DCI message) before the CRC is attached. Its exact size depends on the chosen DCI format and the number of bits needed to represent each field within that format (e.g., frequency allocation, modulation and coding scheme, HARQ process number, etc.). Example: DCI Format 0 Consider a scenario where DCI format 0 is used for uplink grants. The payload might include the following fields:
Adding these up (except the variable fields in this example), you may end up with, say, 27 bits in total. In that case, A = 27. Once determined, a 16-bit CRC is appended, resulting in a final codeword of A + 16 bits (i.e., 27 + 16 = 43 bits). Channel CodingIn LTE, Downlink Control Information (DCI) messages on the PDCCH are channel-coded with a tail-biting convolutional code at rate 1/3 (36.212-5.3.3.3). < Table 5.1.3-2 of TS36.212 > The defailed breakdown are as follows:
After these coded bits are generated, they are passed on to the next step (rate matching) and then eventually mapped to the PDCCH resources. Tail-biting convolutional coding ensures minimal overhead while preserving robust forward error correction for DCI payloads.
Multiplexing/Scrambling
c(i) here is a Gold Sequence. If you are not familiar with the concept of a Gold Sequence, refere to GoldCode page. PDCCH Encoding in srsRANIf you are interested in this process at the source code level of the protocol stack, I would suggest you to look into the openSource srsRAN. Following APIs can be good places for you to start. This list is from the master-branch of the code that was downloaded on Oct 8,2021
PDCCH Decoding in srsRANIf you are interested in this process at the source code level of the protocol stack, I would suggest you to look into the openSource srsRAN. Following APIs can be good places for you to start. This list is from the master-branch of the code that was downloaded on Oct 8,2021
|
|||||||