osmo-gmr 0.2.104-2b98
Osmocom GMR-1

Files

file  facch9.h
 Osmocom GMR-1 FACCH9 channel coding header.
 
file  facch9.c
 Osmocom GMR-1 FACCH9 channel coding implementation.
 

Functions

void gmr1_facch9_encode (ubit_t *bits_e, const uint8_t *l2, const ubit_t *bits_sacch, const ubit_t *bits_status, const ubit_t *ciph)
 Stateless GMR-1 FACCH9 channel coder. More...
 
int gmr1_facch9_decode (uint8_t *l2, sbit_t *bits_sacch, sbit_t *bits_status, const sbit_t *bits_e, const ubit_t *ciph, int *conv_rv)
 Stateless GMR-1 FACCH9 channel decoder. More...
 

Detailed Description

Function Documentation

◆ gmr1_facch9_decode()

int gmr1_facch9_decode ( uint8_t *  l2,
sbit_t bits_sacch,
sbit_t bits_status,
const sbit_t bits_e,
const ubit_t ciph,
int *  conv_rv 
)

Stateless GMR-1 FACCH9 channel decoder.

Parameters
[out]l2L2 packet data (38 bytes, last nibble unused)
[out]bits_sacch10 saach bits demultiplexed
[out]bits_status4 status bits demultiplexed
[in]bits_e662 encoded bits of one NT9 burst
[in]ciph658 bits of cipher stream (can be NULL)
[out]conv_rvReturn of the convolutional decode (can be NULL)
Returns
0 if CRC check pass, any other value for fail.

References gmr1_deinterleave_intra(), gmr1_scramble_sbit(), and osmo_conv_decode().

◆ gmr1_facch9_encode()

void gmr1_facch9_encode ( ubit_t bits_e,
const uint8_t *  l2,
const ubit_t bits_sacch,
const ubit_t bits_status,
const ubit_t ciph 
)

Stateless GMR-1 FACCH9 channel coder.

Parameters
[out]bits_e662 encoded bits of one NT9 burst
[in]l2L2 packet data (38 bytes, last nibble unused)
[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)

References gmr1_crc16, osmo_conv_encode(), osmo_crc16gen_set_bits(), and osmo_pbit2ubit_ext().