SigmaTransform
The SigmaTransform unifies various known signal processing transforms, like the STFT and the wavelet transform, differing only by a specific diffeomorphism.
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
SigmaTransform1D.h
Go to the documentation of this file.
1 #ifndef SIGMATRANSFORM1D_H
2 #define SIGMATRANSFORM1D_H
3 
4 #include <math.h>
5 
6 #include "SigmaTransformN.h"
7 
8 namespace SigmaTransform {
9 
15  class SigmaTransform1D : public SigmaTransform<1> {
16  public:
18  diffFunc<1> sigma = NULL,
19  winFunc<1> window = NULL,
20  const point<1> &Fs = point<1>(0),
21  const point<1> &size = point<1>(0),
22  const std::vector<point<1>> &steps = std::vector<point<1>>(0),
23  actFunc<1> act = minus<1>
24  );
26  diffFunc<1> sigma = NULL,
27  const point<1> &width = 0,
28  const point<1> &Fs = point<1>(0),
29  const point<1> &size = point<1>(0),
30  const std::vector<point<1>> &steps = std::vector<point<1>>(0),
31  actFunc<1> act = minus<1>
32  );
33  };
34 
41  class STFT1D : public SigmaTransform<1> {
42  public:
43  STFT1D(
44  winFunc<1> window = NULL,
45  const point<1> &Fs = point<1>(0),
46  const point<1> &size = point<1>(0),
47  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
48  );
49  STFT1D(
50  const point<1> &width,
51  const point<1> &Fs = point<1>(0),
52  const point<1> &size = point<1>(0),
53  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
54  );
55  };
56 
63  class WaveletTransform1D : public SigmaTransform<1> {
64  public:
66  winFunc<1> window = NULL,
67  const point<1> &Fs = point<1>(0),
68  const point<1> &size = point<1>(0),
69  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
70  );
72  const point<1> &width,
73  const point<1> &Fs = point<1>(0),
74  const point<1> &size = point<1>(0),
75  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
76  );
77  };
78 
85  class CQTransform1D : public SigmaTransform<1> {
86  static const int Q = 8, f_0 = 1;
87  static double cq( const point<1> &x );
88 
89  public:
91  winFunc<1> window = NULL,
92  const point<1> &Fs = point<1>(0),
93  const point<1> &size = point<1>(0),
94  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
95  );
97  const point<1> &width,
98  const point<1> &Fs = point<1>(0),
99  const point<1> &size = point<1>(0),
100  const std::vector<point<1>> &steps = std::vector<point<1>>(0)
101  );
102  };
103 
104 } // namespace SigmaTransform
105 
106 #endif //SIGMATRANSFORM1D_H