数字信号处理 IIR FIR数字滤波器设计

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

一、课程设计的目的与要求

1.掌握利用双线性变换法设计IIR 数字滤波器的原理和具体方法。

2.深入理解利用双线性变换法设计IIR 数字滤波器的优缺点及使用范围。

3.加深对窗函数设计FIR 数字滤波器的基本原理的理解。

4.学习用MATLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。

5.了解MATLAB 有关窗函数法设计常用的子函数。

二、设计正文

2.1 设计要求

1. 使用双线性变换设计IIR 数字滤波器设计用双线性变换设计巴特沃兹滤波器,技术指标是:0.89125≤∣H(ej ω)∣≤1, 0≤ω≤0.2π ∣H(ej ω)∣≤0.17783, 0.3π≤ω≤π

用绝对指标表示为:ωp = 0.2π ωs = 0.3π δ1 = 1-0.89125 = 0.10875 δ2 = 0.17783 2.用Kaiser 窗法设计一个高通滤波器,满足技术指标∣H(ej ω)∣≤0.021,∣ω∣≤0.35π 0.979≤∣H(ej ω)∣≤1.021, 0.5π≤ω≤π。

用绝对指标要求来表示为:ωp = 0.5π,ωs = 0.35π,δ1 =δ2 =δ=0.021。 2.2设计原理

2.2.1.IIR 数字滤波器:

IIR 数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth 函数、chebyshev 函数、bessel 函数、椭圆滤波器函数等。IIR 数字滤波器的设计步骤:

① 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; ② 根据模拟滤波器技术指标设计为响应的模拟低通滤波器;

③ 跟据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;

④ 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。

在MATLAB 中,经典法设计IIR 数字滤波器主要采用以下步骤:

图1.1 IIR 数字滤波器设计步骤

2.2.2.FIR 数字滤波器:

FIR 数字滤波器的系统函数无分母,为 110

()()N N i

n

i

i i H Z b z h n z ----====∑∑,系统频率响应可写成:

10

()()N jw jwn n H e h n e

--==∑,令()jw H e =()()j w H w e ϕ,H(w)为幅度函数,()w ϕ称为相位函数。这与模和

模拟滤波器原型 buttap,cheb1ap

频率变换

模拟离散化

bilinear,impin var

IIR 数字滤波器

辐角的表示方法不同,H(w)为可为正可为负的实数,这是为了表达上的方便。如某系统频率

响应 ()jw

H e =sin4w 3j w e -,如果采用模和幅角的表示方法,sin4w 的变号相当于在相位上加上π

(因-1= j e π

),从而造成相位曲线的不连贯和表达不方便,用()

()j w H w e

ϕ则连贯而方便。

窗函数法又称傅里叶级数法,其设计是在时域进行的。 函数一般是无限长且非因果的,设计时需用一个合适的窗函数把截成有限长的因果序列,使对应的频率响应(的傅里叶变换)尽可能好地逼近理想频率响应。

窗函数法的主要缺点是:一、不容易设计预先给定截止频率的滤波器;二、满足同样设计指标的情况下所设计出的滤波器的阶数通常偏大。 2.3设计步骤

2.3.1.IIR 数字滤波器:

(1)确定数字滤波器的性能指标,包括:通带、阻带临界频率,通带内最大衰减,阻带内最小衰减,采样周期 T 。

(2)确定相应的数字频率。

(3)计算预期的模拟低通原型临界频率。

(4)计算低通原型阶数N 和3dB 频率wc ,求得传递函数Ha(s)。 (5)用低通变换公式代入Ha(s),求得数字滤波器系统函数H(z)。 (6)分析滤波器频域特性,检查其指标是否满足要求。 2.3.2. FIR 数字滤波器:

(1)根据对阻带衰减及过渡带的指标要求,选择窗函数的类型,并估计窗口长度。 (2)构造希望逼近的频率响应函数Hd(ejw) (3)计算hd(n)。

(4)加海明窗得到设计结果:h(n)=h(n)w(n)。 2.4MATLAB 程序

2.4.1.IIR 数字滤波器:

%应用双线性变化法设计Butterworth 滤波器 %03.1.6 clear,close all; %技术指标 derta1=1-0.89125; derta2=0.17738; wp=0.2*pi; ws=0.3*pi; %相对技术指标 rp=-20*log10(0.89125/1); rs=-20*log10(0.17738/1); T=1;

Fs=1/T;

%双线性变换确定模拟滤波器的边界频率Op=(2/T)*tan(wp/2);

Os=(2/T)*tan(ws/2);

%确定阶数N和截止频率Wn

[N,Wn]=buttord(Op,Os,rp,rs,'s');

%确定模拟滤波器

[num,den]=butter(N,Wn,'s');

%双线性变换获得数字滤波器的参数[Num,Den]=bilinear(num,den,Fs);

%设定显示范围,间隔

wmax=0.5*pi;

w=[0:1:500]*wmax/500;

%显示频率响应曲线

freqz(Num,Den,w);

fprintf('\n直接型系数\n');

Num

Den

[sos,g]=tf2sos(Num,Den);

fprintf('\n级联型系数【NumG|DenG】\n'); sos

g

%验证

%检验信号

f=sin(0.1*pi*[0:100])+sin(0.5*pi*[0:100]); figure(2);

plot(f),title('输入波形');

figure(3);

plot(filter(Num,Den,f)),title('输出波形'); 2.4.2.FIR数字滤波器:

%使用kaise窗设计FIR高通滤波器

%03。1。6

clear,close all;

%技术指标

ws=0.35*pi,wp=0.5*pi,derta=0.021;

dw=wp-ws;

相关文档
最新文档