打印
[应用相关]

单片机计算FFT很慢,在开启FPU后有没有其他办法更快点。

[复制链接]
1719|47
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
风之呢喃|  楼主 | 2025-2-28 16:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如何利用FPU加速卡尔曼滤波算法,将计算时间从500μs缩短至100μs以下?

使用特权

评论回复
评论
muyichuan2012 2025-3-10 14:37 回复TA
有调用CMSIS DSP库没有? 
46
菜鸟的第一步| | 2025-3-25 11:05 | 只看该作者
使用整数运算代替小数,再开启FPU肯定是够的

使用特权

评论回复
45
电竞孔乙己| | 2025-3-20 20:38 | 只看该作者
直接用自带的FPU,速度肯定够的

使用特权

评论回复
44
maqianqu| | 2025-3-20 10:45 | 只看该作者
开启 DMA 和硬件 FFT 加速器

使用特权

评论回复
43
51xlf| | 2025-3-20 09:02 | 只看该作者
如果应用场景允许,使用定点数代替浮点数进行计算。尽管这需要额外的量化处理步骤,但通常能显著加快计算速度,并减少内存占用。

使用特权

评论回复
42
可怜的小弗朗士| | 2025-3-19 17:58 | 只看该作者
不加任何处理,直接运行也不会500us吧

使用特权

评论回复
41
问天少年| | 2025-3-19 17:37 | 只看该作者
开启FPU应该直接就能降下来吧

使用特权

评论回复
40
幻境之眼| | 2025-3-19 17:26 | 只看该作者
通过使用整数运算代替小数

使用特权

评论回复
39
hilahope| | 2025-3-19 15:46 | 只看该作者
优化内存访问模式,减少缓存未命中次数,可以提高数据访问速度。

使用特权

评论回复
38
deliahouse887| | 2025-3-19 12:42 | 只看该作者
定点 FFT 算法可能比浮点 FFT 算法更快。定点运算避免了浮点运算中复杂的小数处理和进位操作,减少了计算时间。

使用特权

评论回复
37
timfordlare| | 2025-3-19 09:42 | 只看该作者
通常可以使用定点数(整数)代替浮点数进行FFT计算。

使用特权

评论回复
36
houjiakai| | 2025-3-18 21:12 | 只看该作者
化数据结构和访问模式              

使用特权

评论回复
35
alvpeg| | 2025-3-18 19:11 | 只看该作者
使用更高效的FFT算法,例如Cooley-Tukey算法或蝶形算法,这些算法可以减少计算量和内存访问次数。

使用特权

评论回复
34
olivem55arlowe| | 2025-3-16 14:59 | 只看该作者
蝶形运算是FFT算法的核心部分,对其进行优化可以减少乘法和加法运算的次数。

使用特权

评论回复
33
houjiakai| | 2025-3-16 13:16 | 只看该作者
将信号补零至最近的 2 的幂次长度,减少混合基 FFT 的计算量。

使用特权

评论回复
32
febgxu| | 2025-3-16 11:35 | 只看该作者
在资源允许的情况下,可以使用额外的协处理器来分担主处理器的工作负担。

使用特权

评论回复
31
geraldbetty| | 2025-3-15 22:56 | 只看该作者
适当使用内联函数和宏可以减少函数调用带来的开销。

使用特权

评论回复
30
usysm| | 2025-3-15 21:13 | 只看该作者
将大信号分割为多个小块分别进行 FFT,利用缓存局部性提高效率。

使用特权

评论回复
29
lzmm| | 2025-3-15 19:17 | 只看该作者
如果单片机支持多核或多线程处理,可以尝试将FFT计算并行化,将数据分割成多个部分

使用特权

评论回复
28
qiufengsd| | 2025-3-15 17:34 | 只看该作者
将 FFT 核心代码内联到主函数,避免函数调用开销。

使用特权

评论回复
27
sdCAD| | 2025-3-15 15:52 | 只看该作者
​快速数论变换              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