Phase-plot when using freqz

57 vues (au cours des 30 derniers jours)
Alex
Alex le 25 Mar 2011
Hi all.
Why does these two methods not create the same plot?
figure()
G3=[0.0178750173569734]
num3=[1,-2.22044604925031e-16,-1.00000000000000]
den3=[1,-1.96419015432470,0.964249965286053]
freqz(G3*num3,den3,1000,44100);
ax = findall(gcf, 'Type', 'axes');
set(ax, 'XLim', [0 500]), ylim([-15 1])
Amplitude-plot is the same, but phae plot differ from this one:
[H,w]=freqz(G3*num3,den3,1000,44100);
figure(), subplot(2,1,1)
plot(w,20*log10(abs(H)))
title('Frekvenskarakteristik')
xlabel('Frekvens [Hz]'), ylabel('Amplitude [dB]')
axis([0 500 -15 1]), grid
subplot(2,1,2)
plot(w,angle(H))
xlabel('Frekvens [Hz]'), ylabel('Fase')
axis([0 500 -100 50]), grid

Réponse acceptée

Vieniava
Vieniava le 25 Mar 2011
It is a matter of expressing angle in degrees or radians. Replace:
plot(w,angle(H))
with
plot(w, 360/(2*pi)*angle(H))
  1 commentaire
Alex
Alex le 25 Mar 2011
Thanks!!

Connectez-vous pour commenter.

Plus de réponses (1)

Hassan Naseri
Hassan Naseri le 1 Avr 2011
You still need to unwrap the result to be the same as freqz output:
unwrap(angle(h)
or if you want it in degrees:
360/(2*pi)*unwrap(angle(H))
  1 commentaire
gbernardi
gbernardi le 8 Nov 2012
This topic could be dead now, but I'd still like to point out that in some cases I cannot obtain the same result of freqz, although I perform both rad2deg conversion and phase unwrapping...
Has anybody experience this problem?

Connectez-vous pour commenter.

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by