HilbertTransform Class 
Namespace: Accord.Math
Name  Description  

FHT(Double, FourierTransformDirection) 
Performs the Fast Hilbert Transform over a double[] array.
 
FHT(Complex, FourierTransformDirection) 
Performs the Fast Hilbert Transform over a complex[] array.

The discrete Hilbert transform is a transformation operating on the time domain. It performs a 90 degree phase shift, shifting positive frequencies by +90 degrees and negative frequencies by 90 degrees. It is useful to create analytic representation of signals.
The Hilbert transform can be implemented efficiently by using the Fast Fourier Transform. After transforming a signal from the timedomain to the frequency domain, one can zero its negative frequency components and revert the signal back to obtain the phase shifting.
By applying the Hilbert transform to a signal twice, the negative of the original signal is recovered.
References: