云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > matlab在信号与图像处理中的应用第6章

matlab在信号与图像处理中的应用第6章

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 6:19:04

6.2 IIR滤波器设计

例6-2设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数filter。

% 采用filter函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); filter(b,a,x)

提示:filter函数仅实现直接Ⅱ型结构,并不创建一个滤波器对象。

选择一个合适的滤波器结构取决于滤波器所要实现的具体任务或功能。通过本章后面的介绍,将会令读者了解IIR和FIR滤波器各自的优缺点,以及各种具体实现方法的特点,从而可根据不同的任务需求选择合适的滤波器结构。

6.2 IIR滤波器设计

IIR数字滤波器的系统函数可以表示为

H?z???bzii?0NM?i

?i1??azii?1IIR滤波器设计关键是确定系统函数的分子和分母表达式,即确定滤波系数a和b的值,从而使得所设计滤波器满足给定的性能指标要求。IIR滤波器设计一般有三类方法: ? 模拟原型法

采用经典低通滤波器作为连续域上的设计模型,使其逼近性能指标,而后将模拟滤波器系统函数变换为所需的数字滤波器系统函数,最终得到IIR数字滤波器。 ? 直接设计法

基于给定的滤波器参数直接在离散域上寻找合适的数字滤波器,不同于基于模拟滤波器的方法,该方法并不局限于常规的滤波器类型,如低通、高通、带通和带阻等,而可以设计任意的频率响应。 ? 参数建模法

寻找接近于所需要设计的滤波器的通用模型,分为时域和频域建模两类方法。 在MATLAB信号处理工具箱中针对以上三种IIR数字滤波器设计方法,分别提供了多个函数来完成,见表6-2。其中第一类方法,即模拟原型法,是IIR数字滤波器设计的最重要的方法,也将是接下来介绍的重点内容。

表6-2 MATLAB信号处理工具箱提供的IIR滤波器设计方法及相应函数

设计方法 函数 完全设计函数 besself, butter, cheby1, cheby2, ellip 阶次估计函数 buttord, cheb1ord, cheb2ord,ellipord 低通模拟原型函数 besselap, buttap, cheblap, cheb2ap, 5

模拟原型

第6章 数字滤波器设计与实现

ellipap 频率变换函数 lp2bp, lp2bs, lp2hp, lp2lp 滤波器离散化函数 bilinear, impinvar 直接设计 yulewalk 时域建模函数 lpc, prony, stmcb 频域建模函数 invfreqs, invfreqz 参数建模 提示:完全设计函数中的besself仅用于Bessel(贝塞尔)模拟滤波器的设计,所以在本章不予介绍。 6.2.1 模拟原型法

模拟原型法设计IIR数字滤波器,就是从已知的模拟滤波器系统函数Ha?s?设计数字滤波器系统函数H?z?。常见的模拟滤波器类型包括Butterworth(巴特沃斯)、Chebyshev(切比雪夫)Ⅰ型、ChebyshevⅡ型和椭圆滤波器,基于这些模拟滤波器,MATLAB信号处理工具箱提供了对应的IIR数字滤波器设计函数,见表6-2。接下来将具体介绍如何利用这些函数设计一个给定性能指标的IIR数字滤波器。

6.2.1.1 完全设计函数

MATLAB信号处理工具箱提供了几个完全设计函数,只用一条语句就可轻松地产生任何阶数、任何类型(低通、高通、带通、带阻)的IIR数字滤波器。

1. butter函数

butter函数用于设计Butterworth模拟和数字滤波器,该类型滤波器的特点是在通带内具有最大平坦的幅度特性,并且在通带和阻带内幅度都随着频率的增大而单调下降。其调用格式为:

? [b,a] = butter(n,Wn)

? [b,a] = butter(n,Wn,'ftype') ? [z,p,k] = butter(n,Wn)

? [z,p,k] = butter(n,Wn,'ftype') ? [A,B,C,D] = butter(n,Wn)

? [A,B,C,D] = butter(n,Wn,'ftype')

在几种格式中,n为滤波器阶数,Wn为滤波器的截止频率,’ftype’指定滤波器类型参数,包括:

