diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/conv_codes_gsm.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/utils/conv_codes_gsm.py b/utils/conv_codes_gsm.py index 42f340b9..a6e471e3 100644 --- a/utils/conv_codes_gsm.py +++ b/utils/conv_codes_gsm.py @@ -42,6 +42,93 @@ conv_codes = [ ] ), + # TCH/F2.4 definition + ConvolutionalCode( + 72, + [ + (G1, 1), + (G2, 1), + (G3, 1), + (G1, 1), + (G2, 1), + (G3, 1), + ], + name = "tch_f24", + description = [ + "TCH/F2.4 convolutional code:", + "72 bits blocks, rate 1/6, k = 5", + "G1 = 1 + D + D3 + D4", + "G2 = 1 + D2 + D4", + "G3 = 1 + D + D2 + D3 + D4", + "G1 = 1 + D + D3 + D4", + "G2 = 1 + D2 + D4", + "G3 = 1 + D + D2 + D3 + D4", + ] + ), + + # TCH/F4.8 definition + ConvolutionalCode( + 152, + [ + (G1, 1), + (G2, 1), + (G3, 1), + ], + name = "tch_f48", + description = [ + "TCH/F4.8 convolutional code:", + "152 bits blocks, rate 1/3, k = 5", + "G1 = 1 + D + D3 + D4", + "G2 = 1 + D2 + D4", + "G3 = 1 + D + D2 + D3 + D4", + ] + ), + + # TCH/F9.6 definition + ConvolutionalCode( + 240, + shared_polys["xcch"], + puncture = [ + 11, 26, 41, 56, 71, 86, 101, 116, 131, 146, 161, 176, + 191, 206, 221, 236, 251, 266, 281, 296, 311, 326, 341, 356, + 371, 386, 401, 416, 431, 446, 461, 476, -1 + ], + name = "tch_f96", + description = [ + "TCH/F9.6 convolutional code:", + "240 bits blocks, rate 1/2, k = 5", + "G0 = 1 + D3 + D4", + "G1 = 1 + D + D3 + D4", + ] + ), + + # TCH/F14.4 definition + ConvolutionalCode( + 290, + shared_polys["xcch"], + puncture = [ + 1, 6, 11, 15, 19, 24, 29, 33, 37, 42, 47, 51, + 55, 60, 65, 69, 73, 78, 83, 87, 91, 96, 101, 105, + 109, 114, 119, 123, 127, 132, 137, 141, 145, 150, 155, 159, + 163, 168, 173, 177, 181, 186, 191, 195, 199, 204, 209, 213, + 217, 222, 227, 231, 235, 240, 245, 249, 253, 258, 263, 267, + 271, 276, 281, 285, 289, 294, 299, 303, 307, 312, 317, 321, + 325, 330, 335, 339, 343, 348, 353, 357, 361, 366, 371, 375, + 379, 384, 389, 393, 397, 402, 407, 411, 415, 420, 425, 429, + 433, 438, 443, 447, 451, 456, 461, 465, 469, 474, 479, 483, + 487, 492, 497, 501, 505, 510, 515, 519, 523, 528, 533, 537, + 541, 546, 551, 555, 559, 564, 569, 573, 577, 582, 584, 587, + -1 + ], + name = "tch_f144", + description = [ + "TCH/F14.4 convolutional code:", + "290 bits blocks, rate 1/2, k = 5", + "G0 = 1 + D3 + D4", + "G1 = 1 + D + D3 + D4", + ] + ), + # RACH definition ConvolutionalCode( 14, |