Hartley transform

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

resynthesis wrote:...and it being its own inverse.
So is the Fourier transform, when scaled by 1/sqrt(N) (instead of scaling one direction by 1/N). Bracewell described the transform that way in his books. And Bracewell introduced the Discrete Hartley Transform, so...I suppose he was inclined that way. [edit: Oops—sorry, thought the reference was to scaling symmetry, not running the same transform twice.]
I seem to remember that Hartley transforms were at one time computationally more efficient than Fourier transforms but that might have changed (I'm trying to remember this from a Byte article in about 1990). These days it's certainly easier to get an optimized FFT library than FHT.
I messed with the FHT after working with Bracewell (we were experts on a patent case—what a nice and brilliant man, made a big impression on me). I think that Byte article was pretty fresh at the time, and he pointed it out to me. The code in it wasn't great though, as I recall, as far as missing a lot of obvious optimizations. Anyway, even after I improved it, it was obvious that the FHT could not be made faster than an equivalently optimized FFT. That's why we don't hear much of it.
Last edited by earlevel on Sun Oct 09, 2016 7:38 pm, edited 1 time in total.
My audio DSP blog: earlevel.com

Post

earlevel wrote:
resynthesis wrote:...and it being its own inverse.
So is the Fourier transform, when scaled by 1/sqrt(N) (instead of scaling one direction by 1/N). Bracewell described the transform that way in his books. And Bracewell introduced the Discrete Hartley Transform, so...I suppose he was inclined that way.
Strictly speaking the inverse of a Fourier transform is it's complex conjugate and while it's easy enough to write the inverse on top of a forward routine, simply doing the same transform twice won't quite work right.

Post

I loved the FHT when I started using it. For it's binary length data structures and its low memory cache footprint. After optimisation I got one to work about 85% speed of FFTW's FFT equivalent, which they deny of course. (very angrily) :) But they can't see my code, so never mind.

Post

earlevel wrote:
resynthesis wrote:...and it being its own inverse.
So is the Fourier transform, when scaled by 1/sqrt(N) (instead of scaling one direction by 1/N). Bracewell described the transform that way in his books. And Bracewell introduced the Discrete Hartley Transform, so...I suppose he was inclined that way.
I seem to remember that Hartley transforms were at one time computationally more efficient than Fourier transforms but that might have changed (I'm trying to remember this from a Byte article in about 1990). These days it's certainly easier to get an optimized FFT library than FHT.
I messed with the FHT after working with Bracewell (we were experts on a patent case—what a nice and brilliant man, made a big impression on me). I think that Byte article was pretty fresh at the time, and he pointed it out to me. The code in it wasn't great though, as I recall, as far as missing a lot of obvious optimizations. Anyway, even after I improved it, it was obvious that the FHT could not be made faster than an equivalently optimized FFT. That's why we don't hear much of it.
Thanks for chiming in, that's interesting that you knew Bracewell :tu:

Post

mystran wrote:
earlevel wrote:
resynthesis wrote:...and it being its own inverse.
So is the Fourier transform, when scaled by 1/sqrt(N) (instead of scaling one direction by 1/N). Bracewell described the transform that way in his books. And Bracewell introduced the Discrete Hartley Transform, so...I suppose he was inclined that way.
Strictly speaking the inverse of a Fourier transform is it's complex conjugate and while it's easy enough to write the inverse on top of a forward routine, simply doing the same transform twice won't quite work right.
My bad, when he said inverse, I was somehow thinking he meant scaling when doing the inverse transform, so I was only talking about symmetrical scaling—lost sight of his wording ("its own...").
My audio DSP blog: earlevel.com

Post Reply

Return to “DSP and Plugin Development”