硬汉嵌入式论坛

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

[硬件三角函数Cordic] H730硬件三角函数,DSP库和C库三角函数性能比较,其中硬件三角函数优势明显(2021-03-13)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106907
QQ
发表于 2021-3-13 09:56:19 | 显示全部楼层 |阅读模式
测试条件:
1、MDK5.33 AC5 ,开启最高等级三级优化,开启时间优化
2、测试平台自制H730VBT板子。
3、工作主频550MHz。
4、开启硬件双精度。
5、开启硬件三角函数。


测试:
1、H730硬件三角函数。
开启20bit最高测试精度,对应6个时钟周期24次迭代。注意这里的时钟周期是相对Cordic来说的,由于Cordic是在550MHz主频的二分频下工作,所以实际测试应该是12个时钟周期完成一次三角函数计算。

这里计算了10000次sin,DMA方式。

最终需要时钟周期是200506个,也就是20个时钟周期计算一次,即36ns一次计算,这个速度还是相当给力的。

正常情况下的理论值应该是12个时钟周期就计算完毕,额外的8个时钟周期耽误在DMA等传输上了。


当然如果采用最大误差精度情况下,可以做到13.5个时钟周期一次,不过实用价值不高。

2、DSP库测试
(1)函数arm_sin_q31

由于是查表法实现,精度有点低,只有10bit左右,所以参考价值不高。

测试100次求平均是27.6个时钟周期一次:

1.png

(2)函数arm_sin_f32

测试100次求平均是168个时钟周期一次:
1.png


3、C库测试
(1)双精度测试

使用函数sin

测试100次求平均是240个时钟周期一次:
1.png

(2)单精度测试

使用函数sinf

测试100次求平均是69.8个时钟周期一次:

1.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106907
QQ
 楼主| 发表于 2021-3-13 10:26:50 | 显示全部楼层
之前做的不同编译器之间的比较:

【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能
http://www.armbbs.cn/forum.php?m ... 5455&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2021-3-13 14:18:24 | 显示全部楼层
性能这么强,看来可玩性很高啊
代码不规范,亲人两行泪!
回复

使用道具 举报

8

主题

33

回帖

57

积分

初级会员

积分
57
发表于 2021-3-13 16:38:23 | 显示全部楼层
我都是用的nvidia的cg 快速math函数,用多项式近似的,精度可以,起码我的h7的3d引擎计算没任何问题,比查表省空间,速度应该差不多
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106907
QQ
 楼主| 发表于 2021-3-14 07:28:57 | 显示全部楼层
jisaowang2 发表于 2021-3-13 16:38
我都是用的nvidia的cg 快速math函数,用多项式近似的,精度可以,起码我的h7的3d引擎计算没任何问题,比查 ...

总体来说还是很给力的。
回复

使用道具 举报

5

主题

61

回帖

76

积分

初级会员

积分
76
发表于 2021-3-15 11:55:29 | 显示全部楼层
为什么C库的sinf 比 arm_sin_f32还要快呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106907
QQ
 楼主| 发表于 2021-3-15 12:15:00 | 显示全部楼层
Blake 发表于 2021-3-15 11:55
为什么C库的sinf 比 arm_sin_f32还要快呢?

是的,C库的是编译器厂家自己做的,性能并不比DSP库的浮点慢。特别是浮点的计算。
当前这个DSP库在定点计算上才有优势,因为可以方便的调用DSP指令,而编译一般优化程序没有这个高。

另外就是计算精度,回头我对比下。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 14:38 , Processed in 0.290510 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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