The fast hilbert transform (FFT based).
The method forms the imaginary orthogonal part (90 degrees phase shifted version of the original) from the real series by using the fast hilbert transform (FFT based) and saves the complex result in the calling vector. No windowing is performed. Vec must be a real vector or an exception is raised. The
properties of the calling vector are set implicitly to match Vec vector.
Example 1
var a,b,Re,Im: TVec;
azero: TSample;
begin
CreateIt(a,b,Re,Im);
try
a.SetIt(false,[1,2,3,4,5,6,7,8]);
b.Hilbert(a);
Re.RealPart(b);
Im.ImagPart(b);
azero := Re.DotProd(Im);
// if Re is orthogonal to Im, azero becomes 0
finally
FreeIt(a,b,Re,Im);
end;
end;