DSP软件测试用例,DSP测试实验

DSP测试实验

一.参考资料:

探索者STM32F4开发板

《STM32F4开发指南-库函数版本》-第52章 DSP测试实验

二.DSP功能介绍

1.DSP功能描述STM32F4除了带有32单精度硬件FPU外,在数字信 处理方面还增加了DSP指令集。

支持诸如单周期乘加指令(MAC),优化的单指令多数据指令(SIMD),饱和算数等多种数字信 处理指令集。

M4执行所有的 DSP指令集都可以在单周期完成,而M3需要多个指令和多个周期才能完成。

以上图片所示的运算,即:SUM = SUM +(AC)+(BD),在STM32F4上面,可以被编译成由一条单周期指令完成。

三.DSP源码库介绍

1.软件包目录:

光盘→8,STM32参考资料→STM32F4xx固件库→STM32F4xx_DSP_StdPeriph_Lib_V1.4.0→Libraries→CMSIS→DSP_Lib

Source文件夹是所有DSP库的源码,Examples文件夹是对应的测试实例。测试实例都是带main函数的,也就是拿到工程中可以直接使用。

Include文件夹,是直接拷贝:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0→Libraries→CMSIS→Include

(2)添加arm_cortexM4lf_math.lib文件到工程,并把include文件夹包含到path。

2.添加全局宏定义

为了使用DSP库的所有功能,我们还需要添加几个全局宏定义:1.__FPU_USED :这个如果在MDK中开启了,就不需要再填

2.__FPU_PRESENT :这个在stm32f4xx.h默认开启,可以不填

3.ARM_MATH_CM4

4.__CC_ARM

5.ARM_MATH_MATRIX_CHECK

6.ARM_MATH_ROUNDING

%E5%85%A8%E5%B1%80%E5%AE%8F%E5%AE%9A%E4%B9%89.png

在Define处要输入的所有宏为:STM32F40_41xxx,USE_STDPERIPH_DRIVER,ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING

五.DSP库测试

1.DSP库测试实例介绍

$$

sin(x)2+cos(x)2=1

$$

MDK的标准库(math.h)提供我们:sin、cos、sinf和cosf等4个函数,带f的表示单精度浮点型运算,即float型,而不带f的表示双精度浮点型,即double。

STM32F4的DSP库,则提供我们另外两个函数:arm_sin_f32和arm_cos_f32(注意:需要添加:arm_math.h头文件才可使用!!!),这两个函数也是单精度浮点型的,用法同sinf和cosf一模一样。

本例程测试:

arm_sin_f32 & arm_cos_f32 和 sinf&cosf 的速度差别。

相关资源:论文降重软件工具(去重、消重亲测好用!!)_论文降重工具-桌面系统…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月25日
下一篇 2021年6月25日

相关推荐