DSP算法库到底有多快?
💡
原文中文,约1700字,阅读约需5分钟。
📝
内容提要
本文介绍了ARM单片机开发中的DSP算法库CMSIS,包含了许多基本的数据函数、快速数学运算、复数运算等。通过对比开方运算和正弦三角函数的计算速度,发现使用DSP函数能够提供较大的性能提升。测试结果显示,对于M3内核的单片机,使用DSP数学库的效率非常高。对于三角函数sine计算,DSP算法库比起普通的数学函数要快四倍左右。而浮点开方数学运算,DSP数学库只需要普通数学库的三分之一的时间。普通的整数位移操作,DSP库函数的速度大约快了三分之一左右。
🎯
关键要点
- CMSIS是ARM单片机开发中的DSP数字信号处理函数库,包含基本数据函数、快速数学运算等。
- 使用CMSIS中的DSP函数相比普通数学库能提供显著的性能提升。
- 测试硬件为STM32F103单片机,M3内核,系统时钟为64MHz。
- 通过LED输出高低电平表示计算时间,比较普通和DSP库的sine函数计算速度。
- DSP库的sine函数计算时间为10微秒,普通数学库为41.7微秒,DSP库快四倍。
- 浮点开方运算中,DSP库为4.9微秒,普通数学库为12.52微秒,DSP库快不到三倍。
- 整数位移操作中,DSP库为16.65微秒,普通C语言为24微秒,DSP库快约三分之一。
- 总体而言,CMSIS DSP数学库函数速度普遍高于普通C语言和math库函数。
➡️