GNU Radio's DSD Package
p25p1_const.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2010 DSD Author
3  * GPG Key ID: 0x3F1D7FD0 (74EF 430D F7F2 0A48 FCE6 F630 FAA2 635D 3F1D 7FD0)
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  * PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef _MAIN
19 
20 extern const int iW[72];
21 extern const int iX[72];
22 extern const int iY[72];
23 extern const int iZ[72];
24 
25 #else
26 /*
27  * P25 Phase1 IMBE interleave schedule
28  */
29 
30 const int iW[72] = {
31  0, 2, 4, 1, 3, 5,
32  0, 2, 4, 1, 3, 6,
33  0, 2, 4, 1, 3, 6,
34  0, 2, 4, 1, 3, 6,
35  0, 2, 4, 1, 3, 6,
36  0, 2, 4, 1, 3, 6,
37  0, 2, 5, 1, 3, 6,
38  0, 2, 5, 1, 3, 6,
39  0, 2, 5, 1, 3, 7,
40  0, 2, 5, 1, 3, 7,
41  0, 2, 5, 1, 4, 7,
42  0, 3, 5, 2, 4, 7
43 };
44 
45 const int iX[72] = {
46  22, 20, 10, 20, 18, 0,
47  20, 18, 8, 18, 16, 13,
48  18, 16, 6, 16, 14, 11,
49  16, 14, 4, 14, 12, 9,
50  14, 12, 2, 12, 10, 7,
51  12, 10, 0, 10, 8, 5,
52  10, 8, 13, 8, 6, 3,
53  8, 6, 11, 6, 4, 1,
54  6, 4, 9, 4, 2, 6,
55  4, 2, 7, 2, 0, 4,
56  2, 0, 5, 0, 13, 2,
57  0, 21, 3, 21, 11, 0
58 };
59 
60 const int iY[72] = {
61  1, 3, 5, 0, 2, 4,
62  1, 3, 6, 0, 2, 4,
63  1, 3, 6, 0, 2, 4,
64  1, 3, 6, 0, 2, 4,
65  1, 3, 6, 0, 2, 4,
66  1, 3, 6, 0, 2, 5,
67  1, 3, 6, 0, 2, 5,
68  1, 3, 6, 0, 2, 5,
69  1, 3, 6, 0, 2, 5,
70  1, 3, 7, 0, 2, 5,
71  1, 4, 7, 0, 3, 5,
72  2, 4, 7, 1, 3, 5
73 };
74 
75 const int iZ[72] = {
76  21, 19, 1, 21, 19, 9,
77  19, 17, 14, 19, 17, 7,
78  17, 15, 12, 17, 15, 5,
79  15, 13, 10, 15, 13, 3,
80  13, 11, 8, 13, 11, 1,
81  11, 9, 6, 11, 9, 14,
82  9, 7, 4, 9, 7, 12,
83  7, 5, 2, 7, 5, 10,
84  5, 3, 0, 5, 3, 8,
85  3, 1, 5, 3, 1, 6,
86  1, 14, 3, 1, 22, 4,
87  22, 12, 1, 22, 20, 2
88 };
89 #endif
const int iW[72]
const int iX[72]
const int iY[72]
const int iZ[72]