📄 fft.h
字号:
// fft.h: interface for the Cfft class.
//
// This is a slightly modified version of Takuya OOURA's
// original radix 4 FFT package.
//Copyright(C) 1996-1998 Takuya OOURA
// (email: ooura@mmm.t.u-tokyo.ac.jp).
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FFT_H__C6E9A1D3_2D5F_11D3_A208_00A0C996E7F5__INCLUDED_)
#define AFX_FFT_H__C6E9A1D3_2D5F_11D3_A208_00A0C996E7F5__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#define FFT_SIZE 2048
class Cfft
{
public:
void CalcFFT(double * InBuf);
void ResetFFT();
void SetFFTParams( INT ave, double gain, INT type);
BOOL GetFFTData( INT start, INT stop, LONG* OutBuf);
Cfft();
virtual ~Cfft();
private:
BOOL m_Overload;
INT m_LastAve;
double m_Gain;
double m_Clip;
BOOL m_LogMode;
BOOL m_LastLogMode;
INT m_AveSize;
double * SinCosTbl;
double * WindowTbl;
double* pFFTAveBuf;
double* pFFTInBuf;
INT * WorkArea;
void makewt(int nw, int *ip, double *w);
void makect(int nc, int *ip, double *c);
void bitrv2(int n, int *ip, double *a);
void cftfsub(int n, double *a, double *w);
void rftfsub(int n, double *a, int nc, double *c);
void cft1st(int n, double *a, double *w);
void cftmdl(int n, int l, double *a, double *w);
};
#endif // !defined(AFX_FFT_H__C6E9A1D3_2D5F_11D3_A208_00A0C996E7F5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -