C# Class Accord.Math.HilbertTransform

Discrete Hilbert Transformation.

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 time-domain 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: Marple, S.L., "Computing the discrete-time analytic signal via FFT," IEEE Transactions on Signal Processing, Vol. 47, No.9 (September 1999). Available on: http://classes.engr.oregonstate.edu/eecs/winter2009/ece464/AnalyticSignal_Sept1999_SPTrans.pdf J. F. Culling, Online, cross-indexed dictionary of DSP terms. Available on: http://www.cardiff.ac.uk/psych/home2/CullingJ/frames_dict.html

Mostrar archivo Open project: accord-net/framework

Public Methods

Method Description
FHT ( Complex data, FourierTransform direction ) : void

Performs the Fast Hilbert Transform over a complex[] array.

FHT ( double data, FourierTransform direction ) : void

Performs the Fast Hilbert Transform over a double[] array.

Method Details

FHT() public static method

Performs the Fast Hilbert Transform over a complex[] array.
public static FHT ( Complex data, FourierTransform direction ) : void
data Complex
direction FourierTransform
return void

FHT() public static method

Performs the Fast Hilbert Transform over a double[] array.
public static FHT ( double data, FourierTransform direction ) : void
data double
direction FourierTransform
return void