News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Fast Fourier Transform (SSE3)

Started by redskull, January 24, 2011, 02:25:07 PM

Previous topic - Next topic

baltoro

Quote from: NEO...eigenvectors and eigenvalues,...
:green Good thing you warned us...I was just getting juiced up for a long, incredibly annoying rant about the unconstrained usage of eigenstuff,... :green
For people like me,...any transformation beyond what you would use to balance your checkbook, is inherently destabilizing (in respect to the functionality of my cerebtal cortex).
Baltoro

vanjast

Quote from: Neo on January 29, 2011, 09:27:09 AM
I started implementing a radix-4 FFT and inverse FFT to compute some crazy correlation function before I realized that for the particular thing the correlation function was in turn being used to compute, it really only needed: bit-shift, XOR, sum the bits, repeat a bunch of times.  That ended up being over 10x faster, whereas the vectorized FFT would've only been 4x faster.
I was thinking along these lines.. but i see you've beaten me to it.
After looking at the FFT algorithm's implementation(not yours Red), I always thought that it was a bit cumbersome, and could be improved...
I'll tweak later.
:bg

vanjast

You could speed it up by making the Bit Reversal section seperate from all the FFTs..  :green2

vanjast

I've finished a version of FFT's based on FPU instructions (non mmx, SSE).
All these are direct translations of Steve Smiths 'Basic' Algorithms.. I'll post these later  :bg

vanjast

Here we go...
I haven't checked, optimised or run this yet, it's currently part of a bigger project so I'll only test this later.
There's probably a few things still to do..

vanjast

I was going over this project today... and picked up a few mistakes with the FFT module, just a few incorrect store instructions that should be FIST(P) instead of FST(P) when saving to integer formats.. plus a few other funnies. Fixit later.
:8)