STM32--DSP库使用

数字信号处理(DigitalSignal Processing,简称 DSP)是一门涉及许多学科而又广泛应用于许多领 域的新兴学科。20 世纪 60 年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并 得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。 数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、 压缩、识别等处理,以得到符合人们需要的信号形式。

输入信号的形式

在 DSP 系统中,输入信号可以有各种各样的形式。例如,它可以是麦克风输出的语音信号或是电话 线来的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等。

输入信号首先进行带限滤波和抽样,然后进行 A/D(Analog toDigital)变换将信号变换成数字比特 流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的 2 倍。

DSP 芯片的输入是 A/D 变换后得到的以抽样形式表示的数字信号,DSP 芯片对输入的数字信号进行 某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是 DSP 的关键,这与其他系统(如电 话交换系统)有很大的不同,在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改。 因此虽然两者都是实时系统,但两者的实时约束条件却有很大的不同。最后,经过处理后的数字样值再经 D/A(Digital toAnalog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。

必须指出的是,上面给出的 DSP 系统模型是一个典型模型,但并不是所有的 DSP 系统都必须具有模 型中的所有部件。如语音识别系统在输出端并不是连续的波形,而是识别结果,如数字、文字等;有些输 入信号本身就是数字信号(如 CD:Compact Disk),因此就不必进行模数变换了。

数字信号处理系统

(1) 接口方便。DSP 系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统 接口以实现某种功能要比模拟系统与这些系统接口要容易得多;

(2) 编程方便。DSP 系统中的可编程 DSP 芯片可使设计人员在开发过程中灵活方便地对软件进行修改 和升级;

(3) 稳定性好。DSP 系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高;

(4) 精度高。16 位数字系统可以达到 10^(-5)的精度;

(5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数 字系统便于测试、调试和大规模生产;

(6) 集成方便。DSP 系统中的数字部件有高度的规范性,便于大规模集成。

当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,如与模拟交换线的电话接 口,若采用 DSP 则使成本增加。DSP 系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且 DSP 系统消耗的功率也较大。此外,D SP 技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。 虽然 DSP 系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业 控制、仪器仪表等许多领域得到越来越广泛的应用。

ARM 公司推出的 Cortex-M4F 内核是带有 FPU,DSP 和 SIMD 单元的,针对这些单元也增加了专用指令,指 令如下:

ARM官方DSP库的移植

DSP库的下载

DSP 库是包含在 CMSIS(Cortex Microcontroller Software Interface Standard)里面的,所以下 载 DSP 库也就是下载 CMSIS。有两个地方可以下载 CMSIS,一个是 ARM 官网,一个是 ST 官网。首先 说一下如何在 ARM 官网下载。

第一步:登陆 ARM 官方网址:http://www.arm.com/zh/

第二步:注册一个 ID 号,ARM 官网不像 ST 官网,不注册就可以下载大部分资料,在 ARM 官网下 载资料一定要注册一个 ID。

第三步:具体注册过程就不多说了,按照提示步骤走即可。注册后可以简单的熟悉一下 ARM 官网的结构,然后查询我们需要下载的 CMSIS,也可以直接在这里检索 CMSIS 即可。

检索后打开界面如下:

点击进去后,如下就是我们要找的CMSIS

DSP库的说明

打开固件库里面的CMSIS文件,可以看到如下几个文件:

其中DSP_Lib中的文件如下:

Examples中的文件如下(这些是ARM官方提供的DSP实例):

Source中的文件如下(这些是DSP库的源文件):

一般情况下不建议将源文件加到工程里面,直接将ARM官方整理好的DSP库文件加入到工程中即可。不过需要查看库文件源码实现的话,可以加入源文件。
 Lib文件夹中就是DSP库文件
打开后主要有以下三个文件夹:

其中ARM文件夹中是我们可以加入到MDK中的DSP库,主要有以下几个版本:

其中最后一个arm_cortexM4lf_math.lib是用于Cortex-M4系列带FPU的DSP库文件(l表示小端格式,b表示大端格式)。

STM32--DSP库使用(1)相关推荐

  1. STM32 DSP库的使用方法

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

  2. STM32 DSP库

    DSP库简介 DSP库主要包含以下几个分库: BasicMathFunctions 基本数学函数:提供浮点数的各种基本运算函数,如向量加减乘除等运算. CommonTables arm_common_ ...

  3. STM32 HAL库 CUBEMX FPU 和 DSP库

    转自:https://blog.csdn.net/yuleitao/article/details/105621492?ivk_sa=1024320u FPU 简介 FPU 即浮点运算单元(Float ...

  4. stm32使用dsp库,结合Matlab进行FIR滤波器设计

    首先我们打开Matlab.在命令串口输入fdatool,按回车. Response Type :这里可以设置滤波器类型 lowpass(低通),highpass(高通),banpass(带通),ban ...

  5. 【STM32】STM32F4调用DSP库实现FFT运算

    写在前面 最近在整理之前的stm32笔记,打算把一些有价值的笔记发到CSDN分享一下. 奎斯特定理 在进行模拟/数字信号的转换过程中,当采样频率F大于信号中最高频率 fmax 的 2 倍时(F> ...

  6. STM32浮点运算单元(FPU)和DSP库使用

    文章目录 1. 浮点运算单元(FPU) 1.1 所用硬件 1.2 配置FPU 2. CMSIS-DSP 2.1 添加DSP库 2.2 测试 ====>>> 文章汇总(有代码汇总) & ...

  7. STM32CubeMx移植DSP库 傅立叶变化(FFT)测试

    文章目录 前言 一.STM32L496简介? 二.FFT简介 三.STM32CubeMx配置 四.MDK配置与程序 4.1宏定义的添加 4.2程序编写 五.结果 总结 前言 本篇文章采用的是ST公司的 ...

  8. 【DSP库窗函数】ARM官方最新DSP库中窗函数的使用方法

    文章目录 Ⅰ.DSP库更新介绍及下载 Ⅱ.DSP库移植 Ⅲ.DSP库窗函数使用示例 Ⅰ.DSP库更新介绍及下载 ARM官方最近更新的DSP库版本V1.14.3中新加入了许多窗函数供用户使用,提高了对于 ...

  9. 第9章 初识STM32固件库—零死角玩转STM32-F429系列

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  10. stm32 hal 库组织分析

    1. CMSIS 标准 2. HAL 库简介 上图是一个标准的 STM32F103 HAL 库的文件组织方式,至于其他芯片的组织方式其实是一模一样的. 基于寄存器方式的开发,实质上就是查找手册配置寄存 ...

最新文章

  1. (四十七)Quartz2D引擎初步
  2. 变量的高级主题(六)
  3. 颜色空间模型(HSV\LAB\RGB\CMYK)
  4. sqlserver去掉密码强度验证_安装sql2008数据库引擎配置时,提示sa密码强度不满足要求怎么办?...
  5. python之递归锁【Rlock】
  6. Bootstrap 打印机类
  7. python中head_Python(Head First)学习笔记:六
  8. 黑盒法测试c语言,黑盒测试的测试用例设计方法(经典理论知识,推荐)
  9. sql2018 ssas_如何使用SQL Server Analysis Services(SSAS)从头开始构建多维数据集
  10. Linux-awk直接修改原文件
  11. Taskonomy: Disentangling Task Transfer Learning程序运行记录
  12. 【渝粤教育】电大中专计算机职业素养 (7)作业 题库
  13. 安全篇 ━━ ITlearner ASP探针 V1.2
  14. 邮箱前台html,WEB独特的邮箱
  15. iPhone13ProMax和华为Mate50Pro区别 哪个好
  16. 阿里ESC7天训练营---搭建FTP服务
  17. Zookeeper学习思维导图
  18. 在keil中如何切换stm32的大中小容量芯片
  19. 企业级session管理框架:btg-session-jfinal
  20. docker eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...

热门文章

  1. Atitit q2016 q0 doc list on home ntpc.docx
  2. 网页保存视频最有效的几种方法
  3. poi导出Excel,表格画斜线,并设置数据
  4. Excel怎么制作三斜线表头
  5. MAC QQ聊天记录迁移
  6. win10系统激活遇到的问题
  7. RS232和TTL电平
  8. LM224的放大电路的几个应用电路
  9. 计算机xp画板在哪找,xp画图工具 xp画图工具在哪里 | 帮助信息-动天数据
  10. Unity 实现两个向量夹角为0~360度