不为巴特沃斯低通滤波器的整个频率范围生成相位图
Phase plot is not generated for entire range of frequencies for butterworth low pass filter
我想设计一个巴特沃斯低通滤波器,看看它的幅度和相位响应。我尝试了以下代码。
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 之间的频率没有相位图)。请帮助我了解此问题的原因以及如何纠正此问题?
是的,这看起来像一个错误。但是你可以制作相同的情节 'by hand':
[H,w] = freqz(b,a,1024,fs);
plot(w, unwrap(angle(H)));
我想设计一个巴特沃斯低通滤波器,看看它的幅度和相位响应。我尝试了以下代码。
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 之间的频率没有相位图)。请帮助我了解此问题的原因以及如何纠正此问题?
是的,这看起来像一个错误。但是你可以制作相同的情节 'by hand':
[H,w] = freqz(b,a,1024,fs);
plot(w, unwrap(angle(H)));