FIR filter phase response

With reference to the diagram below, is it correct to say that at the pass band the phase response is linear. It also remains linear in the stop band but it get chunks of π. These jumps happen when the magnitude response goes down to minus infinity dB (theoretically) ?

You are right. Even though the phase jumps at the zeros of the frequency response, such a phase response is usually still called "linear". For a frequency selective filter with frequency response zeros in the stopband, the phase always has discontinuities at the zeros. A purely linear phase response (without jumps) is only possible for filters with no zeros in their frequency response.

The frequency response of your filter can be written as

$$H(e^{j\omega})=|H(e^{j\omega})|e^{j\phi(\omega)}\tag{1}$$

where $\phi(\omega)$ is the phase response with jumps at the zeros, as shown in your figure. For such a linear phase system, the frequency response (1) can equivalently be written as

$$H(e^{j\omega})=A(e^{j\omega})e^{j\hat{\phi}(\omega)}\tag{2}$$

where $A(e^{j\omega})$ is a real-valued but bipolar (i.e. positive and possibly negative) function satisfying $|A(e^{j\omega})|=|H(e^{j\omega})|$. The phase $\hat{\phi}(\omega)$ in (2) is now a purely linear function without any jumps.

• i have to dig it up, but i wrote my own unwrap() function in MATLAB to fix those jumps. i would display phase along with linear magnitude (not dB) and the magnitude would not have the absolute value applied to the sign. $|H(e^{j\omega}|$ would be real, but potentially bipolar. my unwrap() function also dealt with quadratically increasing phase to accommodate a linearly-swept chirp signal. – robert bristow-johnson May 17 '15 at 18:38