libosmocoding 1.9.0.196-9975
Osmocom GSM/GPRS/EGPRS L1 channel coding library
gsm0503_coding.h File Reference

GSM TS 05.03 coding. More...

#include <stdint.h>
#include <osmocom/core/defs.h>
#include <osmocom/core/bits.h>

Go to the source code of this file.

Macros

#define GSM0503_GPRS_BURSTS_NBITS   (116 * 4)
 
#define GSM0503_EGPRS_BURSTS_NBITS   (348 * 4)
 

Enumerations

enum  gsm0503_egprs_mcs {
  EGPRS_MCS0 ,
  EGPRS_MCS1 ,
  EGPRS_MCS2 ,
  EGPRS_MCS3 ,
  EGPRS_MCS4 ,
  EGPRS_MCS5 ,
  EGPRS_MCS6 ,
  EGPRS_MCS7 ,
  EGPRS_MCS8 ,
  EGPRS_MCS9 ,
  EGPRS_NUM_MCS
}
 

Functions

int gsm0503_xcch_encode (ubit_t *bursts, const uint8_t *l2_data)
 Encoding of xCCH data from L2 frame to bursts. More...
 
int gsm0503_xcch_decode (uint8_t *l2_data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Decoding of xCCH data from bursts to L2 frame. More...
 
int gsm0503_pdtch_encode (ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len)
 GPRS DL message encoding. More...
 
int gsm0503_pdtch_decode (uint8_t *l2_data, const sbit_t *bursts, uint8_t *usf_p, int *n_errors, int *n_bits_total)
 Decode GPRS PDTCH. More...
 
int gsm0503_pdtch_egprs_encode (ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len)
 EGPRS DL message encoding. More...
 
int gsm0503_pdtch_egprs_decode (uint8_t *l2_data, const sbit_t *bursts, uint16_t nbits, uint8_t *usf_p, int *n_errors, int *n_bits_total)
 Decode EGPRS UL message. More...
 
int gsm0503_tch_fr_encode (ubit_t *bursts, const uint8_t *tch_data, int len, int net_order)
 Perform channel encoding on a TCH/FS channel according to TS 05.03. More...
 
int gsm0503_tch_fr_decode (uint8_t *tch_data, const sbit_t *bursts, int net_order, int efr, int *n_errors, int *n_bits_total)
 Perform channel decoding of a FR/EFR channel according TS 05.03. More...
 
int gsm0503_tch_hr_encode (ubit_t *bursts, const uint8_t *tch_data, int len)
 Perform channel encoding on a TCH/HS channel according to TS 05.03. More...
 
int gsm0503_tch_hr_decode (uint8_t *tch_data, const sbit_t *bursts, int odd, int *n_errors, int *n_bits_total)
 Perform channel decoding of a HR(v1) channel according TS 05.03, deprecated legacy API. More...
 
int gsm0503_tch_hr_decode2 (uint8_t *tch_data, const sbit_t *bursts, int odd, int *n_errors, int *n_bits_total)
 Perform channel decoding of a HR(v1) channel according TS 05.03. More...
 
int gsm0503_tch_afs_encode (ubit_t *bursts, const uint8_t *tch_data, int len, int codec_mode_req, const uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr)
 Perform channel encoding on a TCH/AFS channel according to TS 05.03. More...
 
int gsm0503_tch_afs_decode (uint8_t *tch_data, const sbit_t *bursts, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/AFS channel according TS 05.03. More...
 
int gsm0503_tch_afs_decode_dtx (uint8_t *tch_data, const sbit_t *bursts, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx)
 Perform channel decoding of a TCH/AFS channel according TS 05.03. More...
 
int gsm0503_tch_ahs_encode (ubit_t *bursts, const uint8_t *tch_data, int len, int codec_mode_req, const uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr)
 Perform channel encoding on a TCH/AHS channel according to TS 05.03. More...
 
int gsm0503_tch_ahs_decode (uint8_t *tch_data, const sbit_t *bursts, int odd, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/AHS channel according TS 05.03. More...
 
int gsm0503_tch_ahs_decode_dtx (uint8_t *tch_data, const sbit_t *bursts, int odd, int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft, uint8_t *cmr, int *n_errors, int *n_bits_total, uint8_t *dtx)
 Perform channel decoding of a TCH/AHS channel according TS 05.03. More...
 
int gsm0503_rach_ext_encode (ubit_t *burst, uint16_t ra11, uint8_t bsic, bool is_11bit)
 Encode the Extended (11-bit) or regular (8-bit) RACH according to 3GPP TS 45.003. More...
 
int gsm0503_rach_encode (ubit_t *burst, const uint8_t *ra, uint8_t bsic)
 Encode the (8-bit) RACH according to TS 05.03. More...
 
int gsm0503_rach_decode (uint8_t *ra, const sbit_t *burst, uint8_t bsic)
 Decode the (8-bit) RACH according to TS 05.03. More...
 
int gsm0503_rach_decode_ber (uint8_t *ra, const sbit_t *burst, uint8_t bsic, int *n_errors, int *n_bits_total)
 Decode the (8-bit) RACH according to TS 05.03. More...
 
int gsm0503_rach_ext_decode (uint16_t *ra, const sbit_t *burst, uint8_t bsic)
 Decode the Extended (11-bit) RACH according to 3GPP TS 45.003. More...
 
int gsm0503_rach_ext_decode_ber (uint16_t *ra, const sbit_t *burst, uint8_t bsic, int *n_errors, int *n_bits_total)
 Decode the Extended (11-bit) RACH according to 3GPP TS 45.003. More...
 
int gsm0503_sch_encode (ubit_t *burst, const uint8_t *sb_info)
 Encode the SCH according to TS 05.03. More...
 
int gsm0503_sch_decode (uint8_t *sb_info, const sbit_t *burst)
 Decode the SCH according to TS 05.03. More...
 
int gsm0503_tch_fr96_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/F9.6 channel as per section 3.3. More...
 
int gsm0503_tch_fr96_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/F9.6 channel as per section 3.3. More...
 
int gsm0503_tch_fr48_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/F4.8 channel as per section 3.4. More...
 
int gsm0503_tch_fr48_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/F4.8 channel as per section 3.4. More...
 
int gsm0503_tch_hr48_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/H4.8 channel as per section 3.5. More...
 
int gsm0503_tch_hr48_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/H4.8 channel as per section 3.5. More...
 
int gsm0503_tch_fr24_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/F2.4 channel as per section 3.6. More...
 
int gsm0503_tch_fr24_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/F2.4 channel as per section 3.6. More...
 
int gsm0503_tch_hr24_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/H2.4 channel as per section 3.7. More...
 
int gsm0503_tch_hr24_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/H2.4 channel as per section 3.7. More...
 
int gsm0503_tch_fr144_encode (ubit_t *bursts, const ubit_t *data)
 Perform channel encoding of a TCH/F14.4 channel as per section 3.8. More...
 
int gsm0503_tch_fr144_decode (ubit_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a TCH/14.4 channel as per section 3.8. More...
 
int gsm0503_tch_fr_facch_encode (ubit_t *bursts, const uint8_t *data)
 Perform channel encoding of a FACCH/F data as per section 4.2. More...
 
int gsm0503_tch_fr_facch_decode (uint8_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a FACCH/F data as per section 4.2. More...
 
int gsm0503_tch_hr_facch_encode (ubit_t *bursts, const uint8_t *data)
 Perform channel encoding of a FACCH/H data as per section 4.3. More...
 
int gsm0503_tch_hr_facch_decode (uint8_t *data, const sbit_t *bursts, int *n_errors, int *n_bits_total)
 Perform channel decoding of a FACCH/H data as per section 4.3. More...
 

Detailed Description

GSM TS 05.03 coding.