osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Files | |
file | facch3.h |
Osmocom GMR-1 FACCH3 channel coding header. | |
file | facch3.c |
Osmocom GMR-1 FACCH3 channel coding implementation. | |
Functions | |
void | gmr1_facch3_encode (ubit_t *bits_e, const uint8_t *l2, const ubit_t *bits_s, const ubit_t *ciph) |
Stateless GMR-1 FACCH3 channel coder. More... | |
int | gmr1_facch3_decode (uint8_t *l2, ubit_t *bits_s, const sbit_t *bits_e, const ubit_t *ciph, int *conv_rv) |
Stateless GMR-1 FACCH3 channel decoder. More... | |
int gmr1_facch3_decode | ( | uint8_t * | l2, |
ubit_t * | bits_s, | ||
const sbit_t * | bits_e, | ||
const ubit_t * | ciph, | ||
int * | conv_rv | ||
) |
Stateless GMR-1 FACCH3 channel decoder.
[out] | l2 | L2 packet data |
[out] | bits_s | 4*8 status bits de-multiplexed |
[in] | bits_e | 4*104 encoded bits of 4 bursts |
[in] | ciph | 4*96 bits of cipher stream (can be NULL) |
[out] | conv_rv | Return of the convolutional decode (can be NULL) |
L2 data is 10 byte long. bits_s is 32 bits, 8 bits for each of the 4 burts, organized as 4 s_n followed by 4 s_p, as shown in section 7.3.2.2. bits_e is a 424 soft bits array unmapped from 4 bursts. ciph is the A5 cipher stream to use, 96 bits for each of the 4 burts.
References gmr1_deinterleave_intra(), and gmr1_scramble_sbit().
void gmr1_facch3_encode | ( | ubit_t * | bits_e, |
const uint8_t * | l2, | ||
const ubit_t * | bits_s, | ||
const ubit_t * | ciph | ||
) |
Stateless GMR-1 FACCH3 channel coder.
[out] | bits_e | 4*104 encoded bits of 4 bursts |
[in] | l2 | L2 packet data |
[in] | bits_s | 4*8 status bits to be multiplexed |
[in] | ciph | 4*96 bits of cipher stream (can be NULL) |
L2 data is 10 byte long. bits_s is 32 bits, 8 bits for each of the 4 burts, organized as 4 s_n followed by 4 s_p, as shown in section 7.3.2.2. bits_e is a 432 hard bit array to be mapped on 4 bursts. ciph is the A5 cipher stream to use, 96 bits for each of the 4 burts.
References gmr1_crc16.