Matlab says

x = hilbert(xr) returns a complex helical sequence, sometimes called the analytic signal, from a real data sequence.

How did the name complex helical come about? How is it related to analytic signal?


1 Answer 1


The description complex helical sequence indicates that it is a sequence of complex numbers that, when plotted in three dimensions (real part, imaginary part, position in the sequence), resembles a screw, or helix.

See this illustration (by RobHar, on Wikimedia Commons): helix shape

From a mathematical point of view, all signals can be decomposed into complex sinusoids (sine waves), which are terms of the form $A(x) = e^{(\omega x +\phi)i}$. This is an often useful perspective. As $x$ is varied, $A(x)$ describes a circle in the complex plane; plotted in three dimensions, it is the helix from above.

Real-life signals normally consist of real numbers only, i.e. the imaginary part is always zero. This means that the complex sinusoids of which it is composed come in mirror pairs, where one runs clockwise and one anticlockwise; otherwise (frequency, amplitude, phase), they are identical. In such a pair, the imaginary parts cancel, and the result is a real-only signal.

An analytic signal is made from a real signal by removing one half from each of those pairs so that all remaining sinusoids move in the same direction. It is no longer real-valued, i.e. the imaginary part is in general non-zero, but the real part is identical to the original signal.

(Technically, the sense of rotation is considered the sign of the frequency $\omega$, and an analytic signal only contains sinusoids with non-negative frequency.)


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.