libosmocoding: migrate transcoding routines from OsmoBTS
There are some projects, such as GR-GSM and OsmocomBB, which would
benefit from using one shared implementation of GSM 05.03 code. So,
this commit introduces a new sub-library called libosmocoding, which
(for now) provides GSM, GPRS and EDGE transcoding routines, migrated
from OsmoBTS.
The original GSM 05.03 code from OsmoBTS was relicensed under
GPLv2-or-later with permission of copyright holders (Andreas Eversberg,
Alexander Chemeris and Tom Tsou).
The following data types are currently supported:
- xCCH
- PDTCH (CS 1-4 and MCS 1-9)
- TCH/FR
- TCH/HR
- TCH/AFS
- RCH/AHS
- RACH
- SCH
Change-Id: I0c3256b87686d878e4e716d12393cad5924fdfa1
diff --git a/utils/conv_codes_gsm.py b/utils/conv_codes_gsm.py
index 1bee6db..279bd3a 100644
--- a/utils/conv_codes_gsm.py
+++ b/utils/conv_codes_gsm.py
@@ -111,6 +111,30 @@
]
),
+ # CS2 definition (non-punctured)
+ ConvolutionalCode(
+ 290,
+ shared_polys["xcch"],
+ name = "cs2_np",
+ description = [
+ "CS2 convolutional code (non-punctured):",
+ "G0 = 1 + D3 + D4",
+ "G1 = 1 + D + D3 + D4",
+ ]
+ ),
+
+ # CS3 definition (non-punctured)
+ ConvolutionalCode(
+ 334,
+ shared_polys["xcch"],
+ name = "cs3_np",
+ description = [
+ "CS3 convolutional code (non-punctured):",
+ "G0 = 1 + D3 + D4",
+ "G1 = 1 + D + D3 + D4",
+ ]
+ ),
+
# TCH_AFS_12_2 definition
ConvolutionalCode(
250,