如何组合多个阻带滤波器的滤波器系数-Matlab
我想将几个阻带滤波器组合成一个滤波器,以了解当多个频带被移除时,滤波器如何改变相位 这为两个过滤器提供了一个解决方案,但是如果有两个以上的过滤器带呢 这是一张显示每个单独滤波器的增益和相位的图像 因此,我的问题是:如何组合多个阻带滤波器的滤波器系数-Matlab,matlab,filter,signal-processing,Matlab,Filter,Signal Processing,我想将几个阻带滤波器组合成一个滤波器,以了解当多个频带被移除时,滤波器如何改变相位 这为两个过滤器提供了一个解决方案,但是如果有两个以上的过滤器带呢 这是一张显示每个单独滤波器的增益和相位的图像 因此,我的问题是: 如果我在五个单独的操作中过滤数据,阶段会发生什么 我可以将过滤步骤合并为单个步骤吗 我正在使用Matlab中的butter和freqz函数 [b,a] = butter(order,cutoff/(fs/2),'high'); [h,w] = freqz(b,a,fs); 谢谢
[b,a] = butter(order,cutoff/(fs/2),'high');
[h,w] = freqz(b,a,fs);
谢谢
% 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()
请注意,如果在绘制结果之前对其进行修改,您可能会更清楚地看到结果;相位的不连续性实际上并不存在:它只是从
freqz
返回的相位始终在[-pi,pi]
范围内的结果。您可能还希望通过绘制20*log10(abs(h))
在dB re 1
中绘制响应。谢谢,好的建议。很有趣。如果我卷积滤波器系数,然后相位图应该显示每个阻带从0到-2pi,然后从-2pi到-4pi的阶跃,等等?我试试看。不,如果你把滤波器的相位响应以图形的方式求和,你可以在单相图中观察到5个相位快照