I'm studying for an exam, and this particular practice problem is missing the solution:

Given a causal LTI system where only the real part of the frequency response is known, $$\Re\left\{H(j\omega)\right\}= 1 + \cos(\omega) $$ show that the system has a linear-phase frequency response.

I know that systems with constant group delay have linear phase, but I can't figure out how to get the group delay without the imaginary part, since group delay is $$ \tau(\omega)=\Re\left\{\frac{\mathcal F[th(t)]}{\mathcal F[h(t)]}\right\} $$ and \begin{align} \Re\left\{\mathcal F[th(t)]\right\} &= \Re\left\{j\frac{d}{d\omega}H(j\omega)\right\}\\ & = \Re\left\{\frac{d}{d\omega}[jH_{\rm real}(j\omega)+j^2H_{\rm imag}(j\omega)]\right\}\\ & = -\frac{d}{d\omega}H_{\rm imag}(j\omega) \end{align}

Is my approach right but I made a mistake or can't see some trick, or am I going down the wrong path?


2 Answers 2


I agree with Maximilian Matthé's answer, but I'd like to show you another route to the solution, which might be a bit more straightforward, and which avoids the explicit application of the Hilbert transform.

First of all, note that the inverse Fourier transform of the real part of the frequency response corresponds to the even part of the impulse response:


From $H_R(j\omega)=1+\cos(\omega)=1+\frac12e^{j\omega}+\frac12e^{-j\omega}$ we obtain


Since the system is known to be causal, we have $h(t)=0$ for $t<0$, and, consequently, $h^*(-t)=0$ for $t>0$. So from the right-hand part of $(1)$ we obtain $h(t)=2h_e(t)$, $t>0$. For $t=0$ we have $h(t)=h_e(t)$ because the odd part of $h(t)$ must always equal zero at $t=0$ (if that value even exists). So at $t=0$, $h(t)$ is simply equal to its even part.

In sum, the causal impulse response can be obtained from its even part $h_e(t)$ as


which gives


The corresponding frequency response is


The fact that $H(j\omega)$ is a linear-phase frequency response can most easily be seen by rewriting $(5)$ as


Apart from jumps of $\pi$ at frequencies $\omega_k=(2k+1)\pi$, the phase is linear: $\phi(\omega)=-\omega/2$.

  • $\begingroup$ I understand and agree with your explanation. Is the group delay constant if and only if the system has linear phase, or can the system have linear phase with non-constant group delay? I ask because when I calculate the group delay from the resulting h(t), I get $\tau(\omega) = \frac{cos(\omega)}{1+cos(\omega)}$, which is not constant. $\endgroup$
    – CAJ
    Jan 16, 2017 at 21:13
  • $\begingroup$ Note: both answers are great explanations, I accepted this one because we haven't learned the Hilbert transform yet so are expected to solve the problem without it (as this solution did). $\endgroup$
    – CAJ
    Jan 16, 2017 at 21:18
  • $\begingroup$ @CAJ: The phase is linear and the group delay is constant, which can be seen from Eq. (6), where you have a phase term $e^{-j\omega/2}$ and a real-valued amplitude term. Consequently, the phase is $\phi(\omega)=-\omega/2$, and the group delay is $\tau(\omega)=-d\phi/d\omega=\frac12$. $\endgroup$
    – Matt L.
    Jan 16, 2017 at 22:04
  • $\begingroup$ If $H_R(j\omega) = 1+0.5[e^{j\omega} + e^{-j\omega}] = 0.5[H(j\omega)+H^*(j\omega)]$, that means $H(j\omega)+H^*(j\omega) = 2 + e^{-j\omega}+e^{j\omega} = (1+cos(\omega)-jsin(\omega))+(1+cos(\omega)+jsin(\omega))$. Is it valid to notice that $1+cos(\omega)-jsin(\omega)$ and $1+cos(\omega)+jsin(\omega)$ are complex conjugates and just let H be defined as $1+cos(\omega)-jsin(\omega)$? $\endgroup$
    – CAJ
    Jan 17, 2017 at 0:50
  • $\begingroup$ @CAJ: No, that doesn't work. You might as well write $$H(j\omega)+H^*(j\omega)=(1+\cos(\omega)-j\sin(\omega)-13j-j\log(\omega))+(1+\cos(\omega)+j\sin(\omega)+13j+\log(\omega))$$, and conclude that $H(j\omega)=1+\cos(\omega)-j\sin(\omega)-13j-j\log(\omega)$. $\endgroup$
    – Matt L.
    Jan 17, 2017 at 7:31

You have two kinds information in the question:

  • The system is causal
  • The real part of the Frequency response is given.

Now, (repeating the steps from Wikipedia Entry on Causal Filter)

  1. $h(t)$ is causal, i.e. $h(t)=0, t<0$.
  2. Let $g(t)=\frac{1}{2} (h(t)+h^*(-t))$ which is non-causal, but has hermitian symmetry, hence its Fourier Transform is real.
  3. We know (due to causality) $h(t)=2u(t)g(t)$ where $u(t)$ is the unit-step function
  4. Now, computing Fourier-Transform we get $$ H(\omega) = 2 \mathcal{F}(u(t))*G(\omega) $$ where $*$ is the convolution operator.
  5. Now, we can express this as $$ H(\omega) = \left(\delta(\omega)-\frac{j}{\pi\omega}\right)*G(\omega)=G(\omega)-j\mathcal{H}(G(\omega)) $$ where $\mathcal{H}(G(\omega))$ is the Hilbert Transform of $G(\omega)$. Since we know that $G(\omega)$ is real, $G(\omega)$ equals the real part of $H(\omega)$. Then, $\mathcal{H}(G(\omega))$ is the imaginary part of $H(\omega)$.

So, to get the imaginary part, you need to calculate the Hilbert Transform of $1+\cos(\omega)$ which is given by

$$ \mathcal{H}(1+\cos(\omega))=\sin(\omega). $$

Accordingly, the phase of your system is given by

$$ \phi(\omega) = \tan^{-1}\left(\frac{-\sin(\omega)}{1+\cos(\omega)}\right) $$

Now, if we calculate the derivative regarding omega, we need to get a constant for a linear phase filter:

$$\frac{\partial \tan ^{-1}\left(\frac{-\sin (x)}{\cos (x)+1}\right)}{\partial x}=-\frac{\frac{\cos (x)}{\cos (x)+1}+\frac{\sin ^2(x)}{(\cos (x)+1)^2}}{\frac{\sin ^2(x)}{(\cos (x)+1)^2}+1}=-\frac{1}{2}$$

So, this shows that you have indeed a linear-phase system.

Your way with the group delay is also correct, once you have the imaginary part of your $H(\omega)$ obtained from its Hilbert Transform.


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.