(E)GPRS protocol stack implementation

No issues for this version

GPRS (General Packet Radio Service) is a packet-switched cellular technology, which is used in
2G and 3G networks for transmitting IP packets to external networks such as the Internet. EGPRS
stands for "Enhanced GPRS", a GPRS based technology that allows improved data transmission
rates. The aim of this task is to get working mobile station implementation of GPRS protocol stack
and extend the GSM burst transceiver part of the project with ability to send/receive GPRS and
EGPRS signals.
  • physical layer (L1) modification in order to support packet switched communication (8-psk
    detection modulation and demodulation support for EGPRS, channel coding/decoding, TBF
    (Token Bucket Filter) scheduling)
  • implementation of the higher protocol layers (RLC/MAC, LLC, SNDCP)
  • composing a shared library of the existing GPRS related code in OsmcomBB
  • implementation of the transmit capabilities
  • implementation of host utilities (Packet capture (sniffer) utility, GPRS modem application)
  • tests (unit tests, conformance tests)

Extended SDR hardware compatibility

No issues for this version

Currently the GSM burst transceiver used by the project works with UHD (Universal Hardware
Deriver) compatible devices like Ettus USRPs and Fairwaves UmTRX. It is desirable to have
support for at least one additional cheaper SDR devices (like LimeSDR or LimeSDR-Mini).
  • implementing stream tags forwarding in GNU Radio blocks representing targeted SDR
  • porting of the L1 transceiver to targeted SDR platform(/s) (deliverable: source code,
    demonstration that it works)

Frequency hopping

No issues for this version

A BTS (Base Transceiver Station) on the GSM radio interface may use frequency hopping, that
poses additional difficulty to transmit and receive GSM signals on the mobile side. The aim of this
subtask is to implement frequency hopping for a GSM mobile station.

  • implementing transmission of GSM bursts according to a hopping sequence (deliverables:
    code + plot(/s) showing frequency of transmitted bursts)
  • implementing reception of GSM bursts that follows frequency hopping (deliverables: code +
    decoded messages from the signal with hopping)
  • extending the control interface between gr-gsm and Osmocom-BB with ability to
    send/change hopping parameters (deliverable: code)
  • testing the mobile station with a GSM BTS supporting frequency hopping (deliverable:
    protocol traces in Wireshark)

Improvement of the higher layers of OsmocomBB


10 issues   (5 closed5 open)

The OsmocomBB project provides an Open Source implementation of the higher layers of the mobile-side GSM protocol stack, which at the moment allows a end-user to make voice calls, and exchange SMS messages. But some important parts are still missing, so the aim of this task is to fill this gap:

Measurements and control loops

No issues for this version

GSM mobile stations usually do perform measurements of timing, frequency and signal power while being camped on some BTS. The measurements are used for controling mobile phone parameters (such as both transmit and receive gains, signal transmission timings, etc.). The aim of this milestone is to implement the "must have" measurement capabilities and control loops.

  • Automatic TX to RX delay measurement
  • Calibrated power measurement
  • AGC (Automatic Gain Control) for the Receiver
  • TX power control loop
  • Timing advance control loop

Also see:

Testing, tuning and extending the Receiver module of GR-GSM

No issues for this version

The purpose of this subtask is to find out how good / bad current implementation of the MLSE (Maximum Likelihood Sequence Estimation) channel equalization algorithm is and to add another equalization algorithm that has lower computational complexity.

Currently the following sub-tasks are work in progress:

  • Receiver: sample / burst buffering problem (see #3422)
  • Receiver: hard-coded GSM 05.02 channel configuration (see #3423)

Scheduled sub-tasks:

  • Virtual low-level UHD-based interface (for testing and simulation)
    • BER (Bit Error Rate) simulations
    • performance optimization
Add picture from clipboard (Maximum size: 48.8 MB)