osmo-gmr 0.2.104-2b98
Osmocom GMR-1

Files

file  tch9.h
 Osmocom GMR-1 TCH9 channel coding header.
 
file  tch9.c
 Osmocom GMR-1 TCH9 channel coding implementation.
 

Enumerations

enum  gmr1_tch9_mode { GMR1_TCH9_2k4 , GMR1_TCH9_4k8 , GMR1_TCH9_9k6 , GMR1_TCH9_MAX }
 TCH9 possible data rates. More...
 

Functions

void gmr1_tch9_encode (ubit_t *bits_e, const uint8_t *l2, enum gmr1_tch9_mode mode, const ubit_t *bits_sacch, const ubit_t *bits_status, const ubit_t *ciph, struct gmr1_interleaver *il)
 GMR-1 TCH9 channel coder. More...
 
void gmr1_tch9_decode (uint8_t *l2, sbit_t *bits_sacch, sbit_t *bits_status, const sbit_t *bits_e, enum gmr1_tch9_mode mode, const ubit_t *ciph, struct gmr1_interleaver *il, int *conv_rv)
 GMR-1 TCH9 channel decoder. More...
 

Detailed Description

Enumeration Type Documentation

◆ gmr1_tch9_mode

TCH9 possible data rates.

Enumerator
GMR1_TCH9_2k4 

TCH9 with 2.4k data rate.

GMR1_TCH9_4k8 

TCH9 with 4.8k data rate.

GMR1_TCH9_9k6 

TCH9 with 9.6k data rate.

GMR1_TCH9_MAX 

Dummy value.

Function Documentation

◆ gmr1_tch9_decode()

void gmr1_tch9_decode ( uint8_t *  l2,
sbit_t *  bits_sacch,
sbit_t *  bits_status,
const sbit_t *  bits_e,
enum gmr1_tch9_mode  mode,
const ubit_t *  ciph,
struct gmr1_interleaver il,
int *  conv_rv 
)

GMR-1 TCH9 channel decoder.

Parameters
[out]l2L2 packet data
[out]bits_sacch10 saach bits demultiplexed
[out]bits_status4 status bits demultiplexed
[in]bits_e662 encoded bits of one NT9 burst
[in]modeChannel encoding mode
[in]ciph658 bits of cipher stream (can be NULL)
[in,out]ilInter-burst interleaver state
[out]conv_rvReturn of the convolutional decode (can be NULL)

L2 data size depends on the mode (18 bytes for 2k4, 30 bytes for 4k8, 60 bytes for 9k6).

◆ gmr1_tch9_encode()

void gmr1_tch9_encode ( ubit_t *  bits_e,
const uint8_t *  l2,
enum gmr1_tch9_mode  mode,
const ubit_t *  bits_sacch,
const ubit_t *  bits_status,
const ubit_t *  ciph,
struct gmr1_interleaver il 
)

GMR-1 TCH9 channel coder.

Parameters
[out]bits_e662 encoded bits of one NT9 burst
[in]l2L2 packet data
[in]modeChannel encoding mode
[in]bits_sacch10 saach bits to be multiplexed
[in]bits_status4 status bits to be multiplexed
[in]ciph658 bits of cipher stream (can be NULL)
[in,out]ilInter-burst interleaver state

L2 data size depends on the mode (18 bytes for 2k4, 30 bytes for 4k8, 60 bytes for 9k6).