root/modules/audio_filter/resampler/bandlimited.h

Revision 5f8cd3991a86c8be37fe0bce9686c2d6f7635afa, 33.9 kB (checked in by Rémi Denis-Courmont <rdenis@simphalempin.com>, 4 months ago)

Declared many static variables const

Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>

  • Property mode set to 100644
Line 
1 /*****************************************************************************
2  * bandlimited.h : bandlimited interpolation resampler
3  *****************************************************************************
4  * Copyright (C) 2002 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Gildas Bazin <gbazin@netcourrier.com>
8  *
9  * 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.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 /* Conversion constants */
25 #define Nhc       8
26 #define Npc      (1<<Nhc)
27
28 /* Description of constants:
29  *
30  * Npc - is the number of look-up values available for the lowpass filter
31  *    between the beginning of its impulse response and the "cutoff time"
32  *    of the filter.  The cutoff time is defined as the reciprocal of the
33  *    lowpass-filter cut off frequence in Hz.  For example, if the
34  *    lowpass filter were a sinc function, Npc would be the index of the
35  *    impulse-response lookup-table corresponding to the first zero-
36  *    crossing of the sinc function.  (The inverse first zero-crossing
37  *    time of a sinc function equals its nominal cutoff frequency in Hz.)
38  *    Npc must be a power of 2 due to the details of the current
39  *    implementation. The default value of 512 is sufficiently high that
40  *    using linear interpolation to fill in between the table entries
41  *    gives approximately 16-bit accuracy in filter coefficients.
42  *
43  * Nhc - is log base 2 of Npc.
44  */
45
46 #define SMALL_FILTER_NMULT ((int16_t)13)
47 #define SMALL_FILTER_SCALE 13128 /* Unity-gain scale factor */
48 #define SMALL_FILTER_NWING 1536 /* Filter table length */
49 static const float SMALL_FILTER_FLOAT_IMP[] /* Impulse response */ = {
50 0.900000,
51 0.899980,
52 0.899920,
53 0.899821,
54 0.899681,
55 0.899502,
56 0.899283,
57 0.899024,
58 0.898726,
59 0.898388,
60 0.898010,
61 0.897592,
62 0.897135,
63 0.896638,
64 0.896102,
65 0.895526,
66 0.894911,
67 0.894256,
68 0.893562,
69 0.892829,
70 0.892056,
71 0.891244,
72 0.890394,
73 0.889504,
74 0.888575,
75 0.887608,
76 0.886602,
77 0.885557,
78 0.884474,
79 0.883352,
80 0.882192,
81 0.880993,
82 0.879756,
83 0.878482,
84 0.877169,
85 0.875818,
86 0.874430,
87 0.873004,
88 0.871541,
89 0.870040,
90 0.868502,
91 0.866927,
92 0.865315,
93 0.863667,
94 0.861981,
95 0.860259,
96 0.858501,
97 0.856707,
98 0.854876,
99 0.853010,
100 0.851108,
101 0.849170,
102 0.847197,
103 0.845189,
104 0.843146,
105 0.841067,
106 0.838954,
107 0.836807,
108 0.834625,
109 0.832409,
110 0.830160,
111 0.827876,
112 0.825559,
113 0.823209,
114 0.820825,
115 0.818408,
116 0.815959,
117 0.813477,
118 0.810963,
119 0.808417,
120 0.805839,
121 0.803229,
122 0.800588,
123 0.797916,
124 0.795213,
125 0.792479,
126 0.789714,
127 0.786919,
128 0.784095,
129 0.781240,
130 0.778356,
131 0.775442,
132 0.772500,
133 0.769529,
134 0.766529,
135 0.763501,
136 0.760444,
137 0.757361,
138 0.754249,
139 0.751110,
140 0.747945,
141 0.744753,
142 0.741534,
143 0.738289,
144 0.735018,
145 0.731721,
146 0.728400,
147 0.725053,
148 0.721681,
149 0.718285,
150 0.714865,
151 0.711420,
152 0.707953,
153 0.704461,
154 0.700947,
155 0.697410,
156 0.693851,
157 0.690269,
158 0.686665,
159 0.683040,
160 0.679394,
161 0.675727,
162 0.672039,
163 0.668331,
164 0.664602,
165 0.660854,
166 0.657087,
167 0.653300,
168 0.649495,
169 0.645671,
170 0.641829,
171 0.637969,
172 0.634091,
173 0.630197,
174 0.626285,
175 0.622357,
176 0.618412,
177 0.614452,
178 0.610476,
179 0.606485,
180 0.602478,
181 0.598457,
182 0.594422,
183 0.590373,
184 0.586310,
185 0.582234,
186 0.578144,
187 0.574042,
188 0.569928,
189 0.565801,
190 0.561663,
191 0.557514,
192 0.553353,
193 0.549182,
194 0.545001,
195 0.540809,
196 0.536607,
197 0.532397,
198 0.528177,
199 0.523948,
200 0.519711,
201 0.515466,
202 0.511214,
203 0.506954,
204 0.502686,
205 0.498413,
206 0.494132,
207 0.489846,
208 0.485554,
209 0.481256,
210 0.476954,
211 0.472646,
212 0.468335,
213 0.464019,
214 0.459699,
215 0.455377,
216 0.451050,
217 0.446722,
218 0.442390,
219 0.438057,
220 0.433722,
221 0.429385,
222 0.425048,
223 0.420709,
224 0.416370,
225 0.412031,
226 0.407692,
227 0.403354,
228 0.399016,
229 0.394679,
230 0.390344,
231 0.386011,
232 0.381680,
233 0.377351,
234 0.373025,
235 0.368702,
236 0.364382,
237 0.360066,
238 0.355754,
239 0.351446,
240 0.347143,
241 0.342844,
242 0.338551,
243 0.334264,
244 0.329982,
245 0.325706,
246 0.321437,
247 0.317174,
248 0.312918,
249 0.308670,
250 0.304429,
251 0.300197,
252 0.295972,
253 0.291756,
254 0.287548,
255 0.283350,
256 0.279161,
257 0.274982,
258 0.270812,
259 0.266653,
260 0.262504,
261 0.258366,
262 0.254239,
263 0.250123,
264 0.246018,
265 0.241926,
266 0.237846,
267 0.233777,
268 0.229722,
269 0.225679,
270 0.221650,
271 0.217634,
272 0.213632,
273 0.209643,
274 0.205669,
275 0.201709,
276 0.197764,
277 0.193833,
278 0.189918,
279 0.186018,
280 0.182134,
281 0.178265,
282 0.174413,
283 0.170577,
284 0.166758,
285 0.162955,
286 0.159169,
287 0.155401,
288 0.151650,
289 0.147916,
290 0.144201,
291 0.140503,
292 0.136824,
293 0.133163,
294 0.129521,
295 0.125898,
296 0.122294,
297 0.118710,
298 0.115145,
299 0.111599,
300 0.108073,
301 0.104568,
302 0.101083,
303 0.097618,
304 0.094174,
305 0.090750,
306 0.087348,
307 0.083966,
308 0.080606,
309 0.077268,
310 0.073951,
311 0.070656,
312 0.067383,
313 0.064132,
314 0.060903,
315 0.057697,
316 0.054513,
317 0.051352,
318 0.048214,
319 0.045099,
320 0.042006,
321 0.038938,
322 0.035892,
323 0.032870,
324 0.029872,
325 0.026898,
326 0.023947,
327 0.021021,
328 0.018118,
329 0.015240,
330 0.012386,
331 0.009557,
332 0.006752,
333 0.003972,
334 0.001217,
335 -0.001514,
336 -0.004219,
337 -0.006900,
338 -0.009555,
339 -0.012186,
340 -0.014790,
341 -0.017370,
342 -0.019924,
343 -0.022453,
344 -0.024956,
345 -0.027433,
346 -0.029885,
347 -0.032310,
348 -0.034710,
349 -0.037085,
350 -0.039433,
351 -0.041755,
352 -0.044051,
353 -0.046321,
354 -0.048565,
355 -0.050782,
356 -0.052974,
357 -0.055139,
358 -0.057278,
359 -0.059391,
360 -0.061477,
361 -0.063537,
362 -0.065570,
363 -0.067577,
364 -0.069558,
365 -0.071513,
366 -0.073440,
367 -0.075342,
368 -0.077217,
369 -0.079065,
370 -0.080887,
371 -0.082683,
372 -0.084452,
373 -0.086195,
374 -0.087911,
375 -0.089601,
376 -0.091265,
377 -0.092902,
378 -0.094513,
379 -0.096097,
380 -0.097656,
381 -0.099188,
382 -0.100693,
383 -0.102173,
384 -0.103626,
385 -0.105053,
386 -0.106454,
387 -0.107830,
388 -0.109179,
389 -0.110502,
390 -0.111799,
391 -0.113070,
392 -0.114316,
393 -0.115536,
394 -0.116730,
395 -0.117899,
396 -0.119042,
397 -0.120159,
398 -0.121251,
399 -0.122318,
400 -0.123360,
401 -0.124376,
402 -0.125368,
403 -0.126334,
404 -0.127275,
405 -0.128192,
406 -0.129083,
407 -0.129950,
408 -0.130793,
409 -0.131611,
410 -0.132404,
411 -0.133174,
412 -0.133919,
413 -0.134640,
414 -0.135337,
415 -0.136010,
416 -0.136659,
417 -0.137284,
418 -0.137886,
419 -0.138465,
420 -0.139020,
421 -0.139552,
422 -0.140061,
423 -0.140547,
424 -0.141010,
425 -0.141451,
426 -0.141868,
427 -0.142263,
428 -0.142636,
429 -0.142987,
430 -0.143316,
431 -0.143622,
432 -0.143907,
433 -0.144170,
434 -0.144412,
435 -0.144632,
436 -0.144830,
437 -0.145008,
438 -0.145165,
439 -0.145301,
440 -0.145416,
441 -0.145511,
442 -0.145585,
443 -0.145639,
444 -0.145673,
445 -0.145687,
446 -0.145681,
447 -0.145656,
448 -0.145611,
449 -0.145547,
450 -0.145464,
451 -0.145361,
452 -0.145240,
453 -0.145100,
454 -0.144942,
455 -0.144766,
456 -0.144571,
457 -0.144358,
458 -0.144127,
459 -0.143879,
460 -0.143613,
461 -0.143330,
462 -0.143030,
463 -0.142713,
464 -0.142379,
465 -0.142028,
466 -0.141661,
467 -0.141278,
468 -0.140878,
469 -0.140463,
470 -0.140032,
471 -0.139585,
472 -0.139123,
473 -0.138646,
474 -0.138153,
475 -0.137646,
476 -0.137124,
477 -0.136588,
478 -0.136037,
479 -0.135473,
480 -0.134894,
481 -0.134302,
482 -0.133696,
483 -0.133076,
484 -0.132444,
485 -0.131798,
486 -0.131140,
487 -0.130469,
488 -0.129785,
489 -0.129089,
490 -0.128381,
491 -0.127662,
492 -0.126930,
493 -0.126187,
494 -0.125433,
495 -0.124668,
496 -0.123891,
497 -0.123104,
498 -0.122306,
499 -0.121498,
500 -0.120680,
501 -0.119851,
502 -0.119013,
503 -0.118165,
504 -0.117308,
505 -0.116441,
506 -0.115565,
507 -0.114681,
508 -0.113788,
509 -0.112886,
510 -0.111976,
511 -0.111057,
512 -0.110131,
513 -0.109197,
514 -0.108255,
515 -0.107306,
516 -0.106350,
517 -0.105386,
518 -0.104416,
519 -0.103439,
520 -0.102455,
521 -0.101466,
522 -0.100470,
523 -0.099468,
524 -0.098460,
525 -0.097447,
526 -0.096428,
527 -0.095404,
528 -0.094375,
529 -0.093341,
530 -0.092303,
531 -0.091260,
532 -0.090212,
533 -0.089161,
534 -0.088105,
535 -0.087046,
536 -0.085982,
537 -0.084916,
538 -0.083846,
539 -0.082773,
540 -0.081697,
541 -0.080618,
542 -0.079536,
543 -0.078452,
544 -0.077366,
545 -0.076277,
546 -0.075187,
547 -0.074095,
548 -0.073001,
549 -0.071905,
550 -0.070808,
551 -0.069710,
552 -0.068611,
553 -0.067512,
554 -0.066411,
555 -0.065310,
556 -0.064209,
557 -0.063107,
558 -0.062005,
559 -0.060903,
560 -0.059802,
561 -0.058701,
562 -0.057600,
563 -0.056500,
564 -0.055401,
565 -0.054303,
566 -0.053206,
567 -0.052110,
568 -0.051015,
569 -0.049922,
570 -0.048831,
571 -0.047741,
572 -0.046654,
573 -0.045568,
574 -0.044485,
575 -0.043403,
576 -0.042325,
577 -0.041249,
578 -0.040175,
579 -0.039105,
580 -0.038037,
581 -0.036973,
582 -0.035912,
583 -0.034854,
584 -0.033799,
585 -0.032749,
586 -0.031701,
587 -0.030658,
588 -0.029619,
589 -0.028583,
590 -0.027552,
591 -0.026525,
592 -0.025502,
593 -0.024484,
594 -0.023471,
595 -0.022462,
596 -0.021458,
597 -0.020459,
598 -0.019464,
599 -0.018475,
600 -0.017491,
601 -0.016513,
602 -0.015539,
603 -0.014572,
604 -0.013610,
605 -0.012653,
606 -0.011702,
607 -0.010757,
608 -0.009818,
609 -0.008885,
610 -0.007958,
611 -0.007038,
612 -0.006123,
613 -0.005215,
614 -0.004313,
615 -0.003418,
616 -0.002530,
617 -0.001648,
618 -0.000772,
619 0.000096,
620 0.000958,
621 0.001813,
622 0.002660,
623 0.003501,
624 0.004335,
625 0.005161,
626 0.005980,
627 0.006792,
628 0.007597,
629 0.008394,
630 0.009183,
631 0.009965,
632 0.010740,
633 0.011507,
634 0.012266,
635 0.013018,
636 0.013762,
637 0.014498,
638 0.015226,
639 0.015946,
640 0.016658,
641 0.017363,
642 0.018059,
643 0.018747,
644 0.019428,
645 0.020100,
646 0.020764,
647 0.021420,
648 0.022067,
649 0.022707,
650 0.023338,
651 0.023961,
652 0.024575,
653 0.025181,
654 0.025779,
655 0.026369,
656 0.026950,
657 0.027523,
658 0.028087,
659 0.028643,
660 0.029191,
661 0.029730,
662 0.030260,
663 0.030782,
664 0.031296,
665 0.031801,
666 0.032297,
667 0.032785,
668 0.033265,
669 0.033736,
670 0.034199,
671 0.034653,
672 0.035098,
673 0.035536,
674 0.035964,
675 0.036384,
676 0.036796,
677 0.037199,
678 0.037594,
679 0.037980,
680 0.038358,
681 0.038727,
682 0.039088,
683 0.039441,
684 0.039785,
685 0.040121,
686 0.040448,
687 0.040768,
688 0.041078,
689 0.041381,
690 0.041675,
691 0.041961,
692 0.042239,
693 0.042509,
694 0.042770,
695 0.043024,
696 0.043269,
697 0.043506,
698 0.043735,
699 0.043956,
700 0.044169,
701 0.044375,
702 0.044572,
703 0.044761,
704 0.044943,
705 0.045116,
706 0.045282,
707 0.045440,
708 0.045591,
709 0.045734,
710 0.045869,
711 0.045996,
712 0.046117,
713 0.046229,
714 0.046334,
715 0.046432,
716 0.046522,
717 0.046605,
718 0.046681,
719 0.046750,
720 0.046811,
721 0.046865,
722 0.046913,
723 0.046953,
724 0.046986,
725 0.047012,
726 0.047032,
727 0.047044,
728 0.047050,
729 0.047049,
730 0.047042,
731 0.047028,
732 0.047007,
733 0.046980,
734 0.046946,
735 0.046907,
736 0.046860,
737 0.046808,
738 0.046749,
739 0.046684,
740 0.046613,
741 0.046536,
742 0.046453,
743 0.046365,
744 0.046270,
745 0.046169,
746 0.046063,
747 0.045951,
748 0.045834,
749 0.045711,
750 0.045583,
751 0.045449,
752 0.045310,
753 0.045165,
754 0.045016,
755 0.044861,
756 0.044701,
757 0.044536,
758 0.044366,
759 0.044192,
760 0.044012,
761 0.043828,
762 0.043639,
763 0.043445,
764 0.043247,
765 0.043045,
766 0.042838,
767 0.042626,
768 0.042411,
769 0.042191,
770 0.041967,
771 0.041738,
772 0.041506,
773 0.041270,
774 0.041030,
775 0.040786,
776 0.040539,
777 0.040288,
778 0.040033,
779 0.039774,
780 0.039513,
781 0.039247,
782 0.038979,
783 0.038707,
784 0.038432,
785 0.038154,
786 0.037872,
787 0.037588,
788 0.037301,
789 0.037011,
790 0.036718,
791 0.036422,
792 0.036124,
793 0.035823,
794 0.035520,
795 0.035214,
796 0.034906,
797 0.034595,
798 0.034282,
799 0.033967,
800 0.033650,
801 0.033330,
802 0.033009,
803 0.032686,
804 0.032361,
805 0.032034,
806 0.031705,
807 0.031375,
808 0.031043,
809 0.030709,
810 0.030374,
811 0.030037,
812 0.029700,
813 0.029360,
814 0.029020,
815 0.028678,
816 0.028336,
817 0.027992,
818 0.027647,
819 0.027301,
820 0.026955,
821 0.026607,
822 0.026259,
823 0.025910,
824 0.025561,
825 0.025210,
826 0.024860,
827 0.024508,
828 0.024157,
829 0.023805,
830 0.023453,
831 0.023100,
832 0.022748,
833 0.022395,
834 0.022042,
835 0.021689,
836 0.021336,
837 0.020983,
838 0.020630,
839 0.020278,
840 0.019926,
841 0.019573,
842 0.019222,
843 0.018870,
844 0.018520,
845 0.018169,
846 0.017819,
847 0.017470,
848 0.017121,
849 0.016773,
850 0.016426,
851 0.016080,
852 0.015734,
853 0.015389,
854 0.015045,
855 0.014702,
856 0.014360,
857 0.014019,
858 0.013679,
859 0.013341,
860 0.013003,
861 0.012667,
862 0.012332,
863 0.011998,
864 0.011665,
865 0.011334,
866 0.011004,
867 0.010676,
868 0.010349,
869 0.010024,
870 0.009700,
871 0.009377,
872 0.009057,
873 0.008738,
874 0.008421,
875 0.008105,
876 0.007791,
877 0.007479,
878 0.007169,
879 0.006861,
880 0.006554,
881 0.006249,
882 0.005947,
883 0.005646,
884 0.005347,
885 0.005051,
886 0.004756,
887 0.004464,
888 0.004173,
889 0.003885,
890 0.003599,
891 0.003315,
892 0.003033,
893 0.002753,
894 0.002476,
895 0.002201,
896 0.001928,
897 0.001658,
898 0.001390,
899 0.001124,
900 0.000861,
901 0.000600,
902 0.000341,
903 0.000085,
904 -0.000169,
905 -0.000420,
906 -0.000669,
907 -0.000915,
908 -0.001159,
909 -0.001400,
910 -0.001639,
911 -0.001875,
912 -0.002109,
913 -0.002340,
914 -0.002568,
915 -0.002794,
916 -0.003017,
917 -0.003238,
918 -0.003456,
919 -0.003671,
920 -0.003884,
921 -0.004094,
922 -0.004301,
923 -0.004506,
924 -0.004708,
925 -0.004907,
926 -0.005104,
927 -0.005298,
928 -0.005489,
929 -0.005678,
930 -0.005863,
931 -0.006046,
932 -0.006227,
933 -0.006405,
934 -0.006579,
935 -0.006752,
936 -0.006921,
937 -0.007088,
938 -0.007252,
939 -0.007413,
940 -0.007572,
941 -0.007728,
942 -0.007881,
943 -0.008031,
944 -0.008179,
945 -0.008324,
946 -0.008466,
947 -0.008606,
948 -0.008743,
949 -0.008877,
950 -0.009008,
951 -0.009137,
952 -0.009263,
953 -0.009387,
954 -0.009507,
955 -0.009626,
956 -0.009741,
957 -0.009854,
958 -0.009964,
959 -0.010071,
960 -0.010176,
961 -0.010278,
962 -0.010378,
963 -0.010475,
964 -0.010569,
965 -0.010661,
966 -0.010751,
967 -0.010837,
968 -0.010922,
969 -0.011003,
970 -0.011082,
971 -0.011159,
972 -0.011233,
973 -0.011305,
974 -0.011374,
975 -0.011441,
976 -0.011505,
977 -0.011567,
978 -0.011626,
979 -0.011683,
980 -0.011738,
981 -0.011790,
982 -0.011840,
983 -0.011887,
984 -0.011932,
985 -0.011975,
986 -0.012016,
987 -0.012054,
988 -0.012090,
989 -0.012124,
990 -0.012156,
991 -0.012185,
992 -0.012212,
993 -0.012237,
994 -0.012260,
995 -0.012281,
996 -0.012299,
997 -0.012316,
998 -0.012330,
999 -0.012342,
1000 -0.012352,
1001 -0.012361,
1002 -0.012367,
1003 -0.012371,
1004 -0.012373,
1005 -0.012374,
1006 -0.012372,
1007 -0.012368,
1008 -0.012363,
1009 -0.012356,
1010 -0.012346,
1011 -0.012335,
1012 -0.012323,
1013 -0.012308,
1014 -0.012292,
1015 -0.012274,
1016 -0.012254,
1017 -0.012232,
1018 -0.012209,
1019 -0.012184,
1020 -0.012157,
1021 -0.012129,
1022 -0.012099,
1023 -0.012068,
1024 -0.012035,
1025 -0.012001,
1026 -0.011965,
1027 -0.011927,
1028 -0.011888,
1029 -0.011848,
1030 -0.011806,
1031 -0.011763,
1032 -0.011718,
1033 -0.011672,
1034 -0.011625,
1035 -0.011576,
1036 -0.011527,
1037 -0.011475,
1038 -0.011423,
1039 -0.011369,
1040 -0.011314,
1041 -0.011258,
1042 -0.011201,
1043 -0.011143,
1044 -0.011083,
1045 -0.011022,
1046 -0.010961,
1047 -0.010898,
1048 -0.010834,
1049 -0.010769,
1050 -0.010704,
1051 -0.010637,
1052 -0.010569,
1053 -0.010501,
1054 -0.010431,
1055 -0.010361,
1056 -0.010289,
1057 -0.010217,
1058 -0.010144,
1059 -0.010070,
1060 -0.009996,
1061 -0.009921,
1062 -0.009845,
1063 -0.009768,
1064 -0.009690,
1065 -0.009612,
1066 -0.009533,
1067 -0.009454,
1068 -0.009374,
1069 -0.009293,
1070 -0.009212,
1071 -0.009130,
1072 -0.009048,
1073 -0.008965,
1074 -0.008882,
1075 -0.008798,
1076 -0.008714,
1077 -0.008629,
1078 -0.008544,
1079 -0.008459,
1080 -0.008373,
1081 -0.008287,
1082 -0.008200,
1083 -0.008113,
1084 -0.008026,
1085 -0.007938,
1086 -0.007851,
1087 -0.007763,
1088 -0.007674,
1089 -0.007586,
1090 -0.007497,
1091 -0.007408,
1092 -0.007319,
1093 -0.007230,
1094 -0.007141,
1095 -0.007051,
1096 -0.006962,
1097 -0.006872,
1098 -0.006783,
1099 -0.006693,
1100 -0.006603,
1101 -0.006514,
1102 -0.006424,
1103 -0.006334,
1104 -0.006244,
1105 -0.006155,
1106 -0.006065,
1107 -0.005976,
1108 -0.005886,
1109 -0.005797,
1110 -0.005708,
1111 -0.005619,
1112 -0.005530,
1113 -0.005441,
1114 -0.005352,
1115 -0.005264,
1116 -0.005176,
1117 -0.005088,
1118 -0.005000,
1119 -0.004912,
1120 -0.004825,
1121 -0.004738,
1122 -0.004651,
1123 -0.004565,
1124 -0.004479,
1125 -0.004393,
1126 -0.004307,
1127 -0.004222,
1128 -0.004137,
1129 -0.004053,
1130 -0.003969,
1131 -0.003885,
1132 -0.003802,
1133 -0.003719,
1134 -0.003636,
1135 -0.003554,
1136 -0.003472,
1137 -0.003391,
1138 -0.003310,
1139 -0.003230,
1140 -0.003150,
1141 -0.003071,
1142 -0.002992,
1143 -0.002913,
1144 -0.002835,
1145 -0.002758,
1146 -0.002681,
1147 -0.002604,
1148 -0.002528,
1149 -0.002453,
1150 -0.002378,
1151 -0.002304,
1152 -0.002230,
1153 -0.002157,
1154 -0.002084,
1155 -0.002012,
1156 -0.001941,
1157 -0.001870,
1158 -0.001800,
1159 -0.001730,
1160 -0.001661,
1161 -0.001593,
1162 -0.001525,
1163 -0.001458,
1164 -0.001391,
1165 -0.001325,
1166 -0.001260,
1167 -0.001195,
1168 -0.001131,
1169 -0.001068,
1170 -0.001005,
1171 -0.000943,
1172 -0.000881,
1173 -0.000821,
1174 -0.000760,
1175 -0.000701,
1176 -0.000642,
1177 -0.000584,
1178 -0.000526,
1179 -0.000470,
1180 -0.000413,
1181 -0.000358,
1182 -0.000303,
1183 -0.000249,
1184 -0.000196,
1185 -0.000143,
1186 -0.000091,
1187 -0.000039,
1188 0.000011,
1189 0.000061,
1190 0.000111,
1191 0.000159,
1192 0.000207,
1193 0.000254,
1194 0.000301,
1195 0.000347,
1196 0.000392,
1197 0.000437,
1198 0.000480,
1199 0.000523,
1200 0.000566,
1201 0.000608,
1202 0.000649,
1203 0.000689,
1204 0.000729,
1205 0.000768,
1206 0.000806,
1207 0.000844,
1208 0.000881,
1209 0.000917,
1210 0.000953,
1211 0.000988,
1212 0.001022,
1213 0.001056,
1214 0.001089,
1215 0.001121,
1216 0.001153,
1217 0.001184,
1218 0.001214,
1219 0.001244,
1220 0.001273,
1221 0.001302,
1222 0.001329,
1223 0.001356,
1224 0.001383,
1225 0.001409,
1226 0.001434,
1227 0.001459,
1228 0.001483,
1229 0.001506,
1230 0.001529,
1231 0.001551,
1232 0.001573,
1233 0.001594,
1234 0.001614,
1235 0.001634,
1236 0.001653,
1237 0.001671,
1238 0.001689,
1239 0.001707,
1240 0.001724,
1241 0.001740,
1242 0.001756,
1243 0.001771,
1244 0.001785,
1245 0.001799,
1246 0.001813,
1247 0.001826,
1248 0.001838,
1249 0.001850,
1250 0.001862,
1251 0.001872,
1252 0.001883,
1253 0.001893,
1254 0.001902,
1255 0.001911,
1256 0.001919,
1257 0.001927,
1258 0.001934,
1259 0.001941,
1260 0.001947,
1261 0.001953,
1262 0.001959,
1263 0.001964,
1264 0.001968,
1265 0.001972,
1266 0.001976,
1267 0.001979,
1268 0.001982,
1269 0.001984,
1270 0.001986,
1271 0.001988,
1272 0.001989,
1273 0.001990,
1274 0.001990,
1275 0.001990,
1276 0.001989,
1277 0.001988,
1278 0.001987,
1279 0.001986,
1280 0.001984,
1281 0.001981,
1282 0.001979,
1283 0.001976,
1284 0.001972,
1285 0.001968,
1286 0.001964,
1287 0.001960,
1288 0.001955,
1289 0.001950,
1290 0.001945,
1291 0.001939,
1292 0.001933,
1293 0.001927,
1294 0.001921,
1295 0.001914,
1296 0.001907,
1297 0.001900,
1298 0.001892,
1299 0.001884,
1300 0.001876,
1301 0.001868,
1302 0.001859,
1303 0.001850,
1304 0.001841,
1305 0.001832,
1306 0.001822,
1307 0.001813,
1308 0.001803,
1309 0.001792,
1310 0.001782,
1311 0.001772,
1312 0.001761,
1313 0.001750,
1314 0.001739,
1315 0.001727,
1316 0.001716,
1317 0.001704,
1318 0.001693,
1319 0.001681,
1320 0.001669,
1321 0.001656,
1322 0.001644,
1323 0.001631,
1324 0.001619,
1325 0.001606,
1326 0.001593,
1327 0.001580,
1328 0.001567,
1329 0.001554,
1330 0.001540,
1331 0.001527,
1332 0.001514,
1333 0.001500,
1334 0.001486,
1335 0.001472,
1336 0.001459,
1337 0.001445,
1338 0.001431,
1339 0.001417,
1340 0.001402,
1341 0.001388,
1342 0.001374,
1343 0.001360,
1344 0.001345,
1345 0.001331,
1346 0.001317,
1347 0.001302,
1348 0.001288,
1349 0.001273,
1350 0.001259,
1351 0.001244,
1352 0.001230,
1353 0.001215,
1354 0.001200,
1355 0.001186,
1356 0.001171,
1357 0.001157,
1358 0.001142,
1359 0.001128,
1360 0.001113,
1361 0.001098,
1362 0.001084,
1363 0.001069,
1364 0.001055,
1365 0.001041,
1366 0.001026,
1367 0.001012,
1368 0.000997,
1369 0.000983,
1370 0.000969,
1371 0.000955,
1372 0.000940,
1373 0.000926,
1374 0.000912,
1375 0.000898,
1376 0.000884,
1377 0.000870,
1378 0.000856,
1379 0.000843,
1380 0.000829,
1381 0.000815,
1382 0.000802,
1383 0.000788,
1384 0.000775,
1385 0.000761,
1386 0.000748,
1387 0.000735,
1388 0.000722,
1389 0.000709,
1390 0.000696,
1391 0.000683,
1392 0.000670,
1393 0.000657,
1394 0.000645,
1395 0.000632,
1396 0.000620,
1397 0.000608,
1398 0.000595,
1399 0.000583,
1400 0.000571,
1401 0.000559,
1402 0.000547,
1403 0.000536,
1404 0.000524,
1405 0.000512,
1406 0.000501,
1407 0.000490,
1408 0.000479,
1409 0.000467,
1410 0.000456,
1411 0.000446,
1412 0.000435,
1413 0.000424,
1414 0.000414,
1415 0.000403,
1416 0.000393,
1417 0.000383,
1418 0.000373,
1419 0.000363,
1420 0.000353,
1421 0.000343,
1422 0.000333,
1423 0.000324,
1424 0.000315,
1425 0.000305,
1426 0.000296,
1427 0.000287,
1428 0.000278,
1429 0.000269,
1430 0.000261,
1431 0.000252,
1432 0.000244,
1433 0.000235,
1434 0.000227,
1435 0.000219,
1436 0.000211,
1437 0.000203,
1438 0.000196,
1439 0.000188,
1440 0.000181,
1441 0.000173,
1442 0.000166,
1443 0.000159,
1444 0.000152,
1445 0.000145,
1446 0.000138,
1447 0.000131,
1448 0.000125,
1449 0.000118,
1450 0.000112,
1451 0.000106,
1452 0.000100,
1453 0.000094,
1454 0.000088,
1455 0.000082,
1456 0.000077,
1457 0.000071,
1458 0.000066,
1459 0.000060,
1460 0.000055,
1461 0.000050,
1462 0.000045,
1463 0.000040,
1464 0.000035,
1465 0.000031,
1466 0.000026,
1467 0.000022,
1468 0.000017,
1469 0.000013,
1470 0.000009,
1471 0.000005,
1472 0.000001,
1473 -0.000003,
1474 -0.000007,
1475 -0.000010,
1476 -0.000014,
1477 -0.000017,
1478 -0.000021,
1479 -0.000024,
1480 -0.000027,
1481 -0.000030,
1482 -0.000033,
1483 -0.000036,
1484 -0.000039,
1485 -0.000042,
1486 -0.000044,
1487 -0.000047,
1488 -0.000049,
1489 -0.000052,
1490 -0.000054,
1491 -0.000056,
1492 -0.000059,
1493 -0.000061,
1494 -0.000063,
1495 -0.000065,
1496 -0.000066,
1497 -0.000068,
1498 -0.000070,
1499 -0.000071,
1500 -0.000073,
1501 -0.000074,
1502 -0.000076,
1503 -0.000077,
1504 -0.000078,
1505 -0.000080,
1506 -0.000081,
1507 -0.000082,
1508 -0.000083,
1509 -0.000084,
1510 -0.000085,
1511 -0.000085,
1512 -0.000086,
1513 -0.000087,
1514 -0.000087,
1515 -0.000088,
1516 -0.000089,
1517 -0.000089,
1518 -0.000089,
1519 -0.000090,
1520 -0.000090,
1521 -0.000090,
1522 -0.000091,
1523 -0.000091,
1524 -0.000091,
1525 -0.000091,
1526 -0.000091,
1527 -0.000091,
1528 -0.000091,
1529 -0.000091,
1530 -0.000091,
1531 -0.000090,
1532 -0.000090,
1533 -0.000090,
1534 -0.000090,
1535 -0.000089,
1536 -0.000089,
1537 -0.000089,
1538 -0.000088,
1539 -0.000088,
1540 -0.000087,
1541 -0.000087,
1542 -0.000086,
1543 -0.000085,
1544 -0.000085,
1545 -0.000084,
1546 -0.000084,
1547 -0.000083,
1548 -0.000082,
1549 -0.000081,
1550 -0.000081,
1551 -0.000080,
1552 -0.000079,
1553 -0.000078,
1554 -0.000077,
1555 -0.000077,
1556 -0.000076,
1557 -0.000075,
1558 -0.000074,
1559 -0.000073,
1560 -0.000072,
1561 -0.000071,
1562 -0.000070,
1563 -0.000069,
1564 -0.000068,
1565 -0.000067,
1566 -0.000066,
1567 -0.000065,
1568 -0.000064,
1569 -0.000063,
1570 -0.000062,
1571 -0.000061,
1572 -0.000060,
1573 -0.000059,
1574 -0.000058,
1575 -0.000057,
1576 -0.000056,
1577 -0.000055,
1578 -0.000054,
1579 -0.000052,
1580 -0.000051,
1581 -0.000050,
1582 -0.000049,
1583 -0.000048,
1584 -0.000047,
1585 -0.000046
1586 };
1587
1588 static const float SMALL_FILTER_FLOAT_IMPD[] /* Impulse response */ = {
1589 -0.000020,
1590 -0.000060,
1591 -0.000100,
1592 -0.000139,
1593 -0.000179,
1594 -0.000219,
1595 -0.000259,
1596 -0.000299,
1597 -0.000338,
1598 -0.000378,
1599 -0.000418,
1600 -0.000457,
1601 -0.000497,
1602 -0.000536,
1603 -0.000576,
1604 -0.000615,
1605 -0.000655,
1606 -0.000694,
1607 -0.000733,
1608 -0.000772,
1609 -0.000812,
1610 -0.000851,
1611 -0.000890,
1612 -0.000929,
1613 -0.000967,
1614 -0.001006,
1615 -0.001045,
1616 -0.001083,
1617 -0.001122,
1618 -0.001160,
1619 -0.001199,
1620 -0.001237,
1621 -0.001275,
1622 -0.001313,
1623 -0.001351,
1624 -0.001388,
1625 -0.001426,
1626 -0.001463,
1627 -0.001501,
1628 -0.001538,
1629 -0.001575,
1630 -0.001612,
1631 -0.001649,
1632 -0.001685,
1633 -0.001722,
1634 -0.001758,
1635 -0.001794,
1636 -0.001830,
1637 -0.001866,
1638 -0.001902,
1639 -0.001938,
1640 -0.001973,
1641 -0.002008,
1642 -0.002043,
1643 -0.002078,
1644 -0.002113,
1645 -0.002147,
1646 -0.002182,