PDCCH ( Physical downlink Control CHannel):
This channel carries the control information about the data being transmitted on the current subframe and the information about the resources which UE need to use for the uplink data. That means it is mandatory for the UE to decode it successfully if it wants to send some data or receive something. After knowing PDCCH, I personally feel that it is the heart of LTE . So we should try to understand it completely that:
- What information it carries?
- Where it carries the information?
- And for whom it carries the information?
PDCCH carries a message called DCI ( Downlink Control Information ) which includes resource assignments for a UE or group of UE’s. EnodeB can transmit many DCI’s or PDCCH’s in a subframe. Actually enodeB need to send a lot of parameters to the UE for its operation but there may be the cases that some information is not required for a particular UE.
For Example: Some UE does not support MIMO ( Multiple Input Multiple Output ), so for that UE there is no need to send the MIMO related parameters because they will increase the signalling overhead. There comes in the picture the different formats for sending the information which are called DCI formats. Even we would not like to have so many formats because they will increase the complexity. So to cover the most useful cases we have following DCI formats, for instance, DCI format 0 is used for uplink allocation, all other formats are used for allocating the resources in downlink.
- Format 0 for transmission of resources to UE for sending their uplink data
- Format 1 for downlink allocation of resources for Single Input Multiple Output (SIMO)case
- Format 1A for downlink allocation of resources for SIMO operation or allocating a dedicated preample signature to a UE for random access
- Format 1B for transmission control information of Multiple Input Multiple Output (MIMO) rank 1 based compact resource assignment
- Format 1C for very compact transmission of PDSCH assignment
- Format 1D same as format1B with additional information of power offset
- Format 2 and Format2A for transmission of DL-SCH allocation for closed and open loop MIMO operation, respectively
- Format 3 and format3A for transmission of TPC command for an uplink channel
We will explain the structure of each format later with their sizes and thorough explanation of their specific use. Allocation of resources happens in terms of CCE ( Control Channel Elements ). 1 CCE = 9 continuous REG’s ( Resource element Group ) 1 REG = 4 RE ( Resource Element )
CCE allocation for PDCCH:
PDCCH uses the resources present in first n OFDM symbols where n – Value present in PCFICH ( Number of OFDM symbols ) So the number of CCE’s present to transmit the control information will be variable depending on the
- PCFICH value
- Bandwidth of the system from 1.4 Mhz to 20 Mhz.
- Number of antenna ports present which in turn will effect the reference signals present.
Lets take an example for the number of CCE available calculation:
We need to find the total number of RE’s available in first n OFDM symbols where n is coming from the value of PCFICH. Suppose n = 3
Total RE’s = n * x * y
- n – PCFICH value
- x – number of subcarriers in 1 RB
- y – total number of RBs
For instance, considering 10 Mhz bandwidth, we have:
Total RE’s = 3 * 12 * 50 = 1800 RE’s
RE’s for PDCCH = Total RE’s – Number of RE’s used for reference signals – Number of RE’s used in PHICH – Number of RE’s used in PCFICH, then CCE’s available for PDCCH = RE’s for PDCCH /36 as 1 CCE = 36 RE’s.
eNodeB uses the PDCCH for sending the control information for a particular UE or a group of UE’s. It means eNodeB uses the PDCCH for some broadcast information also which is common for all the UE’s. So to make that process easier eNodeB divided its CCE’s into two parts which we call them as search space:
- Common search space :- It consists of CCE’s which are used for sending the control information which is common for all the UE’s .Maximum number of CCE present in common search space is 16. For Example:- Common search space CCE’s are used by eNodeB for sending the control information of SIB’s which is common for all UE’s.
- UE specific search space :- CCE’s belonging to UE specific space are used for sending the control information for a particular UE only. That means information present on UE specific CCE’s can only be decoded by a specific UE.
eNodeB can also send the control information for a specific UE on the common search space. Lets suppose there are total 100 CCEs eNodeB has for sending the control information combining both common space and UE specific search space.
Suppose enodeB has used 85th CCE number for a UE named Ravan for sending his control information. Now how the Ravan will come to know which CCE he needs to decode for getting his information. Either he needs to scan all 100 CCEs one by one and try to find the information. This procedure will consume a lot of battery power for the UE. So to simplify this process, eNodeB has fixed some indexes for a particular UE based on the rnti and the subframe, so now Ravan needs to find his control information only on those specific CCE indexes.
How eNodeB calculate those CCE indexes for a UE:
First we should be familiar with some terms used in this procedure:
- Aggregation Level: It is defined as number of CCE’s used for sending a control information. Its values can be 1,2,4 and 8. Suppose for UE named ravan eNodeB is using some DCI format whose size comes out to be 90 bits after applying the code rate.
- Code rate: It is mainly a physical layer funda for sending the information in a redundant way such that chances of UE successfully decoding it gets increased.
As we know that:
- 1 CCE = 36 RE’s
- 1 RE = 2 bits ( For QPSK modulation) 4 bits( For 16 QAM ) 6 bits ( For 64 QAM)
And eNodeB uses QPSK modulation technique for PDCCH , therefore number of bits in 1 CCE = 36 * 2 = 72 bits.
In the example for UE Ravan eNodeb needs to send 90 bits , so it need to use atleast 2 CCE’s for the control information on PDCCH. It means it will send the control information with aggregation level 2.
It is also possible that enodeB uses a higher aggregation level( more number of CCEs) even if the bits transmitted on PDCCH are less. This happens when channel conditions are bad , so to provide more redundant information to UE such that it can decode the PDCCH.
- PDCCH candidate: Number of CCE indexes seached by a UE in a subframe for a particular search space. These values are fixed by spec 36213 as mentioned in table
|Search space||Number of PDCCH candidates|
|Type||Aggregation level||Size [in CCEs]|
- PDCCH Format: There are four PDCCH formats available as shown below
As shown in table eNodeB uses only aggregation level 4 and 8 for the allocation in common search space .Maximum number of CCE’s present in common search space is fixed as 16. If the total number of CCE’s available in the system are less than 16 for any bandwidth then all the CCE’s will be present in common search space.The position of Common search space CCE’s is always fixed starting from the first CCE index.
We have 100 CCE’s belonging to PDCCH as shown above from CCE index 0 to 99.
As we know that starting CCE’s are common search space CCE’s , so in the diagram green color CCE’s are common search space CCE’s from index 0 to 15.
Suppose eNodeB wants to allocate CCE’s for SIB on common search space for aggregation level 4
And we know that it should satisfy the formula
1. (CCE Index ) mod 4 = 0,
2. And from the table above , the number of PDCCH candidates ( starting CCE indexes) for aggregation level 4 in common space can be 4.
By meeting the above two conditions 4 indexes will be supported by aggregation level 4 in common space as
CCE index 0 – will contain consecutive CCE’s from 0 to 3
CCE index 4 – will contain consecutive CCE’s from 4 to 7
CCE index 8 – will contain consecutive CCE’s from 8 – 11
CCE index 12 – will contain consecutive CCE’s from 12 -15
Similarly if eNodeB wants to allocate with aggregation level 8, then possible indexes meeting the two conditions will be
CCE index 0 – will contain consecutive CCE’s from 0 to 7
CCE index 8 – will contain consecutive CCE’s from 8 to 15
As we know that UE does the blind PDCCH decoding , means it does not have any idea about the aggregation level or DCI format used by the eNodeB. So a UE in common space needs to make (4 try in aggregation level 4 + 2 try in aggregation level 8 ) * DCI format supported for common space. Only small sizes DCI formats are supported in common search space as 0/1A/3/3A/ and 1C, so if enodeB supports 1A and 1C DCI formats, so UE needs to do 12 tries maximum to decode its PDCCH information.
How to find the CCE indexes in UE specific search space in a subframe:
According to the formulas in spec 36213, the set of indexes searched by a UE in a subframe is:
if k = 0 , = RNTI value for that UE ( As given in spec 36213 sec 9.1.1 ), A = 39827, D = 65537
Lets take an example:
- Subframe number = 0
- Aggregation level = 1
We know from the table above that for aggregation level 1, number of PDCCH canditates ( CCE indexes) can be 6.
k = subframe number
As k = 0, = RNTI value for that UE, lets suppose its 100.
CCE index =
i = 0 to (Aggregation Level – 1)
= Number of CCEs available for PDCCH ( suppose 100)
m’ = 0 to ( Number of PDCCH canditates -1 )
CCE index =
Similarly you can calculate the remaining CCE indices for this UE in the current subframe
Lets try to find the CCE indices for subframe 1 now with aggregation level 2:-
As we know that value changes with subframe
will be the value calculated for subframe 0
For aggregation level two also, m’ will be 0 to 5 as number of PDCCH candidates are 6 for aggregation level 2
CCE index =
As in Aggregation level 2, two CCE’s will be allocated for the same PDCCh candidate. Second CCE will be
CCE index =
So first CCE index for this UE in subframe 1 for aggregation level 2 will be 96. This PDCCH candidate will contain 2 CCE’s with indexes 96 and 97. In similar ways UE can find the CCE indexes available in all subframes for the different aggregation levels.
CCE Allocation Examples:
- If terminal A is using the CCE’s 16 to 23 then terminal B cannot be addressed on Aggregation level 4 as the CCE’s are already blocked by terminal A.
- We can also notice that, CCE’s 24 – 31 belongs to both of the UE’s PDCCH candidate set for aggregation level 8. That means overlap can also happen but eNodeB can actually use it for one terminal either A or B.
- For point 1 like case, common search space CCE’s can be used to resolve the contention. This is also another inportant use of common search space.
- It is also clear that first 16 CCE’s are used for common search space in both aggregation level 4 and 8.
It is decided by enodeB on the basis of transmission mode and the RNTI type used for that particular PDCCH.
- SI- RNTI : Used for transmission of system information messages.
- RA-RNTI : Used for PRACH responses.
- P-RNTI : Used for the paging messages
- C-RNTI : Used for the transmission to a specific UE after RACH.
- T-CRNTI : Mainly used during Rach.
There are tables present in spec 36213 in sec 7.1 which describes which format to use.
I am consolidating that information from spec in a easy way to understand.
Usually all the common information gets scheduled in common search space with the CRC scrambled with all RNTI’s except CRNTI. We use DCI format 1A or 1C irrespective of Transmission mode.
Please find the table for the mapping :
- PDCCH order is also transmitted with DCI format 1A.
How EnodeB decides the Aggregation Level to use:
As we know that in 1 CCE 72 bits can be transmitted as QPSK modulation is used in PDCCH. After considering the DCI size and the CQI value, eNodeB decides the aggregation level to use or the number of CCE’s required for the control information for this particulat DCI.
Blind Decoding of PDCCH by UE: UE does the blind decoding because:
- UE does not have idea about the CCE’s used by PDCCH
- UE does not know the aggregation level used by eNodeB
- UE do not have idea about the DCI format used by eNodeB
Steps followed by UE for the blind decoding of PDCCH:
Important points about PDCCH :
- ULSCH PDCCH or DCI format 0 which is used for uplink grant is scrambled with Antenna selection mask. It is done to intimidate the UE about the antenna port it needs to use for its transmission.
- PDCCH shall be transmitted on the same set of antenna ports as PBCH.
- PDCCH is transmitted in starting OFDM symbols to save battery at UE.
- In one subframe or 1 ms , multiple DCI’s needs to be send by eNodeB for sending the data to different UE’s.
- For 1 UE, eNodeB can send multiple DCI’s if it needs to send data and give uplink grant in the same tick.
- UE needs to keep on decoding CCE’s if it is expecting more than one DCI’s.
From Nitin Tayal