The Timing Advance (TA) value is used to compensate for propagation delay of the signal between MS and BTS, to ensure that the bursts transmitted by the MS arrive inside the timeslot, without overlapping with other timeslots.
For general information about this, see https://en.wikipedia.org/wiki/Timing_advance
Detailed timing / sequencing¶
- TA values are communicated in both ways on the SACCH in the L1 header
- SACCH uses regular control channel format, i.e. 23-byte MAC block transmitted via 4 bursts
- on TCH/F and TCH/H, SACCH happens once per 26-multiframe -> 104 frames until a MAC block is transmitted (488.8ms)
- on SDCCH/4 and SDCCH/88, SACCH happens twice per 51-multiframe -> 102 frames until a mac frame is transmitted (479.4ms)
- the BTS measures the timing offset of every received burst
- every four bursts (both traffic/DCCH as well as SACCH burst), this signal is passed alongside the MAC block in the PH_DATA_IND primitive
- the BTS updates the instructed TA accordingly
- this instructed TA value is transmitted during the next SACCH downlink block (which takes again ~480ms)
- according to 3GPP TS 45.010 6.5.1, the MS shall apply this value at the first TDMA frame belonging to the next reporting period after the SACCH frame returning the new TA value.
- 3GPP TS 45.008 8.4.1 defines the measurement reporting period and the associated transmission of the SACCH message block.
- e.g. TCH/F on TS1: frame 13 to 12 (of next 104-multiframe). followed by SACCH TX on 25,51,77,103.
- 104-multiframe 0: BTS measures observed timing of bursts
- at end of measurement period, BTS computes new TA value
- 104-multiframe 1: BTS transmits new instructed TA value
- after receiving last burst of DL SACCH block, MS decodes new instructed TA, and marks it as "to be used"
- 104-multiframe 2: MS applies the new TA in its uplink transmissions
- 104-multiframe 3: MS transmits UL SACCH block containing new used TA value
- after receiving last burst of UL SACCH block, BTS decodes new used TA value and puts it in measurement report
- T + 480ms, BTS encodes a new DL SACCH L1 header
- T + 960ms, MS receives that new instructed TA value [if no uncorrectable bit errors!]
- T + 1440ms, MS starts to transmit UL SACCH with new TA value in L1 header
- T + 1920ms, BTS receives MS measurement report indicating new TA value