基于MATLAB的数字滤波器的设计

  • 格式:doc
  • 大小:1001.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB 的数字滤波器的设计

1 引言

数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。

数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z)的过程称为数字滤波器设计。数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。(2)寻找一满足预定性能要求的离散时间线性系统。(3)用有限精度的运算实现所设计的系统。(4)通过模拟,验证所设计的系统是否符合给定性能要求。 2 数字滤波器的设计

滤波器分为两种,分别为模拟滤波器和数字滤波器。数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR )。

数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差1σ逼近于1,在阻带内幅度响应以误差2σ逼近于0。

π

σσ≤≤≤≤≤≤-w w e H w w e H r jw

c jw ,2|)(|,1|)(|11 (1)

式中wc 和wr 分别为通带边界频率和阻带边界频率,wr-wc 为过渡带。在具体的技术指标中往往用通带波动σ来表示1σ,用最小阻带衰减At 来表示2σ,其具体的对应公式这里就不详述了。 2.1 IIR 数字滤波器设计

IIR DF 的冲激响应h(n)是无限长的,其输入输出的关系为:

)()()(i n x i h n y i -=

∑+∞

-∞

= (2)

系统函数为

∑+∞

=-∞

=-=

n n n

z

n h z H )()(=

∑∑=-=--n

k k

k m

r r

r

z a z

b 1

1 (3)

设计无限长单位脉冲响应(IIR )数字滤波器一般可有三种方法。

第一种方法,先设计一个合适的模拟滤波器,然后将其数字话,即将S 平面映射到Z 平面得到所需的数字滤波器。模拟滤波器的设计技巧非常成熟,不仅得到的是闭合形式的公式,而且设计系数已经表格化了。因此,由模拟滤波器设计数字滤波器的方法准确,简便,得到普遍采用。对于这种方法,工程上

有两种常见得变换法——脉冲响应不变法及双线性变换法。

第二种方法,在Z 平面直接设计IIR 数字滤波器,给出闭合形式的公式,或者以所希望的滤波器响应作为依据,直接在Z 平面上通过多次选定极点和零点的位置,以逼近该响应。

第三种方法,利用最优化技术设计参数,选定极点和零点在Z 平面上的合适位置,在某种最优化准则意义上逼近所希望的响应。但一般不能得到滤波器的系数(即零,极点的位置)作为给定响应的闭合形式函数表达式。优化设计需要完成大量的迭代运算,这种设计法实际上也是IIR 滤波器的直接设计。

本文着重介绍由模拟滤波器设计相应的IIR 数字滤波器的方法。 (1)脉冲响应不变法

脉冲响应不变法是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应()a h t ,让h(n)正好等于()a h t 的采样值。设已有满足要求的模拟滤波器, 则可

()a H s →()a h t →()()a h n h nT =→()H z

{因为:()()a h t h n ≈的图形的图形}, 公式导出:

具体转换如下:设(以一阶极点为例)

1()N

k

a k k

A H s s s ==-∑

(4) 作拉氏反变换,得

1

1

()[()]()k N

s t a a k k h t FT H s A e u t -===∑

采样得

1

()()()k N

s nT a k k h n h nT A e u nT ===∑

作Z 变换,得

101

1

()()1k k N

N

s nT

n

k

k s T n k k A H z A e

u nT z

e z ∞--=====-∑∑∑

(5)

()H z 与()a H s 极点关系为: k s T k

z e = (6)

一般对应关系

sT

j T j T s j j z re

z e re e e ωσΩσΩ

ω=+==→=⇒

,T r e T σωΩ⇒== (7)

图1 S 平面到Z 平面变换示意图

所以, 模拟系统稳定因果→数字系统稳定因果。

按照脉冲响应不变法,从S 平面到Z 平面的映射不是单值关系,而是先将()a H s 在S 平面沿虚轴作周期严拓,再按照映射关系将()a H s 映射到Z 平面,得到()H z ,因此,脉冲响应不变法只适用于带限的滤波器(如低通、带通)。

在Matlab 中利用M 文件impinvar 可以对模拟传输函数实行脉冲响应不变法。 (2)双线性变换法

脉冲响应不变法不适带阻和高通滤波器的设计,因为高频带为通带,前述方法易引起混频。故希望:s 平面虚轴⇔z 平面单位圆一周, 且应有

:0:0Ωωπ→+∞⇔→, :0:0Ωωπ→-∞⇔→-,

因为tan(/2)π±=±∞, 所以选变换

tan

2

K ω

Ω= (8)

其中K 可取任意正常数, 后面将导出2/K T =.

设计思路: tan 2

,,,,,,p s p s p s p s K ΩωωωααΩΩαα=========>.→设计出模拟滤波器→转化成数字滤波器.

图2 数字域频率与模拟域频率的对应关系 转化公式推导如下:

sin(/2)

tan 2cos(/2)j j jK K

ω

ωΩω==/2/2/2/211j j j j j j e e e K K e e e ωωωωωω

------==++

因只关心频率转换, 故可设s j Ω=,j z

e ω=, 则有

11

11z s K z ---=+, (称为双线性变换) (9)

所以模拟滤波器转换成数字滤波器的公式为

j Ω

σ

O

1

ω

1

r =O s 平面

0σ<0

σ=z 平面

1

r

r e

σ=k

s ⨯

k

z ⨯w