SoDaRadio-5.0.3-master:8901fb5
SoDa_tx_filter_tables.hxx
Go to the documentation of this file.
1 /*
2 Copyright (c) 2013, Matthew H. Reilly (kb1vc)
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are
7 met:
8 
9  Redistributions of source code must retain the above copyright
10  notice, this list of conditions and the following disclaimer.
11  Redistributions in binary form must reproduce the above copyright
12  notice, this list of conditions and the following disclaimer in
13  the documentation and/or other materials provided with the
14  distribution.
15 
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28 
29 static unsigned int tx_IF_filt_len_48K = 511;
30 
31 static float tx_IF_filt_48K[511] = {
32  1.680273904475e-06,
33  -1.6244566929945e-06,
34  -1.5300968104647e-06,
35  -1.565354998225e-06,
36  -1.4999390280178e-06,
37  -1.1937050824864e-06,
38  -5.9539320669335e-07,
39  2.5270526121954e-07,
40  1.222597560009e-06,
41  2.1203038774723e-06,
42  2.7255776320599e-06,
43  2.8396209637608e-06,
44  2.33910763485e-06,
45  1.2181292813928e-06,
46  -3.8689096292933e-07,
47  -2.2049084537432e-06,
48  -3.8670006286119e-06,
49  -4.9757063082257e-06,
50  -5.1887358112865e-06,
51  -4.3077605268192e-06,
52  -2.3445301802805e-06,
53  4.4588432585355e-07,
54  3.5861561462035e-06,
55  6.4462017694039e-06,
56  8.3624066104051e-06,
57  8.7765480707888e-06,
58  7.3770915118682e-06,
59  4.1999551630486e-06,
60  -3.2661491035316e-07,
61  -5.4241973228553e-06,
62  -1.0081182521136e-05,
63  -1.3244732479359e-05,
64  -1.4038023137129e-05,
65  -1.1978170010217e-05,
66  -7.1257073539242e-06,
67  -1.4885992404665e-07,
68  7.7511541731454e-06,
69  1.5019245852025e-05,
70  2.0048306950441e-05,
71  2.1504213807673e-05,
72  1.8643334874083e-05,
73  1.1562533146525e-05,
74  1.2337293091249e-06,
75  -1.0556505514041e-05,
76  -2.151186626757e-05,
77  -2.9248626959849e-05,
78  -3.1793813382171e-05,
79  -2.8037837219211e-05,
80  -1.8069021438733e-05,
81  -3.2807474766559e-06,
82  1.3775467718835e-05,
83  2.9805358360326e-05,
84  4.1379155147818e-05,
85  4.5637450825155e-05,
86  4.0943700438919e-05,
87  2.7353359078831e-05,
88  6.7707570647735e-06,
89  -1.7259332139243e-05,
90  -4.0128239009182e-05,
91  -5.7013390179708e-05,
92  -6.3860194845464e-05,
93  -5.829406074794e-05,
94  -4.0274655013767e-05,
95  -1.2322746897448e-05,
96  2.0758577326924e-05,
97  5.2666089785016e-05,
98  7.6756722090184e-05,
99  8.7388608805748e-05,
100  8.1171513312546e-05,
101  5.7869010687563e-05,
102  2.0724622156218e-05,
103  -2.3895604300257e-05,
104  -6.7541289692115e-05,
105  -0.0001012285030712,
106  -0.00011724045761939,
107  -0.00011081253930984,
108  -8.136348136744e-05,
109  -3.295715788208e-05,
110  2.6134620615585e-05,
111  8.4783349706533e-05,
112  0.00013104233951771,
113  0.00015451543646022,
114  0.00014861218729837,
115  0.00011218939136102,
116  5.0216524046173e-05,
117  -2.6755292037443e-05,
118  -0.0001043052492165,
119  -0.00016678038008235,
120  -0.0002003840563328,
121  -0.00019612317390798,
122  -0.00015199834675143,
123  -7.3936337669061e-05,
124  2.4822193163835e-05,
125  0.00012586736754528,
126  0.0002089742191227,
127  0.00025606997672768,
128  0.00025505233235606,
129  0.00020267034123397,
130  0.00010581545767778,
131  -1.9153073797136e-05,
132  -0.00014904974200726,
133  -0.00025807263786077,
134  -0.00032283619315853,
135  -0.00032726262407874,
136  -0.00026633025169564,
137  -0.00014784094190388,
138  8.2857751208968e-06,
139  0.00017321510806985,
140  0.00031441509914822,
141  0.00040196783495181,
142  0.00041477019689028,
143  0.00034536182716851,
144  0.00020231696556264,
145  9.5566088944862e-06,
146  -0.00019747531274957,
147  -0.00037820545940373,
148  -0.00049475928015541,
149  -0.00051974840016935,
150  -0.00044242789011442,
151  -0.0002718972378083,
152  -3.6504948962514e-05,
153  0.00022065569393961,
154  0.00044948645985205,
155  0.00060250785869166,
156  0.00064454089139156,
157  0.0005605016430966,
158  0.00035962955065783,
159  7.508878258262e-05,
160  -0.0002412552840522,
161  -0.000528117974199,
162  -0.00072651215884997,
163  -0.0007916878363031,
164  -0.00070291378621573,
165  -0.00046901272893823,
166  -0.00012829724321646,
167  0.00025740275361746,
168  0.00061375906038744,
169  0.00086808994837095,
170  0.00096397282699303,
171  0.00087342598349219,
172  0.00060408449121597,
173  0.00019965646382121,
174  -0.00026680371290455,
175  -0.00070585500331198,
176  -0.0010286128752617,
177  -0.0011645066553526,
178  -0.0010763468085516,
179  -0.00076954640031569,
180  -0.00029334001044448,
181  0.00026667251172503,
182  0.00080363277742917,
183  0.0012095738128497,
184  0.0013968602399728,
185  0.0013167108468645,
186  0.00097095583490026,
187  0.0004143327970039,
188  -0.00025363648350159,
189  -0.00090610274637139,
190  -0.001412698548023,
191  -0.0016652761419825,
192  -0.0016005563633482,
193  -0.0012150196342638,
194  -0.00056867749918601,
195  0.00022359429409424,
196  0.0010120678938914,
197  0.001640123421577,
198  0.0019749985885014,
199  0.0019353587564323,
200  0.0015100486093827,
201  0.00076385747128477,
202  -0.00017150035819999,
203  -0.0011201413374772,
204  -0.0018946763448478,
205  -0.0023327953833354,
206  -0.0023307119047785,
207  -0.00186667634085,
208  -0.001009402314123,
209  9.1017075291069e-05,
210  0.0012287727737307,
211  0.0021803237508161,
212  0.0027477886336742,
213  0.0027994225419614,
214  0.002299019421007,
215  0.0013178718552572,
216  2.6052966989459e-05,
217  -0.0013362813783145,
218  -0.0025028916202957,
219  -0.0032328164852377,
220  -0.0033593166354209,
221  -0.0028266060337799,
222  -0.0017065076348778,
223  -0.00019073532272105,
224  0.0014408957760575,
225  0.0028712735297191,
226  0.0038067426460222,
227  0.0040363328533985,
228  0.0034777103688489,
229  0.0022001159510382,
230  0.00041859868861509,
231  -0.0015407987893125,
232  -0.0032995500288114,
233  -0.0044985665685266,
234  -0.0048700885654964,
235  -0.0042954127780636,
236  -0.0028363656373215,
237  -0.00073295071662085,
238  0.001634176593676,
239  0.0038109390632562,
240  0.0053552023221401,
241  0.0059245401706376,
242  0.0053493480023152,
243  0.0036761856570885,
244  0.0011712046631145,
245  -0.0017192695609103,
246  -0.0044457584317653,
247  -0.0064574059105068,
248  -0.0073101277440499,
249  -0.0067604606460321,
250  -0.0048260100521972,
251  -0.0017987320023106,
252  0.0017944241944808,
253  0.0052791707032207,
254  0.0079559367401903,
255  0.0092349723325888,
256  0.0087593204909562,
257  0.0064912111027159,
258  0.0027428427372826,
259  -0.0018581429596543,
260  -0.0064664514478228,
261  -0.010166071679114,
262  -0.012142049325975,
263  -0.011846489091411,
264  -0.0091271469682928,
265  -0.0042917164090549,
266  0.0019091302284589,
267  0.0083832080002765,
268  0.013870938793518,
269  0.017166356601196,
270  0.017349055969659,
271  0.01398673708668,
272  0.0072704295796395,
273  -0.0019463326613257,
274  -0.012218431855017,
275  -0.021686330464393,
276  -0.028337468590761,
277  -0.030314525790993,
278  -0.026223383657234,
279  -0.015391238328727,
280  0.0019689725410151,
281  0.024718539959698,
282  0.050889460364741,
283  0.077908374901436,
284  0.10291862234549,
285  0.12315494756724,
286  0.13631619061897,
287  0.14088057009809,
288  0.13631619061897,
289  0.12315494756724,
290  0.10291862234549,
291  0.077908374901436,
292  0.050889460364741,
293  0.024718539959698,
294  0.0019689725410151,
295  -0.015391238328727,
296  -0.026223383657234,
297  -0.030314525790993,
298  -0.028337468590761,
299  -0.021686330464393,
300  -0.012218431855017,
301  -0.0019463326613257,
302  0.0072704295796395,
303  0.01398673708668,
304  0.017349055969659,
305  0.017166356601196,
306  0.013870938793518,
307  0.0083832080002765,
308  0.0019091302284589,
309  -0.0042917164090549,
310  -0.0091271469682928,
311  -0.011846489091411,
312  -0.012142049325975,
313  -0.010166071679114,
314  -0.0064664514478228,
315  -0.0018581429596543,
316  0.0027428427372826,
317  0.0064912111027159,
318  0.0087593204909562,
319  0.0092349723325888,
320  0.0079559367401903,
321  0.0052791707032207,
322  0.0017944241944808,
323  -0.0017987320023106,
324  -0.0048260100521972,
325  -0.0067604606460321,
326  -0.0073101277440499,
327  -0.0064574059105068,
328  -0.0044457584317653,
329  -0.0017192695609103,
330  0.0011712046631145,
331  0.0036761856570885,
332  0.0053493480023152,
333  0.0059245401706376,
334  0.0053552023221401,
335  0.0038109390632562,
336  0.001634176593676,
337  -0.00073295071662085,
338  -0.0028363656373215,
339  -0.0042954127780636,
340  -0.0048700885654964,
341  -0.0044985665685266,
342  -0.0032995500288114,
343  -0.0015407987893125,
344  0.00041859868861509,
345  0.0022001159510382,
346  0.0034777103688489,
347  0.0040363328533985,
348  0.0038067426460222,
349  0.0028712735297191,
350  0.0014408957760575,
351  -0.00019073532272105,
352  -0.0017065076348778,
353  -0.0028266060337799,
354  -0.0033593166354209,
355  -0.0032328164852377,
356  -0.0025028916202957,
357  -0.0013362813783145,
358  2.6052966989459e-05,
359  0.0013178718552572,
360  0.002299019421007,
361  0.0027994225419614,
362  0.0027477886336742,
363  0.0021803237508161,
364  0.0012287727737307,
365  9.1017075291069e-05,
366  -0.001009402314123,
367  -0.00186667634085,
368  -0.0023307119047785,
369  -0.0023327953833354,
370  -0.0018946763448478,
371  -0.0011201413374772,
372  -0.00017150035819999,
373  0.00076385747128477,
374  0.0015100486093827,
375  0.0019353587564323,
376  0.0019749985885014,
377  0.001640123421577,
378  0.0010120678938914,
379  0.00022359429409424,
380  -0.00056867749918601,
381  -0.0012150196342638,
382  -0.0016005563633482,
383  -0.0016652761419825,
384  -0.001412698548023,
385  -0.00090610274637139,
386  -0.00025363648350159,
387  0.0004143327970039,
388  0.00097095583490026,
389  0.0013167108468645,
390  0.0013968602399728,
391  0.0012095738128497,
392  0.00080363277742917,
393  0.00026667251172503,
394  -0.00029334001044448,
395  -0.00076954640031569,
396  -0.0010763468085516,
397  -0.0011645066553526,
398  -0.0010286128752617,
399  -0.00070585500331198,
400  -0.00026680371290455,
401  0.00019965646382121,
402  0.00060408449121597,
403  0.00087342598349219,
404  0.00096397282699303,
405  0.00086808994837095,
406  0.00061375906038744,
407  0.00025740275361746,
408  -0.00012829724321646,
409  -0.00046901272893823,
410  -0.00070291378621573,
411  -0.0007916878363031,
412  -0.00072651215884997,
413  -0.000528117974199,
414  -0.0002412552840522,
415  7.508878258262e-05,
416  0.00035962955065783,
417  0.0005605016430966,
418  0.00064454089139156,
419  0.00060250785869166,
420  0.00044948645985205,
421  0.00022065569393961,
422  -3.6504948962514e-05,
423  -0.0002718972378083,
424  -0.00044242789011442,
425  -0.00051974840016935,
426  -0.00049475928015541,
427  -0.00037820545940373,
428  -0.00019747531274957,
429  9.5566088944862e-06,
430  0.00020231696556264,
431  0.00034536182716851,
432  0.00041477019689028,
433  0.00040196783495181,
434  0.00031441509914822,
435  0.00017321510806985,
436  8.2857751208968e-06,
437  -0.00014784094190388,
438  -0.00026633025169564,
439  -0.00032726262407874,
440  -0.00032283619315853,
441  -0.00025807263786077,
442  -0.00014904974200726,
443  -1.9153073797136e-05,
444  0.00010581545767778,
445  0.00020267034123397,
446  0.00025505233235606,
447  0.00025606997672768,
448  0.0002089742191227,
449  0.00012586736754528,
450  2.4822193163835e-05,
451  -7.3936337669061e-05,
452  -0.00015199834675143,
453  -0.00019612317390798,
454  -0.0002003840563328,
455  -0.00016678038008235,
456  -0.0001043052492165,
457  -2.6755292037443e-05,
458  5.0216524046173e-05,
459  0.00011218939136102,
460  0.00014861218729837,
461  0.00015451543646022,
462  0.00013104233951771,
463  8.4783349706533e-05,
464  2.6134620615585e-05,
465  -3.295715788208e-05,
466  -8.136348136744e-05,
467  -0.00011081253930984,
468  -0.00011724045761939,
469  -0.0001012285030712,
470  -6.7541289692115e-05,
471  -2.3895604300257e-05,
472  2.0724622156218e-05,
473  5.7869010687563e-05,
474  8.1171513312546e-05,
475  8.7388608805748e-05,
476  7.6756722090184e-05,
477  5.2666089785016e-05,
478  2.0758577326924e-05,
479  -1.2322746897448e-05,
480  -4.0274655013767e-05,
481  -5.829406074794e-05,
482  -6.3860194845464e-05,
483  -5.7013390179708e-05,
484  -4.0128239009182e-05,
485  -1.7259332139243e-05,
486  6.7707570647735e-06,
487  2.7353359078831e-05,
488  4.0943700438919e-05,
489  4.5637450825155e-05,
490  4.1379155147818e-05,
491  2.9805358360326e-05,
492  1.3775467718835e-05,
493  -3.2807474766559e-06,
494  -1.8069021438733e-05,
495  -2.8037837219211e-05,
496  -3.1793813382171e-05,
497  -2.9248626959849e-05,
498  -2.151186626757e-05,
499  -1.0556505514041e-05,
500  1.2337293091249e-06,
501  1.1562533146525e-05,
502  1.8643334874083e-05,
503  2.1504213807673e-05,
504  2.0048306950441e-05,
505  1.5019245852025e-05,
506  7.7511541731454e-06,
507  -1.4885992404665e-07,
508  -7.1257073539242e-06,
509  -1.1978170010217e-05,
510  -1.4038023137129e-05,
511  -1.3244732479359e-05,
512  -1.0081182521136e-05,
513  -5.4241973228553e-06,
514  -3.2661491035316e-07,
515  4.1999551630486e-06,
516  7.3770915118682e-06,
517  8.7765480707888e-06,
518  8.3624066104051e-06,
519  6.4462017694039e-06,
520  3.5861561462035e-06,
521  4.4588432585355e-07,
522  -2.3445301802805e-06,
523  -4.3077605268192e-06,
524  -5.1887358112865e-06,
525  -4.9757063082257e-06,
526  -3.8670006286119e-06,
527  -2.2049084537432e-06,
528  -3.8689096292933e-07,
529  1.2181292813928e-06,
530  2.33910763485e-06,
531  2.8396209637608e-06,
532  2.7255776320599e-06,
533  2.1203038774723e-06,
534  1.222597560009e-06,
535  2.5270526121954e-07,
536  -5.9539320669335e-07,
537  -1.1937050824864e-06,
538  -1.4999390280178e-06,
539  -1.565354998225e-06,
540  -1.5300968104647e-06,
541  -1.6244566929945e-06,
542  1.680273904475e-06
543 };
544 
545 static float tx_IF_filt_gain_48K = 1.0000036955016;
static float tx_IF_filt_gain_48K
static unsigned int tx_IF_filt_len_48K
static float tx_IF_filt_48K[511]