libosmocoding  0.9.6.269-c2af
Osmocom GSM/GPRS/EGPRS L1 channel coding library
 All Data Structures Files Functions Variables Modules Pages
Interleaving

GSM TS 05.03 interleaving. More...

Files

file  gsm0503_interleaving.h
 GSM TS 05.03 interleaving.
 
file  gsm0503_interleaving.c
 

Functions

void gsm0503_xcch_deinterleave (sbit_t *cB, const sbit_t *iB)
 De-Interleave burst bits according to TS 05.03 4.1.4. More...
 
void gsm0503_xcch_interleave (const ubit_t *cB, ubit_t *iB)
 Interleave burst bits according to TS 05.03 4.1.4. More...
 
void gsm0503_tch_fr_deinterleave (sbit_t *cB, const sbit_t *iB)
 GSM TCH FR/EFR/AFS De-Interleaving and burst mapping. More...
 
void gsm0503_tch_fr_interleave (const ubit_t *cB, ubit_t *iB)
 GSM TCH FR/EFR/AFS Interleaving and burst mapping. More...
 
void gsm0503_tch_hr_deinterleave (sbit_t *cB, const sbit_t *iB)
 GSM TCH HR/AHS De-Interleaving and burst mapping. More...
 
void gsm0503_tch_hr_interleave (const ubit_t *cB, ubit_t *iB)
 GSM TCH HR/AHS Interleaving and burst mapping. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

GSM TS 05.03 interleaving.

This module contains interleaving / de-interleaving routines for various channel types, as defined in 3GPP TS 05.03 / 45.003

Function Documentation

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.

Parameters
[out]ucaller-allocated output buffer for 12 soft coded bits
[out]hccaller-allocated output buffer for 68 soft coded bits
[out]dccaller-allocated output buffer for 372 soft coded bits
[in]iB452 interleaved soft input bits

References gsm0503_xcch_deinterleave().

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.

Parameters
[in]up12 input soft coded bits (usf)
[in]hc68 input soft coded bits (header)
[in]dc372 input soft bits (data)
[out]iB456 interleaved soft output bits

References gsm0503_xcch_interleave().

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.

Parameters
[out]hccaller-allocated output buffer for 80 soft coded header bits
[out]dccaller-allocated output buffer for 372 soft coded data bits
[in]iB456 interleaved soft input bits

References gsm0503_xcch_deinterleave().

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.

Parameters
[in]hc80 input coded bits (header)
[in]dc372 input bits (data)
[out]iB456 interleaved output bits

References gsm0503_xcch_interleave().

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.

Parameters
[out]hccaller-allocated output buffer for 100 soft coded header bits
[out]dccaller-allocated output buffer for 1248 soft coded data bits
[in]iBinterleaved soft input bits
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.

Parameters
[in]hc100 soft coded header input bits
[in]dc1248 soft coded data input bits
[out]hi100 interleaved header output bits
[out]di1248 interleaved data output bits
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.

Parameters
[out]hccaller-allocated output buffer for 136 soft coded header bits
[out]dccaller-allocated output buffer for 1248 soft coded data bits
[in]iBinterleaved soft input bits
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.

Parameters
[in]hc136 soft coded header input bits
[in]dc1248 soft coded data input bits
[out]hi136 interleaved header output bits
[out]di1248 interleaved data output bits
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.

Parameters
[out]hccaller-allocated output buffer for 124 soft coded header bits
[out]c1caller-allocated output buffer for 612 soft coded data bits
[out]c2caller-allocated output buffer for 612 soft coded data bits
[in]hiinterleaved soft input header bits
[in]diinterleaved soft input data bits
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.

Parameters
[in]hc124 soft coded header input bits
[in]c1612 soft coded data input bits
[in]c2612 soft coded data input bits
[out]hi124 interleaved header output bits
[out]di1224 interleaved data output bits
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.

Parameters
[out]hccaller-allocated output buffer for 160 soft coded header bits
[out]c1caller-allocated output buffer for 612 soft coded data bits
[out]c2caller-allocated output buffer for 612 soft coded data bits
[in]hiinterleaved soft input header bits
[in]diinterleaved soft input data bits
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.

