03-01-2020 11:34 AM
Hi,
Does anyone have the Cooley–Tukey FFT implemented in LabVIEW? I'm really trying to understand the algorithm and want to visualize it using real data in LabVIEW. I know NI provides a VI in the "Transforms" pallet.
03-01-2020 11:43 AM
03-01-2020 12:32 PM - edited 05-24-2021 10:13 AM
Decades ago, we had a series of LabVIEW coding challenges, and one was to implement a competitive FFT for arbitrary sizes but I don't thing it received any entries. Classic Cooley-Tukey (Size is integer power of 2) is even simpler and should not be too hard to implement from scratch, but try it! Can be done fully in-place. (Back in the seventies, we had an pulse NMR controller that could do a 1kB complex fft with only a few kB of core RAM, if I remember right.).
The nice thing is that you can validate the correctness by comparing with the stock FFT tools that ship with LabVIEW. 🙂
Do a web search for FPGA implementations, maybe you find something useful. There are also quite a few youtube videos.
03-01-2020 01:52 PM - edited 06-01-2021 11:43 AM
I think the FFT coding challenge was in 2003(?) and I found a literal (slow) FT I made back then...Of course there are many other ways to do that.
As you can see, the difference is less than 1E-12
03-01-2020 04:08 PM
@altenbach wrote:
Classic Cooley-Tukey (Size is integer power of N) is even simpler and should not be too hard to implement from scratch, but try it!
Do a web search for FPGA implementations, maybe you find something useful. There are also quite a few youtube videos.
Did you mean "An integer power of 2", as in 2^N? [Just for laughs, N^2 would be an integer power of N 😀]. Many years ago, I met Jim Cooley, a really "cool" character, and somewhere I have the original IBM Technical Paper on the Algorithm ...
Bob Schor
03-01-2020 04:09 PM - edited 03-01-2020 04:10 PM
Yes, N=2 (not the "size") in my post. Sorry for the confusion. 😄
03-01-2020 09:02 PM
Thanks altenbach
03-02-2020 12:31 AM
Well, it's not really "the solution", because it is simple, literal FT, not FFT.
Still would be interesting to implement Cooley–Tukey FFT, you might even try a recursive VI solution. 😄
03-02-2020 09:29 AM
Sure. I was just asking if someone already had the algorithm developed. A little surprised it isn't already out there. I marked yours as a solution because you gave it the best college try, though I already had something similar. I'm working on it using Steven W. Smith's book as a guide.
Thanks again.
03-02-2020 10:26 AM
@reniam wrote:
A little surprised it isn't already out there.
Might still be a cool little project! 😄