There are many ways to optimize LTE throughput and I will try to cover all of them. The LTE throughput optimization procedure described in this article requires PDCCH enhancements. The general idea is that the LTE subframe is made up of PDCCH and PDSCH as explained in my article LTE Frame Structure Made Simple. The PDCCH is used for control information while the PDSCH carries the actual data. So, if the PDCCH resources are reduced then that means that the PDSCH resources can increase which in turn means that there will be more data per subframe. Since, each subframe is 1 ms in LTE so it actually means there will be more bits per millisecond which is the definition of throughput.
Firstly, let’s try to understand PDCCH itself and how it works. A PDCCH is used to give scheduling allocations to the UE on the PDSCH or PUSCH. For example, if the UE has data in the PDSCH, it needs to know where the data is located. The PDCCH will tell the UE that the data it is looking for is located at this location on PDSCH. This means that if the UE is unable to decode PDCCH then the UE cannot read the PDSCH in that subframe and consistent decoding failures of PDCCH lead to RLF (Radio Link Failure) due to N310. Hence, the decoding of PDCCH is extremely important and that is why it uses a special structure which is different than other channels.
PDCCH is made up of CCEs (Control Channel Elements) and each CCE is made up of 36 REs (Resource Elements). PDCCH further uses a concept of aggregation layers which is a group of CCEs. There are 4 aggregation layers in the normal PDCCH
– Aggregation layer 1 : This uses 1 CCE and it is the smallest block so it is only used in very good radio conditions.
– Aggregation layer 2 : This uses 2 CCEs and it is usually the most common aggregation layer in normal radio conditions.
– Aggregation layer 4 : This uses 4 CCEs and it is a robust allocation. It can be used for signalling and control information allocations.
– Aggregation layer 8 : This uses 8 CCEs and it is the most robust allocation. Users in very bad radio conditions are allocated with this layer or it can be used for control information.
Let’s have a look at how many users can be scheduled by PDCCH in a subframe. This depends on the number of CCEs that the subframe can handle which in turn depends on many factors. Let’s have a look at a couple of examples
– Consider a 10 MHz channel using 2×2 MIMO (2 CRS ports). The PDCCH can span over 3 symbols at maximum and may use 1 symbol at minimum. The number of RBs in a 10 MHz channel is 50 and this means that a symbol can hold a maximum of 600 REs. However, in the first symbol, we have 2 RS per RB for each antenna port. This means that there will be a total of 4 RS per RB in the first symbol and since there are 50 RBs so total RS count will be 4*50 =200 REs. Moreover, there is a PCFICH control channel that spans over 4 REGs or 16 REs. Then there are PHICH groups and each PHICH group occupies 3 REGs or 12 REs. If the Ng parameter is 1 then there will be 7 PHICH groups in 10 MHz channel so the total PHICH overhead will be 12*7=84.
Number of REs in one symbol : 50*12 = 600
Overhead in Symbol 1 = 200 RS + 16 REs of PCFICH + 84 REs of PHICH = 300 REs
Overhead in symbol 2 = 0 REs
Overhead in symbol 3 = 0 REs
Total REs available for PDCCH (REs available in 3 symbols) = 1800 – 300 = 1500 REs
Total CCEs available for PDCCH = 1500 REs / 36 = 41 CCEs
This means that if all the users are in very good radio conditions, then there can be 41 users scheduled in 1 TTI (1 ms) with 3 PDCCH symbols. However, this does not happen because the radio conditions of the users are usually distributed and there are common allocations like TPC (transmit power control) commands which are usually at a bigger aggregation layer since it carries allocations for multiple users. So, if there is one TPC command which takes 8 CCEs then around 33 CCEs are remaining. These CCEs will be divided between downlink and uplink data allocations. Usually, downlink data is more so most of the allocations are taken by downlink. Consider that the users are in good conditions and require 2 CCEs each then there can be 16 users in each TTI (16*2 =32 CCEs) with 3 PDCCH symbols.
Now that the PDCCH structure is out of the way, let’s have a look at the optimization procedures for PDCCH.
As described above, the PDCCH symbol usage can go upto 3. Each subframe has 14 symbols so if PDCCH uses 3 symbols, then the PDSCH will only be able to use 11 symbols. If the PDCCH symbol number is reduced to 1, then the PDSCH symbol count can increase to 13 which is around 15% improvement in throughput or capacity. However, if we change the PDCCH symbol count to 1 then that means that the available PDCCH CCEs will reduce to 8 (300/36=8) since the first symbol has 300 REs available and other 300 REs are used by RS, PCFICH and PHICH. And if we need to transmit a TPC command then it will utilize all the CCEs and we cannot transmit any data allocations.
In order to tackle this, most of the vendors have introduced a dynamic algorithm that changes the PDCCH symbol count with respect to the requirement of the users. If there is data for 6 users and a TPC command, it will use 2 symbols for PDCCH and if there is only 1 user that needs to be scheduled, it will reduce the PDCCH symbol count to 1. Activating this algorithm is the first step to ensure optimum balance between PDCCH and PDSCH.
The PDCCH allocation is mostly based on a BLER target accompanied by a CQI input. If the UE is showing a good CQI, the eNB will allocate a good aggregation layer. For example, the UE reported CQI index 12 which shows that it is in good radio conditions then the eNB will allocate it aggregation layer 2 which uses 2 CCEs. Now, consider that the UE moves away and eNB experiences BLER so the eNB will increase the aggregation layer to 4 to provide more robustness to the PDCCH. However, there is another way to increase the robustness and that is to increase the PDCCH power. Vendors have dynamic power features for PDCCH and if such a feature is used, it will increase the PDCCH power with the same aggregation layer to increase the robustness. This means that the UE will stay with the same aggregation layer using 2 CCEs and since it did not expand to 4 CCEs so there was a gain of 2CCEs or 72 REs which might prevent the eNB to increase the PDCCH symbol from 1 to 2 resulting in an extra symbol for PDSCH.
Another approach is to tune the PDCCH BLER target. If the BLER target is slightly increased, then the eNB will use the same PDCCH aggregation layer for longer and this will reduce expansion of PDCCH resulting in a lower CCE utilization and reduced overhead. However, if the BLER target is increased excessively, the UEs might fail to decode the PDCCH resulting in retransmissions.
Another dimension is the coding rate for the PDCCH aggregation layers. If there is more number of bits in a particular PDCCH allocation, then it might exceed the upper limit of the Aggregation Layer 1. So, the eNB will have to expand to the bigger aggregation layer. This happens because the eNB has a threshold for maximum coding rate per aggregation layer. However, if the maximum coding rate threshold is increased, the eNB will be able to send more bits within the same aggregation layer. This would reduce the transitions to higher aggregation layers and might reduce the overhead. As an example, a transmit diversity allocation uses lesser number of PDCCH bits compared to a Open Loop Spatial Multiplexing (TM3) allocation. So, if a network has Transmit Diversity and it moves to Open Loop Spatial Multiplexing, an increase in aggregation layer will be observed. Similarly, if the network shifts from Open Loop to Closed Loop, another increase in aggregation layer will be observed as Closed Loop MIMO allocations take more number of bits on PDCCH compared to Open Loop MIMO allocations. This can be mitigated by increasing the maximum coding rate threshold for the PDCCH. But increasing it reduces the robustness of the PDCCH and therefore, a balance must be maintained.
The gain of the PDCCH optimization is directly proportional to the utilization and load on the PDCCH. If the network is lightly loaded then most of the time PDCCH will only be using 1 symbol and since that is the minimum number of symbols allocated to PDCCH so there will be no gain with any of the above mentioned changes. If the network is congested and PDCCH is consistently using 3 symbols then such measures can help in reducing the symbols to 2 which can expand the PDSCH or data capacity. However, in all the cases, special care must be taken that this does not increase decoding failures excessively.
In case of any queries or feedback, please drop a comment below and I would love to respond and help.