LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Cooley–Tukey FFT

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.

0 Kudos
Message 1 of 10
(5,703 Views)

Hi reniam,

 

reading the LabVIEW help indicates NI implemented Cooley-Tukey in their FFT routines…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 10
(5,690 Views)

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.

0 Kudos
Message 3 of 10
(5,670 Views)

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

 

 

altenbach_0-1583092263401.png

 

Message 4 of 10
(5,656 Views)

@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

0 Kudos
Message 5 of 10
(5,638 Views)

Yes, N=2 (not the "size") in my post. Sorry for the confusion. 😄

0 Kudos
Message 6 of 10
(5,637 Views)

Thanks 

0 Kudos
Message 7 of 10
(5,608 Views)

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. 😄 

0 Kudos
Message 8 of 10
(5,590 Views)

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.

0 Kudos
Message 9 of 10
(5,567 Views)

@reniam wrote:

A little surprised it isn't already out there.


Might still be a cool little project! 😄

0 Kudos
Message 10 of 10
(5,556 Views)