Discrete Hartley Transform
Discrete Hartley Transform
A discrete Hartley transform (DHT) is a Fourier-related transform of discrete, periodic data similar to the
discrete Fourier transform (DFT), with analogous applications in signal processing and related fields. Its
main distinction from the DFT is that it transforms real inputs to real outputs, with no intrinsic involvement
of complex numbers. Just as the DFT is the discrete analogue of the continuous Fourier transform (FT), the
DHT is the discrete analogue of the continuous Hartley transform (HT), introduced by Ralph V. L. Hartley
in 1942.[1]
Because there are fast algorithms for the DHT analogous to the fast Fourier transform (FFT), the DHT was
originally proposed by Ronald N. Bracewell in 1983[2] as a more efficient computational tool in the
common case where the data are purely real. It was subsequently argued, however, that specialized FFT
algorithms for real inputs or outputs can ordinarily be found with slightly fewer operations than any
corresponding algorithm for the DHT.
Definition
Formally, the discrete Hartley transform is a linear, invertible function H: Rn → Rn (where R denotes the
set of real numbers). The N real numbers x0 , ..., xN−1 are transformed into the N real numbers H0 , ..., HN−1
according to the formula
confused with cis(z) = eiz = cos(z) + i sin(z), or e−iz = cis(−z) which appears in the DFT definition
(where i is the imaginary unit).
As with the DFT, the overall scale factor in front of the transform and the sign of the sine term are a matter
of convention. Although these conventions occasionally vary between authors, they do not affect the
essential properties of the transform.
Properties
The transform can be interpreted as the multiplication of the vector (x0 , ...., xN−1 ) by an N-by-N matrix;
therefore, the discrete Hartley transform is a linear operator. The matrix is invertible; the inverse
transformation, which allows one to recover the xn from the Hk, is simply the DHT of Hk multiplied by
1/N. That is, the DHT is its own inverse (involutory), up to an overall scale factor.
The DHT can be used to compute the DFT, and vice versa. For real inputs xn , the DFT output Xk has a real
part (Hk + HN−k)/2 and an imaginary part (HN−k − Hk)/2. Conversely, the DHT is equivalent to computing
the DFT of xn multiplied by 1 + i, then taking the real part of the result.
As with the DFT, a cyclic convolution z = x∗y of two vectors x = (xn ) and y = (yn ) to produce a vector z =
(zn ), all of length N, becomes a simple operation after the DHT. In particular, suppose that the vectors X, Y,
and Z denote the DHT of x, y, and z respectively. Then the elements of Z are given by:
where we take all of the vectors to be periodic in N (XN = X0 , et cetera). Thus, just as the DFT transforms a
convolution into a pointwise multiplication of complex numbers (pairs of real and imaginary parts), the
DHT transforms a convolution into a simple combination of pairs of real frequency components. The
inverse DHT then yields the desired vector z. In this way, a fast algorithm for the DHT (see below) yields a
fast algorithm for convolution. (This is slightly more expensive than the corresponding procedure for the
DFT, not including the costs of the transforms below, because the pairwise operation above requires 8 real-
arithmetic operations compared to the 6 of a complex multiplication. This count doesn't include the division
by 2, which can be absorbed e.g. into the 1/N normalization of the inverse DHT.)
Fast algorithms
Just as for the DFT, evaluating the DHT definition directly would require O(N2 ) arithmetical operations
(see Big O notation). There are fast algorithms similar to the FFT, however, that compute the same result in
only O(N log N) operations. Nearly every FFT algorithm, from Cooley–Tukey to prime-factor to Winograd
(1985)[3] to Bruun's (1993),[4] has a direct analogue for the discrete Hartley transform. (However, a few of
the more exotic FFT algorithms, such as the QFT, have not yet been investigated in the context of the
DHT.)
In particular, the DHT analogue of the Cooley–Tukey algorithm is commonly known as the fast Hartley
transform (FHT) algorithm, and was first described by Bracewell in 1984.[5] This FHT algorithm, at least
when applied to power-of-two sizes N, is the subject of the United States patent number 4,646,256, issued
in 1987 to Stanford University. Stanford placed this patent in the public domain in 1994 (Bracewell,
1995).[6]
As mentioned above, DHT algorithms are typically slightly less efficient (in terms of the number of
floating-point operations) than the corresponding DFT algorithm (FFT) specialized for real inputs (or
outputs). This was first argued by Sorensen et al. (1987)[7] and Duhamel & Vetterli (1987).[8] The latter
authors obtained what appears to be the lowest published operation count for the DHT of power-of-two
sizes, employing a split-radix algorithm (similar to the split-radix FFT) that breaks a DHT of length N into a
DHT of length N/2 and two real-input DFTs (not DHTs) of length N/4. In this way, they argued that a
DHT of power-of-two length can be computed with, at best, 2 more additions than the corresponding
number of arithmetic operations for the real-input DFT.
On present-day computers, performance is determined more by cache and CPU pipeline considerations
than by strict operation counts, and a slight difference in arithmetic cost is unlikely to be significant. Since
FHT and real-input FFT algorithms have similar computational structures, neither appears to have a
substantial a priori speed advantage (Popović and Šević, 1994).[9] As a practical matter, highly optimized
real-input FFT libraries are available from many sources (e.g. from CPU vendors such as Intel), whereas
highly optimized DHT libraries are less common.
On the other hand, the redundant computations in FFTs due to real inputs are more difficult to eliminate for
large prime N, despite the existence of O(N log N) complex-data algorithms for such cases, because the
redundancies are hidden behind intricate permutations and/or phase rotations in those algorithms. In
contrast, a standard prime-size FFT algorithm, Rader's algorithm, can be directly applied to the DHT of real
data for roughly a factor of two less computation than that of the equivalent complex FFT (Frigo and
Johnson, 2005).[10] On the other hand, a non-DHT-based adaptation of Rader's algorithm for real-input
DFTs is also possible (Chu & Burrus, 1982).[11]
Similar to the 1-D case, as a real and symmetric transform, the MD-DHT is simpler than the MD-DFT. For
one, the inverse DHT is identical to the forward transform, with the addition of a scaling factor;
and second, since the kernel is real, it avoids the computational complexity of complex numbers.
Additionally, the DFT is directly obtainable from the DHT by a simple additive operation (Bracewell,
1983).[2]
The MD-DHT is widely used in areas like image and optical signal processing. Specific applications
include computer vision, high-definition television, and teleconferencing, areas that process or analyze
motion images (Zeng, 2000).[12]
As computing speed keeps increasing, bigger multidimensional problems become computationally feasible,
requiring the need for fast multidimensional algorithms. Three such algorithms follow.
In pursuit of separability for efficiency, we consider the following transform (Bracewell, 1983),[2]
It was shown in Bortfeld (1995),[13] that the two can be related by a few additions. For example, in 3-D,
For , row-column algorithms can then be implemented. This technique is commonly used due to the
simplicity of such R-C algorithms, but they are not optimized for general M-D spaces.
Other fast algorithms have been developed, such as radix-2, radix-4, and split radix. For example,
Boussakta (2000)[14] developed the 3-D vector radix,
It was also presented in Boussakta (2000)[14] that this 3D-vector radix algorithm takes
Number theoretic transforms have also been used for solving the MD-DHT, since they perform extremely
fast convolutions. In Boussakta (1988),[15] it was shown how to decompose the MD-DHT transform into a
form consisting of convolutions:
For the 2-D case (the 3-D case is also covered in the stated reference),
where
Developing further,
At this point we present the Fermat number transform (FNT). The tth Fermat number is given by
, with . The well known Fermat numbers are for ( is prime for
), (Boussakta, 1988). [15] The Fermat number transform is given by
Going back to the decomposition, the last term for will be denoted as , then
If and are primitive roots of and (which are guaranteed to exist if and are prime) then
and map to So, mapping and to and
, one gets the following,
, one has
where denotes term by term multiplication. It was also stated in (Boussakta, 1988)[15] that this algorithm
reduces the number of multiplications by a factor of 8–20 over other DHT algorithms at a cost of a slight
increase in the number of shift and add operations, which are assumed to be simpler than multiplications.
The drawback of this algorithm is the constraint that each dimension of the transform has a primitive root.
References
1. Hartley, Ralph V. L. (March 1942). "A More Symmetrical Fourier Analysis Applied to
Transmission Problems". Proceedings of the IRE. 30 (3): 144–150.
doi:10.1109/JRPROC.1942.234333 (https://doi.org/10.1109%2FJRPROC.1942.234333).
S2CID 51644127 (https://api.semanticscholar.org/CorpusID:51644127).
2. Bracewell, Ronald N. (1983). "Discrete Hartley Transform". Journal of the Optical Society of
America. 73 (12): 1832–1835. doi:10.1364/josa.73.001832 (https://doi.org/10.1364%2Fjosa.
73.001832). S2CID 120611904 (https://api.semanticscholar.org/CorpusID:120611904).
3. Sorensen, Henrik V.; Jones, Douglas L.; Burrus, Charles Sidney; Heideman, Michael T.
(1985). "On computing the discrete Hartley transform". IEEE Transactions on Acoustics,
Speech, and Signal Processing. ASSP-33 (4): 1231–1238.
4. Bini, Dario Andrea; Bozzo, Enrico (1993). "Fast discrete transform by means of
eigenpolynomials" (https://doi.org/10.1016%2F0898-1221%2893%2990004-f). Computers &
Mathematics with Applications. 26 (9): 35–52. doi:10.1016/0898-1221(93)90004-f (https://do
i.org/10.1016%2F0898-1221%2893%2990004-f).
5. Bracewell, Ronald N. (1984). "The Fast Hartley Transform". Proceedings of the IEEE. 72 (8):
1010–1018. doi:10.1109/proc.1984.12968 (https://doi.org/10.1109%2Fproc.1984.12968).
S2CID 21988816 (https://api.semanticscholar.org/CorpusID:21988816).
6. Bracewell, Ronald N. (1995). "Computing with the Hartley Transform" (https://doi.org/10.106
3%2F1.168534). Computers in Physics. 9 (4): 373–379. Bibcode:1995ComPh...9..373B (http
s://ui.adsabs.harvard.edu/abs/1995ComPh...9..373B). doi:10.1063/1.168534 (https://doi.org/
10.1063%2F1.168534).
7. Sorensen, Henrik V.; Jones, Douglas L.; Heideman, Michael T.; Burrus, Charles Sidney
(1987). "Real-valued fast Fourier transform algorithms". IEEE Transactions on Acoustics,
Speech, and Signal Processing. ASSP-35 (6): 849–863.
8. Duhamel, Pierre; Vetterli, Martin (1987). "Improved Fourier and Hartley transform algorithms:
application to cyclic convolution of real data". IEEE Transactions on Acoustics, Speech, and
Signal Processing. ASSP-35: 818–824.
9. Поповић [Popović], Миодраг [Miodrag] [in Serbian]; Šević, Dragutin (1994). "A new look at
the comparison of the fast Hartley and Fourier transforms". IEEE Transactions on Signal
Processing. 42 (8): 2178–2182. Bibcode:1994ITSP...42.2178P (https://ui.adsabs.harvard.ed
u/abs/1994ITSP...42.2178P). doi:10.1109/78.301854 (https://doi.org/10.1109%2F78.30185
4).
10. Frigo, Matteo; Johnson, Steven G. (2005). "The Design and Implementation of FFTW3" (htt
p://fftw.org/fftw-paper-ieee.pdf) (PDF). Proceedings of the IEEE. 93 (2): 216–231.
CiteSeerX 10.1.1.66.3097 (https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.30
97). doi:10.1109/jproc.2004.840301 (https://doi.org/10.1109%2Fjproc.2004.840301).
S2CID 6644892 (https://api.semanticscholar.org/CorpusID:6644892).}
11. Chu, Shuni; Burrus, Charles Sidney (1982). "A prime factor FTT [sic] algorithm using
distributed arithmetic". IEEE Transactions on Acoustics, Speech, and Signal Processing. 30
(2): 217–227. doi:10.1109/tassp.1982.1163875 (https://doi.org/10.1109%2Ftassp.1982.1163
875).
12. Zeng, Yonghang; Bi, Guoan; Leyman, Abdul Rahim (2000). "Polynomial Transform
Algorithms for Multidimensional Discrete Hartley Transform". IEEE International Symposium
on Circuits and Systems (V): 517–520.
13. Bortfeld, Thomas; Dinter, Wolfgang (1995). "Calculation of Multidimensional Hartley
Transforms Using One-Dimensional Fourier Transforms". IEEE Transactions on Signal
Processing. 43 (5): 1306–1310. Bibcode:1995ITSP...43.1306B (https://ui.adsabs.harvard.ed
u/abs/1995ITSP...43.1306B). doi:10.1109/78.382424 (https://doi.org/10.1109%2F78.38242
4).
14. Boussakta, Said; Alshibami, Osama (2000). "Fast Algorithm for the 3-D Discrete Hartley
Transform". International Conference on Acoustics, Speech, and Signal Processing '00 (4):
2302–2305.
15. Boussakta, Said; Holt, Alan G. J. (1988). "Fast Multidimensional Discrete Hartley Transform
using Fermat Number Transform". IEE Proceedings G - Electronic Circuits and Systems.
135 (6): 235–237. doi:10.1049/ip-g-1.1988.0036 (https://doi.org/10.1049%2Fip-g-1.1988.003
6).
Further reading
Bracewell, Ronald N. (1986). The Hartley Transform (1 ed.). Oxford University Press.
ISBN 978-0-19503969-6.
Boussakta, Said; Holt, Alan G. J. (1988). "Fast Multidimensional Discrete Hartley Transform
using Fermat Number Transform". IEE Proceedings G - Electronic Circuits and Systems.
135 (6): 235–237. doi:10.1049/ip-g-1.1988.0036 (https://doi.org/10.1049%2Fip-g-1.1988.003
6).
Hong, Jonathan; Vetterli, Martin; Duhamel, Pierre (1994). "Basefield transforms with the
convolution property" (https://infoscience.epfl.ch/record/33890/files/HongVD94.pdf) (PDF).
Proceedings of the IEEE. 82 (3): 400–412. doi:10.1109/5.272145 (https://doi.org/10.1109%2
F5.272145).
O'Neill, Mark A. (1988). "Faster than Fast Fourier". BYTE. 13 (4): 293–300.
Olnejniczak, Kraig J.; Heydt, Gerald T. (March 1994). "Scanning the Special Section on the
Hartley transform". Proceedings of the IEEE. 82: 372–380. (NB. Contains extensive
bibliography.)