wavelet.h
Go to the documentation of this file.
1 /*
2  Harmonic sinusoidal modelling and tools
3 
4  C++ code package for harmonic sinusoidal modelling and relevant signal processing.
5  Centre for Digital Music, Queen Mary, University of London.
6  This file copyright 2011 Wen Xue.
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.
12 */
13 #ifndef waveletH
14 #define waveletH
15 
20 //--wavelet filter routines--------------------------------------------------
21 void Daubechies(int p, double* h); //computes Daubechies filter
22 void splinewl(int p1, int p2, double* h1, double* h2); //compute spline biorthogonal wavelet filter
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
24 
25 //--periodic DWT and IDWT----------------------------------------------------
26 int dwtpqmf(double* in, int Count, int N, double* h, double* g, int M, double* out);
27 int dwtp(double* in, int Count, int N, double* h, double* g, int M, double* out);
28 int dwtp(double* in, int Count, int N, double* h, int Mh, double* g, int Mg, double* out);
29 int dwtp(double* in, int Count, int N, double* h, int sh, int eh, double* g, int sg, int eg, double* out);
30 void idwtp(double* in, int Count, int N, double* h, double* g, int M, double* out);
31 void idwtp(double* in, int Count, int N, double* h, int Mh, double* g, int Mg, double* out);
32 void idwtp(double* in, int Count, int N, double* h, int sh, int eh, double* g, int sg, int eg, double* out);
33 
34 //--pseudo local cosine with wavelet packet----------------------------------
35 void wavpacqmf(double*** spec, double* data, int Count, int WID, int wid, int M, double* h, double* g);
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);
37 void iwavpacqmf(double* data, double** spec, int Fr, int Wid, int M, double* h, double* g);
38 void iwavpac(double* data, double** spec, int Fr, int Wid, double* h, int hs, int he, double* g, int gs, int ge);
39 
40 #endif
int dwtpqmf(double *in, int Count, int N, double *h, double *g, int M, double *out)
Definition: wavelet.cpp:138
void wavpac(double ***spec, double *data, int Count, int WID, int wid, double *h, int hs, int he, double *g, int gs, int ge)
Definition: wavelet.cpp:881
void iwavpac(double *data, double **spec, int Fr, int Wid, double *h, int hs, int he, double *g, int gs, int ge)
Definition: wavelet.cpp:965
void wavpacqmf(double ***spec, double *data, int Count, int WID, int wid, int M, double *h, double *g)
Definition: wavelet.cpp:757
void idwtp(double *in, int Count, int N, double *h, double *g, int M, double *out)
Definition: wavelet.cpp:372
void iwavpacqmf(double *data, double **spec, int Fr, int Wid, int M, double *h, double *g)
Definition: wavelet.cpp:822
void Daubechies(int p, double *h)
Definition: wavelet.cpp:55
void splinewl(int p1, int p2, double *h1, double *h2)
Definition: wavelet.cpp:549
int dwtp(double *in, int Count, int N, double *h, double *g, int M, double *out)
Definition: wavelet.cpp:198