⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fftdoc.h

📁 数字信号处理的快速傅里叶变换(FFT)代码
💻 H
字号:
// FFTDoc.h : interface of the CFFTDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_FFTDOC_H__555051ED_8A99_48AE_B150_403AB2355BF2__INCLUDED_)
#define AFX_FFTDOC_H__555051ED_8A99_48AE_B150_403AB2355BF2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <complex>

using namespace std;

#define	MAXN 512
#define PI 3.1415926


class CFFTDoc : public CDocument
{
protected: // create from serialization only
	CFFTDoc();
	DECLARE_DYNCREATE(CFFTDoc)

// Attributes
private:
	UINT m_N;	//时域序列 x(n) 的点数
	double m_wN;	//频域序列X(k)的基波角频率	
	double ma_xn[MAXN];	//时域序列 x(n)
	double ma_Aw[MAXN],	//频域X(k)的幅频 |X| 序列
		   ma_Pw[MAXN];	//频域X(k)的相频 Arg(X) 序列
	complex<long double> ma_FFT[MAXN];	//FFT频域 X(k) 序列
	complex<long double> ma_DFT[MAXN];	//DFT频域 X(k) 序列

public:
	UINT m_DORF;	//"1"表示FFT,"2"表示DFT


// Operations
public:
	UINT GetN();	//取得时域序列x(n)的当前设置的点数
	void DFT();		//序列的离散傅立叶变换
	void FFT();		//序列的快速傅立叶变换
	void Aw();	//序列快速傅立叶变换的幅频|X|特性
	void Pw();	//序列快速傅立叶变换的相频Arg(X)特性
	void Setxn(const UINT N);	//设置时域序列x(n)的点数、值
	double Getxn(const UINT n);		//取时域序列x(n)的一个点
	double GetAw(const UINT k);		//取幅频|X|序列的一个点
	double GetPw(const UINT k);		//取相频Arg(X)序列的一个点


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFFTDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CFFTDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CFFTDoc)
	afx_msg void OnINPUTXn1();
	afx_msg void OnINPUTXn2();
	afx_msg void OnINPUTXn3();
	afx_msg void OnINPUTXn4();
	afx_msg void OnINPUTXn5();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_FFTDOC_H__555051ED_8A99_48AE_B150_403AB2355BF2__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -