I thought phasez simply plots the unwrapped version of a filter's angle. However, I get different plots for the following methods:
% Filter to add reverb to sample -- Requires DSP toolbox% Use the impulse response from a reverb-y building as the time domain filter impulse repsonse[timeFilter, Fs] = audioread('ChurchImpulseResponse-16-44p1-mono-5secs.wav');% For an FIR filter, the time domain coefficients are the taps of the filterh = freqz(timeFilter, [1 zeros(1, length(timeFilter))]);[phi, w] = phasez(h);plot(w, phi);hold on;plot(w, unwrap(angle(h)));xlabel('frequency (rad/sample)');ylabel('phase (radians)')legend({'phasez', 'unwrap(angle)'});
What causes these two plots to behave quite differently for the produced filter? Note that for most filters I've tried, these plot operations are synonymous.
Best Answer