libosmocoding  0.9.6.20171026
Osmocom GSM/GPRS/EGPRS L1 channel coding library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
gsm0503_coding.h
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include <stdint.h>
8 #include <osmocom/core/bits.h>
9 
14 #define GSM0503_GPRS_BURSTS_NBITS (116 * 4)
15 #define GSM0503_EGPRS_BURSTS_NBITS (348 * 4)
16 
29 };
30 
31 int gsm0503_xcch_encode(ubit_t *bursts, const uint8_t *l2_data);
32 int gsm0503_xcch_decode(uint8_t *l2_data, const sbit_t *bursts,
33  int *n_errors, int *n_bits_total);
34 
35 int gsm0503_pdtch_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len);
36 int gsm0503_pdtch_decode(uint8_t *l2_data, const sbit_t *bursts, uint8_t *usf_p,
37  int *n_errors, int *n_bits_total);
38 
39 int gsm0503_pdtch_egprs_encode(ubit_t *bursts, const uint8_t *l2_data,
40  uint8_t l2_len);
41 int gsm0503_pdtch_egprs_decode(uint8_t *l2_data, const sbit_t *bursts,
42  uint16_t nbits, uint8_t *usf_p, int *n_errors, int *n_bits_total);
43 
44 int gsm0503_tch_fr_encode(ubit_t *bursts, const uint8_t *tch_data, int len,
45  int net_order);
46 int gsm0503_tch_fr_decode(uint8_t *tch_data, const sbit_t *bursts, int net_order,
47  int efr, int *n_errors, int *n_bits_total);
48 
49 int gsm0503_tch_hr_encode(ubit_t *bursts, const uint8_t *tch_data, int len);
50 int gsm0503_tch_hr_decode(uint8_t *tch_data, const sbit_t *bursts, int odd,
51  int *n_errors, int *n_bits_total);
52 
53 int gsm0503_tch_afs_encode(ubit_t *bursts, const uint8_t *tch_data, int len,
54  int codec_mode_req, uint8_t *codec, int codecs, uint8_t ft,
55  uint8_t cmr);
56 int gsm0503_tch_afs_decode(uint8_t *tch_data, const sbit_t *bursts,
57  int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft,
58  uint8_t *cmr, int *n_errors, int *n_bits_total);
59 
60 int gsm0503_tch_ahs_encode(ubit_t *bursts, const uint8_t *tch_data, int len,
61  int codec_mode_req, uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr);
62 int gsm0503_tch_ahs_decode(uint8_t *tch_data, const sbit_t *bursts, int odd,
63  int codec_mode_req, uint8_t *codec, int codecs, uint8_t *ft,
64  uint8_t *cmr, int *n_errors, int *n_bits_total);
65 
66 int gsm0503_rach_encode(ubit_t *burst, const uint8_t *ra, uint8_t bsic);
67 int gsm0503_rach_decode(uint8_t *ra, const sbit_t *burst, uint8_t bsic);
68 
69 int gsm0503_sch_encode(ubit_t *burst, const uint8_t *sb_info);
70 int gsm0503_sch_decode(uint8_t *sb_info, const sbit_t *burst);
71 
int gsm0503_rach_decode(uint8_t *ra, const sbit_t *burst, uint8_t bsic)
Decode the (8-bit) RACH according to TS 05.03.
Definition: gsm0503_coding.c:2841
int8_t sbit_t
Definition: gsm0503_coding.h:21
gsm0503_egprs_mcs
Definition: gsm0503_coding.h:17
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.
Definition: gsm0503_coding.c:1931
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.
Definition: gsm0503_coding.c:1866
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.
Definition: gsm0503_coding.c:2072
int gsm0503_tch_ahs_encode(ubit_t *bursts, const uint8_t *tch_data, int len, int codec_mode_req, uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr)
Perform channel encoding on a TCH/AHS channel according to TS 05.03.
Definition: gsm0503_coding.c:2662
int gsm0503_pdtch_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len)
GPRS DL message encoding.
Definition: gsm0503_coding.c:1405
Definition: gsm0503_coding.h:23
Definition: gsm0503_coding.h:26
Definition: gsm0503_coding.h:18
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.
Definition: gsm0503_coding.c:995
Definition: gsm0503_coding.h:25
int gsm0503_rach_encode(ubit_t *burst, const uint8_t *ra, uint8_t bsic)
Encode the (8-bit) RACH according to TS 05.03.
Definition: gsm0503_coding.c:2864
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.
Definition: gsm0503_coding.c:918
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/AFS channel according TS 05.03.
Definition: gsm0503_coding.c:2449
Definition: gsm0503_coding.h:19
Definition: gsm0503_coding.h:20
int gsm0503_tch_afs_encode(ubit_t *bursts, const uint8_t *tch_data, int len, int codec_mode_req, uint8_t *codec, int codecs, uint8_t ft, uint8_t cmr)
Perform channel encoding on a TCH/AFS channel according to TS 05.03.
Definition: gsm0503_coding.c:2277
Definition: gsm0503_coding.h:24
int gsm0503_pdtch_egprs_encode(ubit_t *bursts, const uint8_t *l2_data, uint8_t l2_len)
EGPRS DL message encoding.
Definition: gsm0503_coding.c:1310
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.
Definition: gsm0503_coding.c:1782
Definition: gsm0503_coding.h:27
Definition: gsm0503_coding.h:28
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.
Definition: gsm0503_coding.c:2006
int gsm0503_sch_encode(ubit_t *burst, const uint8_t *sb_info)
Encode the SCH according to TS 05.03.
Definition: gsm0503_coding.c:2907
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.
Definition: gsm0503_coding.c:625
Definition: gsm0503_coding.h:22
int gsm0503_xcch_encode(ubit_t *bursts, const uint8_t *l2_data)
Encoding of xCCH data from L2 frame to bursts.
Definition: gsm0503_coding.c:644
uint8_t ubit_t
int gsm0503_sch_decode(uint8_t *sb_info, const sbit_t *burst)
Decode the SCH according to TS 05.03.
Definition: gsm0503_coding.c:2887