基于MATLAB的IIR数字滤波器的设计方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要:IIR 数字滤波器在语音、图像、数字通信系统和计算机领域信号处理中有广泛用途。本文结合 IIR 数字滤波器在图像处理中 的实例,研究了基于 MATLAB 数字滤波器可视化集成设计与仿真问题。应用 FDATool 实现 IIR 数字滤波器的设计,然后利用 SIMULINK 进行数字滤波器的建模并仿真, 通过修改滤波器的阶数和截止频率等参数来实现滤波器特性的改变, 以满足设计的要求。 关键词:数字滤波器 IIR 数字滤波器 MATLAB FDATool 噪声处理 中图分类号: T N 7 1 3 文献标识码: A 文章编号: 1 6 7 4 - 0 9 8 X ( 2 0 0 9 ) 0 7 ( a ) - 0 0 1 8 - 0 2
(5)运用冲击响应不变法或双线性变换 法把模拟滤波器转换成数字滤波器。 3.1 IIR滤波器的设计实例
FDATool(Filter Design & Analysis Tool) 是MATLAB信号处理工具箱专用的滤波器 设 计 分 析 工 具 。M A T L A B 6 . 0 以 上 的 版 本 还 专门增加了滤波器设计工具箱(Filter De- sign Toolbox)。FDATool可以设计几乎所有 基本的常规滤波器,包括FIR和IIR的各种设 计方法。它操作简单, 方便灵活。
18
科技创新导报 Science and Technology Innovation Herald
I T 技 术
中 设 计 I I R 数 字 带 来 了 极 大 的 方 便 。利 用 MATLAB设计滤波器,可以随时对比设计 要求和滤波器特性调整参数,直观简便,极 大地减轻了工作量,有利于滤波器设计的 最优化。
由于图像在摄取过程中收到摄取器 件 、周 围 环 境 、通 道 传 输 误 差 等 影 响 , 会使 摄 取 到 的 图 像 中 含 有 噪 声 。噪 声 通 常 是 随 机产生的,因而具有分布和大小的不规律 性 。影 响 了 图 像 的 视 觉 效 果 和 有 关 处 理 工 作 。因 此 需 要 对 图 像 中 的 噪 声 进 行 消 除 。而 噪声消除也就是滤波,目前数字滤波器的 设计有许多现成的高级语言设计程序,但 他们都存在设计效率低,不具有可视图形, 不便于参数修改等缺点,而MATLAB的 FDATool工具为数字滤波器的研究和应用 提 供 了 一 个 直 观 、高 效 、便 捷 的 利 器 。它 以 矩 阵 运 算 为 基 础 , 把 计 算 、可 视 化 、仿 真 设 计 融 合 到 一 个 交 互 式 的 工 作 环 境 中 。尤 其 是MATLAB工具箱使各个领域的研究人员 可以直观方便地进行科学研究和工程应 用 。本 文 基 于 M A T L A B 中 F D A T o o l 工 具 对 IIR数字理滤波器进行设计与仿真。
(1)
式 中 : x ( n ) 、y ( n ) 分 别 为 输 入 和 输 出 时 域信号序列;ak 、bk 均 为 滤 波 系 数 。
它的系统传递函数也可以用下式表 示:
(2)
式中:N为IIR滤波器的阶数(滤波器系 统传递函数的极点数);M为滤波器系统传 递函数的零点数;和均为权函数系数。
基于MATLAB的IIR数字滤波器的设 计步骤如下:
(1)按一定规则将给出的数字滤波器的技 术指标转换成模拟低通滤波器的技术指标。
(2)根据转换后的技术指标使用滤波器 阶数选择函数,确定最小阶数和固定频率。
(3)运用 转 换 成 低 通 、高 通 、带 通 、带 阻 滤 波 器 。
3 基于MATLAB滤波器的设计与仿真 MATLAB工具箱提供了几种模拟滤波
的原型产生函数—贝塞尔低通模拟滤波器 原型,巴特沃斯滤波器原型,切比雪夫(Ⅰ 型 、Ⅱ 型 ) 滤 波 器 原 型 , 椭 圆 滤 波 器 原 型 等 不同的模拟滤波器原型;模拟低通滤波器 原 型 向 低 通 、高 通 、带 通 、带 阻 的 转 变 函 数 ; 从模拟滤波器向数字滤波器转化的双线性 变换和冲激响应不变法;模拟数字IIR滤波 器阶数选择函数以及数字滤波器直接设计 函 数 等 。这 一 整 套 设 计 函 数 给 在 M A T L A B
2 IIR 数字滤波器图像处理中的应用 利用IIR数字滤波器(截止频率为20Hz
的3阶butterworthz低通滤波器)对分别加 盐椒 (salt&pepper)噪声和高斯 (gaussion) 噪声的同一幅图像进行滤波处理,当截止 频率d0=20Hz时,2种不同噪声的图像滤除 效果相差不多,但均使图像不同程度的模 糊 。这 是 因 为 一 幅 图 像 中 边 缘 、图 像 中 的 一 些 离 散 的 、孤 立 的 颗 粒 噪 声 均 代 表 了 图 像 信号的高频分量,而图像的背景则代表了 其 低 频 分 量 。用 滤 波 的 方 法 滤 除 其 高 频 分 量就能去掉噪声,但同时使图像的高频分 量得到衰减,也就是说滤波后图像变模糊 了 。这 说 明 B u t t e r w o r t h 低 通 滤 波 器 的 截 止 频率越低,图像信号的高频分量损失就越 多,滤波后的图像也就越模糊。
Simulink是MATLA B软件的扩展,是 一个实现动态系统建模和仿真的软件包。 它 与 MATLAB语 言 的 主 要 区 别 在 于 : Simulink与用户交互接口是基于Windows的 模型化图形输入,因而用户可以把更多的 精力投入到系统模型的构建,而非语言的 编程上。
所谓模型化图形输入是指Simulink提 供了一些按功能分类的基本的系统模块, 用户只需要知道这些模块的输入输出及模 块的功能,而不必考察模块内部是如何实 现的,通过对这些基本模块的调用,再将它 们连接起来就可以构成所需要的系统模 型, 进 而 进 行 仿 真 与 分 析 。在 仿 真 过 程 中 ,
由图2(a)中幅频特性可知,这种滤波器 在8~12Hz的通带范围内是等波纹的,而在 阻带中是单调的,这是Chebyshev I型滤波 器 的 幅 频 特 性 。由 图 2 ( a ) 中 相 频 特 性 可 知 , 在8~12Hz的范围内相移较小,其曲线近似 一条直线,失真较小;当频率超过这一范围 时,相移较大,而且其曲线是非直线的,所 以失真也较大。图2(b)得到了Chebyshev I 型滤波器的时域冲激响应,在0.1s~2s有冲 激响应,超过这一范围的冲激响应近似为 零,进而实现了Chebyshev I型带通滤波器 的设计。 3.2 IIR数 字 滤 波 器 Simulink 仿 真
本例中,首先在Filter Type中选择 Bandpass(带通滤波器);在Design Method选 项中选择IIR,接着在相邻的右侧选项中选 择Chebyshev TypeⅠ(切比雪夫Ⅰ型);在 Filter Order选项中选择Minimum Order(指 定自动取最小阶数)由于采用的是切比雪 夫设计,不必在Options中选择;然后在Fre-
( a)相 频 特 性 和 幅 频 特 性
( b)冲 激 响 应
图 2 滤 波 器 的 幅 频 、相 频 和 冲 激 响 应( 特 性 区 )
波器。模拟滤波器的设计较为成熟, 既有完 整的设计公式,还有较为完整的可供查询的 图表,因此,充分利用这些已有的资源无疑 会给数字滤波器的设计带来很多便利。
若采用5阶butterworthz低通滤波器并 将 截 止 频 率 分 别 设 定 为 d0=50Hz、 d 0 = 2 0 H z 、d 0 = 1 0 H z , 将 其 对 图 1 a 所 示 图 像 进
行高斯噪声滤波,得到滤波效果如图2所 示。由图2 可知,当d 0 = 5 0时 图 像 最 清 晰 , 图 像信号的高频分量损失较少,滤波效果最 好;d0=20时次之;而当d0=10时图像最模糊, 图像信号的高频分量损失较多,滤波效果 最 差 。由 此 说 明 滤 波 器 截 止 频 率 的 选 取 对 图像滤波的效果非常关键,太低会使图像 变得模糊, 太高又达不到滤波的效果。因此 在实际设计过程中要求能灵活地对滤波器 的截止频率进行修改来改变滤波器的性 能,基于FDATool工具的IIR滤波器设计方 法就能方便快捷地解决这个问题。
科技创新导报 2009 NO.19
Science and Technology Innovation Herald
quency Specifications中选择Unit为Hz,给出 采样频率Fs=100,通带截止频率Fass1=6和 Fass=15,阻带截止频率Fstop1=8和 Fstop2=12;最后在Magnitud Specifications 中选择Unit为db,Apass=0.5, Apass1=Apass2=40。设置完成后点击Design Filter即可得到所设计的IIR滤波器。通过菜 单选项Analysis可以在特性区看到所设计 滤 波 器 的 幅 频 响 应 、相 频 响 应 、冲 击 响 应 和 零 极 点 配 置 等 特 性 , 如图2 所 示 。设 计 完 成 后将结果保存为filter1.fda文件。
可以双击各功能模块,随时改变参数,以便 获取不同状态下的仿真结果。
本例对三个叠加的正弦波信号进行滤 波 处 理 。要 求 保 留 其 中 频 率 为 1 0 H z的 正 弦 波信号,而将其他的两个正弦波信号滤除 掉。调用Simulink中的功能模块构成数字滤 波 器 的 仿 真 框 图 , 如 图 2 ( a ) 所 示 。在 图 2 ( a ) 中,将FDATool所设计的滤波器文件 filter1.fda导入Digital Filter Design模块中, 输入信号设为s=sin(2*5*pi*t)+sin (2*10*pi*t)+sin(2*15*pi*t),生成的滤波效 果如图2(b)所示。比较图2(b)中滤波前后的 波形可知,该数字滤波器仿真模型实现了 对原始信号进行动态数字滤波的功能,输 入的信号经过滤波器滤波后,频率为5Hz和 15Hz的正弦波信号大大衰减,而频率为 10Hz的正弦波信号通过,达到了滤波器的 设计要求。
数字滤波器是数字信号处理的基础, 用 来 对 信 号 进 行 过 滤 、检 测 与 参 数 估 计 等 处理, 在通信、语言、图像、自动控制、雷达、 军 事 、航 空 航 天 、医 疗 和 家 用 电 器 等 众 多 领 域 得 到 了 广 泛 的 应 用 。尤 其 在 图 像 处 理 、数 据压缩等方面取得了令人瞩目的进展和成 就。鉴于此, 数字滤波器的设计就显得尤为 重要。
IIR数字滤波器的设计通常借助于模拟 滤波器原型,再将模拟滤波器转换为数字滤
a)含 高 斯 噪 声 图 像
b)高 斯 噪 声 滤 波 ( d0=50 Hz)
c)高 斯 噪 声 滤 波 ( d0=20 Hz)
d)高 斯 噪 声 滤 波 ( d0=10 Hz)
图1 不同截止频率的滤波器对高斯噪声滤波的影响
科技创新导报 2009 NO.19 Science and Technology Innovation Herald 基于 MATLAB 的 IIR 数字滤波器的设计方法
I T 技 术
聂 光 伟 雷 玉 勇 汤 积 仁 孙 书 蕾 袁 卓 林 ( 西 华 大 学 机 械 工 程 与 自 动 化 学 院 特 种 加 工 研 究 所 四川成都 6 1 0 0 3 9 )
本 文 针 对 含 有 5 H z 、1 0 H z 和 1 5 H z 的 混 合 正弦波信号,设计一个IIR带通Chebyshev Ⅰ 型 滤 波 器 。要 求 让 ( 1 0 ± 2 ) H z 的 有 用 调 制 信 号 通 过 ,通 带 的 起 伏 不 超 过 1 d b。要 抑 制 频带小于6Hz和大于15Hz的干扰,抑制比要 求达到40db以上。信号的采样频率为100Hz。
1 IIR 数字滤波器 无限长冲击响应数字滤波器(Infinite
Impulsion Response Digital Filter,IIRDF) 特点是具有无限持续时间的冲激响应,由 于这种滤波器一般需要用递归模型来实 现,因 而 又 称 为 递 归 滤 波 器 。因 为 I I R滤波 器不仅用了输入有限项计算,而且把滤波 器以前输出的有限项重新输入再计算,这 在工程上称为反馈。I I R滤波器的滤波表达 式可以定义为一个差分方程:
(5)运用冲击响应不变法或双线性变换 法把模拟滤波器转换成数字滤波器。 3.1 IIR滤波器的设计实例
FDATool(Filter Design & Analysis Tool) 是MATLAB信号处理工具箱专用的滤波器 设 计 分 析 工 具 。M A T L A B 6 . 0 以 上 的 版 本 还 专门增加了滤波器设计工具箱(Filter De- sign Toolbox)。FDATool可以设计几乎所有 基本的常规滤波器,包括FIR和IIR的各种设 计方法。它操作简单, 方便灵活。
18
科技创新导报 Science and Technology Innovation Herald
I T 技 术
中 设 计 I I R 数 字 带 来 了 极 大 的 方 便 。利 用 MATLAB设计滤波器,可以随时对比设计 要求和滤波器特性调整参数,直观简便,极 大地减轻了工作量,有利于滤波器设计的 最优化。
由于图像在摄取过程中收到摄取器 件 、周 围 环 境 、通 道 传 输 误 差 等 影 响 , 会使 摄 取 到 的 图 像 中 含 有 噪 声 。噪 声 通 常 是 随 机产生的,因而具有分布和大小的不规律 性 。影 响 了 图 像 的 视 觉 效 果 和 有 关 处 理 工 作 。因 此 需 要 对 图 像 中 的 噪 声 进 行 消 除 。而 噪声消除也就是滤波,目前数字滤波器的 设计有许多现成的高级语言设计程序,但 他们都存在设计效率低,不具有可视图形, 不便于参数修改等缺点,而MATLAB的 FDATool工具为数字滤波器的研究和应用 提 供 了 一 个 直 观 、高 效 、便 捷 的 利 器 。它 以 矩 阵 运 算 为 基 础 , 把 计 算 、可 视 化 、仿 真 设 计 融 合 到 一 个 交 互 式 的 工 作 环 境 中 。尤 其 是MATLAB工具箱使各个领域的研究人员 可以直观方便地进行科学研究和工程应 用 。本 文 基 于 M A T L A B 中 F D A T o o l 工 具 对 IIR数字理滤波器进行设计与仿真。
(1)
式 中 : x ( n ) 、y ( n ) 分 别 为 输 入 和 输 出 时 域信号序列;ak 、bk 均 为 滤 波 系 数 。
它的系统传递函数也可以用下式表 示:
(2)
式中:N为IIR滤波器的阶数(滤波器系 统传递函数的极点数);M为滤波器系统传 递函数的零点数;和均为权函数系数。
基于MATLAB的IIR数字滤波器的设 计步骤如下:
(1)按一定规则将给出的数字滤波器的技 术指标转换成模拟低通滤波器的技术指标。
(2)根据转换后的技术指标使用滤波器 阶数选择函数,确定最小阶数和固定频率。
(3)运用 转 换 成 低 通 、高 通 、带 通 、带 阻 滤 波 器 。
3 基于MATLAB滤波器的设计与仿真 MATLAB工具箱提供了几种模拟滤波
的原型产生函数—贝塞尔低通模拟滤波器 原型,巴特沃斯滤波器原型,切比雪夫(Ⅰ 型 、Ⅱ 型 ) 滤 波 器 原 型 , 椭 圆 滤 波 器 原 型 等 不同的模拟滤波器原型;模拟低通滤波器 原 型 向 低 通 、高 通 、带 通 、带 阻 的 转 变 函 数 ; 从模拟滤波器向数字滤波器转化的双线性 变换和冲激响应不变法;模拟数字IIR滤波 器阶数选择函数以及数字滤波器直接设计 函 数 等 。这 一 整 套 设 计 函 数 给 在 M A T L A B
2 IIR 数字滤波器图像处理中的应用 利用IIR数字滤波器(截止频率为20Hz
的3阶butterworthz低通滤波器)对分别加 盐椒 (salt&pepper)噪声和高斯 (gaussion) 噪声的同一幅图像进行滤波处理,当截止 频率d0=20Hz时,2种不同噪声的图像滤除 效果相差不多,但均使图像不同程度的模 糊 。这 是 因 为 一 幅 图 像 中 边 缘 、图 像 中 的 一 些 离 散 的 、孤 立 的 颗 粒 噪 声 均 代 表 了 图 像 信号的高频分量,而图像的背景则代表了 其 低 频 分 量 。用 滤 波 的 方 法 滤 除 其 高 频 分 量就能去掉噪声,但同时使图像的高频分 量得到衰减,也就是说滤波后图像变模糊 了 。这 说 明 B u t t e r w o r t h 低 通 滤 波 器 的 截 止 频率越低,图像信号的高频分量损失就越 多,滤波后的图像也就越模糊。
Simulink是MATLA B软件的扩展,是 一个实现动态系统建模和仿真的软件包。 它 与 MATLAB语 言 的 主 要 区 别 在 于 : Simulink与用户交互接口是基于Windows的 模型化图形输入,因而用户可以把更多的 精力投入到系统模型的构建,而非语言的 编程上。
所谓模型化图形输入是指Simulink提 供了一些按功能分类的基本的系统模块, 用户只需要知道这些模块的输入输出及模 块的功能,而不必考察模块内部是如何实 现的,通过对这些基本模块的调用,再将它 们连接起来就可以构成所需要的系统模 型, 进 而 进 行 仿 真 与 分 析 。在 仿 真 过 程 中 ,
由图2(a)中幅频特性可知,这种滤波器 在8~12Hz的通带范围内是等波纹的,而在 阻带中是单调的,这是Chebyshev I型滤波 器 的 幅 频 特 性 。由 图 2 ( a ) 中 相 频 特 性 可 知 , 在8~12Hz的范围内相移较小,其曲线近似 一条直线,失真较小;当频率超过这一范围 时,相移较大,而且其曲线是非直线的,所 以失真也较大。图2(b)得到了Chebyshev I 型滤波器的时域冲激响应,在0.1s~2s有冲 激响应,超过这一范围的冲激响应近似为 零,进而实现了Chebyshev I型带通滤波器 的设计。 3.2 IIR数 字 滤 波 器 Simulink 仿 真
本例中,首先在Filter Type中选择 Bandpass(带通滤波器);在Design Method选 项中选择IIR,接着在相邻的右侧选项中选 择Chebyshev TypeⅠ(切比雪夫Ⅰ型);在 Filter Order选项中选择Minimum Order(指 定自动取最小阶数)由于采用的是切比雪 夫设计,不必在Options中选择;然后在Fre-
( a)相 频 特 性 和 幅 频 特 性
( b)冲 激 响 应
图 2 滤 波 器 的 幅 频 、相 频 和 冲 激 响 应( 特 性 区 )
波器。模拟滤波器的设计较为成熟, 既有完 整的设计公式,还有较为完整的可供查询的 图表,因此,充分利用这些已有的资源无疑 会给数字滤波器的设计带来很多便利。
若采用5阶butterworthz低通滤波器并 将 截 止 频 率 分 别 设 定 为 d0=50Hz、 d 0 = 2 0 H z 、d 0 = 1 0 H z , 将 其 对 图 1 a 所 示 图 像 进
行高斯噪声滤波,得到滤波效果如图2所 示。由图2 可知,当d 0 = 5 0时 图 像 最 清 晰 , 图 像信号的高频分量损失较少,滤波效果最 好;d0=20时次之;而当d0=10时图像最模糊, 图像信号的高频分量损失较多,滤波效果 最 差 。由 此 说 明 滤 波 器 截 止 频 率 的 选 取 对 图像滤波的效果非常关键,太低会使图像 变得模糊, 太高又达不到滤波的效果。因此 在实际设计过程中要求能灵活地对滤波器 的截止频率进行修改来改变滤波器的性 能,基于FDATool工具的IIR滤波器设计方 法就能方便快捷地解决这个问题。
科技创新导报 2009 NO.19
Science and Technology Innovation Herald
quency Specifications中选择Unit为Hz,给出 采样频率Fs=100,通带截止频率Fass1=6和 Fass=15,阻带截止频率Fstop1=8和 Fstop2=12;最后在Magnitud Specifications 中选择Unit为db,Apass=0.5, Apass1=Apass2=40。设置完成后点击Design Filter即可得到所设计的IIR滤波器。通过菜 单选项Analysis可以在特性区看到所设计 滤 波 器 的 幅 频 响 应 、相 频 响 应 、冲 击 响 应 和 零 极 点 配 置 等 特 性 , 如图2 所 示 。设 计 完 成 后将结果保存为filter1.fda文件。
可以双击各功能模块,随时改变参数,以便 获取不同状态下的仿真结果。
本例对三个叠加的正弦波信号进行滤 波 处 理 。要 求 保 留 其 中 频 率 为 1 0 H z的 正 弦 波信号,而将其他的两个正弦波信号滤除 掉。调用Simulink中的功能模块构成数字滤 波 器 的 仿 真 框 图 , 如 图 2 ( a ) 所 示 。在 图 2 ( a ) 中,将FDATool所设计的滤波器文件 filter1.fda导入Digital Filter Design模块中, 输入信号设为s=sin(2*5*pi*t)+sin (2*10*pi*t)+sin(2*15*pi*t),生成的滤波效 果如图2(b)所示。比较图2(b)中滤波前后的 波形可知,该数字滤波器仿真模型实现了 对原始信号进行动态数字滤波的功能,输 入的信号经过滤波器滤波后,频率为5Hz和 15Hz的正弦波信号大大衰减,而频率为 10Hz的正弦波信号通过,达到了滤波器的 设计要求。
数字滤波器是数字信号处理的基础, 用 来 对 信 号 进 行 过 滤 、检 测 与 参 数 估 计 等 处理, 在通信、语言、图像、自动控制、雷达、 军 事 、航 空 航 天 、医 疗 和 家 用 电 器 等 众 多 领 域 得 到 了 广 泛 的 应 用 。尤 其 在 图 像 处 理 、数 据压缩等方面取得了令人瞩目的进展和成 就。鉴于此, 数字滤波器的设计就显得尤为 重要。
IIR数字滤波器的设计通常借助于模拟 滤波器原型,再将模拟滤波器转换为数字滤
a)含 高 斯 噪 声 图 像
b)高 斯 噪 声 滤 波 ( d0=50 Hz)
c)高 斯 噪 声 滤 波 ( d0=20 Hz)
d)高 斯 噪 声 滤 波 ( d0=10 Hz)
图1 不同截止频率的滤波器对高斯噪声滤波的影响
科技创新导报 2009 NO.19 Science and Technology Innovation Herald 基于 MATLAB 的 IIR 数字滤波器的设计方法
I T 技 术
聂 光 伟 雷 玉 勇 汤 积 仁 孙 书 蕾 袁 卓 林 ( 西 华 大 学 机 械 工 程 与 自 动 化 学 院 特 种 加 工 研 究 所 四川成都 6 1 0 0 3 9 )
本 文 针 对 含 有 5 H z 、1 0 H z 和 1 5 H z 的 混 合 正弦波信号,设计一个IIR带通Chebyshev Ⅰ 型 滤 波 器 。要 求 让 ( 1 0 ± 2 ) H z 的 有 用 调 制 信 号 通 过 ,通 带 的 起 伏 不 超 过 1 d b。要 抑 制 频带小于6Hz和大于15Hz的干扰,抑制比要 求达到40db以上。信号的采样频率为100Hz。
1 IIR 数字滤波器 无限长冲击响应数字滤波器(Infinite
Impulsion Response Digital Filter,IIRDF) 特点是具有无限持续时间的冲激响应,由 于这种滤波器一般需要用递归模型来实 现,因 而 又 称 为 递 归 滤 波 器 。因 为 I I R滤波 器不仅用了输入有限项计算,而且把滤波 器以前输出的有限项重新输入再计算,这 在工程上称为反馈。I I R滤波器的滤波表达 式可以定义为一个差分方程: