3 * Declare arrays of orthogonal quadrature filter coefficients.
5 * Copyright (C) 1991--94 Wickerhauser Consulting. All Rights Reserved.
6 * May be freely copied for noncommercial use. See
7 * ``Adapted Wavelet Analysis from Theory to Software'' ISBN 1-56881-041-5
8 * by Mladen Victor Wickerhauser [AK Peters, Ltd., Wellesley, Mass., 1994]
11 #ifndef OQFS_HDR_ALREADY_INCLUDED
12 #define OQFS_HDR_ALREADY_INCLUDED
16 //#define SR2 (1.4142135623730950488) /* sqrt(2.0) */
17 #define SR3 (1.7320508075688772935) /* sqrt(3.0) */
18 #define SR10 (3.1622776601683793320) /* sqrt(10.0) */
19 #define SR15 (3.8729833462074168852) /* sqrt(15.0) */
20 #define A (2.6613644236006609279) /* (1/4)sqrt(2)[1+sqrt(10)+sqrt(5+2sqrt(10))] */
21 #define B (0.2818103350856762928) /* 3.0*0.25/A */
24 /****************************************************************
25 * Orthogonal quadrature mirror filters
35 /******************* Beylkin 18 ********************/
39 9.93057653743539270E-02,
40 4.24215360812961410E-01,
41 6.99825214056600590E-01, /* Maximum absolute value */
42 4.49718251149468670E-01,
43 -1.10927598348234300E-01,
44 -2.64497231446384820E-01,
45 2.69003088036903200E-02,
46 1.55538731877093800E-01,
47 -1.75207462665296490E-02,
48 -8.85436306229248350E-02,
49 1.96798660443221200E-02,
50 4.29163872741922730E-02,
51 -1.74604086960288290E-02,
52 -1.43658079688526110E-02,
53 1.00404118446319900E-02,
54 1.48423478247234610E-03,
55 -2.73603162625860610E-03,
56 6.40485328521245350E-04
64 6.40485328521245350E-04,
65 2.73603162625860610E-03,
66 1.48423478247234610E-03,
67 -1.00404118446319900E-02,
68 -1.43658079688526110E-02,
69 1.74604086960288290E-02,
70 4.29163872741922730E-02,
71 -1.96798660443221200E-02,
72 -8.85436306229248350E-02,
73 1.75207462665296490E-02,
74 1.55538731877093800E-01,
75 -2.69003088036903200E-02,
76 -2.64497231446384820E-01,
77 1.10927598348234300E-01,
78 4.49718251149468670E-01,
79 -6.99825214056600590E-01, /* Maximum absolute value */
80 4.24215360812961410E-01,
81 -9.93057653743539270E-02
88 /******************* Coifman 6 ********************/
107 -7.2732619512526E-02,
108 -3.8486484686486E-01,
110 -3.3789766245748E-01,
117 /******************* Coifman 12 ********************/
121 1.63873364631797850E-02,
122 -4.14649367819664850E-02,
123 -6.73725547222998740E-02,
124 3.86110066823092900E-01,
125 8.12723635449606130E-01, /* Maximum absolute value */
126 4.17005184423777600E-01,
127 -7.64885990782645940E-02,
128 -5.94344186464712400E-02,
129 2.36801719468767500E-02,
130 5.61143481936598850E-03,
131 -1.82320887091009920E-03,
132 -7.20549445368115120E-04
140 -7.20549445368115120E-04,
141 1.82320887091009920E-03,
142 5.61143481936598850E-03,
143 -2.36801719468767500E-02,
144 -5.94344186464712400E-02,
145 7.64885990782645940E-02,
146 4.17005184423777600E-01,
147 -8.12723635449606130E-01, /* Maximum absolute value */
148 3.86110066823092900E-01,
149 6.73725547222998740E-02,
150 -4.14649367819664850E-02,
151 -1.63873364631797850E-02
157 /******************* Coifman 18 ********************/
161 -3.79351286437787590E-03,
162 7.78259642567078690E-03,
163 2.34526961421191030E-02,
164 -6.57719112814312280E-02,
165 -6.11233900029556980E-02,
166 4.05176902409616790E-01,
167 7.93777222625620340E-01, /* Maximum absolute value */
168 4.28483476377618690E-01,
169 -7.17998216191705900E-02,
170 -8.23019271063202830E-02,
171 3.45550275733444640E-02,
172 1.58805448636159010E-02,
173 -9.00797613673228960E-03,
174 -2.57451768812796920E-03,
175 1.11751877082696180E-03,
176 4.66216959820144030E-04,
177 -7.09833025057049280E-05,
178 -3.45997731974026950E-05
186 -3.45997731974026950E-05,
187 7.09833025057049280E-05,
188 4.66216959820144030E-04,
189 -1.11751877082696180E-03,
190 -2.57451768812796920E-03,
191 9.00797613673228960E-03,
192 1.58805448636159010E-02,
193 -3.45550275733444640E-02,
194 -8.23019271063202830E-02,
195 7.17998216191705900E-02,
196 4.28483476377618690E-01,
197 -7.93777222625620340E-01, /* Maximum absolute value */
198 4.05176902409616790E-01,
199 6.11233900029556980E-02,
200 -6.57719112814312280E-02,
201 -2.34526961421191030E-02,
202 7.78259642567078690E-03,
203 3.79351286437787590E-03
209 /******************* Coifman 24 ********************/
213 8.92313668220275710E-04,
214 -1.62949201311084900E-03,
215 -7.34616632765623490E-03,
216 1.60689439640692360E-02,
217 2.66823001556288040E-02,
218 -8.12666996803130540E-02,
219 -5.60773133164719500E-02,
220 4.15308407030430150E-01,
221 7.82238930920498790E-01, /* Maximum absolute value */
222 4.34386056491468390E-01,
223 -6.66274742630007520E-02,
224 -9.62204420335636970E-02,
225 3.93344271229132190E-02,
226 2.50822618451469330E-02,
227 -1.52117315272391490E-02,
228 -5.65828668594603800E-03,
229 3.75143615692490270E-03,
230 1.26656192867951870E-03,
231 -5.89020756811437840E-04,
232 -2.59974552319421750E-04,
233 6.23390338657646180E-05,
234 3.12298760780433580E-05,
235 -3.25968044485761290E-06,
236 -1.78498455869993380E-06
244 -1.78498455869993380E-06,
245 3.25968044485761290E-06,
246 3.12298760780433580E-05,
247 -6.23390338657646180E-05,
248 -2.59974552319421750E-04,
249 5.89020756811437840E-04,
250 1.26656192867951870E-03,
251 -3.75143615692490270E-03,
252 -5.65828668594603800E-03,
253 1.52117315272391490E-02,
254 2.50822618451469330E-02,
255 -3.93344271229132190E-02,
256 -9.62204420335636970E-02,
257 6.66274742630007520E-02,
258 4.34386056491468390E-01,
259 -7.82238930920498790E-01, /* Maximum absolute value */
260 4.15308407030430150E-01,
261 5.60773133164719500E-02,
262 -8.12666996803130540E-02,
263 -2.66823001556288040E-02,
264 1.60689439640692360E-02,
265 7.34616632765623490E-03,
266 -1.62949201311084900E-03,
267 -8.92313668220275710E-04
273 /******************* Coifman 30 ********************/
277 -2.12080863336306810E-04,
278 3.58589677255698600E-04,
279 2.17823630484128470E-03,
280 -4.15935878160399350E-03,
281 -1.01311175380455940E-02,
282 2.34081567615927950E-02,
283 2.81680290621414970E-02,
284 -9.19200105488064130E-02,
285 -5.20431632162377390E-02,
286 4.21566206728765440E-01,
287 7.74289603740284550E-01, /* Maximum absolute value. */
288 4.37991626228364130E-01,
289 -6.20359639056089690E-02,
290 -1.05574208705835340E-01,
291 4.12892087407341690E-02,
292 3.26835742832495350E-02,
293 -1.97617790117239590E-02,
294 -9.16423115304622680E-03,
295 6.76418541866332000E-03,
296 2.43337320922405380E-03,
297 -1.66286376908581340E-03,
298 -6.38131296151377520E-04,
299 3.02259519791840680E-04,
300 1.40541148901077230E-04,
301 -4.13404844919568560E-05,
302 -2.13150140622449170E-05,
303 3.73459674967156050E-06,
304 2.06380639023316330E-06,
305 -1.67408293749300630E-07,
306 -9.51579170468293560E-08
314 -9.51579170468293560E-08,
315 1.67408293749300630E-07,
316 2.06380639023316330E-06,
317 -3.73459674967156050E-06,
318 -2.13150140622449170E-05,
319 4.13404844919568560E-05,
320 1.40541148901077230E-04,
321 -3.02259519791840680E-04,
322 -6.38131296151377520E-04,
323 1.66286376908581340E-03,
324 2.43337320922405380E-03,
325 -6.76418541866332000E-03,
326 -9.16423115304622680E-03,
327 1.97617790117239590E-02,
328 3.26835742832495350E-02,
329 -4.12892087407341690E-02,
330 -1.05574208705835340E-01,
331 6.20359639056089690E-02,
332 4.37991626228364130E-01,
333 -7.74289603740284550E-01, /* Maximum absolute value. */
334 4.21566206728765440E-01,
335 5.20431632162377390E-02,
336 -9.19200105488064130E-02,
337 -2.81680290621414970E-02,
338 2.34081567615927950E-02,
339 1.01311175380455940E-02,
340 -4.15935878160399350E-03,
341 -2.17823630484128470E-03,
342 3.58589677255698600E-04,
343 2.12080863336306810E-04
349 /******************* Daubechies 2 ********************/
352 (0.5)*SR2
, /* 0.707106781186547, */
353 (0.5)*SR2
, /* 0.707106781186547 */
361 (0.5)*SR2
, /* 0.707106781186547, */
362 (-0.5)*SR2
, /* -0.707106781186547 */
368 /******************* Daubechies 4 ********************/
372 (1.0+SR3
)/(4.0*SR2
), /* 4.82962913144534160E-01, */
373 (3.0+SR3
)/(4.0*SR2
), /* 8.36516303737807940E-01, */
374 (3.0-SR3
)/(4.0*SR2
), /* 2.24143868042013390E-01, */
375 (1.0-SR3
)/(4.0*SR2
) /* -1.29409522551260370E-01 */
383 (1.0-SR3
)/(4.0*SR2
), /* -1.29409522551260370E-01, */
384 (SR3
-3.0)/(4.0*SR2
), /* -2.24143868042013390E-01, */
385 (3.0+SR3
)/(4.0*SR2
), /* 8.36516303737807940E-01, */
386 -(1.0+SR3
)/(4.0*SR2
) /* -4.82962913144534160E-01 */
392 /******************* Daubechies 6 ********************/
396 0.125*A
, /* 3.32670552950082630E-01, */
397 0.125*(SR2
+2.0*A
-B
), /* 8.06891509311092550E-01, */
398 0.125*(3.0*SR2
-2.0*B
), /* 4.59877502118491540E-01, */
399 0.125*(3.0*SR2
-2.0*A
), /* -1.35011020010254580E-01, */
400 0.125*(SR2
+2.0*B
-A
), /* -8.54412738820266580E-02, */
401 0.125*B
/* 3.52262918857095330E-02 */
409 0.125*B
, /* 3.52262918857095330E-02, */
410 0.125*(A
-SR2
-2.0*B
), /* 8.54412738820266580E-02, */
411 0.125*(3.0*SR2
-2.0*A
), /* -1.35011020010254580E-01, */
412 0.125*(2.0*B
-3.0*SR2
), /* -4.59877502118491540E-01, */
413 0.125*(SR2
+2.0*A
-B
), /* 8.06891509311092550E-01, */
414 -0.125*A
/* -3.32670552950082630E-01 */
420 /******************* Daubechies 8 ********************/
424 2.30377813309000010E-01,
425 7.14846570553000050E-01, /* Maximum absolute value */
426 6.30880767930000030E-01,
427 -2.79837694169999990E-02,
428 -1.87034811718999990E-01,
429 3.08413818359999990E-02,
430 3.28830116670000010E-02,
431 -1.05974017850000000E-02
439 -1.05974017850000000E-02,
440 -3.28830116670000010E-02,
441 3.08413818359999990E-02,
442 1.87034811718999990E-01,
443 -2.79837694169999990E-02,
444 -6.30880767930000030E-01,
445 7.14846570553000050E-01, /* Maximum absolute value */
446 -2.30377813309000010E-01
452 /******************* Daubechies 10 ********************/
456 1.60102397974000000E-01,
457 6.03829269797000020E-01,
458 7.24308528437999980E-01, /* Maximum absolute value. */
459 1.38428145901000000E-01,
460 -2.42294887066000000E-01,
461 -3.22448695850000020E-02,
462 7.75714938400000050E-02,
463 -6.24149021300000020E-03,
464 -1.25807519990000000E-02,
465 3.33572528500000010E-03
473 3.33572528500000010E-03,
474 1.25807519990000000E-02,
475 -6.24149021300000020E-03,
476 -7.75714938400000050E-02,
477 -3.22448695850000020E-02,
478 2.42294887066000000E-01,
479 1.38428145901000000E-01,
480 -7.24308528437999980E-01, /* Maximum absolute value. */
481 6.03829269797000020E-01,
482 -1.60102397974000000E-01
488 /******************* Daubechies 12 ********************/
492 1.11540743350000000E-01,
493 4.94623890397999980E-01,
494 7.51133908021000000E-01, /* Maximum absolute value. */
495 3.15250351709000010E-01,
496 -2.26264693965000010E-01,
497 -1.29766867567000010E-01,
498 9.75016055869999950E-02,
499 2.75228655299999990E-02,
500 -3.15820393180000010E-02,
501 5.53842200999999980E-04,
502 4.77725751100000020E-03,
503 -1.07730108500000000E-03
511 -1.07730108500000000E-03,
512 -4.77725751100000020E-03,
513 5.53842200999999980E-04,
514 3.15820393180000010E-02,
515 2.75228655299999990E-02,
516 -9.75016055869999950E-02,
517 -1.29766867567000010E-01,
518 2.26264693965000010E-01,
519 3.15250351709000010E-01,
520 -7.51133908021000000E-01, /* Maximum absolute value. */
521 4.94623890397999980E-01,
522 -1.11540743350000000E-01
528 /******************* Daubechies 14 ********************/
532 7.78520540849999970E-02,
533 3.96539319482000000E-01,
534 7.29132090845999950E-01, /* Maximum absolute value. */
535 4.69782287405000000E-01,
536 -1.43906003928999990E-01,
537 -2.24036184993999990E-01,
538 7.13092192669999990E-02,
539 8.06126091510000060E-02,
540 -3.80299369350000010E-02,
541 -1.65745416310000000E-02,
542 1.25509985560000000E-02,
543 4.29577973000000010E-04,
544 -1.80164070400000000E-03,
545 3.53713800000000020E-04
553 3.53713800000000020E-04,
554 1.80164070400000000E-03,
555 4.29577973000000010E-04,
556 -1.25509985560000000E-02,
557 -1.65745416310000000E-02,
558 3.80299369350000010E-02,
559 8.06126091510000060E-02,
560 -7.13092192669999990E-02,
561 -2.24036184993999990E-01,
562 1.43906003928999990E-01,
563 4.69782287405000000E-01,
564 -7.29132090845999950E-01, /* Maximum absolute value. */
565 3.96539319482000000E-01,
566 -7.78520540849999970E-02
572 /******************* Daubechies 16 ********************/
576 5.44158422430000010E-02,
577 3.12871590914000020E-01,
578 6.75630736296999990E-01, /* Maximum absolute value. */
579 5.85354683654000010E-01,
580 -1.58291052559999990E-02,
581 -2.84015542961999990E-01,
582 4.72484573999999990E-04,
583 1.28747426619999990E-01,
584 -1.73693010020000010E-02,
585 -4.40882539310000000E-02,
586 1.39810279170000000E-02,
587 8.74609404700000050E-03,
588 -4.87035299299999960E-03,
589 -3.91740372999999990E-04,
590 6.75449405999999950E-04,
591 -1.17476784000000000E-04
599 -1.17476784000000000E-04,
600 -6.75449405999999950E-04,
601 -3.91740372999999990E-04,
602 4.87035299299999960E-03,
603 8.74609404700000050E-03,
604 -1.39810279170000000E-02,
605 -4.40882539310000000E-02,
606 1.73693010020000010E-02,
607 1.28747426619999990E-01,
608 -4.72484573999999990E-04,
609 -2.84015542961999990E-01,
610 1.58291052559999990E-02,
611 5.85354683654000010E-01,
612 -6.75630736296999990E-01, /* Maximum absolute value. */
613 3.12871590914000020E-01,
614 -5.44158422430000010E-02
620 /******************* Daubechies 18 ********************/
624 3.80779473639999980E-02,
625 2.43834674613000010E-01,
626 6.04823123690000020E-01,
627 6.57288078050999980E-01, /* Maximum absolute value */
628 1.33197385824999990E-01,
629 -2.93273783279000000E-01,
630 -9.68407832229999930E-02,
631 1.48540749337999990E-01,
632 3.07256814790000010E-02,
633 -6.76328290610000020E-02,
634 2.50947114999999980E-04,
635 2.23616621239999990E-02,
636 -4.72320475800000040E-03,
637 -4.28150368199999970E-03,
638 1.84764688300000000E-03,
639 2.30385764000000010E-04,
640 -2.51963189000000020E-04,
641 3.93473200000000030E-05
649 3.93473200000000030E-05,
650 2.51963189000000020E-04,
651 2.30385764000000010E-04,
652 -1.84764688300000000E-03,
653 -4.28150368199999970E-03,
654 4.72320475800000040E-03,
655 2.23616621239999990E-02,
656 -2.50947114999999980E-04,
657 -6.76328290610000020E-02,
658 -3.07256814790000010E-02,
659 1.48540749337999990E-01,
660 9.68407832229999930E-02,
661 -2.93273783279000000E-01,
662 -1.33197385824999990E-01,
663 6.57288078050999980E-01, /* Maximum absolute value */
664 -6.04823123690000020E-01,
665 2.43834674613000010E-01,
666 -3.80779473639999980E-02
672 /******************* Daubechies 20 ********************/
676 2.66700579010000010E-02,
677 1.88176800078000000E-01,
678 5.27201188931999960E-01,
679 6.88459039454000000E-01, /* Maximum absolute value */
680 2.81172343661000020E-01,
681 -2.49846424326999990E-01,
682 -1.95946274376999990E-01,
683 1.27369340336000000E-01,
684 9.30573646040000060E-02,
685 -7.13941471659999970E-02,
686 -2.94575368219999990E-02,
687 3.32126740589999970E-02,
688 3.60655356700000010E-03,
689 -1.07331754830000000E-02,
690 1.39535174700000000E-03,
691 1.99240529500000020E-03,
692 -6.85856695000000030E-04,
693 -1.16466855000000000E-04,
694 9.35886700000000050E-05,
695 -1.32642030000000010E-05
703 -1.32642030000000010E-05,
704 -9.35886700000000050E-05,
705 -1.16466855000000000E-04,
706 6.85856695000000030E-04,
707 1.99240529500000020E-03,
708 -1.39535174700000000E-03,
709 -1.07331754830000000E-02,
710 -3.60655356700000010E-03,
711 3.32126740589999970E-02,
712 2.94575368219999990E-02,
713 -7.13941471659999970E-02,
714 -9.30573646040000060E-02,
715 1.27369340336000000E-01,
716 1.95946274376999990E-01,
717 -2.49846424326999990E-01,
718 -2.81172343661000020E-01,
719 6.88459039454000000E-01, /* Maximum absolute value */
720 -5.27201188931999960E-01,
721 1.88176800078000000E-01,
722 -2.66700579010000010E-02
728 /******************* Vaidyanathan 24 ********************/
732 -6.29061181907475230E-05,
733 3.43631904821029190E-04,
734 -4.53956619637219290E-04,
735 -9.44897136321949270E-04,
736 2.84383454683556460E-03,
737 7.08137504052444710E-04,
738 -8.83910340861387800E-03,
739 3.15384705589700400E-03,
740 1.96872150100727140E-02,
741 -1.48534480052300990E-02,
742 -3.54703986072834530E-02,
743 3.87426192934114400E-02,
744 5.58925236913735480E-02,
745 -7.77097509019694100E-02,
746 -8.39288843661128300E-02,
747 1.31971661416977720E-01,
748 1.35084227129481260E-01,
749 -1.94450471766478170E-01,
750 -2.63494802488459910E-01,
751 2.01612161775308660E-01,
752 6.35601059872214940E-01, /* Maximum absolute value. */
753 5.72797793210734320E-01,
754 2.50184129504662180E-01,
755 4.57993341109767180E-02
763 4.57993341109767180E-02,
764 -2.50184129504662180E-01,
765 5.72797793210734320E-01,
766 -6.35601059872214940E-01, /* Maximum absolute value. */
767 2.01612161775308660E-01,
768 2.63494802488459910E-01,
769 -1.94450471766478170E-01,
770 -1.35084227129481260E-01,
771 1.31971661416977720E-01,
772 8.39288843661128300E-02,
773 -7.77097509019694100E-02,
774 -5.58925236913735480E-02,
775 3.87426192934114400E-02,
776 3.54703986072834530E-02,
777 -1.48534480052300990E-02,
778 -1.96872150100727140E-02,
779 3.15384705589700400E-03,
780 8.83910340861387800E-03,
781 7.08137504052444710E-04,
782 -2.84383454683556460E-03,
783 -9.44897136321949270E-04,
784 4.53956619637219290E-04,
785 3.43631904821029190E-04,
786 6.29061181907475230E-05
800 #endif /* OQFS_HDR_ALREADY_INCLUDED */