stm32 带通滤波器_手把手教你用matlab生成STM32官方IIR滤波器的系数(一)

本文介绍了如何使用MATLAB R2008a设计STM32F103V的IIR带通滤波器。内容涉及数字信号处理基础、IIR滤波器类型及其实现结构,包括直接形式I和II,特别是以二阶系统级联的形式。通过FDAtool设计滤波器并转换为适合STM32官方库的滤波系数。
摘要由CSDN通过智能技术生成

本文采用的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阶,那么和下面这个图就是一样的了。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值