LTE: Resource Allocation Calculator

Resource Allocation

RAtype             Direction              Bandwidth(MHz)          

RIV (Decimal)                                      


Resource Allocation is explained in detail in the post ‘Resource Allocation’.

Uplink Resource Allocation Type 0 indicates to a scheduled UE a set of contiguously allocated virtual resource block indices. This type is explained in the post ‘UplinkResource Allocation Type 0’.

Uplink Resource Allocation Type 1 introduced in Release – 10 is used to indicate a scheduled UE, two sets of resource blocks with each set including one or more consecutive resource block groups.

In the Downlink, Resource AllocationType 0 and Resource Allocation Type 1 are used for non-contiguous resource allocation which uses bit-map based signaling.

Similar to Uplink Type 0, there exists a resource allocation type in Downlink which is Type2.

Limitations:
  •     Uplink Resource Allocation Type 1 is not supported yet…


Reference: 3GPP TS 36.213 and 36.212

LTE: Random Access Response MAC PDU Decoder

RAR MAC PDU Decoder

MAC PDU (RAR)                      


Notes

A MAC PDU which is part of Random Access Response (RAR) consists of a MAC header and zero or more MAC Random Access Responses (MAC RAR) and optionally padding.
The MAC header is of variable size.

A MAC PDU (RAR) header consists of one subheader for each MAC RAR and only on subheader for Backoff Indicator.
The subheader for Backoff Indicator, if included, is always the first subheader.

There can be one or more MAC RARs in the MAC PDU (RAR).


Each MAC RAR has a fixed size of 6 Bytes which consists of 1 reserved bit, 11-bit Timing Advance Command, 20-bit UL Grant, and 16-bit Temporary C-RNTI.
Padding may occur after the last MAC RAR. Presence and length of padding is implicit based on TB size, size of MAC header and number of RARs.

Reference: 3GPP TS 36.321 and 36.213

LTE: MAC PDU Decoder

MAC PDU Decoder

MAC PDU         UL or DL

                                                 


Notes
A MAC PDU is a bit string that is byte aligned (i.e. multiple of 8 bits) in length. Similarly, MAC SDUs are bit strings that are byte aligned (i.e. multiple of 8 bits) in length.

A MAC PDU consists of a MAC header, zero or more MAC SDUs, zero, or more MAC control elements (MAC CE), and optionally padding.

Both the MAC header and the MAC SDUs are of variable sizes.
A MAC PDU header consists of one or more MAC PDU subheaders; each subheader corresponds to a MAC SDU, a MAC CE or padding.

MAC control elements are always placed before any MAC SDU.
Padding occurs at the end of the MAC PDU, except when single-byte or two-byte padding is required. Padding may have any value and the UE shall ignore it. When padding is performed at the end of the MAC PDU, zero or more padding bytes are allowed.

When single-byte or two-byte padding is required, one or two MAC PDU subheaders corresponding to padding are placed at the beginning of the MAC PDU before any other MAC PDU subheader.
Limitations of this Decoder:

1.    Extended PHR and MCH Scheduling Information MAC CEs are not yet supported.


Reference: 3GPP TS 36.321

LTE: Multiple Timing Advances for uplink Carrier Aggregation


The Timing Advance related concepts are discussed very much in detail in the post Timing Advance and Time Alignment Timer.
For a UE configured with multiple serving cells in Release-10, the same uplink transmission timing is applied in all serving cells, based on the timing advance on the PCell. This means that base station transceivers of different CCs should be at the same physical location (collocated) to avoid different propagation delays.

In a heterogeneous network (HetNet) for example (as shown below), PCell and a remote radio head (RRH) which are located at different locations (non-collocated) may experience different propagation delays. So, the use of single TA is not practical.

From Release-11 onwards, it is possible to handle CA with CCs requiring different timing advances, for example combining CC from eNodeB with CC from RRH (as shown above) to support non-collocated cells.
Also, support of different uplink transmission timings on different serving cells address the deployment scenario where the propagation delays are different on different serving cells due to e.g. frequency selective repeaters.

