Implementation of FHT in C and Python
John Bryan
 The Fast Hartley Transform can be used for real sequence input.

The radix2 DIT Fast Hartley Transform, as well as the radix2 DIT FFT, are implemented in C and Python, checked for correctness, and execution times plotted.

Multiple length random sequences are input. Using the relationship, FHT{x[n]}=Real(FFT{x[n]})Imaginary(FFT{x[n]}), results are verified. In C, the FFTW3 FFT is used to verify. In Python, the numpy fft is used to verify.

C implementation.

Python implementation.

Results

Reference:

Robert Scott, "Doing Hartley Smartly", 2000.