Project

General

Profile

Actions

Feature #1545

open

continuous timing advance loop using PTCCH

Added by laforge about 8 years ago. Updated almost 4 years ago.

Status:
Stalled
Priority:
Normal
Assignee:
Target version:
-
Start date:
02/23/2016
Due date:
% Done:

60%

Spec Reference:
44.004 7.8 + 7.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6

Description

We currently only implement the "initial TA" where the TA of a MS is determined at time the TBF is established. If the MS moves more than 1 TA during a TBF being active, this leads to problems.

GPRS has the PTCCH for this, a special channel in the PDCH channel combination multiplex, using which we can instruct a sub-set of 16 MS (whether TBFs are active or not) to adjust their timing advance continuously. What needs to be done is
  • code to generate the PTCCH/D messages
  • code to parse the PTCCH/U messages
  • code to determine which 16 MS will be part of the current PTCCH subset
  • unit tests for the above

We also need to see how we can test this with actual hardware, in a way that TA exists (and changes) over time. Unfortuantely we don't have a MS-side GPRS implementation for OsmocomBB, because then we could simply artificially delay the transmit burst timing to make the network determine a higher TA.


Related issues

Related to OsmoPCU - Feature #1526: Acquire/update timing advance (TA)Stalledfixeria02/22/2016

Actions
Related to OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handlingResolvedfixeria07/12/2019

Actions
Related to OsmoBTS - Bug #4500: osmo-bts-{sysmo,oc2g,litecell15}: PTCCH/U is not enabled on PDCH timeslotsStalledfixeria04/18/2020

Actions
Blocked by OsmoBTS - Bug #1796: PTCCH activation breaks dyn TSClosed08/10/2016

Actions
Actions #2

Updated by laforge almost 8 years ago

  • Priority changed from Normal to Low
Actions #3

Updated by laforge almost 8 years ago

  • Assignee set to msuraev
Actions #4

Updated by laforge over 7 years ago

  • Priority changed from Low to High
Actions #5

Updated by msuraev over 7 years ago

  • Related to Feature #1526: Acquire/update timing advance (TA) added
Actions #6

Updated by msuraev over 7 years ago

  • Related to Bug #1796: PTCCH activation breaks dyn TS added
Actions #7

Updated by msuraev over 7 years ago

  • Related to deleted (Bug #1796: PTCCH activation breaks dyn TS)
Actions #8

Updated by msuraev over 7 years ago

  • Blocked by Bug #1796: PTCCH activation breaks dyn TS added
Actions #9

Updated by msuraev over 7 years ago

  • Status changed from New to Stalled

We need to figure out the way to activate PTCCH without breaking dyn TS - see #1796.

Actions #10

Updated by msuraev over 7 years ago

According to 3GPP TS 45.002 ยง 6.3.2.2.2 PTCCH/U is allocated on one of the TS where PDTCH are allocated to the MS. MS will send RACH in there. PTCCH/U have subchannels (0...15) assigned to different MS using TAI. PTCCH/D allocation is in Clause 7 Table 6 in the same spec. PTCCH/D frames are encoded using CS-1.

Actions #11

Updated by laforge over 7 years ago

  • Priority changed from High to Normal
Actions #12

Updated by laforge about 6 years ago

  • Assignee changed from msuraev to 4368
Actions #13

Updated by laforge over 5 years ago

Actions #14

Updated by laforge over 5 years ago

  • Assignee changed from 4368 to msuraev
Actions #15

Updated by laforge almost 5 years ago

  • Assignee changed from msuraev to lynxis
Actions #16

Updated by fixeria over 4 years ago

  • Related to Bug #4102: osmo-bts-trx: incorrect PTCCH handling added
Actions #17

Updated by lynxis over 4 years ago

  • Spec Reference set to 44.006 7.8.17.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6
Actions #18

Updated by lynxis over 4 years ago

  • Spec Reference changed from 44.006 7.8.17.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6 to 44.006 7.8 + 7.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6
Actions #19

Updated by fixeria over 4 years ago

  • % Done changed from 0 to 20

Please see: https://gerrit.osmocom.org/r/I887c8922446d0c1a959e6f2678f50e5754f55e83 and https://gerrit.osmocom.org/r/I868f78e3e95a95f8f2e55e237eea700d7d4726a3. IMHO, it should be rather easy to implement this feature. I see a potential implementation as a class (e.g. PTCCHControl) that will provide the following methods:

/* Obtain an unused TA Index for a TBF */
uint8_t PTCCHControl::obtain_tai(void);
/* Mark a given TA Index as free, so it can be used again */
void PTCCHControl:release_tai(uint8_t tai);
/* Update the actual Timing Advance value for a given TA Index */
void PTCCHControl:update_ta(uint8_t tai, int16_t toa);
/* Generate a to be transmitted PTCCH/D block (23 octets) */
void PTCCHControl:gen_ptcch_msg(uint8_t buf[23]);

Therefore each time-slot object should be associated with an instance of PTCCHControl.

Actions #20

Updated by fixeria over 4 years ago

  • % Done changed from 20 to 80

Please see: https://git.osmocom.org/osmo-pcu/log/?h=fixeria/ptcch.

I could not resist :D The only missing part now is TAI assignment on TBF allocation.
Also, while testing this branch I found several problems in my TTCN-3 test case:

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15678
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15679

Also, there is a problem in the PCU interface: RACH.ind message does not contain TRX / TS number fields.
We may have multiple PDCH time-slots on multiple transceivers, and we need to know the origin of Access Bursts on PTCCH/U.

Actions #21

Updated by laforge over 4 years ago

  • Assignee changed from lynxis to fixeria
Actions #22

Updated by fixeria about 4 years ago

  • Status changed from Stalled to In Progress
  • % Done changed from 80 to 90
Actions #23

Updated by fixeria about 4 years ago

  • Status changed from In Progress to Stalled
  • % Done changed from 90 to 60
Actions #24

Updated by fixeria almost 4 years ago

  • Spec Reference changed from 44.006 7.8 + 7.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6 to 44.004 7.8 + 7.9 | 44.018 3.5.3.1 | 45.010 6.5.2 | 45.002 7 Mapping Table 6
Actions #25

Updated by fixeria almost 4 years ago

  • Related to Bug #4500: osmo-bts-{sysmo,oc2g,litecell15}: PTCCH/U is not enabled on PDCH timeslots added
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)