You are here: Symbol Reference > MtxVec Namespace > Classes > TVec Class > public > TVec.Hilbert Method
MtxVec VCL
ContentsIndex
PreviousUpNext
TVec.Hilbert Method

The fast hilbert transform (FFT based).

Pascal
function Hilbert(const Vec: TVec; const method: THilbertMethod = hmMethod1): TVec; overload;

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 Length and TMtxVec.ComplexComplexproperties of the calling vector are set implicitly to match Vec vector.

var a,b,Re,Im: TVec; azero: double; 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;
Examples on GitHub
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!