庄永 发表于 2024-3-17 01:11:11

ARM DSP精度问题

使用ARM的DSP库计算sin,速度确实很快,但是随着输入不断增加,误差越来越大,有大佬知道怎么处理吗?


WZH 发表于 2024-3-17 11:19:31

不让输入一直增加,可以预先对输入取2pi的余数,再试一试

庄永 发表于 2024-3-17 14:28:09

WZH 发表于 2024-3-17 11:19
不让输入一直增加,可以预先对输入取2pi的余数,再试一试

dsp实现已经对输入做了相关处理了

eric2013 发表于 2024-3-18 08:23:02

庄永 发表于 2024-3-17 14:28
dsp实现已经对输入做了相关处理了

DSP库的三角函数是查表法实现的,所以精度不行。这个帖子里面的提纲图贴了个速度比较。

DSP视频教程第8期:DSP库三角函数,C库三角函数和硬件三角函数的性能比较,以及与Matlab的精度比较(2022-06-04)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112675&fromuid=58
(出处: 硬汉嵌入式论坛)

庄永 发表于 2024-3-18 11:34:47

eric2013 发表于 2024-3-18 08:23
DSP库的三角函数是查表法实现的,所以精度不行。这个帖子里面的提纲图贴了个速度比较。

DSP视频教程第 ...

感谢大佬

庄永 发表于 2024-3-21 15:12:09

结贴:主要误差是由于数据大可以后,精度变低,在做浮点数计算过程中精度也会损失越来越大,导致最后的查表出现问题,可以通过将浮点数乘以一个较大数转成整数,计算完后在转为浮点数,但是解决不了问题,只是将出现较大误差的阈值后移而已

skyshine 发表于 2024-3-21 17:16:35

“数据大可以”这个是什么意思,大于1吗

庄永 发表于 2024-3-22 14:52:46

skyshine 发表于 2024-3-21 17:16
“数据大可以”这个是什么意思,大于1吗

打错字,数据过大的意思。
页: [1]
查看完整版本: ARM DSP精度问题