[PATCH] libosmocore[master]: utils/conv_gen.py: add RACH, SCH and TCH/AHS definitions

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Wed Sep 7 16:11:42 UTC 2016


Review at  https://gerrit.osmocom.org/831

utils/conv_gen.py: add RACH, SCH and TCH/AHS definitions

Change-Id: I0ea7151f4e8119a8798a9e129b951559e56b0d93
---
M include/osmocom/gsm/gsm0503.h
M src/gsm/libosmogsm.map
M utils/conv_gen.py
3 files changed, 212 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/831/1

diff --git a/include/osmocom/gsm/gsm0503.h b/include/osmocom/gsm/gsm0503.h
index 2da4b16..862dc3f 100644
--- a/include/osmocom/gsm/gsm0503.h
+++ b/include/osmocom/gsm/gsm0503.h
@@ -36,10 +36,26 @@
  */
 extern const struct osmo_conv_code gsm0503_xcch;
 
+/*! \brief structure describing convolutional code RACH
+ */
+extern const struct osmo_conv_code gsm0503_rach;
+
+/*! \brief structure describing convolutional code SCH
+ */
+extern const struct osmo_conv_code gsm0503_sch;
+
 /*! \brief structures describing convolutional codes CS2/3
  */
 extern const struct osmo_conv_code gsm0503_cs2;
 extern const struct osmo_conv_code gsm0503_cs3;
+
+/*! \brief structure describing convolutional code TCH/FR
+ */
+extern const struct osmo_conv_code gsm0503_tch_fr;
+
+/*! \brief structure describing convolutional code TCH/HR
+ */
+extern const struct osmo_conv_code gsm0503_tch_hr;
 
 /*! \brief structure describing convolutional code TCH/AFS 12.2
  */
@@ -72,3 +88,27 @@
 /*! \brief structure describing convolutional code TCH/AFS 4.75
  */
 extern const struct osmo_conv_code gsm0503_tch_afs_4_75;
+
+/*! \brief structure describing convolutional code TCH/AHS 7.95
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_7_95;
+
+/*! \brief structure describing convolutional code TCH/AHS 7.4
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_7_4;
+
+/*! \brief structure describing convolutional code TCH/AHS 6.7
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_6_7;
+
+/*! \brief structure describing convolutional code TCH/AHS 5.9
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_5_9;
+
+/*! \brief structure describing convolutional code TCH/AHS 5.15
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_5_15;
+
+/*! \brief structure describing convolutional code TCH/AHS 4.75
+ */
+extern const struct osmo_conv_code gsm0503_tch_ahs_4_75;
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index dc8559f..9eff4d3 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -71,8 +71,12 @@
 gsm0502_calc_paging_group;
 
 gsm0503_xcch;
+gsm0503_rach;
+gsm0503_sch;
 gsm0503_cs2;
 gsm0503_cs3;
+gsm0503_tch_fr;
+gsm0503_tch_hr;
 gsm0503_tch_afs_12_2;
 gsm0503_tch_afs_10_2;
 gsm0503_tch_afs_7_95;
@@ -81,6 +85,12 @@
 gsm0503_tch_afs_5_9;
 gsm0503_tch_afs_5_15;
 gsm0503_tch_afs_4_75;
+gsm0503_tch_ahs_7_95;
+gsm0503_tch_ahs_7_4;
+gsm0503_tch_ahs_6_7;
+gsm0503_tch_ahs_5_9;
+gsm0503_tch_ahs_5_15;
+gsm0503_tch_ahs_4_75;
 
 gsm0808_att_tlvdef;
 gsm0808_bssap_name;
diff --git a/utils/conv_gen.py b/utils/conv_gen.py
index 5a519bc..9af07b4 100644
--- a/utils/conv_gen.py
+++ b/utils/conv_gen.py
@@ -272,6 +272,22 @@
 		]
 	),
 
+	# RACH definition
+	ConvolutionalCode(
+		14,
+		CCH_poly,
+		name = "rach",
+		description = ["RACH convolutional code"]
+	),
+
+	# SCH definition
+	ConvolutionalCode(
+		35,
+		CCH_poly,
+		name = "sch",
+		description = ["SCH convolutional code"]
+	),
+
 	# CS2 definition
 	ConvolutionalCode(
 		290,
@@ -556,7 +572,152 @@
 			"G6/G6 = 1",
 			"G6/G6 = 1",
 		]
