Why does the phase response get cutoff beyond a frequency?
Mostrar comentarios más antiguos
Hi, I am designing some butterworth lowpass filters of different orders and cutoff frequencies to test on some ECG data sampled at 1000 Hz. I am designing them as:
- fc = 10Hz; order = 2
- fc = 20Hz; order = 8
- fc = 40Hz; order = 8
- fc=70Hz; order = 8
I am using the same structure for all the filter designs, with just a change in variable names, like so:
fs = 1000;
fc1 = 10;
N1 = 2;
[b1,a1] = butter(N1,fc1/(fs/2),'low'); %low indicates LPF
figure('Name','LPF 20 Hz');
freqz(b1,a1,L,fs);
However I get a difference in the phase response for the 10Hz order 2 filter and the 20Hz order 8 filter. Here is the phase response of the 10 Hz filter:

and the phase response of the 20 Hz filter:

Can someone please explain why the second phase response is getting cut off abruptly?
Respuesta aceptada
Más respuestas (1)
William Rose
el 30 de Oct. de 2024
0 votos
Check the values returned by freqz. Answering on my cellphone so I’m limited in what I can do. Look for NaNs at high frequencies in the computed 8th order response. The [b,a]=butter() method of specifying a filter can be unstable even at relatively low order. Try z,p,k or second order sections instead.
1 comentario
Shruti
el 2 de Nov. de 2024
Categorías
Más información sobre Digital Filter Analysis en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