It is not practical to maintain TA for each serving cell; instead, it would make sense to group a set of collocated serving cells, so that, the same TA is maintained across all the serving cells belonging to that group. Also, it is very important to have a timing reference cell for the entire group.
In Release-11, Timing Advance Group (TAG) was introduced. A TAG consists of one or more serving cells with the same uplink TA and same downlink timing reference cell. Each TAG contains at least one serving cell with configured uplink, and the mapping of each serving cell to a TAG is configured by RRC.

The TAG containing PCell is called as pTAG (Primary Timing Advance Group). For the pTAG, the UE uses PCell as timing reference.
If a TAG contains only SCells(s), and no PCell, then it is called as sTAG (Secondary Timing Advance Group). In a sTAG, the UE may use any of the activated SCells of this TAG as a timing reference cell, but should not change it unless necessary.

The UE has a configurable timer called timeAlignmentTimer per TAG. This TAG specific timeAlignmentTimer is provided by RRC at the time of sTAG configuration.
E-UTRAN adds or releases sTAG with the help of stag-ToAddModList-r11 and stag-ToReleaseList-r11 respectively and are part of mac-MainConfig in Release-11. 

Configuration of an sTAG includes stag-Id which indicates the TAG of an SCell and a TAG specific timeAlignmentTimer (timeAlignmentTimerSTAG-r11) as shown below.

At the time of SCell addition, the E-UTRAN may optionally indicate the STAG identity for the corresponding SCell.  MAC-MainConfigSCell-r11 is introduced for this purpose and as shown below it only contains STAG-id.


If the field stag-Id is not configured for an SCell (e.g. absent in MACMainConfigSCell), then the SCell is considered to be part of the pTAG.

The number of TAGs that can be configured depends on the TAG capability of the UE.

The UE indicates its support of multiple timing advances using multipleTimingAdvance-r11 under BandCombinationParameters during UE capability transfer procedure.

Initial Uplink Timing Alignment for a sTAG
The initial timing alignment on PCell (or pTAG) can be obtained via UE or eNodeB initiated Random Access (RA) procedure. But the initial UL timing alignment of sTAG is obtained only by an eNodeB initiated RA procedure.

As shown below, the SCell in a sTAG can be configured with RACH resources at the time of SCell addition. These parameters are part of UL configuration under RadioResourceConfigCommonSCell-r10.

In order to establish timing advance for a sTAG, the eNodB may initiate a non-contention based random access (RA) procedure with a PDCCH order that is sent on a scheduling cell of an activated SCell of the sTAG. i.e., the PDCCH order can be received on the same SCell (non-cross carrier scheduling) or on the scheduling cell (cross carrier scheduling with CIF).

It is worth noting that for the pTAG, the PDCCH order reception is and PRACH preamble transmission are only supported on the PCell.
The RA procedure on an SCell shall only be initiated by a PDCCH order which means that UE MAC sublayer cannot initiate RA procedure on SCell in order to obtain TA or for the case of ‘UL data arrival’.

As of Release-11, contention based RA procedure is not supported on SCell.
Upon receiving the PDCCH order, the UE transmits PRACH preamble on the SCell for which the PDCCH order is intended.

The RAR reception takes place on PCell using RA-RNTI in common search space. The grant received in RAR is valid for the SCell on which PRACH preamble was transmitted.
When the UE receives RAR for an SCell, the UE applies the TA Command received in the RAR to the sTAG to which the SCell belongs. As usual, the UE starts or restarts the TimeAlignmentTimer associated with this sTAG.

It is very important to note that the RACH initiation by PDCCH order is only supported for an activated SCell.
When SCell is deactivated, the ongoing Random Access procedure on the SCell, if any, is aborted.

Another difference as compared to the RA procedure on PCell is that, the UE, after transmitting PRACH preamble for maximum number times, shall not indicate RA problem to upper layers and it just considers that the RA procedure was unsuccessful.

