你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H750 FFT 时间太长

[复制链接]
憨客鱼 提问时间:2025-12-3 13:03 / 未解决

我打算用STM32H750开发一个案子,需要做FFT,我做了一个测试程序来测试FFT所消耗的时间,发现时间测试时间跟网上说的差异很大,不知道是那里出了问题

arm_cfft_radix4_instance_f32 g_rFFtPar; float32_t g_fInData1[FFT_DATA_LENTH2]; float32_t g_fInData2[FFT_DATA_LENTH2]; float32_t g_fInData3[FFT_DATA_LENTH*2];

float32_t g_fInPar[FFT_DATA_LENTH*4];

float32_t g_fOutData1[FFT_DATA_LENTH2]; float32_t g_fOutData2[FFT_DATA_LENTH2];

float32_t g_fPhase1; float32_t g_fPhase2; float32_t g_fPhase3;

attribute((section(".dtcm"))) float32_t g_fInData1[FFT_DATA_LENTH2]; attribute((section(".dtcm"))) float32_t g_fInData2[FFT_DATA_LENTH2]; attribute((section(".dtcm"))) float32_t g_fInData3[FFT_DATA_LENTH*2];

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_SET);

k=0;

for(j=0;j<2;j++) { for(i=0;i<512;i++) { g_fInData1[k] = 2048sin((i3.14159)/256)+2048; if(g_fInData1[k]>=4096) { g_fInData1[k] = 4095; }

        g_fInData2[k] = 2048*sin((i*3.14159)/256+32*2*31.14159/256)+2048;
      if(g_fInData2[k]>=4096)
        {
            g_fInData2[k] = 4095;
        }
        k++;
        g_fInData1[k] = 0;
        g_fInData2[k] = 0;      
        k++;                
}

}

for(i=0;i<1024;i++) { if(g_fInData2[i2]>1024) { g_fInData3[i2] =g_fInData2[i2]; } else { g_fInData3[i2]=0; } g_fInData3[i*2+1]=0; }

arm_cfft_radix4_f32(&g_rFFtPar, g_fInData1);

g_fPhase1 = atan2f(g_fInData1[5],g_fInData1[4]); // arm_cmplx_mag_f32(g_fInData1, g_fInData1, FFT_DATA_LENTH); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); arm_cfft_radix4_f32(&g_rFFtPar, g_fInData2); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
// arm_cmplx_mag_f32(g_fInData2, g_fInData2, FFT_DATA_LENTH); g_fPhase2 = atan2f(g_fInData2[5],g_fInData2[4]);

arm_cfft_radix4_f32(&g_rFFtPar, g_fInData3); // arm_cmplx_mag_f32(g_fInData3, g_fInData3, FFT_DATA_LENTH); g_fPhase3 = atan2f(g_fInData3[5],g_fInData3[4]);

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET); HAL_Delay(100);

c0e8465b-28f2-4c25-abc8-8fbca5aae710.png

1394140c-30ac-40d7-ac03-7afe0c145798.png

测试下来 一个 arm_cfft_radix4_f32函数运行时间尽然要将近10mS 我CPU 主频设置的是 240MHZ

但是不知道是那里的问题,也使用了 DSP LIABARY

收藏 评论0 发布时间:2025-12-3 13:03

举报

0个回答

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版