Feature #4544

concurrent operation of GPRS and EGPRS mode

Added by laforge 6 months ago. Updated about 14 hours ago.

Target version:
Start date:
Due date:
% Done:


Spec Reference:


I'm trying to describe the problem domain here:

  • GPRS/EGPRS supports static and dynamic allocation of uplink resources
    • in static allocation, the UE gets told at which future frame numbers it is permitted to transmit in uplink
    • in dynamic allocation, every downlink block carries a "USF" value, and every TBF will get a grant to transmit in uplink if its USF value appears.
  • for real-world use cases, "dynamic" allocation is the only reasonable use case, unless you are exclusively dealing with streaming media where you you have a rather static bandwidth requirement. Also, some UE only support dynamic allocation to begin with
  • every UE must be able to decode every downlink block in order to know if its USF is transmitted or not
  • this works fine in GPRS as every UE can decode every block
  • once EGPRS is mixed with GPRS, you have some UE that can only decode GPRS/GMSK while others can decode EGRPS
  • as soon as you mix the two, and you have at least one GPRS-only uplink TBF, all downlink blocks must be GMSK and not 8PSK. This significantly degrades uplink pwerormance for all users

So in order to support both GPRS and EGPRS UE concurrently, we need to implement the above-mentioned logic, together with an extensive set of test cases.

There are some optimizations that can be done:
  • switch to a USF granularity of 4 blocks. at that point, only every 4th downlink block must be GMSK, while 3/4 of the blocks can remain 8PSK.
  • In the multi-TRX situations we are aiming for: Gather all GPRS-only UE one one (set of) TRX, while gathering EGPRS capable UE on other TRXs. This means that the EGPRS UEs can still use full 8PSK capbilities without any GPRS UE down-grading their performance.

By far the largest part will be writing test cases in a simulated environment (TTCN-3) as well as tests wih real UE. Once the tests exist, the related architectural changes to the PCU data model and the TBF scheduler/allocator can be implemented.

pespin will further investigate this.


#1 Updated by pespin 6 months ago

OK, here's a more detailed analysis after reading following specs:

3GPP TS 04.60:
  • 5.2.3 Uplink State Flag
  • Dynamic allocation uplink RLC data block transfer
  • 5.2.4a Multiplexing of GPRS and EGPRS mobile stations
  • 11.2.29 Packet Uplink Assignment (USF_GRANULARITY)
3GPP TS 05.02:
  • "Mapping of uplink packet traffic channel (PDTCH/U) and PACCH/U"

Regarding multiplexing:

3GPP TS 04.60 V8.27.0 sec "5.2.4a Multiplexing of GPRS and EGPRS mobile stations" provides valuable information.

GPRS and EGPRS mobile stations can be multiplexed dynamically on the same PDCH.
If dynamic or extended dynamic allocation is used, a mobile station in GPRS TBF mode shall be able to detect the USF
that assigns the uplink to that mobile station. The network shall use GMSK modulation, i.e. either CS-1 to CS-4 or
MCS-1 to MCS-4, in those blocks. The other blocks may use 8PSK modulation.
A mobile station in EGPRS TBF mode
shall be able to detect the USF that assigns the uplink to that mobile station. The network may use either GMSK
modulation or 8-PSK modulation, i.e. CS-1 to CS-4, MCS-1 to MCS-4 or MCS-5 to MCS-9 in those blocks.
NOTE 1: The stealing bits in the EGPRS GMSK blocks are set to indicate CS-4. The coding and interleaving of the
USF is done as defined for CS-4. That leads to:
1) A GPRS mobile station is able to detect the USF in EGPRS GMSK blocks. The risk that the rest of the
block will be misinterpreted as valid information is low.
2) An EGPRS mobile station cannot differentiate CS-4 blocks from EGPRS GMSK blocks by decoding the
stealing bits only. However, an EGPRS mobile station in EGPRS TBF mode needs only to decode GMSK
blocks assuming either of MCS-1 to MCS-4, in order to determine if they were aimed for it.
If fixed allocation is used, uplink blocks of the PDCH are reserved for only one mobile station at a time. Using fixed
allocation, there is no particular restriction for the multiplexing of GPRS and EGPRS mobile stations on the same
NOTE 2: Due to mobile station synchronisation reasons, special requirements apply for the scheduling, the
modulation and coding scheme and the output power of blocks that are transmitted to a mobile station
with an active uplink or downlink TBF, see 3GPP TS 05.08.