-	)
+	),
+
+	# TCH_FR definition
+	ConvolutionalCode(
+		185,
+		CCH_poly,
+		name = "tch_fr",
+		description = ["TCH/F convolutional code"]
+	),
+
+	# TCH_HR definition
+	ConvolutionalCode(
+		98,
+		[
+			( G4, 1 ),
+			( G5, 1 ),
+			( G6, 1 ),
+		],
+		puncture = [
+			  1,   4,   7,  10,  13,  16,  19,  22,  25,  28,  31,  34,
+			 37,  40,  43,  46,  49,  52,  55,  58,  61,  64,  67,  70,
+			 73,  76,  79,  82,  85,  88,  91,  94,  97, 100, 103, 106,
+			109, 112, 115, 118, 121, 124, 127, 130, 133, 136, 139, 142,
+			145, 148, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178,
+			181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211, 214,
+			217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250,
+			253, 256, 259, 262, 265, 268, 271, 274, 277, 280, 283, 295,
+			298, 301, 304, 307, 310, -1,
+		],
+		name = "tch_hr",
+		description = ["TCH/H convolutional code"]
+	),
+
+	# TCH_AHS_7_95 definition
+	ConvolutionalCode(
+		129,
+		[
+			(  1,  1 ),
+			( G1, G0 ),
+		],
+		puncture = [
+			  1,   3,   5,   7,  11,  15,  19,  23,  27,  31,  35,  43,
+			 47,  51,  55,  59,  63,  67,  71,  79,  83,  87,  91,  95,
+			 99, 103, 107, 115, 119, 123, 127, 131, 135, 139, 143, 151,
+			155, 159, 163, 167, 171, 175, 177, 179, 183, 185, 187, 191,
+			193, 195, 197, 199, 203, 205, 207, 211, 213, 215, 219, 221,
+			223, 227, 229, 231, 233, 235, 239, 241, 243, 247, 249, 251,
+			255, 257, 259, 261, 263, 265, -1,
+		],
+		name = "tch_ahs_7_95",
+		description = ["TCH/AHS 7.95 kbits convolutional code"]
+	),
+
+	# TCH_AHS_7_4 definition
+	ConvolutionalCode(
+		126,
+		[
+			(  1,  1 ),
+			( G1, G0 ),
+		],
+		puncture = [
+			  1,   3,   7,  11,  19,  23,  27,  35,  39,  43,  51,  55,
+			 59,  67,  71,  75,  83,  87,  91,  99, 103, 107, 115, 119,
+			123, 131, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171,
+			175, 179, 183, 187, 191, 195, 199, 203, 207, 211, 215, 219,
+			221, 223, 227, 229, 231, 235, 237, 239, 243, 245, 247, 251,
+			253, 255, 257, 259, -1,
+		],
+		name = "tch_ahs_7_4",
+		description = ["TCH/AHS 7.4 kbits convolutional code"]
+	),
+
+	# TCH_AHS_6_7 definition
+	ConvolutionalCode(
+		116,
+		[
+			(  1,  1 ),
+			( G1, G0 ),
+		],
+		puncture = [
+			  1,   3,   9,  19,  29,  39,  49,  59,  69,  79,  89,  99,
+			109, 119, 129, 139, 149, 159, 167, 169, 177, 179, 187, 189,
+			197, 199, 203, 207, 209, 213, 217, 219, 223, 227, 229, 231,
+			233, 235, 237, 239, -1,
+		],
+		name = "tch_ahs_6_7",
+		description = ["TCH/AHS 6.7 kbits convolutional code"]
+	),
+
+	# TCH_AHS_5_9 definition
+	ConvolutionalCode(
+		108,
+		[
+			(  1,  1 ),
+			( G1, G0 ),
+		],
+		puncture = [
+			  1,  15,  71, 127, 139, 151, 163, 175, 187, 195, 203, 211,
+			215, 219, 221, 223, -1,
+		],
+		name = "tch_ahs_5_9",
+		description = ["TCH/AHS 5.9 kbits convolutional code"]
+	),
+
+	# TCH_AHS_5_15 definition
+	ConvolutionalCode(
+		97,
+		[
+			( G1, G3 ),
+			( G2, G3 ),
+			(  1,  1 ),
+		],
+		puncture = [
+			  0,   1,   3,   4,   6,   9,  12,  15,  18,  21,  27,  33,
+			 39,  45,  51,  54, 57,  63,  69,  75,  81,  87,  90,  93,
+			 99, 105, 111, 117, 123, 126, 129, 135, 141, 147, 153, 159,
+			162, 165, 168, 171, 174, 177, 180, 183, 186, 189, 192, 195,
+			198, 201, 204, 207, 210, 213, 216, 219, 222, 225, 228, 231,
+			234, 237, 240, 243, 244, 246, 249, 252, 255, 256, 258, 261,
+			264, 267, 268, 270, 273, 276, 279, 280, 282, 285, 288, 289,
+			291, 294, 295, 297, 298, 300, 301, -1,
+		],
+		name = "tch_ahs_5_15",
+		description = ["TCH/AHS 5.15 kbits convolutional code"]
+	),
+
+	# TCH_AHS_4_75 definition
+	ConvolutionalCode(
+		89,
+		[
+			(  1,  1 ),
+			( G5, G4 ),
+			( G6, G4 ),
+		],
+		puncture = [
+			  1,   2,   4,   5,   7,   8,  10,  13,  16,  22,  28,  34,
+			 40,  46,  52,  58, 64,  70,  76,  82,  88,  94, 100, 106,
+			112, 118, 124, 130, 136, 142, 148, 151, 154, 160, 163, 166,
+			172, 175, 178, 184, 187, 190, 196, 199, 202, 208, 211, 214,
+			220, 223, 226, 232, 235, 238, 241, 244, 247, 250, 253, 256,
+			259, 262, 265, 268, 271, 274, 275, 277, 278, 280, 281, 283,
+			284, -1,
+		],
+		name = "tch_ahs_4_75",
+		description = ["TCH/AHS 4.75 kbits convolutional code"]
+	),
 ]
 
 if __name__ == '__main__':

-- 
To view, visit https://gerrit.osmocom.org/831
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ea7151f4e8119a8798a9e129b951559e56b0d93
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>



More information about the gerrit-log mailing list