手把手教你用matlab生成STM官方IIR滤波器的系数.pdf

手把手教你用matlab生成STM官方IIR滤波器的系数.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
手把手教你用 matlab 生成 STM32 官方 IIR 滤波器的系数 (一) 本文采用的 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 滤波器的滤波系数。(未完待续,转载自 ) 手把手教你用 matlab 生成 STM32 官方 IIR 滤波器的系数 (二) 本节主要介绍如何使用 matlab2008 生成 IIR 数字滤波器系数。 一、在 matlab 上设计一个高通滤波 打开 matlab 程序之后,在命令行窗口输入 “fdatool”,弹出滤波器设计对话框如图 6 图 6.matlab 中 fdatool 滤波器设计 为了便于分析,我们先从设计一个简单的一级 2 阶高通滤波器开始,按照下图中的步骤 进行。 1.Design Method 用于选择 IIR 滤波器还是 FIR 滤波器,这里我们选择 IIR 滤波器,类 型选择 Chebyshev Type I,当然你也可以选择其他类型,不同类型的频率响应不同,选择 后默认的滤波器结构是直接 II 型,如图 7中的蓝色框所示。 2.ResponseType 用于选择低通、高通、带通以及陷波,选择高通滤波 “Highpass”, 这里我们选择高通滤波用于滤出 300HZ 以下的

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档