How do you interpret the sign (positive, negative or zero) of the phase spectrum of:

1)a digital filter (the phase spectrum of its frequency response aka phase response of the filter).

2)a signal in output from a digital filter (computing the Fourier transform directly on this signal)

From what I understood if the filter is causal, then it will only introduce delay in the output signal with respect to the input signal. Is it correct?

And above all, is this phase delay visible both in the phase response of the filter and in the phase spectrum of the output signal? And what about the sign of these phases?

  • $\begingroup$ The phase is not simply +, - or, 0. It's the phase of a complex number which is continuous and typically in the range of $[0, 2\pi]$ or $[-\pi,+\pi]$. The delay is related to the phase shift. $\endgroup$
    – Hilmar
    Commented May 8 at 13:18

2 Answers 2


The best way to view the phase of a digital filter that operates in real-time is, first represent a polarity inversion, that is that the linear gain at (or very close to) DC is negative, as a phase offset of $-\pi$ at very small positive frequencies and $+\pi$ at very small negative frequencies. If there is no polarity inversion, the phase at DC is 0.

Then add the phase increment for each frequency increment, which will be negative for increasing positive frequencies and positive for increasing negative frequencies, at least at first for a causal real-time filter.

So here are the definitions:

$$\begin{align} H(e^{j\omega}) &= \Re e\Big\{H(e^{j\omega})\Big\} + j \, \Im m\Big\{H(e^{j\omega})\Big\} \\ \\ &= \Big| H(e^{j\omega}) \Big| e^{j \arg\{H(e^{j\omega})\}} \\ \\ &= \Big| H(e^{j\omega}) \Big| e^{j \phi(\omega)} \\ \end{align}$$


$$ \phi(\omega)\triangleq \arg\Big\{ H(e^{j\omega}) \Big\} $$


$$\begin{align} \arg\Big\{H(e^{j\omega})\Big\} &= \operatorname{atan2}(\Im m\Big\{H(e^{j\omega})\Big\},\, \Re e\Big\{H(e^{j\omega})\Big\}) \\ \\ &=\begin{cases} \arctan\left(\frac{\Im m\{H(e^{j\omega})\}}{\Re e\{H(e^{j\omega})\}}\right) &\text{if } \Re e\Big\{H(e^{j\omega})\Big\} > 0 \\ \\ \frac{\pi}{2} - \arctan\left(\frac{\Re e\{H(e^{j\omega})\}}{\Im m\{H(e^{j\omega})\}}\right) &\text{if } \Im m\Big\{H(e^{j\omega})\Big\} > 0 \\ \\ -\frac{\pi}{2} - \arctan\left(\frac{\Re e\{H(e^{j\omega})\}}{\Im m\{H(e^{j\omega})\}}\right) &\text{if } \Im m\Big\{H(e^{j\omega})\Big\} < 0 \\ \\ \arctan\left(\frac{\Im m\{H(e^{j\omega})\}}{\Re e\{H(e^{j\omega})\}}\right) \pm \pi &\text{if } \Re e\Big\{H(e^{j\omega})\Big\} < 0 \\ \\ \text{undefined} &\text{if } H(e^{j\omega}) = 0 \end{cases} \end{align}$$

So, start with

$$ \phi(0) = \begin{cases} 0 \qquad & H(e^{j0}) > 0 \\ \\ \pm \pi \qquad & H(e^{j0}) < 0 \\ \end{cases} $$

Then increment your phase with:

$$ \phi(\omega + \Delta\omega) = \phi(\omega) + \arg \left\{ \frac{H(e^{j(\omega + \Delta\omega)})}{H(e^{j \omega})} \right\} $$

Do that and you'll see predictable results and a properly unwrapped phase.


The phase response in both cases represents the relative phase shift within the window you are looking at.

For the DFT, this represents the phase shift of one sinusoidal component relative to a sinusoidal component with zero phase shift within the DFT window. For more information on that, this answer may help you.

As for the phase spectrum of a digital filter, it is a similar concept. It describes how different frequency components of the input signal are shifted relative to one another due to the characteristics of the filter. If the phase response is linear in the passband, then the envelope of the signal will experience a delay characterized by the group delay, plus whatever attenuation the filter did. If the phase is nonlinear in the passband, then the envelope of each complex sinusoidal component within the signal will experience a slightly different delay from the rest of the components.

As for the sign of the phases, the phase is typically wrapped $[-\pi,\pi)$, so the sign represents relative phase lag/lead.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.