Hilbert transform.
y_h = hilberttrans(y)
This function computes the Hilbert transform of input vector y
and returns it in y_h
.
More precisely, y_h
actually computes the analytical signal from y
. The real part of y_h
contains the original signal y
, whereas the imaginary part of y_h
contains the Hilbert transform.
To obtain the dispersion of a Gaussian line shape from the absorption form, use
x0 = 0; w = 0.1; x = linspace(-1,1,1000)*3; yabs = gaussian(x,x0,w); ydisp = hilberttrans(yabs); ydisp = imag(ydisp); plot(x,yabs,x,ydisp);
You can compare this to the dispersion that's directly provided by gaussian,
[yabs,ydisp0] = gaussian(x,x0,w); plot(x,ydisp,x,ydisp0);
convspec, gaussian, lorentzian, lshape, voigtian