-
Notifications
You must be signed in to change notification settings - Fork 3
/
hilbert_W.h
127 lines (120 loc) · 5.36 KB
/
hilbert_W.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// FIR filters for the Weaver version of QCX++
// Hilbert for the bandscope and FIR for the AM detector
#define HILBERT_AM 40
const int16_t h90p[HILBERT_AM] = {
(int16_t)( 32767.0 * 0.001093845249714940 ),
(int16_t)( 32767.0 * 0.001276575861434480 ),
(int16_t)( 32767.0 * 0.002572952002333098 ),
(int16_t)( 32767.0 * 0.002754214831374080 ),
(int16_t)( 32767.0 * 0.004964316815693444 ),
(int16_t)( 32767.0 * 0.005153256030368707 ),
(int16_t)( 32767.0 * 0.008583223638861480 ),
(int16_t)( 32767.0 * 0.008856289942329405 ),
(int16_t)( 32767.0 * 0.013860403896389439 ),
(int16_t)( 32767.0 * 0.014436847349885046 ),
(int16_t)( 32767.0 * 0.021485931828992614 ),
(int16_t)( 32767.0 * 0.022893087444812492 ),
(int16_t)( 32767.0 * 0.032808191342139893 ),
(int16_t)( 32767.0 * 0.036339828455305138 ),
(int16_t)( 32767.0 * 0.051126287391142555 ),
(int16_t)( 32767.0 * 0.060579827327981832 ),
(int16_t)( 32767.0 * 0.087424737489839435 ),
(int16_t)( 32767.0 * 0.120056058132125915 ),
(int16_t)( 32767.0 * 0.211946597177323448 ),
(int16_t)( 32767.0 * 0.631694063898862512 ),
(int16_t)( 32767.0 * -0.631694063898602498 ),
(int16_t)( 32767.0 * -0.211946597177605223 ),
(int16_t)( 32767.0 * -0.120056058132008217 ),
(int16_t)( 32767.0 * -0.087424737489942339 ),
(int16_t)( 32767.0 * -0.060579827327917661 ),
(int16_t)( 32767.0 * -0.051126287391199662 ),
(int16_t)( 32767.0 * -0.036339828455263762 ),
(int16_t)( 32767.0 * -0.032808191342175760 ),
(int16_t)( 32767.0 * -0.022893087444786613 ),
(int16_t)( 32767.0 * -0.021485931829015630 ),
(int16_t)( 32767.0 * -0.014436847349868656 ),
(int16_t)( 32767.0 * -0.013860403896403349 ),
(int16_t)( 32767.0 * -0.008856289942318194 ),
(int16_t)( 32767.0 * -0.008583223638870095 ),
(int16_t)( 32767.0 * -0.005153256030362134 ),
(int16_t)( 32767.0 * -0.004964316815698866 ),
(int16_t)( 32767.0 * -0.002754214831370511 ),
(int16_t)( 32767.0 * -0.002572952002335915 ),
(int16_t)( 32767.0 * -0.001276575861432673 ),
(int16_t)( 32767.0 * -0.001093845249715955 )
};
const int16_t h00m[HILBERT_AM] = {
(int16_t)( 32767.0 * -0.001093845249715580 ),
(int16_t)( 32767.0 * 0.001276575861433755 ),
(int16_t)( 32767.0 * -0.002572952002334441 ),
(int16_t)( 32767.0 * 0.002754214831372127 ),
(int16_t)( 32767.0 * -0.004964316815696075 ),
(int16_t)( 32767.0 * 0.005153256030365302 ),
(int16_t)( 32767.0 * -0.008583223638866050 ),
(int16_t)( 32767.0 * 0.008856289942323620 ),
(int16_t)( 32767.0 * -0.013860403896395392 ),
(int16_t)( 32767.0 * 0.014436847349876460 ),
(int16_t)( 32767.0 * -0.021485931829004022 ),
(int16_t)( 32767.0 * 0.022893087444799766 ),
(int16_t)( 32767.0 * -0.032808191342158066 ),
(int16_t)( 32767.0 * 0.036339828455283010 ),
(int16_t)( 32767.0 * -0.051126287391168403 ),
(int16_t)( 32767.0 * 0.060579827327947436 ),
(int16_t)( 32767.0 * -0.087424737489887688 ),
(int16_t)( 32767.0 * 0.120056058132059371 ),
(int16_t)( 32767.0 * -0.211946597177440688 ),
(int16_t)( 32767.0 * 0.631694063898506464 ),
(int16_t)( 32767.0 * 0.631694063898958547 ),
(int16_t)( 32767.0 * -0.211946597177487983 ),
(int16_t)( 32767.0 * 0.120056058132074830 ),
(int16_t)( 32767.0 * -0.087424737489894058 ),
(int16_t)( 32767.0 * 0.060579827327952057 ),
(int16_t)( 32767.0 * -0.051126287391173787 ),
(int16_t)( 32767.0 * 0.036339828455285911 ),
(int16_t)( 32767.0 * -0.032808191342157574 ),
(int16_t)( 32767.0 * 0.022893087444799343 ),
(int16_t)( 32767.0 * -0.021485931829004195 ),
(int16_t)( 32767.0 * 0.014436847349877250 ),
(int16_t)( 32767.0 * -0.013860403896397382 ),
(int16_t)( 32767.0 * 0.008856289942323984 ),
(int16_t)( 32767.0 * -0.008583223638865515 ),
(int16_t)( 32767.0 * 0.005153256030365543 ),
(int16_t)( 32767.0 * -0.004964316815696229 ),
(int16_t)( 32767.0 * 0.002754214831372464 ),
(int16_t)( 32767.0 * -0.002572952002334568 ),
(int16_t)( 32767.0 * 0.001276575861433399 ),
(int16_t)( 32767.0 * -0.001093845249715312 )
};
// AM detector filter at 12.7k IF freq. About 10k wide.
const int16_t AM12r7fir[30] = {
(int16_t)( 32767 * 0.001550482626183785 ),
(int16_t)( 32767 * 0.003067248151485474 ),
(int16_t)( 32767 * -0.001703394924168867 ),
(int16_t)( 32767 * 0.001438852006155712 ),
(int16_t)( 32767 * -0.013704463164367490 ),
(int16_t)( 32767 * 0.002342319779150199 ),
(int16_t)( 32767 * 0.032836149022814447 ),
(int16_t)( 32767 * -0.018116171681357755 ),
(int16_t)( 32767 * -0.010922165225960134 ),
(int16_t)( 32767 * -0.020215599070424518 ),
(int16_t)( 32767 * -0.023573767008029177 ),
(int16_t)( 32767 * 0.156325893091597889 ),
(int16_t)( 32767 * -0.043524550291711629 ),
(int16_t)( 32767 * -0.266332552038745729 ),
(int16_t)( 32767 * 0.202280231120463921 ),
(int16_t)( 32767 * 0.202280231120463921 ),
(int16_t)( 32767 * -0.266332552038745729 ),
(int16_t)( 32767 * -0.043524550291711629 ),
(int16_t)( 32767 * 0.156325893091597889 ),
(int16_t)( 32767 * -0.023573767008029177 ),
(int16_t)( 32767 * -0.020215599070424518 ),
(int16_t)( 32767 * -0.010922165225960134 ),
(int16_t)( 32767 * -0.018116171681357755 ),
(int16_t)( 32767 * 0.032836149022814447 ),
(int16_t)( 32767 * 0.002342319779150199 ),
(int16_t)( 32767 * -0.013704463164367490 ),
(int16_t)( 32767 * 0.001438852006155712 ),
(int16_t)( 32767 * -0.001703394924168867 ),
(int16_t)( 32767 * 0.003067248151485474 ),
(int16_t)( 32767 * 0.001550482626183785 )
};