STM32 DSP库的使用方法

一、工程中如何添加DSP库

在keil5软件中点击 Pack,CMISIS组件选择DSP资源,可以选择Source源码或者Library库导入到项目中,点击OK,可以在项目树中看到该资源已经导入了工程。

二、 如何使用DSP库

DSP库对浮点计算做了优化和增强,一般来说在具有FPU单元的单片机上运行效果更好,STM32F4 是M4内核,支持FPU,但默认是关闭该功能的,需要手动开启,开启方法很简单,开启Single Precison,硬件浮点计算功能即可。

以STM32F4为例,其预编译添加以下宏支持:ARM_MATH_CM4(CM4支持的),ARM_MATH_MATRIX_CHECK(矩阵输入输出检查),ARM_MATH_ROUNDING(四舍五入相关支持)

在项目工程中,一般需要包括#include "arm_math.h"  #include "math_helper.h"  #include "arm_const_structs.h"头文件夹即可。

具体使用方法参考官方说明文档,没有哪一个博客写的有官方文档好。

DSP库支持的计算类别包括:

  • 基本数学函数,包括:向量的绝对值,加减乘除,位与,点乘,或,异或等
  • 快速数学函数,包括:平方根,余弦,正弦
  • 复杂的数学函数,包括:共轭,点乘,复数,复数平方,乘方,实数乘法
  • 滤波功能,包括:FIR IIR LMS 等
  • 矩阵函数,包括:矩阵的加法、转置、乘法、逆等
  • 变换功能,包括:FFT 
  • 电机控制功能,包括:PID、Clarke、正余弦变换等
  • 统计功能,包括:最大、平均、方差、标准差、均方根等
  • 支持功能,包括:排序、填充、插值、转换等
  • 插值功能,包括:线性插值、双线性插值等
  • 支持向量机功能(SVM),包括:SVM
  • 贝叶斯分类器功能,包括:贝叶斯估计
  • 距离计算功能,包括:常见的距离计算,如欧式距离,余弦距离等

在线参考手册:https://www.keil.com/pack/doc/CMSIS/DSP/html/group__cos.html#gace15287f9c64b9b4084d1c797d4c49d8

其他需要注意的事项,注意KEIL软件版本和Pack,尽量使用最新的版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 2010-随机出现的页面性能问题

有个客户, 服务器的配置巨牛, 24核CPU, 64GB内存, 这样的三台机器组成了一个SharePoint 2010的服务器场. 就是这样牛的配置, 出现了性能问题. 看performance log, 发现CPU, 内存都资源非常充裕, 问题发生的时候request/sec的值也非常的低. 问题发生的频率很低, 一天十次以内. …

iOS开发多线程篇—线程的状态

