Version:

Last Modified: January 9, 2017

Computes the fast Hartley transform (FHT) of a sequence.

The input sequence and a valid power of 2.

To properly compute the FHT of **x**, the number of elements, n, in the sequence must be a valid power of 2.

$n={2}^{m}$

If the number of elements in **x** is not a valid power of 2, the node sets **Hartley{x}** to an empty array and returns an error.

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

**Default: **No error

The Hartley transform of the input sequence.

The Hartley transform of a function *x*(*t*) is defined by the following equation:

$X\left(f\right)={\int}_{-\infty}^{\infty}x\left(t\right)\mathrm{cas}\left(2\pi ft\right)dt$

where $\mathrm{cas}\left(x\right)=\mathrm{cos}\left(x\right)+\mathrm{sin}\left(x\right)$.

If *Y* represents the output sequence **Hartley{x}** of this node, then *Y* is obtained through the discrete implementation of the Hartley integral

${Y}_{k}=\underset{i=1}{\overset{n-1}{\sum}}{X}_{i}\mathrm{cas}\left(\frac{2\pi ik}{n}\right)$

for *k* = 1, 2, ..., *n*-1,

where *n* is the number of elements in **x**.

The Hartley transform maps real-valued sequences into real-valued frequency domain sequences. You can use it instead of the Fourier transform to convolve signals, deconvolve signals, correlate signals, and find the power spectrum. You also can derive the Fourier transform from the Hartley transform.

When the sequences to be processed are real-valued sequences, the Fourier transform produces complex-valued sequences in which half of the information is redundant. The advantage of using the Hartley transform instead of the Fourier transform is that the Hartley transform uses half the memory to produce the same information the FFT produces. Further, the FHT is calculated in place and is as efficient as the Fourier transform. The disadvantage of the FHT is that the size of the input sequence must be a valid power of 2.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported