gsm: Improve the TCH/H2.4 coding routines

The spec isn't super clear, but basically the conv coding is done
in two blocks of 72 bits.

The way it's currently implemented isn't "wrong" in the sense it will
produce correct output given no bit errors, but it's better to do the
decoding in two blocks because this then it makes use of the fact we
know the state of the encoder after the 72 bits, which improves the
corrective ability of the code.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: Id2551ffe2a0ebfd0a6df0e1d288a6f0af7e1eda7
diff --git a/utils/conv_codes_gsm.py b/utils/conv_codes_gsm.py
index 62b5a0b..24a8ee2 100644
--- a/utils/conv_codes_gsm.py
+++ b/utils/conv_codes_gsm.py
@@ -66,6 +66,24 @@
 		]
 	),
 
+	# TCH/H2.4 definition
+	ConvolutionalCode(
+		72,
+		[
+		    (G1, 1),
+		    (G2, 1),
+		    (G3, 1),
+		],
+		name = "tch_h24",
+		description = [
+			"TCH/H2.4 convolutional code:",
+			"72 bits blocks, rate 1/3, k = 5",
+			"G1 = 1 + D + D3 + D4",
+			"G2 = 1 + D2 + D4",
+			"G3 = 1 + D + D2 + D3 + D4",
+		]
+	),
+
 	# TCH/F4.8 definition
 	ConvolutionalCode(
 		148,