4

我想将几个阻带滤波器组合成一个滤波器,以了解当移除多个波段时滤波器如何改变相位。

这个问题提供了两个滤波器的解决方案,但是如果有两个以上的滤波器频带怎么办?

这是一张显示每个单独滤波器的增益和相位的图像。

所以我的问题是:

  1. 如果我在五个单独的操作中过滤数据,该阶段会发生什么
  2. 我可以将过滤步骤合并为一个步骤吗?

我在 Matlab 中使用了 butter 和 freqz 函数。

[b,a] = butter(order,cutoff/(fs/2),'high');
[h,w] = freqz(b,a,fs);

谢谢。

在此处输入图像描述

4

2 回答 2

3

相位和幅度 (dB) 将相加。如果你想在 Matlab 上看到你需要级联过滤器,例如:

% computes the coefficients
[b1,a1]=butter(8,0.6);          
[b2,a2]=butter(8,0.4,'high');   
[b3,a3]=butter(8,0.2,'high');   
% creates the filters
H1=dfilt.df2t(b1,a1);
H2=dfilt.df2t(b2,a2);
H3=dfilt.df2t(b3,a3);
% creates the cascate filter
Hcas=dfilt.cascade(H1,H2,H3)   
% plot    
Hcas.freqz()
于 2013-04-06T00:22:24.857 回答
2
  1. 在卷积阶段效应累积,总相位效应是所有滤波器的相位效应之和

  2. 是的,你只需要将它们全部卷积以获得新的过滤器: conv(conv(filter1,filter2),filter3)

于 2013-04-05T05:07:11.673 回答