Monday, July 13, 2020

Convolution with the Hartley transform

The Hartley transform can be computed by summing the real and imaginary parts of the Fourier transform.

\begin{equation}\begin{aligned} \mathcal F \mathbf a &= \mathbf x + i\mathbf y \\ \mathcal H \mathbf a &= \mathbf x + \mathbf y, \end{aligned}\end{equation}

where $\mathbf a$, $\mathbf x$, and $\mathbf y$ are real-valued vectors, $\mathcal F$ is the Fourier transform, and $\mathcal H$ is the Hartley transform. It has several useful properties.

  • It is unitary, and also an involution: it is its own inverse.
  • Its output is real-valued, so it can be used with numerical routines that cannot handle complex numbers.
  • It can be computed in $\mathcal O (n \log(n))$ time using standard Fast Fourier Transform (FFT) libraries.