Osmocom TETRA PHY/MAC implementation https://osmocom.org/projects/tetra
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Harald Welte 85596f7061 add COPYING (AGPLv3) and README file 12 years ago
src initial import of Osmocom TETRA phy and lower MAC code 12 years ago
COPYING add COPYING (AGPLv3) and README file 12 years ago
README add COPYING (AGPLv3) and README file 12 years ago


TETRA MAC/PHY layer experimentation code
(C) 2010 by Harald Welte <laforge@gnumonks.org>

This code aims to implement the (so far) sending and (in the future)
receiving part of the TETRA MAC/PHY layer.

If you read the ETSI EN 300 392-2 (TETRA V+D Air Interface), you will
find this code implementing the parts between the MAC-blocks (called
type-1 bits) and the bits that go to the DQPSK-modulator (type-5 bits).

It is most useful to look at Figure 8.5, 8.6, 9.3 and 19.12 in conjunction
with this program.

Specifically, it implements:
* CRC16-CCITT (currently defunct/broken as we need it for
non-octet-aligned bitfields)
* (30, 14) Reed-Muller code for the ACCH (broadcast block of
each downlink burst)
* 16-state Rate-Compatible Punctured Convolutional (RCPC) coder
* Block interleaving (over a single block only)
* Scrambling
* Routines to encode continuous normal and sync bursts
* Routines to build some example SYNC-PDU and SYSINFO-PDU

The main program conv_enc_test.c generates a single continuous downlinc sync
burst (SB), contining:
* a SYNC-PDU as block 1
* a ACCESS-ASSIGN PDU as broadcast block
* a SYSINFO-PDU as block 2

Scrambling is set to 0 (no scrambling) for all elements of the burst.

You will need libosmocore (http://bb.osmocom.org/trac/wiki/libosmocore) to link.


src/float_to_bits data/dqpsk-float.dat data/out.bits

src/burst_test data/out.bits