📄 digitalfilter.cpp
字号:
// DigitalFilter.cpp: implementation of the CDigitalFilter class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "VTDecode.h"
#include "DigitalFilter.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDigitalFilter::CDigitalFilter()
{
}
CDigitalFilter::~CDigitalFilter()
{
}
void CDigitalFilter::BandpassFilter0Init(double LowFre,double UpFre,double SampleFre)
{
double dLFre,dUFre,dTaps[128];
int iFeedBack;
dLFre=LowFre/SampleFre;
dUFre=UpFre/SampleFre;
iFeedBack=nspdFirBandpass(dLFre,dUFre,dTaps,128,NSP_WinHann,0);
if(iFeedBack!=NSP_StsOk)
{
exit(0);
}
nspdFirInit(dTaps,128,NULL,&nspFirstate0);
}
void CDigitalFilter::BandpassFilter1Init(double LowFre,double UpFre,double SampleFre)
{
double dLFre,dUFre,dTaps[128];
int iFeedBack;
dLFre=LowFre/SampleFre;
dUFre=UpFre/SampleFre;
iFeedBack=nspdFirBandpass(dLFre,dUFre,dTaps,128,NSP_WinHann,0);
if(iFeedBack!=NSP_StsOk)
{
exit(0);
}
nspdFirInit(dTaps,128,NULL,&nspFirstate1);
}
void CDigitalFilter::BandpassFilter2Init(double LowFre,double UpFre,double SampleFre)
{
double dLFre,dUFre,dTaps[128];
int iFeedBack;
dLFre=LowFre/SampleFre;
dUFre=UpFre/SampleFre;
iFeedBack=nspdFirBandpass(dLFre,dUFre,dTaps,128,NSP_WinHann,0);
if(iFeedBack!=NSP_StsOk)
{
exit(0);
}
nspdFirInit(dTaps,128,NULL,&nspFirstate2);
}
void CDigitalFilter::BandpassFilter0(double *InputData,double *OutputData,int ItemNumber)
{
nspdbFir(&nspFirstate0,InputData,OutputData,ItemNumber);
}
void CDigitalFilter::BandpassFilter1(double *InputData,double *OutputData,int ItemNumber)
{
nspdbFir(&nspFirstate1,InputData,OutputData,ItemNumber);
}
void CDigitalFilter::BandpassFilter2(double *InputData,double *OutputData,int ItemNumber)
{
nspdbFir(&nspFirstate2,InputData,OutputData,ItemNumber);
}
void CDigitalFilter::Filter0Free()
{
nspFirFree(&nspFirstate0);
}
void CDigitalFilter::Filter1Free()
{
nspFirFree(&nspFirstate1);
}
void CDigitalFilter::Filter2Free()
{
nspFirFree(&nspFirstate2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -