Fast Hilbert Transform VI
- Updated2025-03-14
- 3 minute(s) read
Computes the fast Hilbert transform of the input sequence X.

Inputs/Outputs
![]() X specifies the number of elements in the data array. ![]() Hilbert{X} is the fast Hilbert transform of the input sequence. ![]() error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. |
The Hilbert transform of a function x(t) is defined as

Using Fourier identities, you can show the Fourier transform of the Hilbert transform of x(t) is
h(t) ⇔ H(f) = - j sgn(f) X(f),where x(t) ⇔ X(f) is a Fourier transform pair and

The Fast Hilbert Transform VI performs the discrete implementation of the Hilbert transform with the aid of the FFT routines based upon the h(t) ⇔ H(f) Fourier transform pair by taking the following steps.
-
Fourier transform the input sequence X
Y = F{X}
-
Set the DC component to zero
Y0 = 0.0
-
If the sequence Y is an even size, set the Nyquist component to zero
YNyq = 0
-
Multiply the positive harmonics by -j.
-
Multiply the negative harmonics by j. Call the new sequence H, which is of the form
Hk = –jsgn(k)Yk
-
Inverse Fourier transform H to obtain the Hilbert transform of X.
Refer to the output format of the Complex FFT instance of the FFT VI for more information.
You use the Hilbert transform to extract instantaneous phase information and obtain the single-sideband spectra, obtain the envelope of an oscillating signal, detect echoes, and reduce sampling rates.
The output sequence Y = Inverse FFT [X] is complex and it is returned in one complex array: Y = (Yre,Yim).
Examples
Refer to the following example files included with LabVIEW.
- labview\examples\Signal Processing\Transforms\Echo Detector.vi