In summary:
  • MS in GPRS-only TBF are able to decode CS1-4 and MCS1-4 (aka EGPRS with GMSK modulation)
  • GMSK modulation only needs to (must) be used for:
    • blocks aimed directly at MS with GPRS-only TBF
    • blocks aimed at other MS which contain an USF targeted at MS with GPRS-only TBF
This is the important information we can infer from the specs: Not all downlink blocks need to be downgraded to GSM if there's at least 1 GPRS-only TBF in the PDCH TS. Only packets which needs to be decoded by it are required, that is:
  • blocks aimed directly at MS with GPRS-only TBF
  • blocks aimed at other MS which contain an USF targeted at MS with GPRS-only TBF

We can even try to optimise DL block selection by giving priority setting USF for GPRS-only TBF when sending a DL block to a (E)GPRS TBF using (M)CS1-4.

Regarding USF granularity:

3GPP TS 04.60 V8.27.0 sec " Dynamic allocation uplink RLC data block transfer"

Whenever the mobile station detects an assigned USF value on an assigned PDCH, the mobile station shall transmit
either a single RLC/MAC block or a sequence of four RLC/MAC blocks on the same PDCH. The time relation between
an uplink block, which the mobile station shall use for transmission, and the occurrence of the USF value is defined in
3GPP TS 05.02. The number of RLC/MAC blocks to transmit is controlled by the USF_GRANULARITY parameter
characterising the uplink TBF.

11.2.29 Packet Uplink Assignment:

USF_GRANULARITY (1 bit field)
This information field indicates the USF granularity to be applied by the mobile station when it is assigned a TBF using
Dynamic Allocation.
0 the mobile station shall transmit one RLC/MAC block
1 the mobile station shall transmit four consecutive RLC/MAC blocks

Then, in 3GPP TS 05.02 version 8.11.0:
h3. "Mapping of uplink packet traffic channel (PDTCH/U) and PACCH/U":

If the USF in block B(x-1) indicates that block B(x) shall be used by an MS for which the USF_GRANULARITY is set to 1 (corresponding to 4 blocks) in the last assignment message,
that MS shall also use the three following blocks. The USF corresponding to the last three blocks shall be set to an unused value. The MS may transmit a PDTCH block or a PACCH block
on any of the uplink blocks used by the MS. The occurrence of the PACCH/U associated to a PDTCH/D shall be indicated by the network by polling the MS (see 3GPP TS 04.60).
NOTE: This subclause specifies how the network shall signal that the MS is allowed to use the uplink. The operation of the MS is specified in 3GPP TS 04.60. In particular cases of
fixed allocation, extended dynamic allocation or exclusive allocation, the MS may not need to monitor the USF on all allocated PDCHs.
NOTE: The PDCH/HU is only assigned in exclusive allocation (see 3GPP TS 04.60).

For COMPACT, USF_GRANULARITY should be set to 0 (corresponding to 1 block) for dynamic allocation for the following cases:
i) for odd timeslot numbers (TN) 1, 3, 5, and 7 in nominal and large cells;
ii) for even timeslot numbers (TN) 0, 2, 4, and 6 in large cells.

So without looking into further detail, some considerations:
  • If there's not already a UNUSED_USF specific value (3 bits) (there seems to exit USF=FREE but only when using PRACH but we don't use that), then it means by using this mechanism we can handle 1 MS less per PDCH (because we need to leave an unused value)
  • spec recommends not using this feature in nominal (normal?) or big cells.

So my proposal:

Don't focus on USF granularity (at least for now), and focus on having GPRS+EGPRS multiplexing working fine (only downgrading to (M)CS1-4 DL blocks aimed at GPRS-only TBF or with USF targeted at GPRS-only TBF.

  1. Implement "3GPP TS 04.60 sec 5.2.4a Multiplexing of GPRS and EGPRS mobile stations": refactor osmo-pcu to allow all MS in a PDCH TS, add code to decide (M)CS (modulation) based on target MS and USF.
  2. Add per PDCH TS option: "allow tbf-type gprs/egprs/multiplex" to either allow a specific type or multiplexing, and then osmo-pcu allocates or rejects phone based on that.

#2 Updated by laforge 6 months ago

  • Assignee deleted (pespin)
  • Priority changed from High to Low

#3 Updated by pespin about 14 hours ago

  • Assignee set to pespin

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)