打印
[STM32F4]

STM32F429的DSP教程、初学数字信号处理准备工作

[复制链接]
2496|69
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第1章   初学数字信号处理准备工作
本期教程开始带领大家学习DSP教程,学习前首先要搞明白一个概念,DSP有两层含义,一个是DSP芯片也就是Digital Signal Processor,另一个是Digital Signal Processing,也就是我们常说的数字信号处理技术。本教程主要讲的是后者。


使用特权

评论回复
沙发
实际测量不符|  楼主 | 2022-3-28 15:52 | 只看该作者
1.1   初学者重要提示
  关于学习方法问题,可以看附件章节A。
  这几年单片机的性能越来越强劲,DSP芯片的中低端应用基本都可以用单片机来做。
  当前单片机AI也是有一定前景的,ARM一直在大力推进,很多软件厂商和研究机构也在不断的努力。通过此贴可以了解下:单片机AI的春天真的来了,ARM最新DSP库已经支持NEON,且支持Python    。

使用特权

评论回复
板凳
实际测量不符|  楼主 | 2022-3-28 15:52 | 只看该作者
1.2   STM32F4的DSP功能介绍
STM32F4是采用的Cortex-M4内核,而DSP功能是内核自带的,下面我们通过M4内核框图来了解下:

使用特权

评论回复
地板
实际测量不符|  楼主 | 2022-3-28 15:54 | 只看该作者

使用特权

评论回复
5
实际测量不符|  楼主 | 2022-3-28 15:57 | 只看该作者
重点看如下两个设计单元:

  DSP
DSP单元集成了一批专用的指令集(主要是SMID指令和快速MAC乘累加指令),可以加速数字信号处理的执行速度。

  FPU
Cortex-M4内核支持单精度浮点,可以大大加速浮点运算的处理速度。

使用特权

评论回复
6
实际测量不符|  楼主 | 2022-3-28 15:59 | 只看该作者
下面是Cortex-M3,M4和M7的指令集爆炸图:

使用特权

评论回复
7
实际测量不符|  楼主 | 2022-3-28 16:00 | 只看该作者

使用特权

评论回复
8
实际测量不符|  楼主 | 2022-3-28 16:01 | 只看该作者
通过这个图,我们可以了解到以下几点:

  M4和M7系列有相同的DSP指令集。
  M7相比M4系列要多一些浮点指令集。
  同时这里要注意一个小细节,浮点指令都是以字符V开头的。通过这点,我们可以方便的验证是否正确开启了FPU(MDK或者IAR调试状态查看浮点运算对应的反汇编是否有这种指令)。

使用特权

评论回复
9
实际测量不符|  楼主 | 2022-3-28 16:01 | 只看该作者
不同M内核的DSP性能比较:

使用特权

评论回复
10
实际测量不符|  楼主 | 2022-3-28 16:02 | 只看该作者

使用特权

评论回复
11
实际测量不符|  楼主 | 2022-3-28 16:03 | 只看该作者
Cortex-M7内核的DSP性能最强。
  Cortex-M3,M4和M33是中等性能,其中M3最弱。
  Cortex-M0,M0+和M23性能最弱。

使用特权

评论回复
12
实际测量不符|  楼主 | 2022-3-28 16:03 | 只看该作者
1.3   Cortex-M4内核的DSP和专业DSP的区别
M核的DSP处理单元与专业DSP的区别:

使用特权

评论回复
13
实际测量不符|  楼主 | 2022-3-28 16:04 | 只看该作者

使用特权

评论回复
14
实际测量不符|  楼主 | 2022-3-28 16:05 | 只看该作者
1.4   ARM提供的CMSIS-DSP库
为了方便用户实现DSP功能,ARM专门做一个DSP库CMSIS-DSP,主要包含以下数字信号处理算法:

  BasicMathFunctions

使用特权

评论回复
15
实际测量不符|  楼主 | 2022-3-28 16:05 | 只看该作者
提供了基本的数据运算,如加减乘除等基本运算,以_f32结尾的函数是浮点运算,以_q8, _q15, _q31,结尾的函数是定点运算,下面是部分API截图:

使用特权

评论回复
16
实际测量不符|  楼主 | 2022-3-28 16:06 | 只看该作者

使用特权

评论回复
17
实际测量不符|  楼主 | 2022-3-28 16:09 | 只看该作者
FastMathFunctions
主要提供SIN,COS以及平方根SQRT的运算。

  ComplexMathFunctions

使用特权

评论回复
18
实际测量不符|  楼主 | 2022-3-28 20:27 | 只看该作者
复杂数**算,主要是向量,求模等运算。下面是部分API截图:

使用特权

评论回复
19
实际测量不符|  楼主 | 2022-3-28 20:28 | 只看该作者

使用特权

评论回复
20
实际测量不符|  楼主 | 2022-3-28 20:29 | 只看该作者
主要是滤波函数,如IIR,FIR,LMS等,下面是部分API截图:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

589

帖子

1

粉丝