Community
cancel
Showing results for 
Search instead for 
Did you mean: 
madir
Beginner
112 Views

very basic fft question

Hello,

I would like to perform a basic fft of audio data:

N real samples -----> N/2+1 complex numbers (No need to obtain the conjugate symmetric other half...)

Furthermore I would like the complex numbers to be in the MKL_Complex format, not separate arrays for real and complex.

How do I set up such an fft using the dfti interface?

I must say the documentation is annoyingly confusing! Can someone spare me the pain?

Thanks in advance!

0 Kudos
8 Replies
mecej4
Black Belt
112 Views

An alternative to relying solely on the documentation is to use the example source files provided with MKL. Most of them are quite simple and may cover only one issue, but they should help you to get started.
madir
Beginner
112 Views

Thanks, but I have yet to find an example that covers what I want to do.
Todd_R_Intel
Employee
112 Views

From your description,

basic_sp_real_dft_1d.c

for single-precision floating point or

basic_dp_real_dft_1d.c

for double-precision floating point in the examples\dftc sub-directory of Intel MKL look like the closest to what you want. Maybe you could take a look and tell us how what you want is different.

Todd
madir
Beginner
112 Views

Hi Todd,

Thank you very much for your help! Unfortunately those files do not exist anywhere in ..\Intel\ComposerXE-2011\mkl\examples

Maybe I don't have the most recent version of MKL. I got it a year ago or so. Have those examples been added recently?
mecej4
Black Belt
112 Views

What do you have in ...\Intel\ComposerXE-2011\mkl\examples\dftc\source ?

The examples have been there for quite a while, even in earlier versions of MKL 10.3.
madir
Beginner
112 Views

163 files, but none of those mentioned above.
Dmitry_B_Intel
Employee
112 Views

Hi,

Looks like you use MKL 10.3.4 or earlier.
I attach the source code of basic_sp_real_dft_1d.c for your convenience.

The sequence of steps needed to compute FFT is described on the first page of FFT documentation.
We would appreciate if you shared what in the documentation caused your confusion, for we could improve it.

Thanks
Dima
madir
Beginner
112 Views

Hi Dmitry,

Thanks for the code, I'll check it out. Sorry for my late reply, I have been overwhelmed with work:)

One thing struck me, the example uses malloc() rateher than mkl_malloc. Surely 16 byte aligned allocation using mkl_malloc must be required for maxiumum performance, am I wrong?
Reply