#define ORDER (27) //阶数
extern double Buffer[ORDER]; //采样历史数据
extern double Gains[ORDER+1]; //增益数据
double Fir(double Input)
{
double Output=0.0; //数据输出
unsigned int Index; //下标索引
//采样数据移位
for(Index=ORDER;Index>0;Index--) Buffers[Index]=Buffers[Index-1];
Buffers[0]=Input;
//计算输出
for(Index=0;Index
{
Output+=Gains[Index]*Buffers[Index];
}
return Output;
}
double Buffer[ORDER+1];
//27阶FIR椭圆低通滤波系数
//Fsample=1M,Fpass=10K, Gpass=1; Stop=100K, Gstop=0.001
double Gains[ORDER+1]=
{
0.00059697504964033668, /* Expression: 0.00059697504964033668
* Referenced by: '/b(1