libosmocoding  1.10.0.34-a0630.202411242026
Osmocom GSM/GPRS/EGPRS L1 channel coding library
gsm0503_interleaving.h
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include <osmocom/core/bits.h>
8 
13 void gsm0503_xcch_deinterleave(sbit_t *cB, const sbit_t *iB);
14 void gsm0503_xcch_interleave(const ubit_t *cB, ubit_t *iB);
15 
16 void gsm0503_tch_fr_deinterleave(sbit_t *cB, const sbit_t *iB);
17 void gsm0503_tch_fr_interleave(const ubit_t *cB, ubit_t *iB);
18 
19 void gsm0503_tch_hr_deinterleave(sbit_t *cB, const sbit_t *iB);
20 void gsm0503_tch_hr_interleave(const ubit_t *cB, ubit_t *iB);
21 
22 void gsm0503_mcs1_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *iB);
23 void gsm0503_mcs1_ul_interleave(const ubit_t *hc,
24  const ubit_t *dc, ubit_t *iB);
25 
27  sbit_t *dc, const sbit_t *iB);
28 void gsm0503_mcs1_dl_interleave(const ubit_t *up, const ubit_t *hc,
29  const ubit_t *dc, ubit_t *iB);
30 
32  const sbit_t *hi, const sbit_t *di);
33 void gsm0503_mcs5_ul_interleave(const ubit_t *hc, const ubit_t *dc,
34  ubit_t *hi, ubit_t *di);
35 
37  const sbit_t *hi, const sbit_t *di);
38 void gsm0503_mcs5_dl_interleave(const ubit_t *hc, const ubit_t *dc,
39  ubit_t *hi, ubit_t *di);
40 
42  const sbit_t *hi, const sbit_t *di);
43 void gsm0503_mcs7_ul_interleave(const ubit_t *hc, const ubit_t *c1,
44  const ubit_t *c2, ubit_t *hi, ubit_t *di);
45 
47  const sbit_t *hi, const sbit_t *di);
48 void gsm0503_mcs7_dl_interleave(const ubit_t *hc, const ubit_t *c1,
49  const ubit_t *c2, ubit_t *hi, ubit_t *di);
50 
52  const sbit_t *hi, const sbit_t *di);
53 void gsm0503_mcs8_ul_interleave(const ubit_t *hc, const ubit_t *c1,
54  const ubit_t *c2, ubit_t *hi, ubit_t *di);
55 
57  const sbit_t *hi, const sbit_t *di);
58 void gsm0503_mcs8_dl_interleave(const ubit_t *hc, const ubit_t *c1,
59  const ubit_t *c2, ubit_t *hi, ubit_t *di);
60 
61 void gsm0503_tch_f96_deinterleave(sbit_t *cB, const sbit_t *iB);
62 void gsm0503_tch_f96_interleave(const ubit_t *cB, ubit_t *iB);
63 
union osmo_sub_auth_data2::@125 u
uint8_t ubit_t
int8_t sbit_t
void gsm0503_mcs8_ul_interleave(const ubit_t *hc, const ubit_t *c1, const ubit_t *c2, ubit_t *hi, ubit_t *di)
Interleave MCS8 UL burst bits according to TS 05.03 5.1.12.2.4.
Definition: gsm0503_interleaving.c:482
void gsm0503_tch_fr_deinterleave(sbit_t *cB, const sbit_t *iB)
GSM TCH FR/EFR/AFS De-Interleaving and burst mapping.
Definition: gsm0503_interleaving.c:628
void gsm0503_mcs5_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS5 UL burst bits according to TS 05.03 5.1.9.2.4.
Definition: gsm0503_interleaving.c:281
void gsm0503_xcch_deinterleave(sbit_t *cB, const sbit_t *iB)
De-Interleave burst bits according to TS 05.03 4.1.4.
Definition: gsm0503_interleaving.c:82
void gsm0503_tch_hr_interleave(const ubit_t *cB, ubit_t *iB)
GSM TCH HR/AHS Interleaving and burst mapping.
Definition: gsm0503_interleaving.c:670
void gsm0503_mcs7_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS7 UL burst bits according to TS 05.03 5.1.11.2.4.
Definition: gsm0503_interleaving.c:449
void gsm0503_mcs5_ul_interleave(const ubit_t *hc, const ubit_t *dc, ubit_t *hi, ubit_t *di)
Interleave MCS5 UL burst bits according to TS 05.03 5.1.9.2.4.
Definition: gsm0503_interleaving.c:259
void gsm0503_mcs1_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *iB)
Interleave MCS1 UL burst bits according to TS 05.03 5.1.5.2.4.
Definition: gsm0503_interleaving.c:190
void gsm0503_mcs8_dl_interleave(const ubit_t *hc, const ubit_t *c1, const ubit_t *c2, ubit_t *hi, ubit_t *di)
Interleave MCS8 DL burst bits according to TS 05.03 5.1.12.1.5.
Definition: gsm0503_interleaving.c:545
void gsm0503_mcs1_dl_deinterleave(sbit_t *u, sbit_t *hc, sbit_t *dc, const sbit_t *iB)
De-Interleave MCS1 DL burst bits according to TS 05.03 5.1.5.1.5.
Definition: gsm0503_interleaving.c:112
void gsm0503_mcs5_dl_interleave(const ubit_t *hc, const ubit_t *dc, ubit_t *hi, ubit_t *di)
Interleave MCS5 DL burst bits according to TS 05.03 5.1.9.1.5.
Definition: gsm0503_interleaving.c:308
void gsm0503_tch_f96_deinterleave(sbit_t *cB, const sbit_t *iB)
Definition: gsm0503_interleaving.c:718
void gsm0503_mcs8_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS8 UL burst bits according to TS 05.03 5.1.12.2.4.
Definition: gsm0503_interleaving.c:512
void gsm0503_mcs7_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS7 DL burst bits according to TS 05.03 5.1.11.1.5.
Definition: gsm0503_interleaving.c:387
void gsm0503_mcs8_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS8 DL burst bits according to TS 05.03 5.1.12.1.5.
Definition: gsm0503_interleaving.c:574
void gsm0503_mcs1_ul_interleave(const ubit_t *hc, const ubit_t *dc, ubit_t *iB)
Interleave MCS1 DL burst bits according to TS 05.03 5.1.5.2.4.
Definition: gsm0503_interleaving.c:224
void gsm0503_mcs7_ul_interleave(const ubit_t *hc, const ubit_t *c1, const ubit_t *c2, ubit_t *hi, ubit_t *di)
Interleave MCS7 UL burst bits according to TS 05.03 5.1.11.2.4.
Definition: gsm0503_interleaving.c:420
void gsm0503_tch_f96_interleave(const ubit_t *cB, ubit_t *iB)
Definition: gsm0503_interleaving.c:704
void gsm0503_mcs7_dl_interleave(const ubit_t *hc, const ubit_t *c1, const ubit_t *c2, ubit_t *hi, ubit_t *di)
Interleave MCS7 DL burst bits according to TS 05.03 5.1.11.1.5.
Definition: gsm0503_interleaving.c:358
void gsm0503_xcch_interleave(const ubit_t *cB, ubit_t *iB)
Interleave burst bits according to TS 05.03 4.1.4.
Definition: gsm0503_interleaving.c:96
void gsm0503_mcs5_dl_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *hi, const sbit_t *di)
De-Interleave MCS5 UL burst bits according to TS 05.03 5.1.9.1.5.
Definition: gsm0503_interleaving.c:330
void gsm0503_mcs1_dl_interleave(const ubit_t *up, const ubit_t *hc, const ubit_t *dc, ubit_t *iB)
Interleave MCS1 DL burst bits according to TS 05.03 5.1.5.1.5.
Definition: gsm0503_interleaving.c:153
void gsm0503_tch_fr_interleave(const ubit_t *cB, ubit_t *iB)
GSM TCH FR/EFR/AFS Interleaving and burst mapping.
Definition: gsm0503_interleaving.c:642
void gsm0503_tch_hr_deinterleave(sbit_t *cB, const sbit_t *iB)
GSM TCH HR/AHS De-Interleaving and burst mapping.
Definition: gsm0503_interleaving.c:656