硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4447|回复: 20
收起左侧

[DSP] STM32H7的不限制点数FFT章节教程发布(2021-06-28)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2021-6-28 01:04:17 | 显示全部楼层 |阅读模式
第2版DSP教程下载:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547

mulu20.jpg


由于ARM DSP库限制最大只能4096点,有点不够用,所以整理了个更大点数的。不限制点数,满足2^n即可。

下面是16KB数据量FFT展示

幅频:

image.png


相频:
image.png



回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-27 15:19:46 | 显示全部楼层
汉子哥,为什么1024点FFT在板子上运行几毫秒,而不限点数的FFT在板子上要运行3分钟?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-27 15:33:16 | 显示全部楼层
aa王同庆 发表于 2022-4-27 15:19
汉子哥,为什么1024点FFT在板子上运行几毫秒,而不限点数的FFT在板子上要运行3分钟?

貌似没有移植好。

将这里的表提前生成好
image.png
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-27 15:44:51 | 显示全部楼层
我用的是例程里面16384点FFT,表已经生成了,要算三分钟
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-27 16:07:25 | 显示全部楼层
aa王同庆 发表于 2022-4-27 15:44
我用的是例程里面16384点FFT,表已经生成了,要算三分钟

里面有个串口打印,把串口打印关闭了。

你用的芯片是不是没有带硬件浮点。
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-27 16:22:39 | 显示全部楼层
我直接把”InitTableFFT(uint32_t n)“这个函数删掉了,保留了这个 image.png ,芯片应该是有硬件浮点的,使用的是STM32H743IITx
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-27 18:11:18 | 显示全部楼层
aa王同庆 发表于 2022-4-27 16:22
我直接把”InitTableFFT(uint32_t n)“这个函数删掉了,保留了这个,芯片应该是有硬件浮点的,使用的是STM3 ...

用H7跑成这样,那你这个是没有移植好啊
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-27 18:56:14 | 显示全部楼层
移植是按照文档的步骤来的,1024点的FFT变换就很快,移植无限点的时候就慢了,找不到移植问题所在,人懵了....这种问题要怎么排查啊
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-27 21:06:07 | 显示全部楼层
image.png 大佬,我用串口发数据发现主要是这一个指令用的时间特别长,可以看出来是移植哪里出问题了吗?
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-28 13:30:23 | 显示全部楼层
这个cfft()程序是这样的,是不是我这个函数没移植对啊?
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-29 09:05:59 | 显示全部楼层
aa王同庆 发表于 2022-4-27 21:06
大佬,我用串口发数据发现主要是这一个指令用的时间特别长,可以看出来是移植哪里出问题了吗?

你的芯片是主频在480MHz工作吗,硬件FPU正常开启了吗
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 09:56:47 | 显示全部楼层
芯片主频设置在400MHz,硬件FPU也设置了,应该没问题,我把图片贴出来,可以帮忙看一下吗? image.png image.png
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 12:25:38 | 显示全部楼层
我在下载程序到板子的时候出现了这个warning,是不是有关系呢?
image.png
*** WARNING: Using ARM Cortex-M4 Simulator. ARM Cortex-M7 specific features are not modelled !
***警告:使用ARM Cortex-M4模拟器。ARM Cortex-M7的特定功能没有建模!
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 15:03:29 | 显示全部楼层
使用了一下keil的在线调试功能,不知道改到哪个地方了,速度突然快了,16384点FFT运行时间12s正常吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-29 15:14:58 | 显示全部楼层
aa王同庆 发表于 2022-4-29 15:03
使用了一下keil的在线调试功能,不知道改到哪个地方了,速度突然快了,16384点FFT运行时间12s正常吗?

包含printf的打印时间没
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 15:28:54 | 显示全部楼层
包含打印时间
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 15:31:15 | 显示全部楼层
只包含串口打印出来的时间,那个sintab和costab都是事先弄好的
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-4-29 15:44:56 | 显示全部楼层
把printf删掉之后速度正常了,应该不到0.5s,谢谢汉子哥这两天的指导
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2022-4-30 10:42:12 | 显示全部楼层
aa王同庆 发表于 2022-4-29 15:44
把printf删掉之后速度正常了,应该不到0.5s,谢谢汉子哥这两天的指导

好的,不容易,终于解决了
回复

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2023-8-15 12:44:59 | 显示全部楼层
eric2013 发表于 2022-4-30 10:42
好的,不容易,终于解决了

请教下,ST汇编的DSP库和ARM的DSP库在性能上有什么区别?RAM会减小吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-8-15 14:24:19 | 显示全部楼层
yunqi 发表于 2023-8-15 12:44
请教下,ST汇编的DSP库和ARM的DSP库在性能上有什么区别?RAM会减小吗?

此贴里面有测试时间比较

https://www.armbbs.cn/forum.php?mod=viewthread&tid=3886
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 19:56 , Processed in 0.236960 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表