TETRAcell is an SDR-based TETRA base station implementing the TETRA air interface with a modular, scalable, and software-defined architecture.
Find a file
2026-01-06 15:43:42 +01:00
db_FleetGroupTable.png Dateien nach „/“ hochladen 2026-01-05 20:22:18 +01:00
db_FleetTable.png Dateien nach „/“ hochladen 2026-01-05 20:22:18 +01:00
db_GroupTable.png Dateien nach „/“ hochladen 2026-01-05 20:22:18 +01:00
db_userTable.png Dateien nach „/“ hochladen 2026-01-05 20:22:18 +01:00
readme.md readme.md aktualisiert 2026-01-06 15:43:42 +01:00
TETRAcell_logo.png Dateien nach „/“ hochladen 2026-01-05 18:49:05 +01:00

TETRAcell

TETRAcell Logo

Overview

TETRAcell is an SDR-based TETRA base station platform providing a modular, scalable, and flexible implementation of the TETRA air interface. The project focuses on a clean software-defined architecture, enabling rapid prototyping, experimentation, and future extensions of professional TETRA radio networks.

TETRAcell is designed as a research and development platform, while keeping professional-grade requirements such as robustness, determinism, and clarity of system structure in mind.


Key Features

  • Software-defined radio (SDR) based TETRA base station
  • Modular architecture (PHY / MAC / higher layers)
  • Clear separation of signal processing and control logic
  • Scalable and extensible design
  • Suitable for lab setups, prototyping, and system evaluation

Architecture Overview

TETRAcell follows a layered and modular architecture:

  • RF / SDR Layer
    Hardware abstraction and baseband I/Q streaming

  • PHY Layer
    TETRA physical layer processing (modulation, demodulation, synchronization)

  • MAC Layer
    Medium access control, timeslot handling, and scheduling

  • Control & Management
    Configuration, monitoring, and system control interfaces

This structure allows individual components to be developed, tested, and replaced independently.


Use Cases

  • TETRA air interface research
  • SDR-based base station prototyping
  • Algorithm development and evaluation
  • Educational and internal R&D purposes

Project Status

🚀 Release Repository
This repository contains release artifacts only. Source code, development branches, and internal tools are not included.


Database-Based Configuration

TETRAcell uses a database-driven configuration model to define users, fleets, and talk groups.
This allows centralized management of registration and group attachment without changing application logic. You can access the SQL Database with standard tools like HeidiSQL.

User: tetra

Password: tetra


🛠️ Database Setup Guide: MariaDB

This guide explains how to install and configure MariaDB for the TETRAcell project. MariaDB is the recommended choice as it is fully compatible with MySQL but easier to install on modern Debian systems.


1. Installation

Run these commands in your terminal to install MariaDB and start the service:

# Update package lists
sudo apt update

# Install MariaDB Server
sudo apt install mariadb-server -y

# Start the service
sudo service mariadb start

2: User & Permissions Configuration

Once MariaDB is installed and running, you must create the tetra user. This user is required to access the database.

Open the MariaDB Console and add user

Type the following command in your terminal:

sudo mariadb

CREATE USER IF NOT EXISTS 'tetra'@'%' IDENTIFIED BY 'tetra';
GRANT ALL PRIVILEGES ON *.* TO 'tetra'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

EXIT;

User Table

The UserTable defines individual TETRA terminals (subscribers).

Each user entry contains:

  • ISSI the unique subscriber identity (mandatory)
  • Fleet ID reference to the fleet the user belongs to
  • Optional metadata (e.g. name, IP address, permissions)

The ISSI is required for registration and identification within the system.
The Fleet ID determines the fleet context and indirectly the permitted talk groups.

UserTable


Fleet Table

The FleetTable defines available fleets.

Each fleet entry consists of:

  • ID internal fleet identifier
  • Name human-readable fleet name

A fleet represents a logical container for users and defines which talk groups are accessible.

FleetTable


Group Table

The GroupTable defines all available talk groups.

Each group entry contains:

  • ID internal group identifier
  • Name descriptive group name
  • GSSI Group Short Subscriber Identity

The GSSI is used on the TETRA air interface for group attachment and group calls.

GroupTable


FleetGroup Mapping

The FleetGroupTable defines which groups are assigned to which fleets.

Each entry maps:

  • Fleet ID
  • Group ID

This mapping controls which groups a user is allowed to attach to based on their fleet membership.

Only groups explicitly linked to a fleet are permitted for group attachment.

FleetGroupTable


Functional Summary

  • Users are identified by their ISSI
  • Each user belongs to exactly one fleet
  • Fleets define access rights to talk groups
  • Groups are identified on-air by their GSSI
  • The FleetGroupTable enforces group access per fleet

This structure enables flexible, database-driven control of registration and group attachment behavior.


System Parameters

The following system parameters are currently fixed for the early alpha stage:

  • MCC (Mobile Country Code): 262 (Germany)
  • MNC (Mobile Network Code): 9
  • Downlink Frequency (TX): 420 MHz
  • Uplink Frequency (RX): 410 MHz

These parameters define the basic network identity and RF configuration used during alpha testing.


Quick Start

The release package includes a prebuilt executable. To start TETRAcell, make the binary executable and run it:

chmod +x InitMobilityManagementDatabase
./InitMobilityManagementDatabase
chmod +x TetraStack
./TetraStack

Ensure that your SDR hardware is connected and properly configured before starting the application.


Disclaimer

This project and its release artifacts are provided for internal use, evaluation, and demonstration purposes only.

  • Commercial use is strictly prohibited.
  • Reproduction, redistribution, or modification of this project or its binaries is not permitted without prior written approval.
  • Any use beyond the intended scope requires explicit coordination with the project owner.

License

All rights reserved.

This software and its associated release artifacts are proprietary.

  • Commercial use is strictly prohibited.
  • Reproduction, redistribution, modification, or reverse engineering is not permitted without prior written consent.
  • This project may only be used for internal evaluation and demonstration purposes.

Any use outside this scope requires explicit approval from the copyright holder.


© Simon Friedrich