-1

I'm trying to do some ffts with MKL's ComputeForward method. Sometimes I get bins with zero on real and imaginary parts. I,.e I'm doing an FFT of floats of 20480 samples of a 16K tone sampled at 1.024 Msps, thus 50 Hz resolution per bin. The bin 9920, which corresponds to 496K is 0+0i. The rest of the 10240 bins seem correct. I've done the FFT on Octave and that bin should fit without problems on a float.

What can cause this?

NOTE:

Curiosly enough, the failing bin is the symmetric with regards to the 16K tone, that is, the 16K tone is at bin 320, and the 9920 is the 320th bin starting from the right.

perencia
  • 1,498
  • 3
  • 11
  • 19

1 Answers1

1

Matlab/octave is not officially supported by intel MKL thus might be causing the error. This could be possibly solved by using supported languages such as C/C++, DPC++, and Fortran.

https://software.intel.com/content/www/us/en/develop/articles/oneapi-math-kernel-library-system-requirements.html

https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-FFT-bin-zero-real-and-imaginary-parts-part-II/m-p/1296917#M31708

ArunJose
  • 1,999
  • 1
  • 10
  • 33
  • Actually, the program was in .NET. When I say that I used Octave it is because I did the same FFT on Octave with no errors. As far as i know, Octave uses FFTW. But you are right, .NET is not supported too and the problem doesn't reproduce with C/C++. – perencia Jul 16 '21 at 20:15