z = fftanalytic(f); z = fftanalytic(f,L); z = fftanalytic(f,L,dim);
f | Input data. |
L | Extend or truncate f to this length. |
dim | Dimension to along which to apply the computations. |
z | Analytic signal. |
fftanalytic(f) computes the analytic representation of a real-valued signal f. The analytic representation is computed through the FFT of f. The computations are done along the first non-singleton dimension.
fftanalytic(f,L) acts as before but f is padded with zeros or truncated to length L.
fftanalytic(f,L,dim) in addition allows specifying the dimension along which the computation should be done.
The real part of the analytic representation z equals the signal f and the imaginary part is the Hilbert transform of f.
The instananeous amplitude (a Hilbert envelope) of the signal f can be computed as:
abs(fftanalytic(f));
The instantaneous phase of the function f can be computed as:
angle(fftanalytic(f));