FFT.h
上传用户:huifengb
上传日期:2007-12-27
资源大小:334k
文件大小:1k
源码类别:

多媒体

开发平台:

Visual C++

  1. // FFT.h: interface for the CFFT class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_FFT_H__1472CC02_8CA0_11D3_AD15_5254ABDDD71D__INCLUDED_)
  5. #define AFX_FFT_H__1472CC02_8CA0_11D3_AD15_5254ABDDD71D__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. //复数定义
  10. typedef struct 
  11. {
  12. double re;
  13. double im;
  14. }COMPLEX;
  15. class CFFT  
  16. {
  17. public:
  18. void FFTSignal(
  19.          int       nPower,          // must be a power of 2 
  20.          double    *RealIn,              // array of input's real samples 
  21.          double    *ImaginaryIn,         // array of input's imag samples 
  22.      double    *RealOut,             // array of output's reals 
  23.          double    *ImaginaryOut         // array of output's imaginaries 
  24. );
  25. void IFFTSignal(
  26. int       nPower,          // must be a power of 2 
  27. double    *RealIn,              // array of input's real samples 
  28. double    *ImaginaryIn,         // array of input's imag samples 
  29. double    *RealOut,             // array of output's reals 
  30. double    *ImaginaryOut         // array of output's imaginaries 
  31. );
  32. CFFT();
  33. virtual ~CFFT();
  34. private:
  35.   void FFT(COMPLEX *TD,COMPLEX *FD,int power);
  36. void IFFT(COMPLEX *FD,COMPLEX *TD,int power);
  37. };
  38. #endif // !defined(AFX_FFT_H__1472CC02_8CA0_11D3_AD15_5254ABDDD71D__INCLUDED_)