In the frequency domain I have the following function:

$$ H(f)=A(f)\cdot e^{i\beta(f)} $$

Where both $A(f)$ and $\beta(f)$ are known functions. The thing I would like to do is to model the response of this filter in the time domain to an incoming discrete signal ($x[n]$) according to:

$$ y[n]=h[n]\otimes x[n] $$


$$ h[n]=\frac{1}{f_{s}}\int_{-\frac{f_{s}}{2}}^{\frac{f_{s}}{2}}H(f)\cdot e^{2\pi i f n/f_{s}}df $$

When I use a real valued filter, e.g. $h[n]=0.5$ for all values of n, the resulting signal is also real valued. However, when I add an imaginary part to the filter, e.g. $h[n]=0.5+0.5i$ the resulting real part of the signal is the same as for $h[n]=0.5$ and the output signal contains an imaginary part, even though this should only be a phase shift.

How do I convert this to a real signal with a phase shift?

Thanks in advance

  • $\begingroup$ A phase shift IS the addition of an imaginary part. Are you confusing delay with phase shift? $\endgroup$ Jan 30, 2020 at 20:41

1 Answer 1


A real signal with a phase shift does not technically exist since phase is $e^{j\phi}$, so requires an imaginary component except for phases that are modulo $\pi$. (The phase of a real signal is $0$ or $\pi$ radians only). You may be actually looking for a time delay. A constant time delay has a linear phase with frequency, and for the result to be real in time, the frequency must be complex conjugate symmetric. So to create a real only time delay use a linear phase in frequency that is complex conjugate symmetric such as the plot below.

enter image description here

If the delay in time need not be the same for all frequency components of the signal, then the phase response in frequency need not be linear (resulting in group delay variation)- but to be real in time the requirement for complex conjugate symmetry still holds.

See my related "DSP Puzzle" focusing on this confusion of phase and delay: $9\rm V$ Battery with $45^\circ$ phase


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.