wenyangzeng 发表于 2016-12-3 10:38:54

【F769IDISCOVERY评测】评测六 浮点运算

      通过运行1个1024点的傅里叶FFT运算来评测STM32F769(STM32官网)浮点运算能力,详细代码等请参考https://www.stmcu.org.cn/module/forum/thread-608108-1-1.html(NUCLEO-F412ZG评测(3):浮点运算能力)一贴。


                         工程添加DSP库




            启用浮点运算

每执行100次FFT反转1次GPIOJ-5(LED2),通过示波器读取翻转脉宽。

while (1)
{
for(i=0;i<100;i++)
FFT_read();
GPIOJ->ODR ^=0X0020;
}
<div>#include "arm_math.h"
#include "arm_const_structs.h"</div><div>static void FFT_read(void)
{uint16_t i;
arm_cfft_radix4_instance_f32 scfft;
arm_cfft_radix4_init_f32(&scfft,BUFFER_SIZE,0,1);
for(i=0;i<FFT_LENGTH;i++)
      {
      inputbuf=100+10*arm_sin_f32(2*PI*i*50/FFT_LENGTH)+30*arm_sin_f32(2*PI*i*200/FFT_LENGTH)+10*arm_cos_f32(2*PI*i*400/FFT_LENGTH);
inputbuf=0;                              
}
   arm_cfft_radix4_f32(&scfft,inputbuf);   
   arm_cmplx_mag_f32(inputbuf,outputbuf,BUFFER_SIZE);
    }
运行结果耗时:
STM32F769    1.5mS;
STM32F446   4mS;
STM32F41218mS;






当禁止STM32F769浮点运算时,耗时为18mS。可见STM32的浮点运算大大提高了系统性能。



jackten 发表于 2016-12-3 11:14:20

谢谢分享            

wolfgang2015 发表于 2016-12-3 17:41:16

18mS 基本够了,工业还是有点不够.....

peter001 发表于 2016-12-3 18:14:01

学习一下:lol

wenyangzeng 发表于 2016-12-3 18:54:22

wolfgang2015 发表于 2016-12-3 17:41
18mS 基本够了,工业还是有点不够.....

有浮点运算时是1.5mS

leo121_3006061 发表于 2016-12-4 01:14:40

很厉害了:lol

ts2000 发表于 2016-12-6 08:47:21

很详细的评测~~

xiaoye82 发表于 2016-12-7 12:17:23


谢谢分享

damiaa 发表于 2017-1-3 10:24:30

谢谢分享!浮点运算!
页: [1]
查看完整版本: 【F769IDISCOVERY评测】评测六 浮点运算