Hilbert Transform
The Hilbert transform is a operation that applies a phase shift of either or to a signal in the frequency domain. Positive frequency components get shifted by and negative frequency components get shifted by . The Hilbert transform is used in signal processing to make a number of calculations convenient and is part of the process to find the analytic signal. One use case for the Hilbert transform is to find the envelope of a signal that has been amplitude modulated (i.e. demodulation — extract the message signal from the combined message + carrier signal).
The Hilbert transform is used to create an analytic signal, which is a signal comprising of the original function and it’s Hilbert transform.1
The Hilbert transform of can be thought of as the convolution of with the function . This function is known as the Cauchy kernel.2
This is a placeholder for the reference: fig-original-signal-vs-hilbert-transform shows a frequency and amplitude changing signal (commonly known as a chirp) and its Hilbert transform. Note how the phase of the Hilbert transform is clearly shifted by compared to the original signal (it makes the two look like quadrature signals).
Python
The Python library SciPy provides the scipy.signal.hilbert() function to compute the Hilbert transform of a signal.3
Footnotes
-
Wikipedia (2025, Sep 18). Analytic signal. Retrieved 2025-12-16, from https://en.wikipedia.org/wiki/Analytic_signal. ↩
-
Wikipedia (2025, Nov 13). Hilbert transform. Retrieved 2025-12-16, from https://en.wikipedia.org/wiki/Hilbert_transform. ↩
-
SciPy. SciPy API > Signal processing (scipy.signal) > hilbert. Retrieved 2025-12-17, from https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.hilbert.html. ↩ ↩2