1 /*
2  * Copyright (c) 2007 - 2015 Joseph Gaeddert
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20  * THE SOFTWARE.
21  */
22 
23 #include "liquid.internal.h"
24 
25 // 2/3-rate K=7 punctured convolutional code
26 int fec_conv27p23_matrix[4] = {
27     1, 1,
28     1, 0
29 };
30 
31 // 3/4-rate K=7 punctured convolutional code
32 int fec_conv27p34_matrix[6] = {
33     1, 1, 0,
34     1, 0, 1
35 };
36 
37 // 4/5-rate K=7 punctured convolutional code
38 int fec_conv27p45_matrix[8] = {
39     1, 1, 1, 1,
40     1, 0, 0, 0
41 };
42 
43 // 5/6-rate K=7 punctured convolutional code
44 int fec_conv27p56_matrix[10] = {
45     1, 1, 0, 1, 0,
46     1, 0, 1, 0, 1
47 };
48 
49 // 6/7-rate K=7 punctured convolutional code
50 int fec_conv27p67_matrix[12] = {
51     1, 1, 1, 0, 1, 0,
52     1, 0, 0, 1, 0, 1
53 };
54 
55 // 7/8-rate K=7 punctured convolutional code
56 int fec_conv27p78_matrix[14] = {
57     1, 1, 1, 1, 0, 1, 0,
58     1, 0, 0, 0, 1, 0, 1
59 };
60 
61 
62 
63 
64 // 2/3-rate K=9 punctured convolutional code
65 int fec_conv29p23_matrix[4] = {
66     1, 1,
67     1, 0
68 };
69 
70 // 3/4-rate K=9 punctured convolutional code
71 int fec_conv29p34_matrix[6] = {
72     1, 1, 1,
73     1, 0, 0
74 };
75 
76 // 4/5-rate K=9 punctured convolutional code
77 int fec_conv29p45_matrix[8] = {
78     1, 1, 0, 1,
79     1, 0, 1, 0
80 };
81 
82 // 5/6-rate K=9 punctured convolutional code
83 int fec_conv29p56_matrix[10] = {
84     1, 0, 1, 1, 0,
85     1, 1, 0, 0, 1
86 };
87 
88 // 6/7-rate K=9 punctured convolutional code
89 int fec_conv29p67_matrix[12] = {
90     1, 1, 0, 1, 1, 0,
91     1, 0, 1, 0, 0, 1
92 };
93 
94 // 7/8-rate K=9 punctured convolutional code
95 int fec_conv29p78_matrix[14] = {
96     1, 1, 0, 1, 0, 1, 1,
97     1, 0, 1, 0, 1, 0, 0
98 };
99 
100