数字滤波器的结构

上传人:笛音 文档编号:51688385 上传时间:2018-08-15 格式:PPT 页数:67 大小:2.97MB
返回 下载 相关 举报
数字滤波器的结构_第1页
第1页 / 共67页
数字滤波器的结构_第2页
第2页 / 共67页
数字滤波器的结构_第3页
第3页 / 共67页
数字滤波器的结构_第4页
第4页 / 共67页
数字滤波器的结构_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《数字滤波器的结构》由会员分享,可在线阅读,更多相关《数字滤波器的结构(67页珍藏版)》请在金锄头文库上搜索。

1、第5章 数字滤波器结构MATLAB数字信号处处理主 要 内 容 数字滤波器的基本概念; IIR数字滤波器的结构及MATLAB实现; FIR数字滤波器的结构及MATLAB实现; Lattice结构及MATLAB实现。 MATLAB数字信号处处理数字滤波器概述数字滤波器是指完成信号滤波(根据有用信号和噪声 的不同特性,消除或减弱噪声,提取有用信号的过程)功 能的,用有限精度算法实现的离散时间线性时不变系统。 与模拟滤波器类似,数字滤波器也是一种选频器件,它对 有用信号的频率分量的衰减很小,使之比较顺利地通过, 而对噪声等干扰信号的频率分量给予较大幅度衰减,尽可 能阻止它们通过。相比于模拟滤波器,数

2、字滤波器稳定性 高、精度高、灵活性强。数字滤波器总体可分为经典滤波器和现代滤波器:经 典滤波器即一般的选频滤波器;现代滤波器以随机信号处 理的理论为基础,利用随机信号内部的统计特性对信号进 行滤波,如维纳滤波器、卡尔曼滤波器和自适应滤波器等 。本书仅介绍选频滤波器。MATLAB数字信号处处理数字滤波器概述1、数字滤波器的描述按照第4章中对离散时间LTI系统的描述,数字滤波器在 时域就可以用单位冲激响应h(n)或线性常系数差分方程描述, 在频域可以用频率响应或系统函数描述。 数字滤波器的频率响应可表示为 其中 滤波器的幅频响应,表示信号通过该滤波器 后各频率成分衰减情况;滤波器的相频响应,反映各

3、频率成分通过滤波 器后在时间上的延时情况。MATLAB数字信号处处理数字滤波器概述数字滤波器的系统函数可表示为 与之相应的表示滤波器输入输出关系的常系数线性 差分方程为 由此可看出数字滤波器的功能就是把输入序列通过一 定的运算变换为输出序列。 2、数字滤波器的基本网络结构 由式(5-3)可知,实现数字滤波器需要的基本运算 单元有:加法器、乘法器和延时器。 MATLAB数字信号处处理数字滤波器概述加法器:此元件有两个输入和一个输出,三个或多个 信号的相加由相连的两输入加法器实现。 乘法器:这是一个单入单出元件。 延时器:此元件把通过它的信号延迟一个样本,是由 移位寄存器实现的。 MATLAB数字

4、信号处处理数字滤波器概述信号流图表示系统的网络结构比系统框图更加简明。从基本运算出发,满足以下三个条件,称为基本信号流图。 信号流图中所有支路都是基本的,即支路增益是常数或 是 .流图环路中必须存在延迟支路。 节点和支路的数目是有限的。 某系统的信号流图如图5所示。 MATLAB数字信号处处理数字滤波器概述通过求解以上联立方程可得 由图可得 MATLAB数字信号处处理数字滤波器概述3、数字滤波器的分类 按照通带的特性分类,数字滤波器可分为低通、高通、 帯通、带阻和全通滤波器.理想滤波器的幅频特性如图所示. MATLAB数字信号处处理数字滤波器概述按照滤波器的实现方式分类,数字滤波器则可分为无

5、限冲激响应(Infinite Impulse Response,简称IIR)数 字滤波器和有限冲激响应(Finite Impulse Response,简 称FIR)数字滤波器。 IIR数字滤波器通常用如下的系统函数或差分方程描述FIR数字滤波器的系统函数和差分方程则可以描述如下MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现IIR数字滤波器的实现结构有三种:直接型、级联型和并联型。 直接型:直接以式(5-3)所示的差分方程实现,实现时将滤波 器分为滑动平均部分和递归部分(分子和分母部分),又分为直 接I型和直接II型。 级联型:将式(5-2)所示的系统函数H(z)因式分解为

6、多个二阶 子系统,系统函数就可以表示为这些二阶子系统传递函数的乘积 。实现时将每个二阶子系统用直接型实现,整个系统函数用二阶 环节的级联实现。并联型:与级联形式类似,用部分分式展开法将系统函数表示为 二阶子系统传递函数的和。每个二阶子系统仍然用直接型实现, 整个系统函数用二阶环节的并联实现。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现1、直接I型式(5-3)表明,系统的输出y(n)由两部分构成: 第一部分为,表示将输入信号进行延时,组成M阶的延时网络,把每节延时抽头后与常系数 相乘,再把结果相 加。这种结构称为横向结构,即实现零点网络。 第二部分为,表示将输出信号进行延

7、时,组成N阶的延时网络,把每节抽头后与常系数 相乘,再相加。由于这 部分是对输出的延时,故称为反馈网络,即实现极点网络。 IIR系统的输出由以上两部分相加构成。假设则信号流图如图5-4所示,称为直接I型结构。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现可见,直接I型结构共需N+M个延时单元,N+M个加法器和N+M+1个 乘法器。该结构的缺点是系数不是直接决定单个零极点,因而不 能很好地进行滤波器性能控制:极点对系数的变化过于灵敏,从 而使系统频率响应对系数变化过于灵敏,即对有限精度(有限字 长)运算过于灵敏,容易不稳定或产生较大误差。 图5-4MATLAB数字信号处处理

8、IIR数字滤波器的结构及MATLAB实现2、直接II型可将图5-4所示的直接I型看作左边网路(记为)和右边网络)的级联,即 (记为式(5-7)也可写为 按照上式将图5-4 进行修改,得到直 接I型结构的另一 种画法如图5-5。 图 5-5MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现为节省延时器,将图5-5中和 的延时支路合并,即成 为IIR数字滤波器的直接II型结构,如图5-6所示。 图5-6由上图知,IIR数字滤波器的 直接II型结构只需N个延时单 元,N=M时,比直接I型结构少 一半。因此,在用软件实现时 可以节省存储单元,而在用硬 件实现时可节省寄存器。 直接型的I

9、IR数字滤波器用系统函数的分子多项式系数向量b 和分母多项式系数向量a描述,其实现由函数filter完成,详 见4.1.3。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现3、级联型将式(5-2)所示的系统函数H(z)进行因式分解,得其中,和表示实零点和实极点表示复数共轭零点和表示复数共轭极点 和MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现在实际应用中,为了利用最少的存储和级联数量实现系统,将分子的一个一阶因式与分母的一个一阶因式组成 一个一阶子系统,将分子的一个二阶因式与分母的一个二阶因式组成一个二阶子系统,并将一阶因式看成二阶因式 的特例。则当N为

10、偶数且 时,可将式(5-11)分成N/2 个二阶多项式的乘积,即MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现将信号x(n)输入式(5-12)所示的IIR数字滤波器 时,可看作x(n)先后依次通过子系统如果各子系统的单位冲激响应为则系统总的输出为 二阶子系统的信号流图如图5-7所示。 图5-7MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现相应地,IIR数字滤波器的级联型信号流图如图5-8所示。 图5-8如果N为奇数,则多一个一阶子系统,共有(N+1)/2个子 系统。MATLAB的信号处理工具箱中的函数tf2sos可以实现由直接型向级联型的转换,它的含义是

11、transfer function to second-order-section,即将传递函数转换为二阶环 节。其调用格式为 SOS,G = tf2sos(B,A); MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现其中,B和A是系统函数的分子多项式系数向量和分母多项式系数向量;G是整个系统归一化的增益;SOS是一个 L6阶的矩阵,即式中的每一行代表一个二阶环节,前三项为分子多项式系数,后三项为分母多项式系数。即,第k个二阶环 节可表示为MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现则,转换后的系统函数可表示为 MATLAB提供的函数sosfilt可实现

12、信号通过级联型滤波器 后的输出,其调用格式为 y=sosfilt(SOS, x); 其中,x和y分别代表滤波器的输入和输出;SOS为级联型结构中总增益为1时由各二阶环节分子多项式系数和分母 多项式系数组成的矩阵。 【例5-1】某IIR数字滤波器的差分方程如下 调用函数tf2sos求出它的级联型结构。 MATLAB数字信号处处理clear all;close all;clc; B=1 -3 11 -27 18;A=16 12 2 -4 -1; SOS,G=tf2sos(B,A) IIR数字滤波器的结构及MATLAB实现运行结果如下 SOS =1.0000 -3.0000 2.0000 1.000

13、0 -0.2500 -0.12501.0000 0.0000 9.0000 1.0000 1.0000 0.5000 G =0.0625 由运行结果可写出该滤波器的级联型结构表达式为 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现其级联型结构如图5-9所示。 图5-9MATLAB的信号处理工具箱中的另一个函数sos2tf与tf2sos相反,可实现由级联型向直接型的转换,其调用 格式为 B,A = sos2tf(SOS,G); 【例5-2】调用函数sos2tf,将例5-1中得到的级联型 结构表达式转换为直接型结构。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLA

14、B实现clear all;close all;clc; SOS=1 -3 2 1 -0.25 -0.125;1 0 9 1 1 0.5; G=0.0625; B,A=sos2tf(SOS,G) 运行结果如下 B =0.0625 -0.1875 0.6875 -1.6875 1.1250 A =1.0000 0.7500 0.1250 -0.2500 -0.0625 由运行结果可写出该滤波器的直接型结构表达式为 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现【例5-3】 对于例5-1和例5-2中分别得到的级联型滤波器 和直接型滤波器,分别调用函数filter和sosfilt求

15、滤波器 的阶跃响应,比较结果。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现4、并联型将式(3-2)所示的滤波器的系统函数H(z)部分分式展开为 二阶子系统和的形式,即 其中如果则上式中不包括IIR数字滤波器的 并联型信号流图 如图5-11所示。 图5-11MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现并联型结构可单独调整数字滤波器的极点,运算速度 快(可并行进行),各二阶网络的误差互不影响,总误差小,对 字长要求低。但不能直接调整零点,因为多个二阶子系统的 零点并不是整个系统函数的零点,当需要准确地传输零点时 ,级联型最合适。 MATLAB未提供直接

16、型向并联型转换的函数,参考文献【 1】给出了由直接型向并联型转换的子程序dir2par.m。 子程序tf2par.m首先用residuez函数分解出所有的极点 和留数,再用cplxpair函数把极点留数按复数共轭极点、实 数极点的顺序进行排列。但由于调用此函数改变极点排列后 ,不能保证极点和它原来的留数对应。为此定义一个新的函 数cplxpair,将两个弄混了的复数数组进行比较,产生一个 数组的编号,然后用这个编号去重新安排另一个数组。 MATLAB数字信号处处理IIR数字滤波器的结构及MATLAB实现得到按共轭条件排列的极点-留数对后,tf2par函数用residuez函数的逆形式计算二阶环节的分子和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号