aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding/gsm0503_interleaving.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/coding/gsm0503_interleaving.c')
-rw-r--r--src/coding/gsm0503_interleaving.c63
1 files changed, 29 insertions, 34 deletions
diff --git a/src/coding/gsm0503_interleaving.c b/src/coding/gsm0503_interleaving.c
index 19e68474..b42f242d 100644
--- a/src/coding/gsm0503_interleaving.c
+++ b/src/coding/gsm0503_interleaving.c
@@ -29,16 +29,12 @@
/*! \addtogroup interleaving
* @{
- * GSM TS 05.03 interleaving
+ * 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
- */
-
-/*! \file gsm0503_interleaving.c */
-
-/*
- * GSM xCCH interleaving and burst mapping
+ * This module contains interleaving / de-interleaving routines for
+ * various channel types, as defined in 3GPP TS 05.03 / 45.003.
+ *
+ * GSM xCCH interleaving and burst mapping:
*
* Interleaving:
*
@@ -57,7 +53,30 @@
* e(B, 58) = h_n(B)
*
* Where hl(B) and hn(B) are bits in burst B indicating flags.
- */
+ *
+ * GSM TCH HR/AHS interleaving and burst mapping:
+ *
+ * Interleaving:
+ *
+ * Given 288 coded input bits, form 4 blocks of 114 bits,
+ * where even bits of the first 2 blocks and odd bits of the last 2 blocks
+ * are used:
+ *
+ * i(B, j) = c(n, k) k = 0, ..., 227
+ * n = 0, ..., N, N + 1, ...
+ * B = B_0 + 2n + b
+ * j, b = table[k];
+ *
+ * Mapping on Burst:
+ *
+ * e(B, j) = i(B, j)
+ * e(B, 59 + j) = i(B, 57 + j) j = 0, ..., 56
+ * e(B, 57) = h_l(B)
+ * e(B, 58) = h_n(B)
+ *
+ * Where hl(B) and hn(B) are bits in burst B indicating flags.
+ *
+ * \file gsm0503_interleaving.c */
/*! De-Interleave burst bits according to TS 05.03 4.1.4
* \param[out] cB caller-allocated output buffer for 456 soft coded bits
@@ -633,30 +652,6 @@ void gsm0503_tch_fr_interleave(const ubit_t *cB, ubit_t *iB)
}
}
-/*
- * GSM TCH HR/AHS interleaving and burst mapping
- *
- * Interleaving:
- *
- * Given 288 coded input bits, form 4 blocks of 114 bits,
- * where even bits of the first 2 blocks and odd bits of the last 2 blocks
- * are used:
- *
- * i(B, j) = c(n, k) k = 0, ..., 227
- * n = 0, ..., N, N + 1, ...
- * B = B_0 + 2n + b
- * j, b = table[k];
- *
- * Mapping on Burst:
- *
- * e(B, j) = i(B, j)
- * e(B, 59 + j) = i(B, 57 + j) j = 0, ..., 56
- * e(B, 57) = h_l(B)
- * e(B, 58) = h_n(B)
- *
- * Where hl(B) and hn(B) are bits in burst B indicating flags.
- */
-
/*! GSM TCH HR/AHS De-Interleaving and burst mapping
* \param[out] cB caller-allocated buffer for 228 unpacked output bits
* \param[in] iB 228 unpacked interleaved input bits */