blob: 25ea2fa3141ee56eb4877a0c24d01d4800496b14 [file] [log] [blame]
Vadim Yanitskiy3262f822016-09-23 01:48:59 +07001/*
2 * (C) 2013 by Andreas Eversberg <jolly@eversberg.eu>
3 * (C) 2016 by Tom Tsou <tom.tsou@ettus.com>
4 *
5 * All Rights Reserved
6 *
Harald Weltee08da972017-11-13 01:00:26 +09007 * SPDX-License-Identifier: GPL-2.0+
8 *
Vadim Yanitskiy3262f822016-09-23 01:48:59 +07009 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
Vadim Yanitskiy3262f822016-09-23 01:48:59 +070018 */
19
20#include <stdint.h>
21
22#include <osmocom/core/bits.h>
23#include <osmocom/coding/gsm0503_tables.h>
24
Harald Weltec6636782017-06-12 14:59:37 +020025/*! \addtogroup tables
26 * @{
27 *
Neels Hofmeyr17518fe2017-06-20 04:35:06 +020028 * GSM TS 05.03 tables.
Harald Weltec6636782017-06-12 14:59:37 +020029 *
30 * This module contains various tables defining parts of 3GPP TS 05.03
31 * / 45.003, primarily for the purpose of (de)puncturing, interleaving,
32 * etc.
Neels Hofmeyr17518fe2017-06-20 04:35:06 +020033 *
34 * \file gsm0503_tables.c */
Harald Weltec6636782017-06-12 14:59:37 +020035
Vadim Yanitskiy3262f822016-09-23 01:48:59 +070036const ubit_t gsm0503_pdtch_hl_hn_ubit[4][8] = {
37 { 1,1, 1,1, 1,1, 1,1 },
38 { 1,1, 0,0, 1,0, 0,0 },
39 { 0,0, 1,0, 0,0, 0,1 },
40 { 0,0, 0,1, 0,1, 1,0 },
41};
42
43const ubit_t gsm0503_pdtch_edge_hl_hn_ubit[3][8] = {
44 { 0,0, 0,1, 0,1, 1,0 },
45 { 0,0, 0,0, 0,0, 0,0 },
46 { 1,1, 1,0, 0,1, 1,1 },
47};
48
49const sbit_t gsm0503_pdtch_hl_hn_sbit[4][8] = {
50 { -127,-127, -127,-127, -127,-127, -127,-127 },
51 { -127,-127, 127, 127, -127, 127, 127, 127 },
52 { 127, 127, -127, 127, 127, 127, 127,-127 },
53 { 127, 127, 127,-127, 127,-127, -127, 127 },
54};
55
56const sbit_t gsm0503_pdtch_edge_hl_hn_sbit[3][8] = {
57 { 127, 127, 127,-127, 127,-127, -127, 127 },
58 { 127, 127, 127, 127, 127, 127, 127, 127 },
59 { -127,-127, -127, 127, 127,-127, -127,-127 },
60};
61
Pau Espin Pedrold1cd5272020-04-07 13:26:59 +020062/*
63 * 3GPP TS 05.03 sec 5.1.2.2 "Block code". Rows re-ordered to be indxed by USF in host bit order.
64 */
Vadim Yanitskiy3262f822016-09-23 01:48:59 +070065const ubit_t gsm0503_usf2six[8][6] = {
66 { 0,0,0, 0,0,0 },
67 { 1,0,0, 1,0,1 },
68 { 0,1,0, 1,1,0 },
69 { 1,1,0, 0,1,1 },
70 { 0,0,1, 0,1,1 },
71 { 1,0,1, 1,1,0 },
72 { 0,1,1, 1,0,1 },
73 { 1,1,1, 0,0,0 },
74};
75
Pau Espin Pedrold1cd5272020-04-07 13:26:59 +020076/*
77 * 3GPP TS 05.03 sec 5.1.4.2 "Block code". Rows re-ordered to be indxed by USF in host bit order.
78 */
Vadim Yanitskiy3262f822016-09-23 01:48:59 +070079const ubit_t gsm0503_usf2twelve_ubit[8][12] = {
80 { 0,0,0, 0,0,0, 0,0,0, 0,0,0 },
81 { 1,1,0, 1,0,0, 0,0,1, 0,1,1 },
82 { 0,0,1, 1,0,1, 1,1,0, 1,1,0 },
83 { 1,1,1, 0,0,1, 1,1,1, 1,0,1 },
84 { 0,0,0, 0,1,1, 0,1,1, 1,0,1 },
85 { 1,1,0, 1,1,1, 0,1,0, 1,1,0 },
86 { 0,0,1, 1,1,0, 1,0,1, 0,1,1 },
87 { 1,1,1, 0,1,0, 1,0,0, 0,0,0 },
88};
89
90const sbit_t gsm0503_usf2twelve_sbit[8][12] = {
91 { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
92 { -127,-127, 127, -127, 127, 127, 127, 127,-127, 127,-127,-127 },
93 { 127, 127,-127, -127, 127,-127, -127,-127, 127, -127,-127, 127 },
94 { -127,-127,-127, 127, 127,-127, -127,-127,-127, -127, 127,-127 },
95 { 127, 127, 127, 127,-127,-127, 127,-127,-127, -127, 127,-127 },
96 { -127,-127, 127, -127,-127,-127, 127,-127, 127, -127,-127, 127 },
97 { 127, 127,-127, -127,-127, 127, -127, 127,-127, 127,-127,-127 },
98 { -127,-127,-127, 127,-127, 127, -127, 127, 127, 127, 127, 127 },
99};
100
101const uint8_t gsm0503_puncture_cs2[588] = {
102 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
103 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
104 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
105 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
106 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
107 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
108 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
109 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
110 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
111 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
112 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
113 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
114 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
115 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
116 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
117 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
118 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1,
119 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0, 0,0,0,1, 0,0,0,1,
120 0,0,0,1, 0,0,0,1, 0,0,0,1
121};
122
123const uint8_t gsm0503_puncture_cs3[676] = {
124 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
125 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
126 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
127 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
128 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
129 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
130 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
131 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
132 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
133 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
134 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
135 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
136 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
137 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
138 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
139 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
140 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
141 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
142 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
143 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
144 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
145 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,1,0,1,
146 0,0,0,1,0,1, 0,0,0,1,0,1, 0,0,0,0
147};
148
149const uint8_t gsm0503_puncture_mcs1_dl_hdr[108] = {
150 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
151 0,0,1, 0,1,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,1,1,
152 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,1,1, 0,0,1, 0,0,1,
153 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,1,1,
154};
155
156const uint8_t gsm0503_puncture_mcs1_ul_hdr[117] = {
157 0,0,0,0,0,1,0,0,1,0,0,1,
158 0,0,0,0,0,1,0,0,1,0,0,1,
159 0,0,1,0,0,1,0,0,1,0,0,1,
160 0,0,1,0,0,1,0,0,1,0,0,1,
161 0,0,1,0,0,1,0,0,1,0,0,1,
162 0,0,1,0,0,1,0,0,1,0,0,1,
163 0,0,1,0,0,1,0,0,1,0,0,1,
164 0,0,1,0,0,1,0,0,1,0,0,1,
165 0,0,1,0,0,1,0,0,1,0,0,1,
166 0,0,1,0,0,1,0,0,1,
167};
168
169const uint8_t gsm0503_puncture_mcs1_p1[588] = {
170 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
171 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
172 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
173 0,0,1,0,0,1,0,0,0,0,1,1,0,0,1,0,0,1,0,0,1,
174 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
175 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
176 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
177 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
178 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
179 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
180 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
181 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
182 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
183 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
184 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
185 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
186 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
187 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
188 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
189 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
190 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
191 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
192 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
193 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
194 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
195 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
196 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
197 0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,
198};
199
200const uint8_t gsm0503_puncture_mcs1_p2[588] = {
201 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
202 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
203 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
204 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
205 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
206 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
207 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
208 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
209 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
210 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
211 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
212 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
213 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
214 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
215 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
216 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
217 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
218 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
219 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
220 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
221 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
222 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
223 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
224 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
225 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,0,
226 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
227 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
228 0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,
229};
230
231const uint8_t gsm0503_puncture_mcs2_p1[732] = {
232 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
233 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,0,1,0,
234 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
235 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
236 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
237 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,0,1,0, 0,0,1,1,1,0,
238 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
239 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
240 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
241 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,0,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
242 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
243 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
244 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
245 0,0,1,1,1,0, 0,0,1,0,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
246 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
247 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
248 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
249 0,0,1,0,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
250 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
251 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
252 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,0,1,0,
253 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
254 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
255 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0, 0,0,1,1,1,0,
256 0,0,1,1,1,0, 0,0,1,1,1,0,
257};
258
259const uint8_t gsm0503_puncture_mcs2_p2[732] = {
260 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
261 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
262 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
263 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 0,1,0,0,0,1, 1,1,0,0,0,1,
264 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
265 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
266 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
267 1,1,0,0,0,1, 1,1,0,0,0,1, 0,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
268 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
269 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
270 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
271 1,1,0,0,0,1, 0,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
272 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
273 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
274 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
275 0,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
276 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
277 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
278 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 0,1,0,0,0,1,
279 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
280 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
281 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
282 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 0,1,0,0,0,1, 1,1,0,0,0,1,
283 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1, 1,1,0,0,0,1,
284 1,1,0,0,0,1, 1,1,0,0,0,1,
285};
286
287const uint8_t gsm0503_puncture_mcs3_p1[948] = {
288 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
289 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
290 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
291 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
292 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
293 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
294 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
295 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
296 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
297 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
298 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
299 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
300 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
301 0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,0,
302 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
303 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
304 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
305 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
306 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
307 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
308 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
309 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
310 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
311 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
312 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
313 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
314 0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,0,
315 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
316 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
317 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
318 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
319 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
320 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
321 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
322 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
323 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
324 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
325 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
326 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
327 0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,0,
328 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
329 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
330 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
331 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
332 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
333 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
334 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
335 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
336 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
337 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
338 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
339 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,
340 0,0,1,0,1,1,0,1,1,1,0,1,
341};
342
343const uint8_t gsm0503_puncture_mcs3_p2[948] = {
344 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
345 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
346 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
347 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
348 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
349 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
350 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
351 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
352 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
353 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
354 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
355 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
356 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
357 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
358 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
359 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
360 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
361 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
362 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
363 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
364 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
365 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
366 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
367 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
368 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
369 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
370 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
371 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
372 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
373 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
374 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
375 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
376 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
377 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
378 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
379 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
380 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
381 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
382 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
383 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
384 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
385 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
386 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
387 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
388 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
389 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
390 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
391 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
392 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
393 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
394 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
395 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
396 1,1,0,1,1,0,0,0,1,0,1,1,
397};
398
399const uint8_t gsm0503_puncture_mcs3_p3[948] = {
400 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
401 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
402 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
403 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
404 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
405 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
406 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
407 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
408 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
409 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
410 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
411 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
412 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
413 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
414 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
415 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
416 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
417 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
418 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
419 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
420 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
421 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
422 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
423 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
424 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
425 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
426 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
427 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
428 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
429 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
430 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
431 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
432 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
433 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
434 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
435 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
436 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
437 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
438 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
439 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
440 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
441 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
442 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
443 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
444 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
445 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
446 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
447 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
448 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
449 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
450 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
451 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
452 0,1,1,1,0,1,1,1,0,1,1,0,
453};
454
455const uint8_t gsm0503_puncture_mcs4_p1[1116] = {
456 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
457 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
458 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
459 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
460 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
461 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
462 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
463 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
464 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
465 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
466 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
467 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
468 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
469 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
470 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
471 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
472 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
473 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
474 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
475 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
476 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
477 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
478 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
479 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
480 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
481 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
482 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
483 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
484 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
485 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
486 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
487 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
488 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
489 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
490 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
491 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
492 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
493 0,1,1, 0,1,1,
494};
495
496const uint8_t gsm0503_puncture_mcs4_p2[1116] = {
497 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
498 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
499 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
500 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
501 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
502 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
503 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
504 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
505 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
506 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
507 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
508 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
509 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
510 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
511 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
512 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
513 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
514 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
515 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
516 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
517 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
518 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
519 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
520 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
521 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
522 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
523 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
524 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
525 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
526 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
527 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
528 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
529 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
530 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
531 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
532 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
533 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
534 1,0,1, 1,0,1,
535};
536
537const uint8_t gsm0503_puncture_mcs4_p3[1116] = {
538 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
539 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
540 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
541 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
542 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
543 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
544 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
545 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
546 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
547 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
548 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
549 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
550 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
551 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
552 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
553 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
554 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
555 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
556 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
557 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
558 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
559 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
560 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
561 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
562 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
563 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
564 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
565 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
566 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
567 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
568 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
569 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
570 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
571 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
572 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
573 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
574 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
575 1,1,0, 1,1,0,
576};
577
578const uint8_t gsm0503_puncture_mcs5_p1[1404] = {
579 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
580 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,
581 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
582 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
583 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
584 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
585 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
586 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
587 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
588 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
589 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
590 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
591 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
592 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,
593 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
594 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
595 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
596 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
597 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
598 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
599 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
600 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
601 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
602 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
603 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
604 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,
605 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
606 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
607 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
608 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
609 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
610 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
611 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
612 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
613 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
614 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
615 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
616 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,
617 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
618 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
619 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
620 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
621 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
622 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
623 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
624 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
625 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
626 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
627 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
628 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
629 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,0,0,
630 0,0,1,0,0,0,0,0,0, 0,0,1,0,0,1,0,0,1, 0,0,1,0,0,1,0,0,1,
631};
632
633const uint8_t gsm0503_puncture_mcs5_p2[1404] = {
634 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
635 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
636 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
637 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
638 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
639 0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
640 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
641 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
642 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
643 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
644 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
645 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
646 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
647 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
648 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
649 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
650 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
651 0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
652 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
653 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
654 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
655 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
656 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
657 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
658 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
659 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
660 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
661 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
662 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
663 0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
664 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
665 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
666 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
667 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
668 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
669 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
670 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
671 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
672 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
673 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
674 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
675 0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
676 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
677 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
678 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
679 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
680 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
681 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
682 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
683 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
684 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,
685 0,1,0,0,0,0,0,0,0, 0,1,0,0,1,0,0,1,0, 0,1,0,0,1,0,0,1,0,
686};
687
688const uint8_t gsm0503_puncture_mcs6_p1[1836] = {
689 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
690 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
691 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
692 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
693 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
694 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
695 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
696 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1,
697 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
698 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1,
699 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
700 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
701 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
702 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
703 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
704 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
705 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
706 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
707 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1,
708 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
709 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1,
710 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
711 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
712 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
713 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
714 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
715 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
716 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
717 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
718 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1,
719 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
720 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1,
721 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
722 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
723 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
724 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
725 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
726 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
727 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
728 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
729 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1,
730 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
731 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1,
732 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
733 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
734 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
735 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
736 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
737 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
738 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
739 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
740 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
741 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
742 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1,
743 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
744 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
745 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
746 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
747 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
748 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
749 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,0, 0,0,1, 0,0,1, 0,0,1, 0,0,1, 0,0,1,
750 0,0,1, 0,0,1,
751};
752
753const uint8_t gsm0503_puncture_mcs6_p2[1836] = {
754 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
755 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
756 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0,
757 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
758 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0,
759 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
760 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
761 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
762 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
763 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
764 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
765 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
766 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
767 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0,
768 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
769 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0,
770 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
771 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
772 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
773 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
774 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
775 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
776 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
777 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
778 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
779 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
780 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0,
781 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
782 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
783 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
784 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
785 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
786 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
787 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
788 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
789 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0,
790 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
791 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
792 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
793 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
794 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
795 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
796 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
797 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
798 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
799 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
800 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0,
801 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
802 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0,
803 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
804 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
805 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
806 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
807 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
808 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
809 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
810 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
811 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0, 0,1,0, 0,1,0,
812 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
813 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,0,0,
814 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0, 0,1,0,
815 0,1,0, 0,1,0,
816};
817
818const uint8_t gsm0503_puncture_mcs7_dl_hdr[135] = {
819 0,0,0,0,0,0,0,0,0,0,
820 0,0,0,0,1,0,0,0,0,0,
821 0,0,0,1,0,0,0,0,0,0,
822 0,0,0,1,0,0,0,0,0,0,
823 0,0,0,0,0,0,0,0,0,0,
824 1,0,0,0,0,0,0,0,0,1,
825 0,0,0,0,0,0,0,0,0,1,
826 0,0,0,0,0,0,0,0,0,0,
827 0,0,0,0,0,0,1,0,0,0,
828 0,0,0,0,0,1,0,0,0,0,
829 0,0,0,0,0,1,0,0,0,0,
830 0,0,0,0,0,0,0,0,0,0,
831 0,0,1,0,0,0,0,0,0,0,
832 0,1,0,0,0,
833};
834
835const uint8_t gsm0503_puncture_mcs7_ul_hdr[162] = {
836 0,0,0,0,0,0,0,0,0,0,
837 0,0,0,0,0,0,0,0,0,0,
838 0,0,0,0,0,0,0,0,0,0,
839 0,0,0,0,0,1,0,0,0,0,
840 0,0,0,0,0,0,0,0,0,0,
841 0,0,0,0,0,0,0,0,0,0,
842 0,0,0,0,0,0,0,0,0,0,
843 0,0,0,0,0,0,0,0,0,0,
844 0,0,0,0,0,0,0,0,0,0,
845 0,0,0,0,0,0,0,0,0,0,
846 0,0,0,0,0,0,0,0,0,0,
847 0,0,0,0,0,0,0,0,0,0,
848 0,0,0,0,0,0,0,0,0,0,
849 0,1,0,0,0,0,0,0,0,0,
850 0,0,0,0,0,0,0,0,0,0,
851 0,0,0,0,0,0,0,0,0,0,
852 0,0,
853};
854
855const uint8_t gsm0503_puncture_mcs7_p1[1404] = {
856 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
857 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
858 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
859 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
860 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
861 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
862 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
863 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
864 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
865 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
866 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
867 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
868 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
869 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
870 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
871 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
872 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
873 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
874 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
875 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
876 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
877 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
878 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
879 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
880 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
881 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
882 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
883 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
884 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
885 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
886 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
887 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
888 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
889 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
890 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
891 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
892 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
893 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
894 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
895 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
896 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
897 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
898 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
899 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
900 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
901 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
902 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
903 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
904 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
905 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
906 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
907 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
908 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
909 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
910 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
911 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
912 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
913 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
914 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
915 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
916 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
917 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
918 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
919 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
920 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
921 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
922 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
923 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
924 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
925 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
926 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
927 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
928 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
929 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
930 0,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
931 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
932 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
933 0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,
934};
935
936const uint8_t gsm0503_puncture_mcs7_p2[1404] = {
937 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
938 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
939 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
940 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
941 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
942 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
943 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
944 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
945 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
946 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
947 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
948 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
949 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
950 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
951 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
952 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
953 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
954 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
955 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
956 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
957 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
958 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
959 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
960 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
961 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
962 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
963 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
964 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
965 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
966 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
967 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
968 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
969 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
970 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
971 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
972 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
973 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
974 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
975 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
976 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
977 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
978 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
979 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
980 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
981 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
982 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
983 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
984 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
985 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
986 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
987 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
988 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
989 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
990 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
991 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
992 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
993 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
994 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
995 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
996 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
997 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
998 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
999 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1000 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1001 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1002 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1003 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1004 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1005 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1006 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1007 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1008 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1009 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1010 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1011 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,0,0,
1012 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
1013 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
1014 1,1,0,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,
1015};
1016
1017const uint8_t gsm0503_puncture_mcs7_p3[1404] = {
1018 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1019 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1020 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1021 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1022 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1023 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1024 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1025 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1026 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1027 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1028 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1029 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1030 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1031 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1032 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1033 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1034 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1035 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1036 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1037 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1038 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1039 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1040 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1041 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1042 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1043 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1044 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1045 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1046 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1047 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1048 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1049 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1050 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1051 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1052 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1053 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1054 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1055 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1056 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1057 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1058 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1059 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1060 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1061 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1062 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1063 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1064 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1065 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1066 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1067 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1068 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1069 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1070 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1071 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1072 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1073 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1074 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1075 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1076 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1077 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1078 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1079 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1080 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1081 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1082 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1083 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1084 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1085 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1086 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1087 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1088 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1089 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1090 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1091 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1092 1,1,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,
1093 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1094 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1095 1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,
1096};
1097
1098const uint8_t gsm0503_puncture_mcs8_p1[1692] = {
1099 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1100 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1101 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1102 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1103 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1104 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1105 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1106 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1107 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1108 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1109 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1110 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1111 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1112 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1113 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1114 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1115 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1116 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1117 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1118 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1119 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1120 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1121 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1122 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1123 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1124 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1125 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1126 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1127 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1128 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1129 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1130 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1131 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1132 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1133 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1134 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1135 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1136 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1137 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1138 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1139 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1140 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1141 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1142 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1143 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1144 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1145 0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,
1146};
1147
1148const uint8_t gsm0503_puncture_mcs8_p2[1692] = {
1149 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1150 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1151 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1152 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1153 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1154 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1155 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1156 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1157 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1158 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1159 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1160 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1161 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1162 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1163 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1164 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1165 1,0,1,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1166 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1167 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1168 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1169 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1170 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1171 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1172 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1173 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1174 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1175 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1176 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1177 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1178 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1179 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1180 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1181 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1182 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1183 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1184 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1185 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1186 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1187 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1188 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1189 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1190 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1191 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1192 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1193 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1194 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1195 1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,
1196};
1197
1198const uint8_t gsm0503_puncture_mcs8_p3[1692] = {
1199 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1200 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1201 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1202 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1203 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1204 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1205 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1206 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1207 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1208 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1209 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1210 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1211 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1212 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1213 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1214 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1215 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1216 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1217 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1218 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1219 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1220 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1221 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1222 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1223 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1224 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1225 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1226 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1227 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1228 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1229 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1230 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1231 1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1232 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1233 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1234 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1235 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1236 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1237 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1238 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1239 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1240 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1241 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1242 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1243 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1244 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1245 1,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0,1,
1246};
1247
1248const uint8_t gsm0503_puncture_mcs9_p1[1836] = {
1249 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1250 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1251 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1252 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1253 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1254 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1255 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1256 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1257 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1258 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1259 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1260 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1261 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1262 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1263 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1264 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1265 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1266 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1267 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1268 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1269 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1270 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1271 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1272 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1273 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1274 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1275 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1276 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1277 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1278 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1279 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1280 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1281 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1282 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1283 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1284 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1285 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1286 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1287 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1288 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1289 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1290 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1291 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1292 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1293 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1294 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1295 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1296 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1297 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1298 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1299 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1300 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1301 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1302 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1303 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1304 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1305 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1306 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1307 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1308 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1309 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1310 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1311 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1312 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1313 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1314 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1315 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1316 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1317 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1318 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1319 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1320 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1321 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1322 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1323 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1324 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1325 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1326 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1327 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1328 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1329 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1330 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1331 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1332 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1333 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1334 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1335 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1336 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1337 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1338 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1339 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1340 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1341 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1342 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1343 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1344 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1345 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1346 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1347 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1348 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1349 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1350 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1, 0,1,1,
1351};
1352
1353const uint8_t gsm0503_puncture_mcs9_p2[1836] = {
1354 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1355 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1356 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1357 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1358 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1359 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1360 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1361 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1362 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1363 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1364 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1365 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1366 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1367 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1368 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1369 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1370 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1371 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1372 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1373 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1374 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1375 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1376 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1377 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1378 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1379 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1380 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1381 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1382 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1383 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1384 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1385 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1386 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1387 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1388 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1389 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1390 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1391 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1392 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1393 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1394 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1395 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1396 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1397 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1398 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1399 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1400 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1401 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1402 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1403 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1404 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1405 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1406 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1407 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1408 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1409 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1410 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1411 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1412 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1413 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1414 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1415 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1416 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1417 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1418 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1419 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1420 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1421 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1422 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1423 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1424 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1425 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1426 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1427 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1428 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1429 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1430 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1431 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1432 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1433 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1434 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1435 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1436 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1437 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1438 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1439 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1440 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1441 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1442 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1443 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1444 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1445 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1446 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1447 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1448 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1449 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1450 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1451 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1452 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1453 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1454 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1455 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1, 1,0,1,
1456};
1457
1458const uint8_t gsm0503_puncture_mcs9_p3[1836] = {
1459 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1460 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1461 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1462 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1463 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1464 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1465 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1466 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1467 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1468 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1469 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1470 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1471 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1472 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1473 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1474 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1475 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1476 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1477 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1478 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1479 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1480 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1481 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1482 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1483 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1484 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1485 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1486 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1487 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1488 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1489 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1490 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1491 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1492 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1493 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1494 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1495 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1496 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1497 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1498 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1499 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1500 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1501 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1502 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1503 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1504 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1505 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1506 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1507 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1508 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1509 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1510 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1511 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1512 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1513 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1514 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1515 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1516 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1517 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1518 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1519 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1520 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1521 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1522 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1523 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1524 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1525 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1526 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1527 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1528 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1529 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1530 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1531 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1532 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1533 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1534 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1535 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1536 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1537 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1538 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1539 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1540 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1541 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1542 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1543 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1544 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1545 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1546 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1547 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1548 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1549 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1550 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1551 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1552 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1553 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1554 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1555 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1556 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1557 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1558 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1559 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1560 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0, 1,1,0,
1561};
1562
1563const uint16_t gsm0503_interleave_mcs5[1248] = {
1564 0, 463, 890, 1038, 220, 371, 795, 946, 582, 733, 1160, 63, 490, 641, 277, 428,
1565 852, 1003, 185, 333, 1223, 120, 547, 698, 1122, 28, 915, 1066, 242, 390, 817, 968,
1566 610, 761, 1185, 85, 512, 660, 305, 453, 880, 1031, 204, 355, 782, 1242, 148, 575,
1567 723, 1150, 50, 474, 625, 1088, 267, 418, 845, 993, 169, 320, 1207, 113, 537, 688,
1568 1115, 12, 902, 1050, 232, 383, 807, 958, 594, 745, 1172, 75, 502, 653, 289, 440,
1569 864, 1015, 197, 345, 1235, 132, 559, 710, 1134, 40, 927, 1078, 254, 402, 829, 980,
1570 159, 622, 773, 1197, 97, 524, 672, 1099, 5, 465, 892, 1043, 216, 367, 794, 942,
1571 587, 735, 1162, 62, 486, 637, 279, 430, 857, 1005, 181, 332, 1219, 125, 549, 700,
1572 1127, 24, 914, 1062, 244, 395, 819, 970, 606, 757, 1184, 87, 514, 665, 301, 452,
1573 876, 1027, 209, 357, 784, 1247, 144, 571, 722, 1146, 52, 479, 627, 1090, 266, 414,
1574 841, 992, 171, 322, 1209, 109, 536, 684, 1111, 17, 904, 1055, 228, 379, 806, 954,
1575 599, 747, 1174, 74, 498, 649, 291, 442, 869, 1017, 193, 344, 1231, 137, 561, 712,
1576 1139, 36, 926, 1074, 256, 407, 831, 982, 158, 618, 769, 1196, 99, 526, 677, 1101,
1577 7, 458, 894, 1033, 227, 363, 802, 941, 577, 740, 1152, 70, 485, 645, 284, 420,
1578 859, 998, 189, 328, 1215, 127, 542, 702, 1117, 35, 922, 1061, 246, 385, 824, 960,
1579 605, 765, 1180, 92, 504, 667, 309, 448, 887, 1023, 211, 350, 786, 1237, 155, 567,
1580 730, 1145, 54, 469, 632, 1080, 274, 413, 849, 988, 176, 312, 1202, 117, 532, 695,
1581 1107, 19, 906, 1045, 239, 375, 814, 953, 589, 752, 1164, 82, 497, 657, 296, 432,
1582 871, 1010, 201, 340, 1227, 139, 554, 714, 1129, 47, 934, 1073, 258, 397, 836, 972,
1583 166, 617, 777, 1192, 104, 516, 679, 1094, 9, 460, 899, 1035, 223, 362, 798, 937,
1584 579, 742, 1157, 66, 481, 644, 286, 425, 861, 1000, 188, 324, 1214, 129, 544, 707,
1585 1119, 31, 918, 1057, 251, 387, 826, 965, 601, 764, 1176, 94, 509, 669, 308, 444,
1586 883, 1022, 213, 352, 791, 1239, 151, 566, 726, 1141, 59, 471, 634, 1085, 270, 409,
1587 848, 984, 178, 317, 1204, 116, 528, 691, 1106, 21, 911, 1047, 235, 374, 810, 949,
1588 591, 754, 1169, 78, 493, 656, 298, 437, 873, 1012, 200, 336, 1226, 141, 556, 719,
1589 1131, 43, 930, 1069, 263, 399, 838, 977, 162, 613, 776, 1188, 106, 521, 681, 1096,
1590 2, 462, 889, 1040, 219, 370, 797, 945, 584, 732, 1159, 65, 489, 640, 276, 427,
1591 854, 1002, 184, 335, 1222, 122, 546, 697, 1124, 27, 917, 1065, 241, 392, 816, 967,
1592 609, 760, 1187, 84, 511, 662, 304, 455, 879, 1030, 206, 354, 781, 1244, 147, 574,
1593 725, 1149, 49, 476, 624, 1087, 269, 417, 844, 995, 168, 319, 1206, 112, 539, 687,
1594 1114, 14, 901, 1052, 231, 382, 809, 957, 596, 744, 1171, 77, 501, 652, 288, 439,
1595 866, 1014, 196, 347, 1234, 134, 558, 709, 1136, 39, 929, 1077, 253, 404, 828, 979,
1596 161, 621, 772, 1199, 96, 523, 674, 1098, 4, 467, 891, 1042, 218, 366, 793, 944,
1597 586, 737, 1161, 61, 488, 636, 281, 429, 856, 1007, 180, 331, 1218, 124, 551, 699,
1598 1126, 26, 913, 1064, 243, 394, 821, 969, 608, 756, 1183, 89, 513, 664, 300, 451,
1599 878, 1026, 208, 359, 783, 1246, 146, 570, 721, 1148, 51, 478, 629, 1089, 265, 416,
1600 840, 991, 173, 321, 1211, 108, 535, 686, 1110, 16, 903, 1054, 230, 378, 805, 956,
1601 598, 749, 1173, 73, 500, 648, 293, 441, 868, 1019, 192, 343, 1230, 136, 563, 711,
1602 1138, 38, 925, 1076, 255, 406, 833, 981, 157, 620, 768, 1195, 101, 525, 676, 1103,
1603 6, 457, 896, 1032, 226, 365, 801, 940, 576, 739, 1154, 69, 484, 647, 283, 422,
1604 858, 997, 191, 327, 1217, 126, 541, 704, 1116, 34, 921, 1060, 248, 384, 823, 962,
1605 604, 767, 1179, 91, 506, 666, 311, 447, 886, 1025, 210, 349, 788, 1236, 154, 569,
1606 729, 1144, 56, 468, 631, 1082, 273, 412, 851, 987, 175, 314, 1201, 119, 531, 694,
1607 1109, 18, 908, 1044, 238, 377, 813, 952, 588, 751, 1166, 81, 496, 659, 295, 434,
1608 870, 1009, 203, 339, 1229, 138, 553, 716, 1128, 46, 933, 1072, 260, 396, 835, 974,
1609 165, 616, 779, 1191, 103, 518, 678, 1093, 11, 459, 898, 1037, 222, 361, 800, 936,
1610 581, 741, 1156, 68, 480, 643, 285, 424, 863, 999, 187, 326, 1213, 131, 543, 706,
1611 1121, 30, 920, 1056, 250, 389, 825, 964, 600, 763, 1178, 93, 508, 671, 307, 446,
1612 882, 1021, 215, 351, 790, 1241, 150, 565, 728, 1140, 58, 473, 633, 1084, 272, 408,
1613 847, 986, 177, 316, 1203, 115, 530, 690, 1105, 23, 910, 1049, 234, 373, 812, 948,
1614 593, 753, 1168, 80, 492, 655, 297, 436, 875, 1011, 199, 338, 1225, 143, 555, 718,
1615 1133, 42, 932, 1068, 262, 401, 837, 976, 164, 612, 775, 1190, 105, 520, 683, 1095,
1616 1, 464, 888, 1039, 221, 369, 796, 947, 583, 734, 1158, 64, 491, 639, 278, 426,
1617 853, 1004, 183, 334, 1221, 121, 548, 696, 1123, 29, 916, 1067, 240, 391, 818, 966,
1618 611, 759, 1186, 86, 510, 661, 303, 454, 881, 1029, 205, 356, 780, 1243, 149, 573,
1619 724, 1151, 48, 475, 626, 1086, 268, 419, 843, 994, 170, 318, 1208, 111, 538, 689,
1620 1113, 13, 900, 1051, 233, 381, 808, 959, 595, 746, 1170, 76, 503, 651, 290, 438,
1621 865, 1016, 195, 346, 1233, 133, 560, 708, 1135, 41, 928, 1079, 252, 403, 830, 978,
1622 160, 623, 771, 1198, 98, 522, 673, 1100, 3, 466, 893, 1041, 217, 368, 792, 943,
1623 585, 736, 1163, 60, 487, 638, 280, 431, 855, 1006, 182, 330, 1220, 123, 550, 701,
1624 1125, 25, 912, 1063, 245, 393, 820, 971, 607, 758, 1182, 88, 515, 663, 302, 450,
1625 877, 1028, 207, 358, 785, 1245, 145, 572, 720, 1147, 53, 477, 628, 1091, 264, 415,
1626 842, 990, 172, 323, 1210, 110, 534, 685, 1112, 15, 905, 1053, 229, 380, 804, 955,
1627 597, 748, 1175, 72, 499, 650, 292, 443, 867, 1018, 194, 342, 1232, 135, 562, 713,
1628 1137, 37, 924, 1075, 257, 405, 832, 983, 156, 619, 770, 1194, 100, 527, 675, 1102,
1629 8, 456, 895, 1034, 225, 364, 803, 939, 578, 738, 1153, 71, 483, 646, 282, 421,
1630 860, 996, 190, 329, 1216, 128, 540, 703, 1118, 33, 923, 1059, 247, 386, 822, 961,
1631 603, 766, 1181, 90, 505, 668, 310, 449, 885, 1024, 212, 348, 787, 1238, 153, 568,
1632 731, 1143, 55, 470, 630, 1081, 275, 411, 850, 989, 174, 313, 1200, 118, 533, 693,
1633 1108, 20, 907, 1046, 237, 376, 815, 951, 590, 750, 1165, 83, 495, 658, 294, 433,
1634 872, 1008, 202, 341, 1228, 140, 552, 715, 1130, 45, 935, 1071, 259, 398, 834, 973,
1635 167, 615, 778, 1193, 102, 517, 680, 1092, 10, 461, 897, 1036, 224, 360, 799, 938,
1636 580, 743, 1155, 67, 482, 642, 287, 423, 862, 1001, 186, 325, 1212, 130, 545, 705,
1637 1120, 32, 919, 1058, 249, 388, 827, 963, 602, 762, 1177, 95, 507, 670, 306, 445,
1638 884, 1020, 214, 353, 789, 1240, 152, 564, 727, 1142, 57, 472, 635, 1083, 271, 410,
1639 846, 985, 179, 315, 1205, 114, 529, 692, 1104, 22, 909, 1048, 236, 372, 811, 950,
1640 592, 755, 1167, 79, 494, 654, 299, 435, 874, 1013, 198, 337, 1224, 142, 557, 717,
1641 1132, 44, 931, 1070, 261, 400, 839, 975, 163, 614, 774, 1189, 107, 519, 682, 1097,
1642};
1643
1644/* this corresponds to the bit-lengths of the individual codec
1645 * parameters as indicated in Table 1.1 of TS 06.10 */
1646const uint8_t gsm0503_gsm_fr_map[76] = {
1647 6, 6, 5, 5, 4, 4, 3, 3, 7, 2, 2, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1648 3, 7, 2, 2, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 2, 2, 6, 3, 3,
1649 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 2, 2, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1650 3, 3, 3, 3
1651};
1652
1653/* this table describes the 65 most importaint bits from EFR coded
1654 * bits as indicated in TS 05.03 (3.1.1.1) */
1655const uint8_t gsm0503_gsm_efr_protected_bits[65] = {
1656 39, 40, 41, 42, 43, 44, 48, 87, 45, 2,
1657 3, 8, 10, 18, 19, 24, 46, 47,142,143,
1658 144,145,146,147, 92, 93,195,196, 98,137,
1659 148, 94,197,149,150, 95,198, 4, 5, 11,
1660 12, 16, 9, 6, 7, 13, 17, 20, 96,199,
1661 1, 14, 15, 21, 25, 26, 28,151,201,190,
1662 240, 88,138,191,241
1663};
1664
1665/* Encoded in-band data for speech frames */
1666const ubit_t gsm0503_afs_ic_ubit[4][8] = {
1667 { 0,0,0,0,0,0,0,0 },
1668 { 0,1,0,1,1,1,0,1 },
1669 { 1,0,1,1,1,0,1,0 },
1670 { 1,1,1,0,0,1,1,1 },
1671};
1672
1673const sbit_t gsm0503_afs_ic_sbit[4][8] = {
1674 { 127, 127, 127, 127, 127, 127, 127, 127 },
1675 { 127,-127, 127,-127,-127,-127, 127,-127 },
1676 { -127, 127,-127,-127,-127, 127,-127, 127 },
1677 { -127,-127,-127, 127, 127,-127,-127,-127 },
1678};
1679
1680const ubit_t gsm0503_ahs_ic_ubit[4][4] = {
1681 { 0,0,0,0 },
1682 { 1,0,0,1 },
1683 { 1,1,1,0 },
1684 { 0,1,1,1 },
1685};
1686
1687const sbit_t gsm0503_ahs_ic_sbit[4][4] = {
1688 { 127, 127, 127, 127 },
1689 { -127, 127, 127,-127 },
1690 { -127,-127,-127, 127 },
1691 { 127,-127,-127,-127 },
1692};
1693
1694const uint8_t gsm0503_tch_hr_interleaving[228][2] = {
1695 { 0 ,0 }, { 1 ,2 }, { 78 ,1 }, { 79 ,3 }, { 48 ,0 }, { 49 ,2 },
1696 { 54 ,1 }, { 55 ,3 }, { 24 ,0 }, { 25 ,2 }, { 30 ,1 }, { 31 ,3 },
1697 { 72 ,0 }, { 73 ,2 }, { 6 ,1 }, { 7 ,3 }, { 96 ,0 }, { 97 ,2 },
1698 { 12 ,0 }, { 13 ,2 }, { 102,1 }, { 103,3 }, { 60 ,0 }, { 61 ,2 },
1699 { 66 ,1 }, { 67 ,3 }, { 90 ,1 }, { 91 ,3 }, { 36 ,0 }, { 37 ,2 },
1700 { 42 ,1 }, { 43 ,3 }, { 18 ,1 }, { 19 ,3 }, { 84 ,0 }, { 85 ,2 },
1701 { 108,0 }, { 109,2 }, { 2 ,0 }, { 3 ,2 }, { 80 ,1 }, { 81 ,3 },
1702 { 50 ,0 }, { 51 ,2 }, { 56 ,1 }, { 57 ,3 }, { 26 ,0 }, { 27 ,2 },
1703 { 32 ,1 }, { 33 ,3 }, { 74 ,0 }, { 75 ,2 }, { 8 ,1 }, { 9 ,3 },
1704 { 98 ,0 }, { 99 ,2 }, { 14 ,0 }, { 15 ,2 }, { 104,1 }, { 105,3 },
1705 { 62 ,0 }, { 63 ,2 }, { 68 ,1 }, { 69 ,3 }, { 92 ,1 }, { 93 ,3 },
1706 { 38 ,0 }, { 39 ,2 }, { 44 ,1 }, { 45 ,3 }, { 20 ,1 }, { 21 ,3 },
1707 { 86 ,0 }, { 87 ,2 }, { 110,0 }, { 111,2 }, { 4 ,0 }, { 5 ,2 },
1708 { 82 ,1 }, { 83 ,3 }, { 52 ,0 }, { 53 ,2 }, { 58 ,1 }, { 59 ,3 },
1709 { 28 ,0 }, { 29 ,2 }, { 34 ,1 }, { 35 ,3 }, { 76 ,0 }, { 77 ,2 },
1710 { 10 ,1 }, { 11 ,3 }, { 100,0 }, { 101,2 }, { 16 ,0 }, { 17 ,2 },
1711 { 106,1 }, { 107,3 }, { 64 ,0 }, { 65 ,2 }, { 70 ,1 }, { 71 ,3 },
1712 { 94 ,1 }, { 95 ,3 }, { 40 ,0 }, { 41 ,2 }, { 46 ,1 }, { 47 ,3 },
1713 { 22 ,1 }, { 23 ,3 }, { 88 ,0 }, { 89 ,2 }, { 112,0 }, { 113,2 },
1714 { 6 ,0 }, { 7 ,2 }, { 84 ,1 }, { 85 ,3 }, { 54 ,0 }, { 55 ,2 },
1715 { 60 ,1 }, { 61 ,3 }, { 30 ,0 }, { 31 ,2 }, { 36 ,1 }, { 37 ,3 },
1716 { 78 ,0 }, { 79 ,2 }, { 12 ,1 }, { 13 ,3 }, { 102,0 }, { 103,2 },
1717 { 18 ,0 }, { 19 ,2 }, { 108,1 }, { 109,3 }, { 66 ,0 }, { 67 ,2 },
1718 { 72 ,1 }, { 73 ,3 }, { 96 ,1 }, { 97 ,3 }, { 42 ,0 }, { 43 ,2 },
1719 { 48 ,1 }, { 49 ,3 }, { 24 ,1 }, { 25 ,3 }, { 90 ,0 }, { 91 ,2 },
1720 { 0 ,1 }, { 1 ,3 }, { 8 ,0 }, { 9 ,2 }, { 86 ,1 }, { 87 ,3 },
1721 { 56 ,0 }, { 57 ,2 }, { 62 ,1 }, { 63 ,3 }, { 32 ,0 }, { 33 ,2 },
1722 { 38 ,1 }, { 39 ,3 }, { 80 ,0 }, { 81 ,2 }, { 14 ,1 }, { 15 ,3 },
1723 { 104,0 }, { 105,2 }, { 20 ,0 }, { 21 ,2 }, { 110,1 }, { 111,3 },
1724 { 68 ,0 }, { 69 ,2 }, { 74 ,1 }, { 75 ,3 }, { 98 ,1 }, { 99 ,3 },
1725 { 44 ,0 }, { 45 ,2 }, { 50 ,1 }, { 51 ,3 }, { 26 ,1 }, { 27 ,3 },
1726 { 92 ,0 }, { 93 ,2 }, { 2 ,1 }, { 3 ,3 }, { 10 ,0 }, { 11 ,2 },
1727 { 88 ,1 }, { 89 ,3 }, { 58 ,0 }, { 59 ,2 }, { 64 ,1 }, { 65 ,3 },
1728 { 34 ,0 }, { 35 ,2 }, { 40 ,1 }, { 41 ,3 }, { 82 ,0 }, { 83 ,2 },
1729 { 16 ,1 }, { 17 ,3 }, { 106,0 }, { 107,2 }, { 22 ,0 }, { 23 ,2 },
1730 { 112,1 }, { 113,3 }, { 70 ,0 }, { 71 ,2 }, { 76 ,1 }, { 77 ,3 },
1731 { 100,1 }, { 101,3 }, { 46 ,0 }, { 47 ,2 }, { 52 ,1 }, { 53 ,3 },
1732 { 28 ,1 }, { 29 ,3 }, { 94 ,0 }, { 95 ,2 }, { 4 ,1 }, { 5 ,3 },
1733};
1734
1735/*
1736 * 3GPP TS 05.03 5.1.9.1.2 "USF precoding"
1737 */
1738const ubit_t gsm0503_mcs5_usf_precode_table[8][36] = {
1739 { 0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0, },
1740 { 1,1,1,1,1,0,0,0,0, 1,1,1,1,0,0,0,0,0, 1,1,1,1,1,1,0,0,0, 1,1,1,1,1,0,0,0,1, },
1741 { 1,1,1,0,0,1,1,1,0, 1,1,1,0,1,1,1,0,0, 1,1,0,0,0,0,1,1,0, 1,1,0,0,0,1,1,0,0, },
1742 { 1,0,0,1,1,1,1,0,0, 1,1,0,0,0,0,0,1,1, 1,0,1,1,1,0,1,1,1, 0,0,1,0,0,1,1,1,1, },
1743 { 0,0,0,1,1,0,0,1,1, 0,0,1,0,1,1,0,1,0, 1,0,0,0,0,1,1,0,1, 1,1,1,1,1,1,1,1,0, },
1744 { 1,1,0,1,0,1,0,1,1, 0,0,0,1,1,0,1,0,1, 0,1,1,1,0,1,0,1,1, 1,0,0,1,0,1,0,1,1, },
1745 { 0,0,1,0,0,1,1,0,1, 1,0,1,1,1,1,1,1,1, 0,1,1,0,1,0,0,0,1, 0,0,1,1,1,0,1,0,0, },
1746 { 0,1,1,0,1,0,1,1,1, 0,1,0,1,0,1,1,1,1, 0,0,0,1,1,1,1,1,0, 0,1,0,0,1,0,0,1,1, },
1747};
Harald Weltec6636782017-06-12 14:59:37 +02001748
1749/*! @} */