📄 firfilterdlg.h
字号:
// FIRFilterDlg.h : header file
//
#if !defined(AFX_FIRFILTERDLG_H__DEAE9ADC_4A91_4D75_ABEB_D12908E353F7__INCLUDED_)
#define AFX_FIRFILTERDLG_H__DEAE9ADC_4A91_4D75_ABEB_D12908E353F7__INCLUDED_
typedef struct
{
double real;
double image;
}Complex;
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CFIRFilterDlg dialog
class CFIRFilterDlg : public CDialog
{
// Construction
public:
CFIRFilterDlg(CWnd* pParent = NULL); // standard constructor
void DrawCoordinate(); //画picture控件内网格的函数
void DrawScale(); //画刻度的函数
void GetSinData(int N,int M,double T,Complex dataout[]); //获取正弦曲线的数据
// void GetNoiseData(int N,int M,double T,Complex noisedataout[]);
void DrawSinWave(int N, int M,Complex data[]); //画正弦曲线的函数
void FFT(int N, int M, Complex data2[]); //FFT函数
void DrawInPic2(int N, Complex data1[]); //画正弦信号加干扰信号频谱的函数
void DrawOriginalSinWave(); //画原始正弦输入信号的函数
void UpdateShowText();
void FirFunction(Complex A[], Complex B[]); //滤波器设置函数
void CreateFirFilter(int N,int FilterKind,int WindowKind,Complex inputdata2[]); //创建滤波器函数
void myconv(Complex A[],Complex B[],Complex C[],int N); //卷积函数
void DrawSYS3(int N,Complex data1[]); //画数字滤波器幅频响应的函数
void DrawSYS1(int N,Complex data1[]); //画数字滤波器单位脉冲响应的函数
void DrawOutputSpectrum(int N,Complex data1[]); //画滤波后信号频谱的函数
void DrawOutputWave(int N, Complex data1[]); //画滤波后信号的波形
void MainFunction(); //主函数
int period; //正弦曲线的周期
int amplitude; //正弦曲线的幅值
// int noiper;
// int noiamp;
double disturbamp;//干扰信号的幅值
double disturbper;//干扰信号的周期
/*************滤波器的参数设置*******************/
int highcutfrequency; //高通截止频率
int lowcutfrequency; //低通截止频率
int cutofffrequency; //截止频率
int windowlength; //窗口长度
// Dialog Data
//{{AFX_DATA(CFIRFilterDlg)
enum { IDD = IDD_FIRFILTER_DIALOG };
CComboBox m_window_type;
CComboBox m_filter_type;
CScrollBar m_period;
CScrollBar m_amplitude;
CString m_disturbamp;
CString m_disturbper;
CString m_window_length;
CString m_cutoff_frequency;
CString m_low_cutfrequency;
CString m_high_cutfrequency;
CString m_ampmsg;
CString m_permsg;
CString m_highcutmsg;
CString m_lowcutmsg;
CString m_cutmsg;
CString m_unitcut;
CString m_unithighcut;
CString m_unitlowcut;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFIRFilterDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CFIRFilterDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
virtual void OnOK();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnChangeEditDisturbamp();
afx_msg void OnChangeEditDisturbper();
afx_msg void OnSelchangeFilterType();
afx_msg void OnSelchangeWindowType();
afx_msg void OnChangeCutoffFrequency();
afx_msg void OnChangeLowCutfrequency();
afx_msg void OnChangeHighCutfrequency();
afx_msg void OnChangeWindowLength();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FIRFILTERDLG_H__DEAE9ADC_4A91_4D75_ABEB_D12908E353F7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -