对于butterworth低通滤波器,不会针对整个频率范围生成相位图

问题描述 投票:2回答:1

我想设计一个巴特沃斯低通滤波器,看看它的幅度和相位响应。我尝试了以下代码。

n = 8;     % order of filter
fs = 1000;   % sampling frequency
fc = 20;     % cutoff frequency
[b a]= butter(n,fc/(fs/2),'low');   % design low pass filter
freqz(b,a,1024,fs);

我得到以下情节:Magnitude and Phase plot

可以看出,它没有给出所有频率范围的相位图(对于频率在300到500Hz之间没有相位图)。请帮助我理解这个原因以及如何纠正这个问题?

matlab signal-processing digital-filter
1个回答
1
投票

是的,这看起来像一个bug。但你可以“手工制作”同样的情节:

[H,w] = freqz(b,a,1024,fs);
plot(w, unwrap(angle(H)));
© www.soinside.com 2019 - 2024. All rights reserved.