📄 dos.cpp
字号:
/*以下程序是数字带通滤波器的设计过程。
其中,n是滤波器的阶数,fln是滤波器的低频,fhn是滤波器的高频,
w是窗函数,这里采用的是汉宁窗。*/
#include "math.h"
void firwin(n,fln,fhn,h)
int n;
double fln,fhn,h[];
{int i,n2,mid;
double s,pi,wc1,wc2,delay;
double win();
pi=4.0*atan(1.0);
if((n%2)==0)
{
n2=n/2-1;
mid=1;
}
else
{
n2=n/2;
mid=0;
}
delay=n/2.0;
wc1=2.0*pi*fln;
wc2=2.0*pi*fhn;
for(i=0;i<=n2;i++)
{s=i-delay;
h[i]=(sin(wc2*s)-sin(wc1*s))/(pi*s);
h[i]=h[i]*win(n+1,i);
h[n-i]=h[i];
}
if(mid==1)
h[n/2]=(wc2-wc1)/pi;
}
double win(int n,int i)
{
double w,pi;
pi=4.0*atan(1.0);
w=0.5*(1.0-cos(2*i*pi/(n-1)));
return(w);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -