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

📄 testfilterdlg.h

📁 在VC下实现FFT对信号滤波,包括实现低通和带通滤波,图形显示
💻 H
字号:
//TestFilterDlg.h : header file

#if !defined(AFX_TESTFILTERDLG_H__AD9BB8F3_9092_4DDC_A179_F28AC9FE6F34__INCLUDED_)
#define AFX_TESTFILTERDLG_H__AD9BB8F3_9092_4DDC_A179_F28AC9FE6F34__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif //_MSC_VER > 1000

#include <Mmsystem.h>

#define TIME_FIELD		0
#define FREQ_FIELD		1

#define MAX_FILE_SIZE 	128

//CTestFilterDlg dialog

class CTestFilterDlg : public CDialog
{
//Construction
public:
	CTestFilterDlg(CWnd* pParent = NULL);	//standard constructor

//Dialog Data
	//{{AFX_DATA(CTestFilterDlg)
	enum { IDD = IDD_TESTFILTER_DIALOG };
	CEdit m_FreqList;
	CStatic	m_CtrlWave2;
	CStatic	m_CtrlFreq;
	CStatic	m_CtrlWave;
	BOOL m_bFilter;
	float fdt;
	float fMaxFreq;
	UINT m_FilterLow;
	UINT m_FilterHigh;
	CFont mWaveFont;
	BOOL m_bBaudPass;
	//}}AFX_DATA

	//ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTestFilterDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	//DDX/DDV support
	//}}AFX_VIRTUAL

//Implementation
protected:
	HICON m_hIcon;

	//Generated message map functions
	//{{AFX_MSG(CTestFilterDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID,LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnBtnGenwave();
	afx_msg void OnBtnFft();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	CDC memWaveDC;            //内存绘图设备
	CDC memWave2DC;           //内存绘图设备
	CDC memFreqDC;            //内存绘图设备	
    CBitmap memBitmapWave;
    CBitmap memBitmapWave2;
    CBitmap memBitmapFreq;

	CDC *pWaveDC;
	CDC *pWave2DC;
	CDC *pFreqDC;
	CRect m_WaveRect;
	CRect m_Wave2Rect;
	CRect m_FreqRect;

	CString SoundFileName;
	
	float fAccWave[N];
	float fAcc2Wave[N];
	float fVocWave[N];
	float fFreqData[N];

	//绘制波形数据
	void DrawWaveData(CDC *pDC,CRect mRect,FLOAT data[],INT ptNum,FLOAT fDataMax,int Mode);
	//设置在波形的范围内
	float  SetWaveDataInScope(FLOAT fValue,FLOAT fMax);
	//绘制频谱数据
	//设置在频谱的范围内
	float SetFreqDataInScope(FLOAT fValue,FLOAT fMax);
};

//{{AFX_INSERT_LOCATION}}

#endif //!defined(AFX_TESTFILTERDLG_H__AD9BB8F3_9092_4DDC_A179_F28AC9FE6F34__INCLUDED_)

⌨️ 快捷键说明

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