LTE: Timing Advance and Time Alignment Timer

Timing advance is a negative offset, at the UE, between the start of a received downlink subframe and a transmitted uplink subframe. This offset at the UE is necessary to ensure that the downlink and uplink subframes are synchronised at the eNodeB.
A UE far from the eNodeB encounter a larger propagation delay so its uplink transmission is somewhat in advance as compared to a UE closer to the eNodeB. As an example (shown in the figure below), let us consider two UEs; UE1 is located far from the eNodeB and UE2 is located close to the eNodeB. Let δ1 be the propagation delay experienced on the downlink for UE1 and δ2 is the propagation delay experienced on the downlink for UE2. Since UE1 is located far from the eNodeB as compared to UE2, we can safely assume that δ1 > δ2. Let us say that the eNodeB has transmitted subframe #n at time t1 which is seen by UE1 at time t1+δ1 and UE2 at time t1+δ2. Both UE1 and UE2 take the downlink subframe arrival (together with Timing Advance) as a reference to calculate uplink subframe timing.
The Timing Advance is equal to 2 x propagation delay assuming that the same propagation delay value applies to both downlink and uplink directions. So, UE1 needs to start it’s uplink at t1+2δ1 whereas UE2 should start it’s uplink at t1+2δ2. This will ensure that both of the uplink transmissions (from UE1 and UE2) reach the eNodeB at the same time which means that at the eNodeB, both uplink and downlink subframes are time aligned.
If the Timing Advance is not applied, then the start of uplink transmission from UE2 for subframe #n+1 will overlap with the end of uplink transmission from UE1 for subframe #n. Assuming that same resource blocks are assigned to UE1 in subframe #n and UE2 in subframe #n+1, this overlap creates interference which causes reception failures at the eNodeB. If a proper value of Timing Advance is applied, then these subframes won’t collide.

The eNodeB continuously measures timing of uplink signal from each UE and adjusts the uplink transmission timing by sending the value of Timing Advance to the respective UE. As long as a UE sends some uplink data (PUSCH/PUCCH/SRS), the eNodeB can estimate the uplink signal arrival time which can then be used to calculate the required Timing Advance value.
Timing Advance Command in LTE
The eNodeB estimates the initial Timing Advance from PRACH sent by the UE. PRACH is used as timing reference for uplink during UE’s initial access, radio link failure, during Handover etc…The eNodeB sends Timing advance command in Random Access Response (RAR). Once the UE is in connected mode, the eNodeB keep estimating Timing Advance and sends Timing Advance Command MAC Control Element to the UE, if correction is required.
The UE shall adjust the timing of its uplink transmission at subframe #n+6 for a Timing Advance Command received in subframe #n
The UE shall adjust the timing of its transmissions with a relative accuracy better than or equal to ±4*TS seconds to the signalled timing advance value compared to the timing of preceding uplink transmission
The timing advance command indicates the change of the uplink timing relative to the current uplink timing as multiples of 16Ts.
NTA is the timing offset between uplink and downlink radio frames at the UE, expressed in units of Ts. where Ts = 1/(2048x15000) = 1/30720000 sec
    Timing Advance Command in MAC RAR
The Timing Advance Command in RAR takes 11 bits and it can indicate an index value TA (0, 1, 2… 1282) which used to control the amount of timing adjustment that UE has to apply. The amount of the time alignment is given by NTA = TA × 16. The Timing Advance obtained via RAR is always positive
Example1 (TA = 0): When the received TA = 0 NTA = 0 so no timing adjustment required.
Example2 (TA = 1): If TA = 1 Timing Adjustment = NTA = 16 Ts 16/30720000 sec = 0.5208 μs Distance = (3x108x0.5208x10-6)/2 = 78.12m which is the minimum
Example3 (TA = 1282): When the received TA = 1282 NTA = 1282x16Ts 1282x16/30720000 sec = 667.66 μs Distance = (3x108x667.66x10-6)/2 = 100.15Km which is the maximum propagation distance
The maximum distance value (of slightly above 100Km) would facilitate cell radius of up to 100Km.
    Timing Advance Command MAC CE
In the case of Timing Advance Command MAC CE, it indicates relative Timing Advance which is 6-bit index value TA (0, 1, 2… 63). In this case, NTA,new = NTA,old + (TA  − 31)×16 where NTA,old  is the current timing adjustment and NTA,new indicates new value. Here, adjustment of NTA value by a positive or a negative amount indicates advancing or delaying the uplink transmission timing by a given amount respectively
Timing Advance command in MAC RAR and MAC CE are illustrated below



Uplink Time Alignment
It was discussed above how the eNodeB controls Timing Advance that each UE has to apply. Once the UE gets a Timing Advance Command, UE applies it and now the question is for how long the UE uses the received Timing Advance value?
The eNodeB provides the UE with a configurable timer called timeAlignmentTimer. TimeAlignmentTimer is used to control how long the UE is considered uplink time aligned
The value of the timer is either UE specific (timeAlignmentTimerDedicated) and managed through dedicated signalling between the UE and the eNodeB, or cell specific (timeAlignmentTimerCommon) which is indicated in SIB2. In both cases, the timer is normally restarted whenever a new Timing Advance is given by the eNodeB. At the time of restart, the timer is restarted to a UE specific value if configured; otherwise it is restarted to a cell specific value
The UE starts/restarts the TimeAlignmentTimer based on the condition when it received the Timing Advance Command.
  • The Timing Advance Command is received in MAC RAR but timeAlignmentTimer is not already running: This case may arise in situations like, timeAlignmentTimer has expired (connected mode), Initial access from RRC_IDLE, during RRC Connection Re-establishment procedure etc…After the reception of RAR, the UE shall apply the Timing Advance Command value received in RAR and start timeAlignmentTimer. If the contention is not resolved/successful, then the UE stops timeAlignmentTimer, else, the UE continues running the timer
  • The Timing Advance Command is received in MAC RAR as part of non-contention based Random Access procedure (ex: PDCCH Order):  After the reception of RAR, the UE shall apply the Timing Advance Command value received in RAR and starts/restart the timeAlignmentTimer
  • The Timing Advance Command is received in MAC RAR as part of contention based Random Access procedure in connected mode and timeAlignmentTimer is already running: This could be in situations like UE is requesting for uplink resources but UE doesn’t have valid PUCCH resources for SchedulingRequest etc…After the reception of RAR, the UE shall ignore the received Timing Advance Command value and shouldn’t restart the timeAlignmentTimer
  • When a Timing Advance Command MAC CE is received, the UE shall apply the received value of Timing Advance Command value and start/restart timeAlignmentTimer

As discussed before, the eNodeB continuously measures timing of uplink signal from the UE and adjusts the uplink transmission timing by sending the Timing Advance Command to the UE. If the UE has not received a Timing Advance Command until the expiry of timeAlignmentTimer, the UE assumes that it has lost the uplink synchronization. Hence, prior to any PUSCH/PUCCH/SRS transmission in the uplink, an explicit timing-re-alignment phase using the random access procedure must be performed to restore the uplink time alignment
The UE shall perform the following actions upon the expiry of timeAlignmentTimer:
  • Flush all HARQ buffers;
  • If configured, release PUCCH resources of Periodic CQI and Scheduling Request, and also SRS configuration. By doing so, the UE doesn’t perform transmission of SRS/PUCCH while timeAlignmentTimer is not running. The eNodeB has to configure these parameters again in order for the UE to transmit SRS/Periodic CQI/Scheduling Request after UE starts timeAlignmentTimer
  • Clear configured downlink assignments and uplink grants. i.e., release SPS grant (uplink) and assignment (downlink) if configured

The UE shall not perform any uplink transmission except the Random Access Preamble transmission when timeAlignmentTimer is not running.

For multiple Timing Advances in uplink Carrier Aggregation concepts in Release-11, refer to the post here.
Reference: 3GPP TS 36.321, 36.213, 36.331, 36.133, 36.300

52 comments:

  1. Hi Kumar Swami,
    Why we ignore Timing Advance Command when timeAlignment Timer is running? As TA is suggested by network and it is difference which we have to add so that we sync. with eNB, if we ignore sync. might fail or not? I m confused please reply?

    ReplyDelete
    Replies
    1. When timeAlignmentTimer is running, UE probably insync.

      Since this was contention based RA procedure, several UEs might use same RAPID and transmit PRACH in the same subframe...The eNB might intend to correct some other UEs timing by sending the respective TA command in the RAR...So, if the UE which has sync (whose timeAlignmentTimer is running) uses that TA command, then definitely the UE is going to be misaligned with the NW timing...which is the reason why it should ignore the command...

      If it was non-contention based RA procedure, the UE should apply the TA even if timeAlignmentTimer is running as the RAR is intended for this UE.

      Delete
    2. Correct answer.. only in contention based case it should ignore

      Delete
    3. from my understanding, when timeAlignmentTimer is running (UL synchronized), the only scenario for random access (RA) is when no valid PUCCH resource for SR is configured or sr_counter >= dsr-TranMax. In this case it should be contention based RA since the prachConfigIndex is not provided by RRC or PDCCH order. therefore we can safely ignore TA in UL synchronized mode!

      Is there any other scenario for RA when timer is running (UL synchronized)?

      Delete
    4. Please, Regarding first question of UE ignores Timing Advance Command when timeAlignment Timer is running;
      Why EnodeB might intend to correct some Other UE if this will cause a misaligned with NW Timing ?

      Delete
    5. Hi,

      This is the case when multiple UEs are contending for access.

      The eNodeB might intend to correct a specific UEs timing but all other UEs which have transmitted PRACHs could received RAR which is intended for the specific UE. Any UE, upon realizing the fact that contention resolution is not successful, should ignore TA.

      Delete
    6. It is also possible that it is the only UE which is requesting for uplink resources by contention-based RACH, so contention resolution would be successful. Since the main purpose of RACH is for uplink grant, UE would still ignore the coming TA. However, it would not hurt if UE applies the TA. and probably the coming TA has no much difference with current TA.

      Delete
    7. Hi Kumar,

      As you mentioned in this scenario UE receives TA command during contention based RA and should ignore it. As far as I know the only case when UE will initiate contention based RA while TA timer is running can be when RRC connection reestablishment needs to be done right?

      Delete
  2. So, UE1 needs to start it’s uplink at t1+2δ1 whereas UE2 should start it’s uplink at t1+2δ2. Is this correct ?

    ReplyDelete
    Replies
    1. I think UE should start its uplink 2δ1, 2δ2 early .. so that it reaches the node B at exactly time t1...I mean eNode B is getting uplink transmission at time later then t1 due to propagation delay δ1 , transmission which was supposed to come at t1 .. so using TA Alignment UL transmissions are advanced by the TA time to reach at exactly t1... isn't this correct ??

      Delete
    2. I did not understand why it it is t1+2δ1, should n't be just t1+δ1 ?so that eNodeB receives at exactly t1 ?

      Delete
    3. As it has been illustrated, 2*δ1 is the time measured between Start of Downlink subframe (at the UE) and the start of uplink subframe (at the UE)...

      Delete
    4. It is also possible that it is the only UE which is requesting for uplink resources by contention-based RACH, so contention resolution would be successful. Since the main purpose of RACH is for uplink grant, UE would still ignore the coming TA. However, it would not hurt if UE applies the TA. and probably the coming TA has no much difference with current TA.

      Delete
  3. Hi,
    I would like to ask what is a state of ue from EPC point of view after Timealignemnt expiration. For example when inactivity timere expire, ue goes into RRC-idle, ECM-idle and EMM-registered. In order to to sent data again it have to perform Service request procedure. How it looks like in case of "out of timealigment" state ?

    ReplyDelete
    Replies
    1. TimeAlignmentTimer expiry won't affect the EPC state. The UE performs RA procedure to re-align the timing in uplink...This is not all known to NAS.

      Delete
    2. so UE all the time is in RRC connected state, but in order to transmit new data has to perform RA procedure ?

      Delete
    3. Yes, UE is still RRC connected even after TAtimer expiry.

      Delete
  4. Hi Kumar Swami,

    Thanks for good post .. i have one doubt .. Timing advance is in the UL direction ... what about the DL direction .. How in DL direction the effect of prorogation delay catered ...

    ReplyDelete
  5. hi., one question.. What are the premeties involve during PRACH to RACH MAPPING IN LTE ?
    Thanks in Advance

    ReplyDelete
  6. Hello,

    Could you please explain how UE releases PUCCH resources after TA timer expiration. I mean what message is sent toward eNB for this purpose ?

    Thanks in advance

    ReplyDelete
    Replies
    1. The UE won't send any explicit message to the eNodeB, it just releases the configuration internally. The eNodeB anyway comes to know about this when the UE initiates RA procedure...

      Delete
    2. 36.321[5.2]- when a timeAlignmentTimer expires:
      - if the timeAlignmentTimer is associated with the pTAG:
      - flush all HARQ buffers for all serving cells;
      - notify RRC to release PUCCH for all serving cells;
      - notify RRC to release SRS for all serving cells;
      - clear any configured downlink assignments and uplink grants;
      - consider all running timeAlignmentTimers as expired;

      Delete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Hi,

    I'd like to ask that what procedure will be followed after the RA procedure by PDCCH order has successfully completed. For example, does UE go to reestablishment procedure or move to idle? In order to send UL data including HARQ ack/nack, PUCCH or SRS needs to be reconfigured between the UE and eNB.

    ReplyDelete
    Replies
    1. Hi,

      Once RA procedure is successful (cause: PDCCH order), the UE is in timing sync, and the UE is ready to use the old configuration (prior to PDCCH order). The UE doesn't need any configuration of PUCCH/SRS etc...unless, the configuration wasn't explicitly released by the eNB

      Delete
  9. Dear Sir,

    It is possible to detect when exactly in time domain UE goes UL-Out-of-Sync by looking at logfile, or which message to check to confirm UL-Out-of-Sync.

    ReplyDelete
    Replies
    1. Hi,

      Sure, it should be possible to find out the time instance of out of sync from the log file. At least, I have seen it in all the modems (logs) that I have worked on. Please check with your dev. team or respective architect to know what string to look for...

      Delete
  10. Dear Sir,
    Can you please share any example. Like which message or string observed.

    I am using very rough estimate that "once UE sends contention based RACH( content UL Data Arrival) in RRC connected state to same cell and eNB replies with RRC connection reconfiguration message( content usually PUCCH resource info). It should be case of UE UL-out-of-sync.

    ReplyDelete
    Replies
    1. It could vary but it should be something like "OUT_OF_SYNC_IND" from phy layer.

      Delete
  11. Hi, This was really a good doc. However i have just one Question , How do i know which kind of timer has been configured in my network, i can see only "tTimeAlignment" parameter and no such segration done on the basis UE Specific or Cell Specific Value.?

    ReplyDelete
    Replies
    1. Hi Abhishek,

      Are you looking at UE logs or eNB logs?

      Delete
  12. Thanks for writing. My question is regarding your opinion on the granularity. Why it is kept at 16 (x Ts), why not 8 or 32?

    ReplyDelete
    Replies
    1. http://www.techplayon.com/5g-nr-physical-layer-timing-unit/

      Delete
  13. Hi, my questions are related to the values of Timing Advance Type 1 and Type 2 reported by eNodeB according to 36.455 chapter 9.2.5 E-CID Measurement Result. There is a reference to 36.133 chapter 10.3.1 where Table 10.3.1-1 describes the mapping of the reported value to the measured quantity value.
    1. First question is how is it possible to have Tadv = 49232 Ts? That would mean that maximum distance Dmax = C * Ts / 2 = 240.390 km between UE and eNodeB. But this is not possible according to other references where it is calculated that max distance is around 100 km.
    2. Second question is about granularity of the reported value from the table 10.3.1-1. It states that the reported value is in resolution of 2Ts upto a value of 4096Ts. That means for example that the reported value of TIMING_ADVANCE_01 gives the measured quantity value between 2 and 3 Ts. Distance = 2 * Ts * C / 2 = 9.7656 meters between UE and eNodeB. Is this really possible to receive the measured distance between UE and eNodeB on such fine granularity or I have misunderstood something? According to the other sources minimum granularity of TA in LTE is 78.24 meters.
    It would be great if you can give your insight on my findings and reasoning.
    Thanks,
    Dragan

    ReplyDelete
  14. Dear Kumar,
    Thanks for a great post.

    Can you let me know, under what conditions can the TA change, even if the UE is stationary ?

    ReplyDelete
  15. Hello, could someone help me understand why Ta index between 0 and 1 equal to 0 to 156 meter.

    ReplyDelete
  16. Hi,
    What is the impact to change timeAlignmentTimer from infinity to 10240ms ? Thank you.

    ReplyDelete
    Replies
    1. Setting tAT from infinity to 10240ms will only take affect if it is less than tinactivitytimer. thanks!

      Delete
  17. After expiry of time alignment timer RLF occur?

    ReplyDelete
  18. Hi, is the the TA-data stored at the node? How long usually? Is a central upload possible to create statistics about distances of all devices?

    ReplyDelete
  19. Hi kumar,
    if time alignment timer is expired and UE receive DL packet at that time thn what would be the expected behavior ??,
    does UE PHY layer will forward DL packet to upper layer or it will discard the packet

    ReplyDelete
  20. how eNodeB estimates or calculate initial Timing Advance from PRACH sent by the UE?how enodb confirmed TA of UE with single preamble msg send by UE by using PRACH ?

    ReplyDelete
  21. You have described about Timing Advance and Time Alignment Timer quite well. And has also descripted Advance LTE. It is very useful. You can also visit the link for your career help: DU Admission Online.

    ReplyDelete
  22. In 5G, in RAR, the TA can have range between 0-3846. Could you please tell me what is the unit of time that need to be used to convert the TA to distance. In LTE, you have mentione that NTA = TA * 16Ts where Ts = 1/2048*15000 sec
    Could you please tell me similar conversion in the case of 5G.

    ReplyDelete
    Replies
    1. 2048 is ifft and 15000 is scs in 5g multiple Sub carrier spacing are present

      Delete
  23. Sell your Old & Used iMac
    Great Article! Thanks for sharing this information. https://www.shriramcomputers2001.com/imac/

    ReplyDelete
  24. I have been suffering from Herpes for the past 3 years and 8 months, and ever since then i have been taking series of treatment but there was no improvement until i came across testimonies of Robinson buckler on how he has been curing different people from different diseases all over the world, then i contacted him as well. After our conversation he sent me the medicine which i took according to his instructions. When i was done taking the herbal medicine i went for a medical checkup and to my greatest surprise i was cured from Herpes. My heart is so filled with joy. If you are suffering from Herpes or any other disease you can contact this Email address:_________________________Robinson.buckler@yahoo.com………………. 💯💯💯💯💯

    ReplyDelete