html/ 0000755 0001750 0001750 00000000000 14720224106 011000 5 ustar build build html/group__scramb.html 0000644 0001750 0001750 00000027613 14720224106 014521 0 ustar build build
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Files | |
file | scramb.h |
Osmocom GMR-1 scrambling header. | |
file | scramb.c |
Osmocom GMR-1 scrambling implementation. | |
Macros | |
#define | GMR1_SCRAMBLE_REG_INIT 0x4d4b |
Functions | |
void | gmr1_scramble_sbit (sbit_t *out, const sbit_t *in, int len) |
Scrambles/Unscrambles a softbit vector. More... | |
void | gmr1_scramble_ubit (ubit_t *out, const ubit_t *in, int len) |
Scrambles/Unscrambles an unpacked hard bit vector. More... | |
Scrambles/Unscrambles a softbit vector.
[out] | out | output sbit_t array |
[in] | in | input sbit_t array |
[in] | len | length of the array to convert |
The output array can be equal to the input array for in-place scrambling/unscrambling
Referenced by gmr1_bcch_decode(), gmr1_ccch_decode(), gmr1_facch3_decode(), gmr1_facch9_decode(), gmr1_rach_decode(), gmr1_tch3_decode(), and gmr1_xch_dc12_decode().
Scrambles/Unscrambles an unpacked hard bit vector.
[out] | out | output ubit_t array |
[in] | in | input ubit_t array |
[in] | len | length of the array to convert |
The output array can be equal to the input array for in-place scrambling/unscrambling
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 GSMtap helpers header. More...
#include <stdint.h>
Go to the source code of this file.
Functions | |
struct msgb * | gmr1_gsmtap_makemsg (uint8_t chan_type, uint32_t fn, uint8_t tn, const uint8_t *l2, int len) |
Helper to build GSM tap message with GMR-1 payload. More... | |
Osmocom GMR-1 GSMtap helpers header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
AMBE decoder state. More...
#include <private.h>
Data Fields | |
float | tone_phase_f1 |
Phase frequency 1 for tone frames. | |
float | tone_phase_f2 |
Phase frequency 2 for tone frames. | |
struct ambe_subframe | sf_prev |
Previous subframe. | |
struct ambe_synth | synth |
Synthesizer state. | |
AMBE decoder state.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 DKABs bursts header. More...
Go to the source code of this file.
Macros | |
#define | GMR1_DKAB_SYMS (39*3) |
Functions | |
int | gmr1_dkab_demod (struct osmo_cxvec *burst_in, int sps, float freq_shift, int p, sbit_t *ebits, float *toa_p) |
All-in-one finding and demodulation of DKAB bursts. More... | |
Osmocom GMR-1 DKABs bursts header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
structure describing a puncturing code More...
#include <punct.h>
Data Fields | |
int | r |
Number of punctured bits. | |
int | L |
Length of the puncturing mask. | |
int | N |
Rate of the punctured convolutional code (1/N) | |
const uint8_t | mask [] |
Puncturing mask. | |
structure describing a puncturing code
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
AMBE encoded frame raw parameters. More...
#include <private.h>
AMBE encoded frame raw parameters.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Files | |
file | conv.h |
Osmocom GMR-1 convolutional coding header. | |
file | conv.c |
Osmocom GMR-1 convolutional coding implementation. | |
Enumerations | |
enum | osmo_conv_term |
Variables | |
CONV_TERM_FLUSH | |
CONV_TERM_TRUNCATION | |
CONV_TERM_TAIL_BITING | |
const struct osmo_conv_code | gmr1_conv_k5_12 |
GMR-1 constraint length 5, rate 1/2 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k5_13 |
GMR-1 constraint length 5, rate 1/3 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k5_14 |
GMR-1 constraint length 5, rate 1/4 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k5_15 |
GMR-1 constraint length 5, rate 1/5 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k6_14 |
GMR-1 constraint length 6, rate 1/4 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k9_12 |
GMR-1 constraint length 9, rate 1/2 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k9_13 |
GMR-1 constraint length 9, rate 1/3 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k9_14 |
GMR-1 constraint length 9, rate 1/4 convolutional code. | |
const struct osmo_conv_code | gmr1_conv_tch3 |
GMR-1 TCH3 speech tail-biting convolutional code. | |
const struct osmo_conv_code | gmr1_conv_k5_12 |
GMR-1 constraint length 5, rate 1/2 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k5_13 |
GMR-1 constraint length 5, rate 1/3 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k5_14 |
GMR-1 constraint length 5, rate 1/4 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k5_15 |
GMR-1 constraint length 5, rate 1/5 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k6_14 |
GMR-1 constraint length 6, rate 1/4 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k9_12 |
GMR-1 constraint length 9, rate 1/2 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k9_13 |
GMR-1 constraint length 9, rate 1/3 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_k9_14 |
GMR-1 constraint length 9, rate 1/4 convolutional code. More... | |
const struct osmo_conv_code | gmr1_conv_tch3 |
GMR-1 TCH3 speech tail-biting convolutional code. More... | |
const struct osmo_conv_code gmr1_conv_k5_12 |
GMR-1 constraint length 5, rate 1/2 convolutional code.
const struct osmo_conv_code gmr1_conv_k5_13 |
GMR-1 constraint length 5, rate 1/3 convolutional code.
const struct osmo_conv_code gmr1_conv_k5_14 |
GMR-1 constraint length 5, rate 1/4 convolutional code.
const struct osmo_conv_code gmr1_conv_k5_15 |
GMR-1 constraint length 5, rate 1/5 convolutional code.
const struct osmo_conv_code gmr1_conv_k6_14 |
GMR-1 constraint length 6, rate 1/4 convolutional code.
const struct osmo_conv_code gmr1_conv_k9_12 |
GMR-1 constraint length 9, rate 1/2 convolutional code.
const struct osmo_conv_code gmr1_conv_k9_13 |
GMR-1 constraint length 9, rate 1/3 convolutional code.
const struct osmo_conv_code gmr1_conv_k9_14 |
GMR-1 constraint length 9, rate 1/4 convolutional code.
const struct osmo_conv_code gmr1_conv_tch3 |
GMR-1 TCH3 speech tail-biting convolutional code.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 AMBE vocoder header. More...
#include <stdint.h>
Go to the source code of this file.
Functions | |
struct gmr1_codec * | gmr1_codec_alloc (void) |
Allocates and inits a codec object. More... | |
void | gmr1_codec_release (struct gmr1_codec *codec) |
Release a codec object created by gmr1_codec_alloc. More... | |
int | gmr1_codec_decode_frame (struct gmr1_codec *codec, int16_t *audio, int N, const uint8_t *frame, int bad) |
Decodes an AMBE frame to audio. More... | |
int | gmr1_codec_decode_dtx (struct gmr1_codec *codec, int16_t *audio, int N) |
Generates audio for DTX period. More... | |
Osmocom GMR-1 AMBE vocoder header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 TCH3 channel coding header. More...
Go to the source code of this file.
Functions | |
void | gmr1_tch3_encode (ubit_t *bits_e, const uint8_t *frame0, const uint8_t *frame1, const ubit_t *bits_s, const ubit_t *ciph, int m) |
Stateless GMR-1 TCH3 channel coder. More... | |
void | gmr1_tch3_decode (uint8_t *frame0, uint8_t *frame1, ubit_t *bits_s, const sbit_t *bits_e, const ubit_t *ciph, int m, int *conv0_rv, int *conv1_rv) |
Stateless GMR-1 TCH3 channel decoder. More... | |
Osmocom GMR-1 TCH3 channel coding header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Files | |
file | ambe.c |
Osmocom GMR-1 AMBE internal API. | |
file | codec.c |
Osmocom GMR-1 AMBE vocoder public API implementation. | |
file | frame.c |
Osmocom GMR-1 AMBE speech parameters to/from frame. | |
file | math.c |
Osmocom GMR-1 AMBE vocoder math functions. | |
file | private.h [code] |
Osmocom GMR-1 AMBE vocoder private header. | |
file | synth.c |
Osmocom GMR-1 AMBE vocoder speech synthesis. | |
file | tables.c |
Osmocom GMR-1 AMBE vocoder tables. | |
file | tone.c |
Osmocom GMR-1 AMBE vocoder tone frames handling. | |
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 AMBE vocoder tone frames handling. More...
Data Structures | |
struct | tone_desc |
Structure describing a dual-frequency tone. More... | |
Functions | |
int | ambe_decode_tone (struct ambe_decoder *dec, int16_t *audio, int N, const uint8_t *frame) |
Decodes an AMBE tone frame. More... | |
Osmocom GMR-1 AMBE vocoder tone frames handling.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 FCCH bursts implementation. More...
#include <complex.h>
#include <math.h>
#include <errno.h>
#include <stdlib.h>
#include <fftw3.h>
#include <osmocom/dsp/cxvec.h>
#include <osmocom/dsp/cxvec_math.h>
#include <osmocom/gmr1/sdr/defs.h>
#include <osmocom/gmr1/sdr/fcch.h>
Functions | |
int | gmr1_fcch_rough (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *toa) |
Rough FCCH timing acquisition. More... | |
int | gmr1_fcch_rough_multi (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *peaks_toa, int N) |
Rough FCCH timing acquisition w/ multiple FCCH detection. More... | |
int | gmr1_fcch_fine (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, int *toa, float *freq_error) |
Fine FCCH timing & frequency acquisition. More... | |
int | gmr1_fcch_snr (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, float *snr) |
SNR estimation on a FCCH burst. More... | |
Variables | |
const struct gmr1_fcch_burst | gmr1_fcch_burst |
FCCH burst (GMR-1 version) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.1. More... | |
const struct gmr1_fcch_burst | gmr1_fcch3_lband_burst |
FCCH3 L-band burst (GMR-1 3G version for L-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.2.1. More... | |
const struct gmr1_fcch_burst | gmr1_fcch3_sband_burst |
FCCH3 S-band burst (GMR-1 3G version for S-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.2.2. More... | |
Osmocom GMR-1 FCCH bursts implementation.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 GSMtap helpers header. More...
#include <stdint.h>
#include <string.h>
#include <arpa/inet.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/gsmtap.h>
#include <osmocom/gmr1/gsmtap.h>
Functions | |
struct msgb * | gmr1_gsmtap_makemsg (uint8_t chan_type, uint32_t fn, uint8_t tn, const uint8_t *l2, int len) |
Helper to build GSM tap message with GMR-1 payload. More... | |
Osmocom GMR-1 GSMtap helpers header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Modules | |
A5 ciphering algorithm | |
Channel coding primitives | |
Channel coder / decoders | |
Files | |
file | defs.h |
Osmocom GMR-1 L1 global definitions. | |
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 FCCH bursts header. More...
#include <osmocom/dsp/cxvec.h>
Go to the source code of this file.
Data Structures | |
struct | gmr1_fcch_burst |
Functions | |
int | gmr1_fcch_rough (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *toa) |
Rough FCCH timing acquisition. More... | |
int | gmr1_fcch_rough_multi (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *search_win_in, int sps, float freq_shift, int *peaks_toa, int N) |
Rough FCCH timing acquisition w/ multiple FCCH detection. More... | |
int | gmr1_fcch_fine (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, int *toa, float *freq_error) |
Fine FCCH timing & frequency acquisition. More... | |
int | gmr1_fcch_snr (const struct gmr1_fcch_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, float *snr) |
SNR estimation on a FCCH burst. More... | |
Variables | |
const struct gmr1_fcch_burst | gmr1_fcch_burst |
FCCH burst (GMR-1 version) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.1. | |
const struct gmr1_fcch_burst | gmr1_fcch3_lband_burst |
FCCH3 L-band burst (GMR-1 3G version for L-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.2.1. | |
const struct gmr1_fcch_burst | gmr1_fcch3_sband_burst |
FCCH3 S-band burst (GMR-1 3G version for S-band) See GMR-1 05.004 (ETSI TS 101 376-5-2 V3.1.1) - Section 8.2.2. | |
Osmocom GMR-1 FCCH bursts header.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Files | |
file | xch_dc12.h |
Osmocom GMR-1 xCH over DC12 channel coding header. | |
file | xch_dc12.c |
Osmocom GMR-1 xCH over DC12 channel coding implementation. | |
Functions | |
int | gmr1_xch_dc12_encode (ubit_t *bits_e, const uint8_t *l2) |
Stateless GMR-1 xCH over DC12 channel coder. More... | |
int | gmr1_xch_dc12_decode (uint8_t *l2, const sbit_t *bits_e, int *conv_rv) |
Stateless GMR-1 xCH over DC12 channel decoder. More... | |
int gmr1_xch_dc12_decode | ( | uint8_t * | l2, |
const sbit_t * | bits_e, | ||
int * | conv_rv | ||
) |
Stateless GMR-1 xCH over DC12 channel decoder.
[out] | l2 | L2 packet data |
[in] | bits_e | Data bits of a burst |
[out] | conv_rv | Return of the convolutional decode (can be NULL) |
L2 data is 24 byte long, and bits_e is a 432 soft bit array unmapped from a burst.
References gmr1_deinterleave_intra(), gmr1_scramble_sbit(), and osmo_conv_decode().
void gmr1_xch_dc12_encode | ( | ubit_t * | bits_e, |
const uint8_t * | l2 | ||
) |
Stateless GMR-1 xCH over DC12 channel coder.
[out] | bits_e | Data bits of a burst |
[in] | l2 | L2 packet data |
L2 data is 24 byte long, and bits_e is a 432 hard bit array to be mapped on a burst.
References gmr1_crc16, osmo_conv_encode(), osmo_crc16gen_set_bits(), and osmo_pbit2ubit_ext().
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
Osmocom GMR-1 pi2-CBPSK, pi4-CBPSK and pi4-CQPSK modulation support implementation. More...
#include <complex.h>
#include <math.h>
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <osmocom/core/bits.h>
#include <osmocom/dsp/cxvec.h>
#include <osmocom/dsp/cxvec_math.h>
#include <osmocom/gmr1/sdr/defs.h>
#include <osmocom/gmr1/sdr/pi4cxpsk.h>
Functions | |
int | gmr1_pi4cxpsk_demod (struct gmr1_pi4cxpsk_burst *burst_type, struct osmo_cxvec *burst_in, int sps, float freq_shift, sbit_t *ebits, int *sync_id_p, float *toa_p, float *freq_err_p) |
All-in-one pi4-CxPSK demodulation method. More... | |
int | gmr1_pi4cxpsk_detect (struct gmr1_pi4cxpsk_burst **burst_types, float e_toa, struct osmo_cxvec *burst_in, int sps, float freq_shift, int *bt_id_p, int *sync_id_p, float *toa_p) |
Try to identify burst type by matching training sequences. More... | |
int | gmr1_pi4cxpsk_mod_order (struct osmo_cxvec *burst_in, int sps, float freq_shift) |
Estimates modulation order by comparing power of x^2 vs x^4. More... | |
int | gmr1_pi4cxpsk_mod (struct gmr1_pi4cxpsk_burst *burst_type, ubit_t *ebits, int sync_id, struct osmo_cxvec *burst_out) |
Modulates (currently at 1 sps) More... | |
Variables | |
struct gmr1_pi4cxpsk_modulation | gmr1_pi2cbpsk |
pi2-CBPSK modulation description More... | |
struct gmr1_pi4cxpsk_modulation | gmr1_pi4cbpsk |
pi4-CBPSK modulation description More... | |
struct gmr1_pi4cxpsk_modulation | gmr1_pi4cqpsk |
pi4-CQPSK modulation description More... | |
Osmocom GMR-1 pi2-CBPSK, pi4-CBPSK and pi4-CQPSK modulation support implementation.
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|
osmo-gmr 0.2.104-2b98
Osmocom GMR-1
|