Phase-plot when using freqz
    23 views (last 30 days)
  
       Show older comments
    
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
0 Comments
Accepted Answer
  Vieniava
      
 on 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))
More Answers (1)
  Hassan Naseri
      
 on 1 Apr 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 Comment
  gbernardi
 on 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?
See Also
Categories
				Find more on Multirate Signal Processing in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