Timing Advance Command MAC CE
The timing advance for a TAG (pTAG or sTAG) can also be obtained by means of Timing Advance Command MAC CE. For this purpose, the existing Timing Advance Command MAC CE has been enhanced to signal different TA values for different TAGs.

As shown below, previously reserved values are now modified to indicate a new 2-bit Timing Advance Group Identity (TAG Id). The 6-bit Timing Advance Command field is unchanged compared to Release-8.

Since the TAG Id field is 2-bits, it can only indicate values from 0 to 3. The TAG containing the PCell has TAG Identity 0. So, at most three sTAGs can be configured.
Upon reception of a timing advance command (via RAR or MAC CE) for a TAG, the UE shall adjust uplink transmission timing for PUSCH/SRS for all the serving cells in that TAG. Additionally, if the TAG contains the PCell, then uplink transmission timing for PUCCH on the PCell shall also be adjusted.

Maintenance of Uplink Time Alignment
As explained above, the UE maintains TimeAlignmentTimer per TAG. The TimeAlignmentTimer is used to control how long the UE considers the Serving Cells belonging to the associated TAG to be uplink time aligned.

The UE shall start or restart the TAG associated timeAlignmentTimer when a Timing Advance Command is received in a RAR or MAC CE for the corresponding TAG.
The synchronization status of the UE follows the synchronization status of the pTAG. When the timer associated with pTAG is not running, the timer associated with a sTAG shall not be running.

When the timeAlignmentTimer associated with the pTAG is expired, the UE shall:
-      flush all HARQ buffers for all serving cells belonging to pTAG as well as sTAG;
-      notify RRC to release PUCCH/SRS for all serving cells
-      clear any configured downlink assignments and uplink grants (applicable for PCell only);
-      consider that all the running timeAlignmentTimers (timers for sTAG as well) as expired.

When the TimeAlignmentTimer associated with the sTAG is expired, the UE shall:

-      flush all HARQ buffers for all the serving cells belonging to this sTAG;
-      notify RRC to release SRS for all the serving cells belonging to this sTAG.

The UE shall not perform any uplink transmission on a Serving Cell except the RA Preamble transmission when the TimeAlignmentTimer associated with the TAG to which this Serving Cell belongs is not running.

When the timeAlignmentTimer associated with the pTAG is not running, the UE shall not perform any uplink transmission on any Serving Cell except the RA Preamble transmission (only) on the PCell.

Reference: 3GPP TS 36.300, 36.321, 36.213 and 36.331

LTE: Cross-Carrier Scheduling in Carrier Aggregation


Cross-carrier scheduling is an important feature in heterogeneous networks (HetNet) where inter-cell interference is significant when the cells within HetNet are deployed on the same carrier frequency.
The PDCCH, carrying Downlink control information (DCI), must be received by the UEs at the cell edge, so, PDCCH may be transmitted with higher power than the traffic channels. This causes inter-cell interference on the PDCCH of the respective carrier. In CA, cross-carrier scheduling enables the UE connected to different nodes to receive the PDCCH on different carriers to eliminate inter-cell interference on the PDCCH.

Cross-carrier scheduling may also be used to balance the loads from traffic and scheduling across different component carriers.
This technique is also effective in scenarios where scheduling of PDCCH on a carrier which has larger bandwidth compared to the carrier of relatively small bandwidth, due to the fact that carriers with smaller bandwidths have relatively low frequency diversity gain.

Without cross-carrier scheduling, the downlink scheduling assignments on PDCCH are valid for the component carrier (CC) on which they were transmitted.  Similarly, for uplink grants, there is an association between downlink and uplink CCs (provided in cell's system information) such that each uplink CC has an associated downlink CC. Thus, from the uplink–downlink association, the UE will know to which uplink CC the DCI relates to.
With cross-carrier scheduling, the PDSCH is received on a CC other than the one on which PDCCH/EPDCCH is received. Similarly, the PUSCH would be transmitted on an associated CC other than the one on which uplink grant is received.

The cross-carrier scheduling feature is optional for the UE introduced in Release-10. The UE indicates its support of this feature with parameter crossCarrierScheduling-r10 under PhyLayerParameters-v1020 during the UE capability transfer procedure.
Cross-carrier scheduling does not apply to PCell i.e. PCell is always scheduled via its own PDCCH.

As shown in the figure below, cross-carrier scheduling is only used to schedule resources on a Secondary CC without PDCCH.


For each UE, the eNodeB can either enable or disable the cross-carrier scheduling independently for each CC, via RRC signaling.
When cross-carrier scheduling is active, the UE needs to know to which CC a certain DCI relates. The carrier responsible for delivering scheduling information should add an indication in the DCI, which SCell the DCI is intended for.

A new 3-bit Carrier Indicator Field (CIF) is added at the beginning of Release-8 PDCCH DCI formats. Whether CIF is present in a serving cell’s PDCCH DCI or not is configured by eNodeB via RRC signaling. CIF value ‘zero’ indicates PCell, while the other SCell can be addressed with ServCellIndex i.e., CIF value is the same as ServCellIndex.

The cif-Presence-r10 in physicalConfigDedicated (PCell configuration) indicates whether CIF is present in the PDCCH DCI of the PCell.
Similarly, each SCell may be configured with cross-carrier scheduling as part of SCell addition or modification. crossCarrierSchedulingConfig is responsible for this and is part of PhysicalConfigDedicatedSCell.



schedulingCellInfo under crossCarrierSchedulingConfig indicates whether cross-carrier scheduling is enabled or not. If schedulingCellInfo indicates ‘own’, it means that the SCell will be transmitting its own PDCCH i.e., cross-carrier scheduling not enabled. On the other hand, if cross-carrier scheduling is enabled, then schedulingCellInfo indicates ‘other’, which means that some ‘other’ serving cell would be transmitting PDCCH DCI.
The parameter schedulingCellId informs the UE about which cell signals the downlink allocations and uplink grants for the concerned SCell.
As discussed above, when the cross-carrier scheduling is enabled on an SCell, the UE wouldn’t be decoding PDCCH on that SCell, so UE doesn’t need to decode PCIFH on the concerned SCell. This implies that the UE does not know how many OFDM symbols in the beginning of each subframe are used for control data. Hence, this information referred to as pdsch-Start needs to be informed to the UE at the time of activating cross-carrier scheduling.
pdsch-Start is the starting OFDM symbol of PDSCH (data region) for the concerned SCell. Values 1, 2, 3 are applicable when dl-Bandwidth for the concerned SCell is greater than 10 resource blocks, values 2, 3, 4 are applicable when dl-Bandwidth for the concerned SCell is less than or equal to 10 resource blocks.
Also, it is important to note that, when cross-carrier scheduling is active for an SCell, it can only be scheduled by one CC. Considering the same example above, it is not possible for SCell1 to receive scheduling information on PDCCH from both PCell and SCell2.
The common search space is always on the primary cell, but the UE-specific search space can be on the primary cell or on any of the secondary cells.
A UE configured with the CIF for a given serving cell shall assume that the CIF is not present in any PDCCH of the serving cell in the common search space. On the other hand, the UE shall assume that CIF is present in PDCCH located in the UE specific search space.
Reference: 3GPP TS 36.213, 36.300 and 36.331


LTE: Carrier Aggregation - SCell Measurements


In order to configure/add the secondary cell (SCell), the eNodeB can make use of measurement event A3 (Neighbour becomes offset better than PCell).
Once an SCell is added to the set of serving cells (PCell + one or more SCells), the UE can perform measurements on the SCell (and on all the serving cells) without a need for measurement gaps.

The Secondary component carrier may be activated and deactivated by MAC-CE commands as explained in detail here. The applicable performance requirements depend on whether the SCell is activated or deactivated.
When SCell is active, the requirements are similar to that of PCell. On the other hand, the RRC parameter measCycleSCell controls the measurement requirement when the SCell is in deactivated state.


Measurement Event A6
The eNodeB always tries to configure the UE with best cell (radio conditions) as SCell, in order to increase the spectrum efficiency. This is only possible, if the UE can detect and report best cell(s) on the concerned SCell’s carrier frequency.

None of the reporting events until Release-9 are applicable for the UE to detect and report best cell on the SCell’s carrier frequency.
A new measurement event A6 is introduced in Relese-10 for Carrier Aggregation needs.

Measurement event A6 is defined as ‘Neighbour becomes offset better than SCell which is intended for intra-frequency measurement events on SCell's carrier frequency i.e., event A6 compares the neighbor cell(s) and the SCell that are on the same carrier frequency (illustrated below).


The eNodeB, after receiving measurement report with event A6, will likely to release the old SCell and add the best reported cell in the measurement report as the new SCell.
Event A6 is similar to event A3, but event A3 can be used for PCell (intra and inter-frequency) whereas event A6 is used only for SCell (intra-frequency only).

As a result of the addition of the new event A6, ReportConfigEUTRA in Release-10 contains the following structure for event A6.

Supporting of event A6 is optional for the UEs. The UE shall indicate the support for Measurement reporting trigger Event A6 in the field featureGroupIndRel10 (index: 111) in the IE UE-EUTRA-Capabilityv1020-IEs.
An example measurement configuration for event A6 is given here. An example of measurement report event A6 from the UE is shown below.


The eNodeB configures the UE with event A6 only if the concerned SCell is configured. 

The UE shall remove the measId corresponding to event A6 from it's measurement configuration, if the concerned SCell is not configured or released. This procedure is called as ‘Measurement identity autonomous removal’.



Reference: 3GPP TS 36.133 and 36.331

LTE: Carrier Aggregation - Activation and Deactivation of Secondary Cells


To enable reasonable UE battery consumption when CA is configured, an activation/deactivation mechanism of SCells is supported.
If the UE is configured with one or more SCells, the eNodeB may activate and deactivate the configured SCells. Activation/Deactivation does not apply to PCell.

After Configuring/Adding the SCell, as explained here, the SCell is in deactivated state. When the SCell is modified, the UE does not change the activation status.
During Handover, if the same SCell is in use in the target PCell (i.e., SCell is not released during Handover), the SCell in the target Cell in initially in the deactivated state.

There is no explicit activation/deactivation of uplink component carriers whenever a downlink component carrier is activated/deactivated, the corresponding uplink component carrier is also activated/deactivated.

In order for the UE to receive data (PDSCH/PDCCH) on the SCell, it has to be activated which is different from configuring the SCell. If the SCell is deactivated, the UE maintains the configuration provided by RRC but it is not possible to receive either PDCCH or PDSCH.

Activation/Deactivation of Secondary Cell
A typical use case of Activation of the SCell would that the network configures the UE with one or more component carriers (CCs) but deactivate all of them except the Primary CC. When there is a need of more data throughput (for example, there is a huge amount of data to delivered to the UE in the downlink), the network can activate several secondary CCs to maximize downlink throughput.

Another use case could be that if the PCell is fully loaded, the SCell can be activated and the data transfer can be scheduled only on the SCell (Load balancing).
The network can deactivate the SCell when there is no more data to be delivered to the UE or the channel quality of the SCell turning to be bad.

The UE (and the network) can deactivate the activated SCell without explicit signaling which is based on sCellDeactivationTimer. This is the amount of time (in radio frames) the UE has not received any data on the SCell.
SCell Activation is done via MAC Control Element whereas the deactivation mechanism is either by using MAC control element or by the expiry of the sCellDeactivationTimer.

The Activation/Deactivation MAC control element is identified by a MAC PDU subheader with unique LCID: 11011. It has a fixed size and consists of a single octet containing seven C-fields and one R-field (Reserved bit and is set to “0”). Each C-field represents an SCell with SCellIndex which ranges from 1-7.
The MAC control element carries a bitmap for the activation and deactivation of SCells: set to 1 denotes activation of the corresponding SCell, while a bit set to 0 denotes deactivation.

With the bitmap, SCells can be activated and deactivated individually, and a single activation/deactivation command can activate/deactivate a subset of the SCells.
The Activation/Deactivation MAC CE and its subheader are illustrated in the below Figure.


As discussed before, there is another mechanism than MAC CE to deactivate the activated SCell which is the expiry of sCellDeactivationTimer.
RRC may configure the UE with sCellDeactivationTimer which is located in mac-MainConfig-v1020. sCellDeactivationTimer can take values starting from 20ms to 1280ms (20, 40, 80, 160, 320, 640, and 1280ms)

E-UTRAN configures sCellDeactivationTimer only if the UE is configured with one or more SCells. If the field is absent, the UE shall delete any existing value for this field and assume the value to be set to infinity.
UE maintains a sCellDeactivationTimer (as configured by the RRC) timer per configured SCell and deactivates the associated SCell upon its expiry. The same initial timer value applies to each instance of the sCellDeactivationTimer.

If the UE receives an Activation/Deactivation MAC CE in subframe #n activating the SCell, the UE shall start (SCell Activation) or restart (SCell Reactivation) the sCellDeactivationTimer associated with the SCell in subframe #n+8.
If the UE receives PDCCH on the activated SCell indicating an uplink grant or a downlink assignment it shall restart the sCellDeactivationTimer associated with the SCell.

Similarly, if the UE receives PDCCH on the serving cell scheduling the activated SCell (Cross Carrier Scheduling) indicating an uplink grant or a downlink assignment, the UE shall restart the sCellDeactivationTimer associated with the SCell.
If the UE receives an Activation/Deactivation MAC CE in subframe #n deactivating the SCell or if the sCellDeactivationTimer associated with the activated SCell expires in subframe #n, the UE shall deactivate the SCell no later than in subframe #n+8.

If the UE receives an Activation/Deactivation MAC CE in subframe #n activating the SCell, the UE shall apply the below defined actions no earlier than subframe #n+8 and no later than subframe #n+24 or subframe #n+34 (as defined in section 7.7.2 of 36.133)
― Transmit SRS on the SCell in case if UL CA and SRS on the SCell is configured;
― PDCCH monitoring on the SCell;
― PDCCH monitoring for the SCell (Cross Carrier Scheduling);
― CSI reporting for the SCell. The UE should start transmitting valid CSI report no later than subframe #n+24 or #n+34 (as defined in section 7.7.2 of 36.133) but it can report out of range (CQI index = 0) values from subframe #n+8, otherwise the eNodeB have to perform blind decoding of PUSCH (if scheduled) from subframe #n+8 till subframe #n+24 or #n+34

If the SCell is deactivated, the UE shall apply the following activations:
― SRS shall not be transmitted in case if UL CA and SRS on the SCell is configured
― The UE shall not transmit UL-SCH on the SCell (UL CA)
― PDCCH on/for the SCell shall not be monitored.
― The UE shall flush all HARQ buffers associated with the SCell.
― The UE shall not transmit RACH on the SCell (Introduced in Release-11, and the RA procedure on an SCell shall only be initiated by a PDCCH order). When SCell is deactivated, the ongoing RA procedure on the SCell, if any, is aborted
― The UE shall stop reporting CSI from subframe #n+8 if the sCellDeactivationTimer associated with the SCell expires in subframe #n or if the UE receives an Activation/Deactivation MAC CE in subframe #n deactivating the SCell

I have created a tool to display timings of different actions defined above based on the activation or deactivation SFN/subframe. Try this timing calculator here

Watch the following deck for more details and a demo of the timing calculator


Reference: 3GPP TS 36.321, 36.213, 36.331, 36.133, and 36.300