I'm trying to implement a simple FHT on .NET platform myself. I follow this document: Optimized fast Hartley transform for the MC68000 with applications in image processing.

In the page 20th, equation (20):

H(k) = He(k) + [Ho(k)cos(2πk/N) + Ho(N/2-k)sin(2πk/N)]
H(k+N/2) = He(k) - [Ho(k)cos(2πk/N) + Ho(N/2-k)sin(2πk/N)]

He(k) is the N/2 point DHT of the even indexed elements of H(k) and
Ho(k) is the N/2 point DHT of the odd indexed elements of H(k)

$k$ is zero index, so where is the item $N/2$ if $N/2$ is the length? I know I must have misunderstood something, but I realy don't know what exactly the Ho and He are. I have succeeded implement the FFT equation (in the page 17th). But the FHT, I can not.

Can somebody please help me explain the above equation details?


First of all, I'm pretty sure that $H_e(k)$ is the $N/2$ point DHT of the even elements of the original sequence to be transformed, not of $H(k)$. The same is true for $H_o(k)$. As for the index $k$, when used with $H_e(k)$ and $H_o(k)$, it is evaluated modulo $N/2$, so it ranges from $0$ to $N/2-1$. So the index $k=N/2$ is mapped to the index $0$ when evaluating $H_e(k)$ and $H_o(k)$.

  • $\begingroup$ Thanks for your help, now I've successfully implemented the FHT on VB.NET. While waiting for the answer, I've also searched more documents about FHT. Here is the most easy to understand document that describing how FHT run I've found. Hopes this will help who studying FHT like me: link (page 332) $\endgroup$
    – MPhuc
    Mar 25 '15 at 23:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.