Parameters
[in]hc124 soft coded header input bits
[in]c1612 soft coded data input bits
[in]c2612 soft coded data input bits
[out]hi124 interleaved header output bits
[out]di1224 interleaved data output bits
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.

Parameters
[out]hccaller-allocated output buffer for 124 soft coded header bits
[out]c1caller-allocated output buffer for 612 soft coded data bits
[out]c2caller-allocated output buffer for 612 soft coded data bits
[in]hiinterleaved soft input header bits
[in]diinterleaved soft input data bits
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.

Parameters
[in]hc124 soft coded header input bits
[in]c1612 soft coded data input bits
[in]c2612 soft coded data input bits
[out]hi124 interleaved header output bits
[out]di1224 interleaved data output bits
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.

Parameters
[out]hccaller-allocated output buffer for 160 soft coded header bits
[out]c1caller-allocated output buffer for 612 soft coded data bits
[out]c2caller-allocated output buffer for 612 soft coded data bits
[in]hiinterleaved soft input header bits
[in]diinterleaved soft input data bits
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.

Parameters
[in]hc160 soft coded header input bits
[in]c1612 soft coded data input bits
[in]c2612 soft coded data input bits
[out]hi160 interleaved header output bits
[out]di1224 interleaved data output bits
void gsm0503_tch_fr_deinterleave ( sbit_t *  cB,
const sbit_t *  iB 
)

GSM TCH FR/EFR/AFS De-Interleaving and burst mapping.

Parameters
[out]cBcaller-allocated buffer for 456 unpacked output bits
[in]iB456 unpacked interleaved input bits

Referenced by gsm0503_tch_afs_decode(), gsm0503_tch_ahs_decode(), gsm0503_tch_fr_decode(), and gsm0503_tch_hr_decode().

void gsm0503_tch_fr_interleave ( const ubit_t *  cB,
ubit_t *  iB 
)

GSM TCH FR/EFR/AFS Interleaving and burst mapping.

Parameters
[in]cBcaller-allocated buffer for 456 unpacked input bits
[out]iB456 unpacked interleaved output bits

Referenced by gsm0503_tch_afs_encode(), gsm0503_tch_ahs_encode(), gsm0503_tch_fr_encode(), and gsm0503_tch_hr_encode().

void gsm0503_tch_hr_deinterleave ( sbit_t *  cB,
const sbit_t *  iB 
)

GSM TCH HR/AHS De-Interleaving and burst mapping.

Parameters
[out]cBcaller-allocated buffer for 228 unpacked output bits
[in]iB228 unpacked interleaved input bits

Referenced by gsm0503_tch_ahs_decode(), and gsm0503_tch_hr_decode().

void gsm0503_tch_hr_interleave ( const ubit_t *  cB,
ubit_t *  iB 
)

GSM TCH HR/AHS Interleaving and burst mapping.

Parameters
[in]cBcaller-allocated buffer for 228 unpacked input bits
[out]iB228 unpacked interleaved output bits

Referenced by gsm0503_tch_ahs_encode(), and gsm0503_tch_hr_encode().

void gsm0503_xcch_deinterleave ( sbit_t *  cB,
const sbit_t *  iB 
)

De-Interleave burst bits according to TS 05.03 4.1.4.

Parameters
[out]cBcaller-allocated output buffer for 456 soft coded bits
[in]iB456 soft input bits

Referenced by gsm0503_mcs1_dl_deinterleave(), gsm0503_mcs1_ul_deinterleave(), gsm0503_pdtch_decode(), and gsm0503_xcch_decode().

void gsm0503_xcch_interleave ( const ubit_t *  cB,
ubit_t *  iB 
)

Interleave burst bits according to TS 05.03 4.1.4.

Parameters
[out]iBcaller-allocated output buffer for 456 soft interleaved bits
[in]cB456 soft input coded bits

Referenced by gsm0503_mcs1_dl_interleave(), gsm0503_mcs1_ul_interleave(), gsm0503_pdtch_encode(), and gsm0503_xcch_encode().