03-03-2023 08:21 AM
Hello,
I'm new to this forum. Also I'm not that familiar with LABVIEW. I want to read an analog value and make an FFT of my Signal. I'm using the "DAQ Assist" to read an analog input from a "MYDAQ" device.
My Configurationin of the "DAQ Assistant":
Aquisition Mode: Continous Samples
Samples to Read: 100k
Rate (Hz): 10k
To read the 100k samples the programm needs 10 secounds.
Of this data the program makes a FFT with "Spectral Measurements".
For the FFT I have:
Samples to Read: N = 100k
sampling rate: fs=10kHz
frequency resolution: fs/N=0,1Hz
freqency range: 0Hz-5000Hz
Now I have the problem that I don't understand how the "Spectral Measurements" did the FFT. Because I learned that the samples to Read N needs to be a value 2^n. But in my example my samples N are not 2^n. How does the FFT in Labview work? I attached my VI and a data I logged of the FFT.
Best Regards
brendan
Solved! Go to Solution.
03-03-2023 08:37 AM - edited 03-03-2023 09:17 AM
FFT works for any number of data points and LabVIEW knows how to do it. (Sorry, I cannot look at your code at the moment)
(You are talking about the special case of the radix-2 Cooley–Tukey FFT algorithm , which is just one possibility. See also)
03-03-2023 09:26 AM - edited 03-03-2023 09:41 AM
Hello altenbach,
Thank you for your fast reply. You said the radix-2 Cooley–Tukey FFT algorithmis just one possiblity, but do you know which algorithm Labview is using? Would really like to know which algorithm Labview uses for the FFT.
03-03-2023 09:41 AM
It was well over 20 years ago when LabVIEW completely rewrote their FFT libraries and they became quite competitive with e.g. FFTW.
LabVIEW does not publish the details of their algorithms, but it is safe to say that they know what they are doing. Most likely it is not one rigid monolithic "algorithm" but a collection of algorithms picked depending on the size and other details.
I assume we are talking about conventional CPUs, i.e. not FPGAs and such.