kolibrios/programs/other/fft/FHT.txt

29 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

This is a draft version of my Fast Hartley Transform (FHT) routine for KolibriOS
Hartley transform is a real-basis version of well-known Fourier transform:
1) basis function: cas(x) = cos(x) + sin(x);
2) forward transform: H(f) = sum(k=0..N-1) [X(k)*cas(kf/(2*pi*N))]
3) reverse transform: X(k) = 1/N * sum(f=0..N-1) [H(f)*cas(kf/(2*pi*N))]
FHT is known to be faster than most conventional fast Fourier transform (FHT) methods.
It also uses half-length arrays due to no need of imaginary data storage.
FHT can be easily converted to FFT (and back) with no loss of information.
Most of general tasks FFT used for (correlation, convolution, energy spectra, noise
filtration, differential math, phase detection ect.) may be done directly with FHT.
====================================================================================
Copyright (C) A. Jerdev 1999, 2003 and 2010.
The code can be used, changed and redistributed in any KolibriOS application
with only two limitations:
1) the author's name and copyright information cannot be deleted or changed;
2) the code is not allowed to be ported to or distributed with other operation systems.
18/09/2010
Artem Jerdev <kolibri@jerdev.co.uk>