Jul 04, 2014
05:26 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 04, 2014
05:26 AM
Good day,
Here just my speed results for 1024 points FFT, running on XMC4500 Hexagon Kit:
- arm_cfft_radix4_f32 - 0,91milliSec; // complex input float32
- arm_cfft_radix4_q31 - 1,83milliSec; // complex input q31_t (fixed point 1.31 format)
- arm_cfft_radix4_q15 - 0,75milliSec; // complex input q15_t (fixed point 1.15 format)
//arm_cfft_radix_xx functions supported lengths [16, 64, 256, 1024]
- arm_cfft_radix2_f32 - 1,4milliSec; // complex input float32
- arm_cfft_radix2_q31 - 2,0milliSec; // complex input q31_t (fixed point 1.31 format)
- arm_cfft_radix2_q15 - 0,91milliSec; // complex input q15_t (fixed point 1.15 format)
//arm_cfft_radix2_xx functions supported lengths [16, 32, 64, 128, 256, 512, 1024, 2048, 4096]
- arm_rfft_f32 - 0,71milliSec; // real input float32
- arm_rfft_q31 - 1,33milliSec // real input q31_t (fixed point 1.31 format)
- arm_rfft_q15 - 0,5milliSec // real input q15_t (fixed point 1.15 format)
//arm_rfft_xx functions supported lengths [128, 512, 2048] size of data according DOC's.
//Somehow they operational for 1024 as well (probably output data incorrect)
Test was performed repeating functions itself (without initialization) 60 000 times & using ordinary WIN clocks.
Any comments welcome.
BR
K
Here just my speed results for 1024 points FFT, running on XMC4500 Hexagon Kit:
- arm_cfft_radix4_f32 - 0,91milliSec; // complex input float32
- arm_cfft_radix4_q31 - 1,83milliSec; // complex input q31_t (fixed point 1.31 format)
- arm_cfft_radix4_q15 - 0,75milliSec; // complex input q15_t (fixed point 1.15 format)
//arm_cfft_radix_xx functions supported lengths [16, 64, 256, 1024]
- arm_cfft_radix2_f32 - 1,4milliSec; // complex input float32
- arm_cfft_radix2_q31 - 2,0milliSec; // complex input q31_t (fixed point 1.31 format)
- arm_cfft_radix2_q15 - 0,91milliSec; // complex input q15_t (fixed point 1.15 format)
//arm_cfft_radix2_xx functions supported lengths [16, 32, 64, 128, 256, 512, 1024, 2048, 4096]
- arm_rfft_f32 - 0,71milliSec; // real input float32
- arm_rfft_q31 - 1,33milliSec // real input q31_t (fixed point 1.31 format)
- arm_rfft_q15 - 0,5milliSec // real input q15_t (fixed point 1.15 format)
//arm_rfft_xx functions supported lengths [128, 512, 2048] size of data according DOC's.
//Somehow they operational for 1024 as well (probably output data incorrect)
Test was performed repeating functions itself (without initialization) 60 000 times & using ordinary WIN clocks.
Any comments welcome.
BR
K
- Tags:
- IFX
3 Replies
Jul 23, 2015
03:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 23, 2015
03:17 PM
Hi Konstantin,
Could you please post your example code here on the forum?
Thank you!
Best regards,
Mike
Could you please post your example code here on the forum?
Thank you!
Best regards,
Mike
Jul 24, 2015
02:23 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 24, 2015
02:23 AM
This is cool.... Source code please.
Attachments are accessible only for community members.
Aug 03, 2015
03:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aug 03, 2015
03:58 AM
Good day,
As a basis, I use example located at: ..\DAVE-3.1.10\CMSIS\DSP_Lib\Examples_M0\arm_fft_bin_example
(This project can be simply imported into DAVE.)
Please as well see .ZIP file attached.
Then I use cycle "for" to repeat function
arm_cfft_radix4_f32(&S, testInput_f32_10khz);
several thousand times, start program and see on WIN clocks when it stops running.
(Array used as I/O, so no need to reload input data for speed testing.)
Two-three minutes overall running time is sufficient to get acceptable tolerance.
BR
K
As a basis, I use example located at: ..\DAVE-3.1.10\CMSIS\DSP_Lib\Examples_M0\arm_fft_bin_example
(This project can be simply imported into DAVE.)
Please as well see .ZIP file attached.
Then I use cycle "for" to repeat function
arm_cfft_radix4_f32(&S, testInput_f32_10khz);
several thousand times, start program and see on WIN clocks when it stops running.
(Array used as I/O, so no need to reload input data for speed testing.)
Two-three minutes overall running time is sufficient to get acceptable tolerance.
BR
K