iOS开发多线程篇—线程的状态 一、简单介绍 线程的创建: self.thread[[NSThread alloc]initWithTarget:self selector:selector(test) object:nil]; 说明:创建线程有多种方式,这里不做过多的介绍。 线程的开启: [self.thread star…

Qt 编写应用程序升级的配置文件json 生成工具

通过此工具将需要更新的应用程序和相关目录下的依赖文件配置成json格式的升级文件,客户端版本监控软件通过读取此json文件,对比相应字段,实现自动拉取文件,从而保证客户端应用程序自动更新。 此json文件放在待升级的exe同级目录下…

以太网供电新标准POE+,IEEE802.3at解析

以太网供电新标准POE,IEEE802.3at解析 以太网供电新标准POE,IEEE802.3at一、IEEE 802.3at标准出现的背景为了遵循IEEE 802.3af规范,受电设备(PD)上的PoE功耗被限制为12.95W,这对于传统的IP电话以及网络摄像头而言足以满足需求&am…

KEIL ARM 6.12 compiler 编译__ASM 错误的解决方法

1、问题 KEIL compiler 设置为 “use default compiler version 5” 可以正确编译以下汇编和C混合代码,更改编译器为V6.12后不识别__ASM关键字,并对汇编语法报错。 替换为 __ASM void MSR_MSP(uint32_t addr) {MSR MSP, r0 BX r14 } 2、解决办法 6.12…

JIURL文档-Linux的虚拟内存与分页机制(x86-64位)(一)

作者:JIURL日期:2015年10月30日分页机制Linux(x64CPU)使用基于分页机制的虚拟内存。每个进程有256TB(48位)的虚拟地址空间。基于分页机制,这256TB地址空间的一些部分 被映射了物理内存&#xff…

STM32 设置片外SRAM分散加载

STM32F407 通过FSMC外挂一片SRAM 容量1MB, 设置应用程序的中的超大数组存放在外部SRAM。 (1)首先通过设置FSMC,保证正确挂接SRAM。 (2)MDK设置 (3)应用程序用__attribute__指定需要…

.NET4.0 之 Dynamic VS Refle“.NET研究”ction 效率

在我先前的文章中,不断的推广.NET4.0新特性。特别是.NET4.0 Dynamic 这个新特性。随之而来的问题也出现了—Dynamic 执行效率如何? 我们做开发的不光需要代码简洁,能够希望自己能够写出好的架构。还有一点非常重要的就是,我们的写…

lwip+freeRTOS 无法ping通的解决方案

0、工程环境 STM32F407ZGT6LAN8720FreeRTOSlwIP 1、硬件 (1)确认PHY芯片RMII管脚是否配置正确; (2)PHY芯片初始化完成后,用HAL_ETH_ReadPHYRegister读一下寄存器0,1,2&#xff0c…

数据流图

数据流图(Data Flow Diagram,简称DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经历的变换,其既提供了功能建模机制也提供了信息建模机制。是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 它以…

lwip+freeRTOS 实现热插拔功能

1、lwip启用LWIP_NETIF_CALLBACK 宏,cubeMX会自动生成相关函数()。 /* Set the link callback function, this function is called on change of link status*/netif_set_link_callback(&gnetif, ethernetif_update_config); 回调函数在v…

iOS设计模式 - 享元

iOS设计模式 - 享元 原理图 说明 享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结…

带箭头的菜单列表

<title>带箭头的菜单列表</title><style>body{background-color:#999;}#menu{font-size:16px;width:140px;margin:0 auto;border:solid 1px #ccc;}#menu a,#menu a:visited{text-decoration:none;text-align:center;color:#c00;display:block;padding:4px;ba…

gcc编译选项-Os的用法

From: http://hi.baidu.com/caosicong/item/e61fa700581980d11ff0469c **********************gcc/egcs 的主要选项********* gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色&#xff0c; 例如 asm 或 typeof 关键词。…

ASP.NET和PHP全面对比

谁是速度之王&#xff1f; 刚刚在9月编程语言排行榜上取得历史性突破的PHP在Web开发领域最到的对手可能就是基于微软.NET技术的ASP.NET。近日&#xff0c;微软的 Joe Stagner在博客上发表了一系列文章比较了PHP和ASP.NET性能方面的文章&#xff0c;引起了来自双方程序员的大量回…

40个漂亮的单页网站设计案例(上篇)

有很多人喜欢单页网站&#xff0c;这种网站只有一个页面&#xff0c;设计都很精美&#xff0c;通过锚记进行平滑的导航。不过&#xff0c;并不是每个网站都适合做成单页&#xff0c;一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站…

jsoncpp之初体验

参考文章 http://blog.csdn.net/JoeBlackzqq/article/details/9043315 , 我将里面的代码做在了一个工程亲自体验了下。 1. 下载jsoncpp源码&#xff0c; 地址: http://nchc.dl.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gz 2. 编译json&#xff0…

让Windwos Server 2008 R2 SP1的FTP真正能访问

今天把FTP配置好后&#xff0c;在本机上匿名访问没有问题了&#xff0c;以为万事大吉&#xff0c;于是把需要的文件放入后&#xff0c;到另一台机子上去试试&#xff0c;结果发现出现下面的画面。访问不通&#xff01;什么原因&#xff1f;于是把防火墙完全关闭了&#xff0c;发…

几款用于电能质量测量的芯片

1、ATT7022B ATT7022B 是专用的智能电表计量芯片&#xff0c;ATT7022B 包含六路二阶 sigma-delta ADC、电能质量参数数字信号处理等电路。ATT7022B 可以测量系统的电压、电流、频率、有功功率、无功功率、有功能量、无功能量等参数。ATT7022B 通过 SPI 通信接口进行数据通信。…