我目前正在尝试对模拟 IIR 滤波器进行窗口化以获得 FIR 滤波器。虽然我意识到 matlab 中存在 fir1 函数,但我想知道是否可以逐步完成以产生 0 Hz 的陷波滤波器以消除系统中的任何直流增益。但是,我很快意识到我可能不知道自己在做什么 :)
首先,我创建了一个包含我正在寻找的特征的巴特沃斯过滤器,只是为了进行比较。一旦创建了 Chebyshev II 模拟滤波器,就可以查看幅度和相位响应。它没有显示 0 Hz 的带阻,但我的猜测是因为它还没有被窗口化来显示这个结果?我也不太确定如何组合窗口和模拟滤波器,如果有人指出我正确的方向,我会喜欢它:(
Fs = 250;
n = 5;
Rs = 40;
Wn = [0.1*2/Fs, 0.2*2/Fs];
[b0,a0] = butter(3,Wn,'stop');
[b1,a1] = cheby2(n,Rs,Wn,'stop','s');
freqz(b0, a0, 4096, Fs);
w = triang(250);
y = filter(b1,a1,w);