4G/LTE - Timing Advance
Timing Advance is a MAC CE that is used to control Uplink signal transmission timing. Network (eNodeB in this case) keep measuring the time difference between PUSCH/PUCCH/SRS reception and the subframe time and can send a 'Timing Advance' command to UE to change the PUSCH/PUCCH transmission to make it better aligned with the subframe timing at the network side. If PUSCH/PUCCH/SRS arrives at the network too early, network send a Timing Advance command to UE saying "Transmit your signal a little bit late", If PUSCH/PUCCH/SRS arrives at the network too late, network send a Timing Advance command to UE saying "Transmit your signal a little bit early".
MAC PDU for Timing Advance is as follows. It is one byte data and the first two bits are reserved and set to be always 0. The remaining 6 bits carries Timing Advance command value ranging from 0 to 63.
As you see in the following figures, for Rel 8,9,10 there is no special tag for each component carrier, meaning that even in Carrier Aggregation single Timing Advanced value apply to all the component carriers. But in Rel 11, the first 2 bits are allocated to indicate whether the value is for PCC or SCC. If TAG id is 0, it means it is for PCC.
< 36.321 Rel 8,9,10 - Figure 126.96.36.199-1: Timing Advance Command MAC control element >
< 36.321 Rel 11,12,13 - Figure 188.8.131.52-1: Timing Advance Command MAC control element >
Then how to translate each value of TA(Timing Advance) value to physical 'time' delay or advance value. It is described in detail in 36.213 4.2.3 Transmission timing adjustments. Simply put, the UL transmit timing is controlled by following equation.
UL Transmission Time = (UL Transmittion Time for Previous subframe) + (TA value - 31) x 16 samples.
, where 1 sample is about 0.033 us and 16 samples is about 0.52 us.
By this calcuation, you can see that the maximum timing change by single TA value (0 or 63) is about 16.7 us (I hope my calculation is right. please let me know if this calculation is wrong).
Example 1 > Timing Advance in a Live Network (in the field)
Following plot is from the data captured by a drive test tool Azenqos Drive Test tool (AZQ Android). I got the log captured by the tool and exported the data as csv file and then plot it on Microsoft Excel. The map displaying the path of the measurement shown at the bottom is the one automatically created by AZQ reporting tool. It is hard to interpret the exact meaning of each points unless you have the exact location of eNB displayed on the map and the distance between UE and the eNB is recorded, but at least you would see some interesting pattern of TA value changes as the UE moving along the path getting closer to and farther away from the serving eNB.