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


    测试条件:
    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个时钟周期一次:

     

    (2)函数arm_sin_f32

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


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

    使用函数sin

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

    (2)单精度测试

    使用函数sinf

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

     

    微信公众号:armfly_com 安富莱论坛:www.armbbs.cn 安富莱淘宝:https://armfly.taobao.com
  • 相关阅读:
    JUC 常用 4 大并发工具类是哪几个?(面试必问)
    rinkeby faucet rinkeby测试币水龙头
    JVM内存结构图
    String类常见面试题
    XX:+TraceClassLoading在eclipse中的用法
    fastthread 堆栈定位 jvm分析工具
    Mybatis工作原理
    构建者模式
    List、Set和Map的区别
    rpc和http的区别是什么 各自的优缺点有哪些
  • 原文地址:https://www.cnblogs.com/armfly/p/14577219.html
Copyright © 2020-2023  润新知