Computes the fast Hilbert transform of a sequence.
The input signal.
Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.
Default: No error
The fast Hilbert transform of the input sequence.
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
where $x\left(t\right)\iff X\left(f\right)$ is a Fourier transform pair and
This node performs the discrete implementation of the Hilbert transform with the aid of the FFT routines based upon the $h\left(t\right)\iff H\left(f\right)$ Fourier transform pair by taking the following steps:
Fourier transform the input sequence X.
Y = F{X}
Set the DC component to zero.
Y_{0} = 0.0
If the sequence Y is an even size, set the Nyquist component to zero.
Y_{Nyq} = 0
The output sequence Y = Inverse FFT [X] is complex and it is returned in one complex array: Y = (Yre,Yim).
Because this node sets the DC and Nyquist components to zero when the number of elements in the input sequence is even, you cannot always recover the original signal with an inverse Hilbert transform. The Hilbert transform works well with bandpass limited signals, which exclude the DC and the Nyquist components.
You can use the Hilbert transform to accomplish the following tasks:
Where This Node Can Run:
Desktop OS: Windows
FPGA: Not supported