Project

General

Profile

Feature #4544

concurrent operation of GPRS and EGPRS mode

Added by laforge 7 months ago. Updated 17 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Target version:
-
Start date:
05/12/2020
Due date:
% Done:

70%

Spec Reference:

Description

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.


Related issues

Related to OsmoPCU - Bug #4509: osmo-pcu rejects 8-bit RACH requests rejected on new MS when on "egprs only" modeClosed04/22/2020

Related to OsmoPCU - Feature #1559: EGPRS/GPRS multiplexing on single PDCHClosed02/23/2016

Related to OsmoPCU - Feature #4286: Support configuration using 8PSK on dowlink while staying GMSK-only on uplinkNew11/28/2019

History

#1 Updated by pespin 7 months ago

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

3GPP TS 04.60:
  • 5.2.3 Uplink State Flag
  • 8.1.1.1 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:
  • 6.3.2.2.1 "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
PDCH.
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 "8.1.1.1 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. 6.3.2.2.1 "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.

steps:
  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 7 months ago

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

#3 Updated by pespin about 1 month ago

  • Assignee set to pespin

#4 Updated by pespin about 1 month ago

  • Priority changed from Low to Normal

#5 Updated by pespin about 1 month ago

  • Related to Bug #4509: osmo-pcu rejects 8-bit RACH requests rejected on new MS when on "egprs only" mode added

#6 Updated by pespin 22 days ago

  • Related to Feature #1559: EGPRS/GPRS multiplexing on single PDCH added

#7 Updated by pespin 22 days ago

"EGPRS – Design Details & System Engineering" slides have a complete chapter on this topic.

From there, slide num 94 (which points at 3GTS 05.08 (10.2.2)), we need to take into account another requirement:

While in packet transfer mode, every mobile station needs to re-synchronize to the base station periodically every 360 ms. This synchronization is achieved
through the reception of a valid downlink block. This downlink block can be an RLC/MAC-control block or an RLC/MAC-data block and it does not need to
be destined to that mobile station.

Therefore, if EGPRS mobile stations using 8-PSK in downlink and GPRS only mobile stations are multiplexed on a single timeslot, the network has to
transmit a downlink data or control block with CS-1 at least once every 360 ms which can be received and decoded by every mobile station. Special
requirements apply, if downlink power control is enabled.
....
Obviously, there will be a glitch in the throughput rate from the perspective of the EGPRS-mobile station. In the worst case, this glitch will decrease the
maximum throughput rate by 1/18 because every 18 block needs to be a CS-1 encoded block. This block will most likely be an RLC/MAC-control
message like the PACK_UL:_DUMMY_CTRL_BLK-message

As seen in3GPP TS 05.08 version 8.23.0 "10.2.2 BTS output power":

The MS is required to meet the 05.05 specification under the following conditions: For synchronization purpose, the network shall ensure that each MS with an active TBF in uplink or downlink receives at least one block transmitted with a coding scheme and a modulation that can be decoded by that MS every 360 millisecond interval (78 TDMA frames) If downlink power control is used, this block shall be transmitted with an output power which is consistent with the downlink power control mode used and
-    in PR mode A, this block shall be addressed (RLC information) to this MS and shall contain a usable PR field (i.e. not set to Not usable as specified in 3GPP TS 04.60);
-    in PR mode B, this block shall contain a usable PR field (i.e. not set to Not usable as specified in 3GPP TS 04.60) and does not necessarily have to be addressed to any particular MS. 

So IIUC that translates to: when we have at least 1 GPRS-only MS in a PDCH, we have to make sure that we send at least a DL block using CS1-4 each 360 ms, which shouldn't add a big penalty since anyway we need to send stuff to that MS from time to time if it has a DL TBF, and UL ACK/NACK if it (or any other MS) has a UL TBF in that timeslot.

#8 Updated by pespin 22 days ago

Similar information to the stated above can also be found in 3GPP TS 03.64 version 8.12.0 "6.6.4.1 Multiplexing MSs on the same PDCH".

Also interesting to get into ccount, the network can use CS1-4 blocks to USF-poll an EGPRS phone:
  • "EGPRS – Design Details & System Engineering" slide num 98
  • 3GPP TS 03.64 version 8.12.0 "6.6.4.1.1.2 Multiplexing of GPRS and EGPRS MSs":
    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.
    For mobile station synchronization reasons, if GPRS MSs are multiplexed on the PDCH, at least one downlink radio block every 360ms shall be transmitted to each MS with a coding scheme and a modulation that can be decoded by that MS. 
    

#9 Updated by pespin 17 days ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 70

I submitted a test validating EGPRS TBF downgrading to MCS1-4 in here:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21177 pcu: Introduce test TC_multiplex_dl_gprs_egprs

And here's the initial implementation passing the test:
https://gerrit.osmocom.org/c/osmo-pcu/+/21178 Support multiplexing of GPRS and EGPRS TBFs in one PDCH
https://gerrit.osmocom.org/c/osmo-pcu/+/21179 Implement downgrade to DL MCS1-4 when USF for GPRS_only MS

I did so far some testing of the above code using 2 EGPRS phones and they seem to be working fine.
I am currently lacking a GPRS-only phone to test manually, but I'll hopefully get one over next days to do some testing.

#10 Updated by pespin 9 days ago

  • Related to Feature #4286: Support configuration using 8PSK on dowlink while staying GMSK-only on uplink added

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)