HilbertTransform - crowlogic/arb4j GitHub Wiki

The Hilbert transform is a mathematical operation used in signal processing and complex analysis, named after David Hilbert. It acts on a real-valued function to produce a new orthogonal real-valued function. The Hilbert transform is useful for separating frequency components in a signal and is often used to create analytic signals, which are complex-valued signals with well-defined amplitude and phase. Analytic signals enable easier analysis of instantaneous properties like frequency content and envelope.

Mathematically, the Hilbert transform $H{f(t)}$ of a function $f(t)$ is defined as:

$$ H{f(t)} = (f * (\frac{1}{\pi t}))(t) = P.V. \int_{-\infty}^{\infty} \frac{f(\tau)}{(t - \tau)} d\tau $$

Here, $P.V.$ stands for the Cauchy principal value, which handles the singularity at $t = \tau$ in the integral.