手把手教你用matlab生成STM32官方IIR滤波器的系数
来源:互联网 发布:淘宝客服工作目标 编辑:程序博客网 时间:2024/05/29 08:32
本文采用的matlab版本为R2008a,芯片采用stm32f103v。
先回顾一下数字信号处理和IIR滤波器的相关知识。
数字信号处理是用数字序列来研究系统的一门技术,不同于模拟信号,数字信号处理起来更加灵活,不仅可以处理一维信号,还可以处理二维、三维以上的信号。这门技术应用非常广泛,如生物医学、声学、雷达、语音通信、数据通信等都采用了数字信号处理技术。
在数字信号处理技术中经常用的一种算法叫IIR滤波器,这种滤波器可以设计成带通、低通和高通滤波,在设计原型上有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数。IIR数字滤波器是一种递归型线形时不变因果系统,其差分方程可以写成
式中x表示输入系列,y表示输出序列。通过z变换,可以得到传递函数
由差分方程可以直接得到下面的信号流图
以上这种形式叫做直接形式I,对应matlab中IIR滤波器结构选项的Direct-Form I,SOS。注:matlab中在命令行输入FDAtool可以打开滤波器设计GUI界面,在Edit菜单栏选项下有“Convert Structure...”选项,点击后可以选择滤波器结构。我们假设设计一个直接I型的1阶滤波,首先选择滤波器结构第一项”Direct-Form I,SOS”,然后将模型实现,点击”Relize Model“,大家又没有发现这个结构和上图的流程图很相似,只要把流程图改为1阶,那么和下面这个图就是一样的了。
在线形非移变系统情况下,级联系统的总输入-输出关系和子系统级联的次序无关,根据这一特性,将y(n)部分与x(n)部分交换可以得到滤波器的第二种直接形式。
由于此时z-1支路的输入相等,因此可以将这两路合并,这样简化流图后得到滤波器的直接形式II。
更一般的,采用级联的二阶形式(这也是matlab和STM32官方库中采用的形式)信号流图如下(2级级联)
以上这种结构就是以后在设计和实现时采用的流图,我们将按照图中的a11、a12...b22来确定STM32官方IIR滤波器的滤波系数。
本文引用通告地址:http://powermod.spaces.eepw.com.cn/articles/trackback/item/106436本文引用通告地址:http://powermod.spaces.eepw.com.cn/articles/trackback/item/106438
本文引用通告地址:http://powermod.spaces.eepw.com.cn/articles/trackback/item/106439
- 手把手教你用matlab生成STM32官方IIR滤波器的系数(一)
- 手把手教你用matlab生成STM32官方IIR滤波器的系数(二)
- 手把手教你用matlab生成STM32官方IIR滤波器的系数(三)
- 手把手教你用matlab生成STM32官方IIR滤波器的系数
- 手把手教你用matlab生成STM32官方IIR滤波器的系数
- STM32实现IIR滤波器,可用matlab生成的头文件
- 用Matlab的FDAtool生成IIR滤波器参数
- 用Matlab的FDAtool生成IIR滤波器参数
- 用Matlab的FDAtool生成IIR滤波器参数
- 用Matlab的FDAtool生成IIR滤波器参数
- IIR滤波器matlab源程序
- [Matlab]IIR滤波器参数
- 4.5 matlab 设计IIR滤波器
- 基于FPGA与MATLAB的IIR滤波器设计与实现
- 一个简单的IIR低通滤波器(matlab实现)
- Fdatool生成的IIR系数在Dsplib中的使用方法
- 如何在STM32上使用matlab设计定点数IIR滤波器
- IIR滤波器设计(调用MATLAB IIR函数来实现)
- Python处理json字符串转化为字典
- 51nod 1450
- TensorFlow技术101
- Codeforces Rating Gym-101028A
- Android实战——Tinker的集成和使用
- 手把手教你用matlab生成STM32官方IIR滤波器的系数
- 为什么有抽象类还要接口
- 24.富文本编辑器Kindeditor的使用
- OpenSSL 开启 TLS1.3
- 51nod 1448
- unity 在UI中 点击画布 返回鼠标所在画布的位置
- 关于自卑
- xgboost原理
- 欢迎使用CSDN-markdown编辑器