qm-dsp  1.8
FFT.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  QM DSP Library
5 
6  Centre for Digital Music, Queen Mary, University of London.
7 */
8 
9 #ifndef FFT_H
10 #define FFT_H
11 
12 class FFT
13 {
14 public:
20  FFT(int nsamples);
21  ~FFT();
22 
37  void process(bool inverse,
38  const double *realIn, const double *imagIn,
39  double *realOut, double *imagOut);
40 
41 private:
42  class D;
43  D *m_d;
44 };
45 
46 class FFTReal
47 {
48 public:
56  FFTReal(int nsamples);
57  ~FFTReal();
58 
68  void forward(const double *realIn,
69  double *realOut, double *imagOut);
70 
81  void forwardMagnitude(const double *realIn, double *magOut);
82 
97  void inverse(const double *realIn, const double *imagIn,
98  double *realOut);
99 
100 private:
101  class D;
102  D *m_d;
103 };
104 
105 #endif
D * m_d
Definition: FFT.h:101
Definition: FFT.cpp:23
D * m_d
Definition: FFT.h:42
Definition: FFT.h:12
void process(bool inverse, const double *realIn, const double *imagIn, double *realOut, double *imagOut)
Carry out a forward or inverse transform (depending on the value of inverse) of size nsamples...
Definition: FFT.cpp:92
Definition: FFT.h:46
~FFT()
Definition: FFT.cpp:86
FFT(int nsamples)
Construct an FFT object to carry out complex-to-complex transforms of size nsamples.
Definition: FFT.cpp:81