Hilbert Transform - psambit9791/jdsp GitHub Wiki
We apply the Hilbert Transform on a real signal and to create an analytical signal (a complex-valued function that has no negative frequency components) which helps to compute the amplitude envelope, instantaneous phase and instantaneous frequency.
The examples provided here use this signal: Gaussian Pulse with a Central Frequency of 5 Hz samples at 150 Hz.
CODE
Hilbert h = new Hilbert(signal);
h.transform();
// OR
h.transform(true); //To use DFT instead of FFT
double[][] analytical_signal = h.getOutput();
OUTPUTS
CODE
double[] envelope = h.getAmplitudeEnvelope();
CODE
double[] phase = h.getInstantaneousPhase();
int Fs = 150; //Sampling Frequency of the original signal
double[] frequency = h.getInstantaneousFrequency(Fs);