基于matlab的数字滤波器的设计 下载本文

1 数字滤波器的概述

数字滤波器可以用差分方程、单位取样相应以及系统函数等表示,对于研究系统的实现方法,及它的运算结构来说,用狂徒便是最为直接。

一个给定的输入输出关系,可以用多种不同的数字网络来实现。在不考虑量化影响是,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。因此,运算结构是很重要的,同一系统函数H(Z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济型以及运算速度等许多重要性能。IIR(无限冲击响应)滤波器与FIR(有限冲击响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。

1.1 数字滤波器的基本结构

作为线形时不变的数字滤波器可以用系统函数来实现,而实现一个系统函数表达式所表示的系统可以用两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器、乘法器、和延迟器等元件设计出专用的数字硬件系统,即硬件实现。不论软件实现还是硬件实现,在滤波器设计的过程中,由同一系统函数可以构成很多不同的运算结构,对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关。

1.1.1 IIR 滤波器的基本结构

一个数字滤波器可以用系统函数表示为:

(2-1)

由这样的系统函数可以得到表示系统输入与输出关系的常系数线形差分程为:

(2-2)

可见数字滤波器的功能就是把输入序列 x(n)通过一定的运算变换成输出序列 y(n)。不 同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应 h(n)是无限长的,其差分方程如(2-2)式所示,是递归式的,即结构上存在着输出信号到输 入信号的反馈,其系统函数具有(2-1)式的形式,因此在 z 平面的有限区间(0<|z|<∞)有 极点存在。

前面已经说明,对于一个给定的线形时不变系统的系统函数,有着各种不同的等效差 分方程或网络结构。由于乘法是一种耗时运算,而每个延迟单元都要有一个存储寄存器, 因此采用最少常熟乘法器和最少延迟支路的网络结构是通常的选择,以便提高运算速度和 减少存储器。然而,当需要考虑有限寄存器长度的影响时,往往也采用并非最少乘法器和 延迟单元的结构。

IIR 滤波器实现的基本结构有: (1)IIR 滤波器的直接型结构:

优点:延迟线减少一半,变为 N 个,可节省寄存器或存储单元; 缺点:其它缺点同直接 I 型。

通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合 的低阶系统(一、二阶)来实现。 (2)IIR 滤波器的级联型结构;

5

特点:

? 系统实现简单,只需一个二阶节系统通过改变输入系数即可完成; ? 极点位置可单独调整; ? 运算速度快(可并行进行);

? 各二阶网络的误差互不影响,总的误差小,对字长要求低。 缺点:

不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的 传输零点时,级联型最合适。 (3)IIR 滤波器的并联型结构。 优点:

? 简化实现,用一个二阶节,通过变换系数就可实现整个系统;

? 极、零点可单独控制、调整,调整 α1i、α2i 只单独调整了第 i 对零点,调整 β1i、

β2i 则单独调整了第 i 对极点 对极点;

? 各二阶节零、极点的搭配可互换位置,优化组合以减小运算误差; ? 可流水线操作。 缺点:

二阶阶电平难控制,电平大易导致溢出 电平小则使信噪比减小。 1.1.2 FIR 滤波器的基本结构

FIR 滤波器【7】的单位抽样响应为有限长度 一般采用非递归形式实现。通常的 FIR 数 的单位抽样响应为有限长度,数字滤波器有横截性和级联型两种。 FIR 滤波器实现的基本结构有: (1)FIR 滤波器的横截型结构

表示系统输入输出关系的差分方程可写作:

(2)FIR 滤波器的级联型结构

将 H(z)分解成实系数二阶因子的乘积形式 分解成实系数二阶因子的乘积形式:

这时 FIR 滤波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现,如图所示:

FIR滤波器的级联结构

这种结构的每一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。

1.2 数字滤波器的设计原理

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤 波器和有限长冲激响应(FIR)滤波器。IIR 滤波器的特征是,具有无限持续时间冲激响应。这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和

6

Chebyshev逼近法等等。随着 MATLAB 软件尤其是 MATLAB 的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1) 确定指标

在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很 多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给 出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响 应函数的要求,一般应用于 FIR 滤波器的设计。第二种指标是相对指标。它以分贝值的形 式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统 在通频带中具有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包 含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为 N 的滤波器(阶数为 N-1),计算量为 N/2 数量级。因此,本文中滤波器的设计就以线性相位 FIR 滤波器的设计为例。 (2) 逼近

确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。 (3) 性能分析和计算机仿真

上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可 以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真 实现设计的滤波器,再分析滤波结果来判断。 1.2.1 滤波器的性能指标

我们在进行滤波器设计时,需要确定其性能指标。一般来说,滤波器的性能要求往往 以频率响应的幅度特性的允许误差来表征。以低通滤波器特性为例,频率响应有通带 、过 渡带及阻带三个范围。

在通带内:

在阻带中:

其中 ωc 为通带截止频率 st 为阻带截止频率,Ap 为通带 为通带截止频率,ω 误差, Ast 为阻带误差。

与模拟滤波器类似,数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型 ,由于数字滤波器的频率响应是周期性的,周期为 2π 。 1.2.2 IIR 数字滤波器的设计方法

目前,IIR 数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法 。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图 表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便 ,IIR数字滤波器的设计步骤是:

(1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标 ; (2)根据转换后的技术指标设计模拟低通滤波器 H(s); (3)在按一定规则将 H(s)转换为 H(z)。

若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:

(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器 H(s),再由冲击响应不变法或双线性变换将H(s)转换为

7

所需的 H(z)。

s - z 映射的方法有:冲激响应不变法 、阶跃响应不变法、双线性变换法等。下面讨论双线性变换法。

双线性变换法[8]是指首先把 s 平面压缩变换到某一中介平面 s1 的一条横带(宽度为 2 πT,即从- πT 到πT) ,然后再利用 z = exp(s1T) 的关系把 s1 平面上的这条横带变换到整个 z 平面。这样 s 平面与 z 平面是一一对应关系,消除了多值变换性, 也就消除了频谱混叠现象。

s 平面到 z 平面的变换可采用Ω= tan(Ω1T/2) (2-5)

令jΩ=s,jΩ1=s1 有:

从s平面到 z 平面的变换可采用 z =exp(s1T) (2-8)

代入上式,得到:

一般来说,为使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引

入代定常数 c ,

这种 s 平面与 z 平面间的单值映射关系就是双线性变换。 有了双线性变换,模拟滤 平面间的单值映射关系就是双线性变换。有了双线性变换 波器的数字化只须用进行置换 进行置换。

1.2.3 FIR 数字滤波器的设计方法

IIR 滤波器[7]的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需 要用全通网络进行校正 。FIR 滤波器的优点是可方便地实现线性相位。 FIR 滤波器单位冲激响应 h(n)的特点:

其单位冲激响应 h(n)是有限长 ,系统函数为 :

在有限 Z 平面有(N-1)个零点 ,而它的(N-1)个极点均位于原点 z=0 处。 Fir 滤波器线性相位的特点:

如果 FIR 滤波器的单位抽样响应 h(n)为实数,而且满足以下任一条件 : 偶对称 h(n)=h(N-1-n) 奇对称 h(n)=-h(N-1-n)

其对称中心在 n=(N-1)/2 处,则滤波器具有准确的线性相位。

窗函数设计法: 一般是先给定所要求的理想滤波器频率响应 H d (e jω ) ,由 H d (e

8