libosmocoding  0.11.0-dirty
Osmocom GSM/GPRS/EGPRS L1 channel coding library
include/osmocom/coding/gsm0503_interleaving.h
Go to the documentation of this file.
00001 
00005 #pragma once
00006 
00007 #include <osmocom/core/bits.h>
00008 
00013 void gsm0503_xcch_deinterleave(sbit_t *cB, const sbit_t *iB);
00014 void gsm0503_xcch_interleave(const ubit_t *cB, ubit_t *iB);
00015 
00016 void gsm0503_tch_fr_deinterleave(sbit_t *cB, const sbit_t *iB);
00017 void gsm0503_tch_fr_interleave(const ubit_t *cB, ubit_t *iB);
00018 
00019 void gsm0503_tch_hr_deinterleave(sbit_t *cB, const sbit_t *iB);
00020 void gsm0503_tch_hr_interleave(const ubit_t *cB, ubit_t *iB);
00021 
00022 void gsm0503_mcs1_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *iB);
00023 void gsm0503_mcs1_ul_interleave(const ubit_t *hc,
00024         const ubit_t *dc, ubit_t *iB);
00025 
00026 void gsm0503_mcs1_dl_deinterleave(sbit_t *u, sbit_t *hc,
00027         sbit_t *dc, const sbit_t *iB);
00028 void gsm0503_mcs1_dl_interleave(const ubit_t *up, const ubit_t *hc,
00029         const ubit_t *dc, ubit_t *iB);
00030 
00031 void gsm0503_mcs5_ul_deinterleave(sbit_t *hc, sbit_t *dc,
00032         const sbit_t *hi, const sbit_t *di);
00033 void gsm0503_mcs5_ul_interleave(const ubit_t *hc, const ubit_t *dc,
00034         ubit_t *hi, ubit_t *di);
00035 
00036 void gsm0503_mcs5_dl_deinterleave(sbit_t *hc, sbit_t *dc,
00037         const sbit_t *hi, const sbit_t *di);
00038 void gsm0503_mcs5_dl_interleave(const ubit_t *hc, const ubit_t *dc,
00039         ubit_t *hi, ubit_t *di);
00040 
00041 void gsm0503_mcs7_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
00042         const sbit_t *hi, const sbit_t *di);
00043 void gsm0503_mcs7_ul_interleave(const ubit_t *hc, const ubit_t *c1,
00044         const ubit_t *c2, ubit_t *hi, ubit_t *di);
00045 
00046 void gsm0503_mcs7_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
00047         const sbit_t *hi, const sbit_t *di);
00048 void gsm0503_mcs7_dl_interleave(const ubit_t *hc, const ubit_t *c1,
00049         const ubit_t *c2, ubit_t *hi, ubit_t *di);
00050 
00051 void gsm0503_mcs8_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
00052         const sbit_t *hi, const sbit_t *di);
00053 void gsm0503_mcs8_ul_interleave(const ubit_t *hc, const ubit_t *c1,
00054         const ubit_t *c2, ubit_t *hi, ubit_t *di);
00055 
00056 void gsm0503_mcs8_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
00057         const sbit_t *hi, const sbit_t *di);
00058 void gsm0503_mcs8_dl_interleave(const ubit_t *hc, const ubit_t *c1,
00059         const ubit_t *c2, ubit_t *hi, ubit_t *di);
00060 
 All Data Structures Files Functions Variables Enumerations Enumerator Defines