osmo-gmr 0.2.104-2b98
Osmocom GMR-1

Files

file  rach.h
 Osmocom GMR-1 RACH channel coding header.
 
file  rach.c
 Osmocom GMR-1 RACH channel coding implementation.
 

Functions

void gmr1_rach_encode (ubit_t *bits_e, const uint8_t *rach, uint8_t sb_mask)
 Stateless GMR-1 RACH channel coder. More...
 
int gmr1_rach_decode (uint8_t *rach, const sbit_t *bits_e, uint8_t sb_mask, int *conv_rv, int *crc_rv)
 Stateless GMR-1 RACH channel decoder. More...
 

Detailed Description

Function Documentation

◆ gmr1_rach_decode()

int gmr1_rach_decode ( uint8_t *  rach,
const sbit_t *  bits_e,
uint8_t  sb_mask,
int *  conv_rv,
int *  crc_rv 
)

Stateless GMR-1 RACH channel decoder.

Parameters
[out]rachRACH packet data (2 class-1 bytes, 16 class-2 bytes)
[in]bits_eData bits of a burst
[in]sb_maskRACH SB Mask value (see GMR-1 04.008)
[out]conv_rvReturn of the convolutional decode (can be NULL)
[out]crc_rvReturn array of the 2 CRC checks (can be NULL)
Returns
0 if all CRC check pass, any other value for fail.

RACH data is 18 bytes long (2 class-1, 16 class-2), and bits_e is a 494 soft bits array unmapped from a RACH burst.

References gmr1_deinterleave_intra(), and gmr1_scramble_sbit().

◆ gmr1_rach_encode()

void gmr1_rach_encode ( ubit_t *  bits_e,
const uint8_t *  rach,
uint8_t  sb_mask 
)

Stateless GMR-1 RACH channel coder.

Parameters
[out]bits_eData bits of a burst
[in]rachRACH packet data (2 class-1 bytes, 16 class-2 bytes)
[in]sb_maskRACH SB Mask value (see GMR-1 04.008)

RACH data is 18 bytes long (2 class-1, 16 class-2), and bits_e is a 494 hard bits array to be mapped on a RACH burst.

References gmr1_crc12, and gmr1_crc8.