xue@11
|
1 /*
|
xue@11
|
2 Harmonic sinusoidal modelling and tools
|
xue@11
|
3
|
xue@11
|
4 C++ code package for harmonic sinusoidal modelling and relevant signal processing.
|
xue@11
|
5 Centre for Digital Music, Queen Mary, University of London.
|
xue@11
|
6 This file copyright 2011 Wen Xue.
|
xue@11
|
7
|
xue@11
|
8 This program is free software; you can redistribute it and/or
|
xue@11
|
9 modify it under the terms of the GNU General Public License as
|
xue@11
|
10 published by the Free Software Foundation; either version 2 of the
|
xue@11
|
11 License, or (at your option) any later version.
|
xue@11
|
12 */
|
xue@1
|
13 #ifndef waveletH
|
xue@1
|
14 #define waveletH
|
xue@1
|
15
|
Chris@5
|
16 /**
|
Chris@5
|
17 \file wavelet.h - wavelet routines
|
xue@1
|
18 */
|
xue@1
|
19
|
xue@1
|
20 //--wavelet filter routines--------------------------------------------------
|
xue@1
|
21 void Daubechies(int p, double* h); //computes Daubechies filter
|
xue@1
|
22 void splinewl(int p1, int p2, double* h1, double* h2); //compute spline biorthogonal wavelet filter
|
xue@1
|
23 int splinewl(int p1, int p2, double* h, double* hm, double* g, double* gm, int normmode=0, int* points=0);//compute spline biorthogonal wavelet filter
|
xue@1
|
24
|
xue@1
|
25 //--periodic DWT and IDWT----------------------------------------------------
|
xue@1
|
26 int dwtpqmf(double* in, int Count, int N, double* h, double* g, int M, double* out);
|
xue@1
|
27 int dwtp(double* in, int Count, int N, double* h, double* g, int M, double* out);
|
xue@1
|
28 int dwtp(double* in, int Count, int N, double* h, int Mh, double* g, int Mg, double* out);
|
xue@1
|
29 int dwtp(double* in, int Count, int N, double* h, int sh, int eh, double* g, int sg, int eg, double* out);
|
xue@1
|
30 void idwtp(double* in, int Count, int N, double* h, double* g, int M, double* out);
|
xue@1
|
31 void idwtp(double* in, int Count, int N, double* h, int Mh, double* g, int Mg, double* out);
|
xue@1
|
32 void idwtp(double* in, int Count, int N, double* h, int sh, int eh, double* g, int sg, int eg, double* out);
|
xue@1
|
33
|
xue@1
|
34 //--pseudo local cosine with wavelet packet----------------------------------
|
xue@1
|
35 void wavpacqmf(double*** spec, double* data, int Count, int WID, int wid, int M, double* h, double* g);
|
xue@1
|
36 void wavpac(double*** spec, double* data, int Count, int WID, int wid, double* h, int hs, int he, double* g, int gs, int ge);
|
xue@1
|
37 void iwavpacqmf(double* data, double** spec, int Fr, int Wid, int M, double* h, double* g);
|
xue@1
|
38 void iwavpac(double* data, double** spec, int Fr, int Wid, double* h, int hs, int he, double* g, int gs, int ge);
|
xue@1
|
39
|
xue@1
|
40 #endif
|