我想设计一个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);
可以看出,它没有给出所有频率范围的相位图(对于300到500 Hz之间的频率没有相位图)。请帮助我理解这个原因以及如何纠正这个问题?
答案 0 :(得分:1)
是的,这看起来像个错误。但你可以手工制作相同的情节':
[H,w] = freqz(b,a,1024,fs);
plot(w, unwrap(angle(H)));