LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabView 7.x and FFTW (DLL)

Has anyone tried to use FFTW DLL in LabView by calling node function?

If any, would you like to share the basic VI wih me?

Thanks
0 Kudos
Message 1 of 11
(4,810 Views)
I was not able to find any VIs that used the FFTW library in LabVIEW. However, in looking at the FFTW API, you will probably want to write some sort of wrapper code that converts some of the special datatypes that the FFTW code uses to the datatypes that LabVIEW will recognize.

On a side note, is there any particular reason you are trying to use the FFTW dll in LabVIEW rather than using the built-in FFT VIs available in the LabVIEW development environment? The LabVIEW FFT VIs are pretty extensive and should give you all the functionality that you need. If there is a particular function in the FFTW package that is not available in the LabVIEW VIs, then please do let us know either by responding to this post and/or entering it as a Product Suggestion.

Thanks!

Kileen C.
NI
0 Kudos
Message 2 of 11
(4,804 Views)
Well, this question is not that young, nevertheless, It remains unanswered 😉

I'd like to do that (use fftw3 shared library to compute FFT's in LV), can anybody help me here ? I really have no idea of how to do it, exepted that I need the DLL and I must find my way using the Call Libray Function Node.
My motivations for this are that I don't know HOW NI libraries do the computation and that I can't find the documentation for the functions involved in computing FFT's
.

Any help would be gratly apreciated.
0 Kudos
Message 3 of 11
(4,679 Views)

Hello!

 

Here is a general tutorial:

 

The Fundamentals of FFT-Based Signal Analysis and Measurement in LabVIEW and LabWindows/CVI

http://zone.ni.com/devzone/conceptd.nsf/webmain/c045a890751303a6862568650061ea98

 

From the LabVIEW 8 Help:

FFT (Not in Base Package)

http://zone.ni.com/reference/en-XX/help/371361A-01/lvanls/fft/

 

FFT Fundamentals

http://zone.ni.com/reference/en-XX/help/371361A-01/lvanlsconcepts/fft_fundamentals/

 

 

 

Regards,
Jimmie Adolph
Systems Engineering Manager, National Instruments Northern European Region

0 Kudos
Message 4 of 11
(4,676 Views)
Well, maybe I wasn't clear enough 😞

I _may_ need to have a look at the algorithm which is implemented for computing the FFT. This is why I'd like to use a function whose source code is available. I do not - for now - need help on what is FFT or how to use it, I need help on trying to interface my LV code with a DLL which implement FFT (FFTW3). I'm a little short on time, did your answer mean that LV functions are FFTW-based ?
0 Kudos
Message 5 of 11
(4,669 Views)
Hello mseb,
 
Unfortunately, we do not have any built-in VI's that utilize FFTW (as indicated above). If you would like to call a DLL that does implement such an FFT, there are several good resources on our website to help you get started:
 
 
You can also submit a product suggestion (see the link above).
 
Thanks!
 
Charlie S.

Visit ni.com/gettingstarted for step-by-step help in setting up your system
0 Kudos
Message 6 of 11
(4,653 Views)
Thank you for this unambiguous answer.
Should I dig any further this way, I would keep you informed.
0 Kudos
Message 7 of 11
(4,643 Views)
Greetings,

I'm also very interested in the appropriate wrapper code to run the FFTW .dll . I'm mostly interested in its superior performance. If you look at the benchmarks on their site, you can see that they have significant advantages over many other implimentations.

Additionally, does anyone know of an efficient interpolation algorithm to convert unevenly sampled points in frequency to constantly spaced points for an FFT? I know that LabVIEW contains an unevenly sampled FFT VI, but it is painfully slow.

Best regards,

Paul Webster
Department of Physics
Queen's University
0 Kudos
Message 8 of 11
(4,484 Views)

Hi pwebster,

I couldn't find any example code where the FFTW.DLL was used.  If it is a standard DLL, then the DLL example in the LabVIEW example finder should be able to help.

I looked over their benchmarking notes, and I was wondering what kind of performance you were getting using the built-in FFT functions?

Brian K.
0 Kudos
Message 9 of 11
(4,462 Views)
Hi Brian,

The FFTW .dll needs three functions to be callled from it for a successful FFT calculation. The problem with using it is that custom datatypes need to be fed from one function call to another. This is not supported by LabVIEW from what I can see. FFTW has been accepted into the Intel Math Kernel because of its performance. It also offers special optimizations for special cases of FFTs (all real input etc.) and their "wisdom" function that allows the algorithm to optimize itself based on system hardware and past executions.

I'll have to get back to you on the benchmark for the FFT. I'm currently rewriting my code to execute multiple FFTs in parallel.

Best regards,

Paul Webster
0 Kudos
Message 10 of 11
(4,459 Views)