? ‘high’ 高通滤波器,截止频率Wn ? ‘low’ 低通滤波器,截止频率Wn

? ‘stop’ 带阻滤波器,截止频率Wn=[W1 W2]

返回值b和a分别为系统函数分子和分母表达式系数向量;返回值z和p分别为长度n

6

6.2 IIR滤波器设计

的零极点,k为增益;A、B、C、D分别为状态空间表达式系数。

提示:截止频率Wn为归一化之后的值,即0

例6-3设计一个10阶高通Butterworth滤波器,要求截止频率为200Hz,给定采样频率1000Hz。

% butter函数设计高通滤波器 fs = 1000; n = 10;

Wn = 200*2/fs;

[b,a] = butter(n,Wn); m = 128;

freqz(b,a,m,fs)

这里函数freqz用来计算滤波器的频率响应,如果没有返回值则直接绘出图形,参量b和a为butter函数求出的滤波器系数,m为计算频率响应采用的点数,默认值是512。程序运行结果如图6-1(a)所示。

例6-4设计一个10阶低通Butterworth滤波器,要求截止频率为300Hz,给定采样频率1000Hz。

% butter函数设计低通滤波器 fs = 1000; n = 10;

Wn = 300*2/fs;

[b,a] = butter(n,Wn,'low') m = 256;

freqz(b,a,m,fs)

程序运行结果如图6-1(b)所示。

例6-5设计一个8阶带通Butterworth滤波器,要求通带频率为200Hz到300Hz,给定采样频率1000Hz。

% butter函数设计带通滤波器

fs = 1000; n = 8;

Wn = [200 300]*2/fs; [b,a] = butter(n,Wn) m = 256

freqz(b,a,m,fs)

程序运行结果如图6-1(c)所示。

例6-6设计一个8阶带阻Butterworth滤波器,要求阻带频率为200Hz到300Hz,给定采样频率1000Hz。

% butter函数设计带通滤波器

fs = 1000; n = 8;

Wn = [200 300]*2/fs;

[b,a] = butter(n,Wn,'stop') m = 256

freqz(b,a,m,fs)

程序运行结果如图6-1(d)所示。

7

第6章 数字滤波器设计与实现

(a) 高通滤波器 (b) 低通滤波器

(c) 带通滤波器 (d) 带阻滤波器

图6-1 利用butter函数设计的滤波器频率响应

2. cheby1函数

cheby1函数用于设计ChebyshevⅠ型数字滤波器,该类型滤波器的幅频特性在通带内为等波纹,在阻带单调下降。其调用格式如下: ? [b,a] = cheby1(n,Rp,Wn)

? [b,a] = cheby1(n,Rp,Wn,'ftype') ? [z,p,k] = cheby1(n,Rp,Wn)

? [z,p,k] = cheby1(n,Rp,Wn,'ftype') ? [A,B,C,D] = cheby1(n,Rp,Wn)

? [A,B,C,D] = cheby1(n,Rp,Wn,'ftype')

在格式中,参量Rp为通带波纹,单位dB, 截止频率Wn处的通带波纹幅度为-R1dB,其余参量同函数butter。

提示:截止频率Wn仍是归一化之后的频率 8

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

6.2 IIR滤波器设计 例6-2设计一个Butterworth滤波器,并采用直接Ⅱ型结构实现对数据x的滤波,要求利用函数filter。 % 采用filter函数实现直接Ⅱ型结构滤波程序 [b,a] = butter(5,0.4); filter(b,a,x) 提示:filter函数仅实现直接Ⅱ型结构,并不创建一个滤波器对象。 选择一个合适的滤波器结构取决于滤波器所要实现的具体任务或功能。通过本章后面的介绍,将会令读者了解IIR和FIR滤波器各自的优缺点,以及各种具体实现方法的特点,从而可根据不同的任务需求选择合适的滤波器结构。 6.2 IIR滤波器设计 IIR数字滤波器的系统函数可以表示为 H?z???bzii?0NM?i ?i1??azii?1IIR滤波器设计关

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com