Sauts dans les valeurs calculees
Bonjour,
je souhaite tracer la vitesse de groupe d 'un filtre analogique.
J'ai tape ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function [] = gen_butter()
ordre=1;
[b,a]=butter(ordre, 10, 's');
[h,w]=freqs(b,a);
for jj=2:length(w)-1
tgd(jj)=-(unwrap(angle(h(jj+1)))-unwrap(angle(h(jj-1))))/(w(jj+1)-w(jj-1));
end
tgd(1)=tgd(2);
tgd(length(w))=tgd(length(w)-1);
semilogx(w,tgd)
end |
Ca a l'air ok pour ordre=1 ou 2 mais des pics apparaissent pour les valeurs superieures.
Merci.
(Clavier qwerty, teste sur Matlab 2012a et 2010a.)