1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ 2 /* 3 QM DSP Library 4 5 Centre for Digital Music, Queen Mary, University of London. 6 This file copyright 2009 Thomas Wilmering. 7 8 This program is free software; you can redistribute it and/or 9 modify it under the terms of the GNU General Public License as 10 published by the Free Software Foundation; either version 2 of the 11 License, or (at your option) any later version. See the file 12 COPYING included with this distribution for more information. 13 */ 14 15 #ifndef QM_DSP_WAVELET_H 16 #define QM_DSP_WAVELET_H 17 18 #include <string> 19 #include <vector> 20 21 class Wavelet 22 { 23 public: 24 enum Type { 25 Haar = 0, 26 Daubechies_2, 27 Daubechies_3, 28 Daubechies_4, 29 Daubechies_5, 30 Daubechies_6, 31 Daubechies_7, 32 Daubechies_8, 33 Daubechies_9, 34 Daubechies_10, 35 Daubechies_20, 36 Daubechies_40, 37 Symlet_2, 38 Symlet_3, 39 Symlet_4, 40 Symlet_5, 41 Symlet_6, 42 Symlet_7, 43 Symlet_8, 44 Symlet_9, 45 Symlet_10, 46 Symlet_20, 47 Symlet_30, 48 Coiflet_1, 49 Coiflet_2, 50 Coiflet_3, 51 Coiflet_4, 52 Coiflet_5, 53 Biorthogonal_1_3, 54 Biorthogonal_1_5, 55 Biorthogonal_2_2, 56 Biorthogonal_2_4, 57 Biorthogonal_2_6, 58 Biorthogonal_2_8, 59 Biorthogonal_3_1, 60 Biorthogonal_3_3, 61 Biorthogonal_3_5, 62 Biorthogonal_3_7, 63 Biorthogonal_3_9, 64 Biorthogonal_4_4, 65 Biorthogonal_5_5, 66 Biorthogonal_6_8, 67 Meyer, 68 69 LastType = Meyer 70 }; 71 72 static std::string getWaveletName(Type); 73 74 static void createDecompositionFilters(Type, 75 std::vector<double> &lpd, 76 std::vector<double> &hpd); 77 }; 78 79 #endif 80