第42章 DSP库函数执行时间测试
本章节主要测试实数FFT,复数FFT,FIR和IIR相关函数的执行时间,方便大家选择合适的函数用于项目。
42.1 测试平台和测试条件
42.2 IIR滤波函数执行时间测试
42.3 FIR滤波函数执行时间测试
42.4 复数FFT函数执行时间测试(单精度浮点)
42.5 复数FFT函数执行时间测试(基2算法Q31)
42.6 复数FFT函数执行时间测试(基2算法Q15)
42.7 复数FFT函数执行时间测试(基4算法Q31)
42.8 复数FFT函数执行时间测试(基4算法Q15)
42.9 实数FFT函数执行时间测试(单精度浮点)
42.10 实数FFT函数执行时间测试(定点Q31)
42.11 实数FFT函数执行时间测试(定点Q15)
42.12 ST的FFT库函数执行时间测试
42.1 测试平台和测试条件
测试平台:
1. 安富莱STM32-V5开发板(STM32F407IGT6,Cortex-M4F内核)。
2. 安富莱STM32-V3开发板(STM32F103ZET6,Cortex-M3内核)。
测试条件:
1. MDK4.54优化等级1,CMSIS-DSP版本V1.4.4。
1. STM32F407主频168MHz,5个Flash等待周期,开启存储器加速器(ART Accelerator?)。
STM32F103主频72MHz,2个Flash等待周期。
2. 每个函数运行10次求平均。
3. 在CM3,CM4中有3种跟踪源:ETM, ITM 和DWT,本测试使用DWT中的时钟周期(CYCCNT)计数功能测试执行时间,uCOS-III中的时间戳就是使用的此功能来实现,所以所有DSP函数都是运行在uCOS-III上,版本V3.03.01。
42.2 IIR滤波函数执行时间测试
测试函数:arm_biquad_cascade_df1_f32


42.3 FIR滤波函数执行时间测试
测试函数:arm_fir_f32


42.4 复数FFT函数执行时间测试(单精度浮点)
测试函数:arm_cfft_f32


42.5 复数FFT函数执行时间测试(基2算法Q31)
测试函数:arm_cfft_radix2_q31


42.6 复数FFT函数执行时间测试(基2算法Q15)
测试函数:arm_cfft_radix2_q15


42.7 复数FFT函数执行时间测试(基4算法Q31)
测试函数:arm_cfft_radix4_q31


42.8 复数FFT函数执行时间测试(基4算法Q15)
测试函数:arm_cfft_radix4_q15


42.9 实数FFT函数执行时间测试(单精度浮点)
测试函数:arm_rfft_fast_f32


42.10 实数FFT函数执行时间测试(定点Q31)
测试函数:arm_rfft_fast_f32


42.11 实数FFT函数执行时间测试(定点Q15)
测试函数:arm_rfft_q15


42.12 ST的FFT库函数执行时间测试
测试函数:cr4_fft_64_stm32 cr4_fft_512_stm32 cr4_fft_1024_stm32


学习学习,谢谢分享!
