实时操作系统与数字信号处理在Cortex - M微控制器中的应用
1. 数字信号处理(DSP)处理方式
在数字信号处理中,有两种主要的处理方式:流处理和块处理。
1.1 流处理
流处理中,每个采样值都会被单独处理。这种方式具有最低的信号延迟和最小的内存需求。但缺点是,数字信号处理(DSP)算法会消耗更多的处理器周期。每次进行模数转换器(ADC)转换时,都必须运行DSP算法,这可能会与其他高优先级中断例程产生冲突。
1.2 块处理
块处理则是将多个ADC结果存储在一个缓冲区中(通常约32个样本),然后将这个缓冲区作为一个数据块由DSP算法进行处理。这样可以减少DSP算法的运行次数。块处理还能很好地与微控制器的直接内存访问(DMA)单元和实时操作系统(RTOS)集成。不过,块处理会引入更多的信号延迟,并且比流处理需要更多的内存。对于大多数应用来说,块处理是首选方式。
下面是两种处理方式的对比表格:
| 处理方式 | 信号延迟 | 内存需求 | 处理器周期消耗 | 与DMA和RTOS集成 |
| ---- | ---- | ---- | ---- | ---- |
| 流处理 | 低 | 小 | 多 | 差 |
| 块处理 | 高 | 大 | 少 | 好 |
2. 块处理的FIR滤波器实现
2.1 项目操作步骤
我们可以通过CMSIS - DSP函数来实现一个有限脉冲响应(FIR)滤波器,具体步骤如下:
1. 打开Pack安装程序。
2. 选择“Boards::Designers Guide
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



