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

时间:2017-12-20 11:59:50

标签: matlab signal-processing digital-filter

我想设计一个Butterworth低通滤波器,并查看其幅度和相位响应。我尝试了以下代码。

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到500 Hz之间的频率没有相位图)。请帮助我理解这个原因以及如何纠正这个问题?

1 个答案:

答案 0 :(得分:1)

是的,这看起来像个错误。但你可以手工制作相同的情节':

[H,w] = freqz(b,a,1024,fs);
plot(w, unwrap(angle(H)));