I'm having a hard time understanding the docs for implementing an FFT , and some other minor issues.
1) when I look at the intel folder in my build environment, I see several dynamic libraries. Which one is necessary to implement the FFT
2) Also not clear if I should be using mkl instead of ipp for FFT
3) In trying to follow the example for using the FFT here : https://software.intel.com/en-us/articles/how-to-use-intel-ipp-s-1d-fourier-transform-functions
I don't understand the deal with all of the initializing steps. Usually , when I use an intel routine, I am responsible for initializing all local variables and I just pass them into a library function call.
Could someone point me to an easy example?
I have a vector of modulated signals (real) and a vector of time points. I need to demodulate the data. I expect to have a vector of complex values and a vector of real values when I am finished.
Any help is greatly appreciated.
1) In your project , include 'ippi.h' . The functions related to FFT have their dependencies as the following ,
Headers: ippcore.h, ippvm.h, ipps.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib
2) It depends on your application's purpose but it is shouldn't make a significant difference betwin using MKL and IPP if you are using standard FFT computations. Please see configurations, options, and features of MKL FFT and IPP FFT here ( MKL : https://software.intel.com/en-us/node/470818 , IPP : https://software.intel.com/en-us/node/504242 )
3)You can find IPP example solutions at <ipp_install_dir>/examples/. There's also an example for using FFT. Please check that out :)