qm-dsp
1.8
|
00001 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ 00002 00003 /* 00004 QM DSP Library 00005 00006 Centre for Digital Music, Queen Mary, University of London. 00007 */ 00008 00009 #ifndef FFT_H 00010 #define FFT_H 00011 00012 class FFT 00013 { 00014 public: 00020 FFT(int nsamples); 00021 ~FFT(); 00022 00037 void process(bool inverse, 00038 const double *realIn, const double *imagIn, 00039 double *realOut, double *imagOut); 00040 00041 private: 00042 class D; 00043 D *m_d; 00044 }; 00045 00046 class FFTReal 00047 { 00048 public: 00056 FFTReal(int nsamples); 00057 ~FFTReal(); 00058 00068 void forward(const double *realIn, 00069 double *realOut, double *imagOut); 00070 00081 void forwardMagnitude(const double *realIn, double *magOut); 00082 00097 void inverse(const double *realIn, const double *imagIn, 00098 double *realOut); 00099 00100 private: 00101 class D; 00102 D *m_d; 00103 }; 00104 00105 #endif