📄 filt.cs
字号:
//f输入信号
//vl滤波频率下限
//vh滤波频率上限
//n滤波器阶次
//m输入信号长度
//t采样间隔
//a取1,幅值归一化系数
public static double[] filt_dsa(double[] f,double vl,double vh,int m,int n,double t,double a)
{
double[] fs = new double[m];
int i,j;
double x,aa,v1,v2,w;
double pi = Math.PI;
double[] b = new double[n];
aa = pi/n;
v1 = 2.0*pi*vl*t;
v2 = 2.0*pi*vh*t;
w = 2.0*pi;
for(j=1;j<n;j++)
b[j] = a*(1+Math.Cos(aa*j))*(Math.Sin(v2*j)-Math.Sin(v1*j))/(w*j);
for(i=0;i<m;i++)
{
x = (2.0*(v2-v1)/w)*f[i];
for(j=0;j<n;j++)
{
if((j+i)<m)
x += b[j]*f[j+i];
if((i-j)>0)
x += b[j]*f[i-j];
}
fs[i]=x;
}
return fs;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -