📄 filterds2008butterworth.c
字号:
/*巴特沃斯滤波器;
ln:为滤波器的阶次N;k: 第k个极点;n:分子分母多项式长度;d[]为分子系数;c[]为分母系数;*/
void main()
{
int ln,k,n,i;
double d[],c[];
double pi,tmp;
ln=
pi=4.0*atan(1.0);
/*初始化d[],c[],分子分母常数项必为1。*/
d[0]=1.0;
c[0]=1.0;
for(i=1;i<=n;i++)
{ d[i]=0.0;
c[i]=0.0;
}
tmp=(k+1)- (ln+1.0)/2.0;
if(tmp==0.0)
{ c[1]=1.0; } //一阶系统1/(p+1);
else
{ c[1]=-2.0*cos((2*(k+1)+ln-1)*pi/(2*ln)); //二阶系统1/(p^2-2cos((2k+N-1)pi/2N)+1);
c[2]=1.0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -