实验五 iir数字滤波器设计与滤波附思考题程序.docx

上传人:b****7 文档编号:9813132 上传时间:2023-02-06 格式:DOCX 页数:9 大小:48.02KB
下载 相关 举报
实验五 iir数字滤波器设计与滤波附思考题程序.docx_第1页
第1页 / 共9页
实验五 iir数字滤波器设计与滤波附思考题程序.docx_第2页
第2页 / 共9页
实验五 iir数字滤波器设计与滤波附思考题程序.docx_第3页
第3页 / 共9页
实验五 iir数字滤波器设计与滤波附思考题程序.docx_第4页
第4页 / 共9页
实验五 iir数字滤波器设计与滤波附思考题程序.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

实验五 iir数字滤波器设计与滤波附思考题程序.docx

《实验五 iir数字滤波器设计与滤波附思考题程序.docx》由会员分享,可在线阅读,更多相关《实验五 iir数字滤波器设计与滤波附思考题程序.docx(9页珍藏版)》请在冰豆网上搜索。

实验五 iir数字滤波器设计与滤波附思考题程序.docx

实验五iir数字滤波器设计与滤波附思考题程序

实验五IIR数字滤波器设计与滤波

1.实验目的

(1)加深对信号采样的理解,

(2)掌握滤波器设计的方法;

(3)复习低通滤波器的设计。

2.实验原理

目前,设计IIR数字滤波器的通用方法是先设计相应的低通滤波器,然后再通过双线性变换法和频率变换得到所需要的数字滤波器。

模拟滤波器从功能上分有低通、高通、带通及带阻四种,从类型上分有巴特沃兹(Butterworth)滤波器、切比雪夫(Chebyshev)I型滤波器、切比雪夫II型滤波器、椭圆(Elliptic)滤波器以及贝塞尔(Bessel)滤波器等。

典型的模拟低通滤波器的指标如下:

分别为通带频率和阻带频率,

分别为通带和阻带容限(峰波纹值)。

在通带内要求

有时指标由通带最大衰减

和阻带最小衰减

给出,定义如下:

第二种常用指标是用参数

和A表示通带和阻带要求,如图所示:

二者之间的关系为:

,根据这几个参数可导出另外两个参数d,k,分别称为判别因子和选择性因子。

BUTTERWORTH低通滤波器:

幅度平方函数定义为

,N为滤波器阶数,

为截止频率。

时,有

,为3DB带宽。

BUTTERWORTH低通滤波器系统函数有以下形式:

由模拟滤波器设计IIR数字滤波器,必须建立好s平面和z平面的映射关系。

使模拟系统函数

变换成数字滤波器的系统函数

,通常采用冲激相应不变法和双线性变换法。

冲激相应不变法存在频谱混叠现象,双线性变换法消除了这一线象,在IIR数字滤波器的设计中得到了更广泛的应用。

s平面和Z平面的映射关系为

待入数字频率和等效的模拟频率之间的映射关系:

,由于二者不是线性关系,所以称为预畸变。

3.实验内容及其步骤

实验的步骤:

(1)给定数字滤波器的幅度相应参数。

(2)用预畸变公式将数字滤波器参数变换为相应的等效模拟滤波器参数。

(3)采用模拟滤波器设计方法设计等效模拟滤波器

(4)采用双线性变换公式把等效模拟滤波器映射为所期望的数字滤波器。

其中第三步中模拟滤波器设计步骤为:

首先,根据滤波器指标求选择因子k和判别因子d

其次,确定满足技术所需的滤波器阶数N,

再次,设3db截止频率

最后由表查出归一化巴特沃斯滤波器系数。

设计举例:

例1设计一个模拟巴特沃特低通滤波器,它在30rad/s处具有1dB或更好的波动,在50rad/s处具有至少30dB的衰减。

求出级联形式的系统函数,画出滤波器的幅度响应、对数幅度响应、相位响应和脉冲响应图。

MATLAB参考程序:

Wp=30;Ws=50;Rp=1;As=30;%技术指标

Ripple=10^(-Rp/20);

Attn=10^(-As/20);

[b,a]=afd_butt(Wp,Ws,Rp,As)%巴特沃兹低通滤波器子程序

[db,mag,pha,w]=freqs_m(b,a,50);%计算幅频响应

[ha,x,t]=impulse(b,a);%计算模拟滤波器的单位脉冲响应

figure

(1);clf;

subplot(2,2,1);plot(w,mag);title('MagnitudeResponse');

xlabel('Analogfrequencyinrad/s');ylabel('H');

axis([0,50,0,1.1]);grid;

subplot(2,2,2);plot(w,db);title('MagnitudeindB');

xlabel('Analogfrequencyinrad/s');

ylabel('decibels');

axis([0,50,-40,5])

grid

subplot(2,2,3);plot(w,pha/pi);title('PhaseResponse');

xlabel('Analogfrequencyinrad/s');

ylabel('radians');

axis([0,50,-1.1,1.1])

grid

subplot(2,2,4);plot(t,ha);title('ImpulseResponse');

xlabel('timeinseconds');

ylabel('ha(t)');

axis([0,max(t)+0.05,min(ha),max(ha)+0.025]);

grid

%巴特沃兹模拟滤波器的设计子程序

function[b,a]=afd_butt(Wp,Ws,Rp,As);

ifWp<=0

error('Passbandedgemustbelargerthan0')

end

ifWs<=Wp

error('StopbandedgemustbelargerthanPassededge')

end

if(Rp<=0)|(As<0)

error('PBrippleand/0rSBattenuationmustbelargerthan0')

end

N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws)));

OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N)));

[b,a]=u_buttap(N,OmegaC);

%设计非归一化巴特沃兹模拟低通滤波器原型子程序

function[b,a]=u_buttap(N,OmegaC);

[z,p,k]=buttap(N);z、p和k分别是设计出的

的极点、零点及增益。

p=p*OmegaC;%非归一化

k=k*OmegaC^N;

B=real(poly(z));

b0=k;

b=k*B;分子向量

a=real(poly(p));分母向量

%计算系统函数的幅度响应和相位响应子程序

function[db,mag,pha,w]=freqs_m(b,a,wmax);

w=[0:

1:

500]*wmax/500;

H=freqs(b,a,w);

mag=abs(H);

db=20*log10((mag+eps)/max(mag));

pha=angle(H);

例2设计如下指标的数字低通滤波器。

相应的MATLAB程序如下:

fp=100;fst=300;Fs=1000;

rp=3;rs=20;

wp=2*pi*fp/Fs;

ws=2*pi*fst/Fs;

Fs=Fs/Fs;%letFs=1

wap=tan(wp/2);was=tan(ws/2);预畸变公式

[n,wn]=buttord(wap,was,rp,rs,'s');设计等效模拟滤波器

[z,p,k]=buttap(n);

[bp,ap]=zp2tf(z,p,k)设计模拟低通原型滤波器

[bs,as]=lp2lp(bp,ap,wap);将模拟低通原型滤波器转换为低通滤波器

[bz,az]=bilinear(bs,as,Fs/2)实现双线性变换,即由模拟滤波器

得到数字滤波器

[h,w]=freqz(bz,az,256,Fs*1000);

plot(w,abs(h));gridon;

调试运行该程序,运行结果如下:

bp=[1,0,0],ap=[1,1.4142,1],bs=[0.1056,0,0],as=[1,0.4595,0.1056]

bz=[0.0675,0.1349,0.06745],az=[1,-1.143,0.4128]

4.实验用MATLAB函数介绍

在实验过程中,MATLAB函数命令有数字滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs)、模拟滤波器函数[N,Wn]=buttord(Wp,Ws,Rp,Rs,‘s’)。

式中Wp,Ws分别上通带和阻带的截止频率,实际上它们是归一化频率,其值在0~1之间,Rp,Rs分别是通带和阻带的衰减,单位为dB。

N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率,第二个式子的单位为rad/s,因此,它们实际上是频率。

用来设计模拟低通原型滤波器

,其调用格式是[z,p,k]=buttap(N)N是欲设计的低通原型滤波器的阶次,z、p和k分别是设计出的

的极点、零点及增益。

以下4个文件用来将模拟低通原型滤波器

分别转换为低通、高通、带通、及带阻滤波器。

其调用格式分别是

(1)[B,A]=lp2lp(b,a,Wo)或[B,A]=lp2hp(b,a,Wo)

(2)[B,A]=lp2bp(b,a,Wo,Bw)或[B,A]=lp2bs(b,a,Wo,Bw)

式中b,a分别是模拟低通原型滤波器

有分子、分母多项式的系数向量,B,A分别是转换后的

有分子、分母多项式的系数向量;在格式

(1)中,Wo是低通或高通滤波器的截止频率;在格式

(2)中Wo是带通或带阻滤波器的中心频率,Bw是其带宽。

实现双线性变换,即由模拟滤波器

得到数字滤波器

其调用格式是

[Bz,Az]=bilinear(B,A,Fs)

式中B、A分别是

的分子、分母多项式的系数向量;Bz、Az分别是

的分子、分母多项式的系数向量,Fs是抽样频率。

5.思考题

(1)IIR滤波器设计步骤。

(2)对实验过程中所涉及的问题进行分析,试编写和修改相应的程序,得出最终正确的结果和波形图,并对实验报告进行整理分析。

(3)设计低通数字滤波器,要求在通带内频带低于

时,允许幅度误差在1dB以内,在频率

之间的阻带衰减大于15dB。

用双线性设计数字滤波器,

,模拟滤波器采用巴特沃兹滤波器原型。

>>rp=1;rs=15;

>>wp=0.2*pi;ws=0.3*pi;

>>Fs=1;

>>wap=tan(wp/2);was=tan(ws/2);

>>[n,wn]=buttord(wap,was,rp,rs,'s');

>>[z,p,k]=buttap(n);

>>[bp,ap]=zp2tf(z,p,k);

>>[bs,as]=lp2lp(bp,ap,wap);

>>[bz,az]=bilinear(bs,as,Fs/2);

>>[h,w]=freqz(bz,az,256);

>>plot(w,abs(h));gridon;

(4)设计一个巴特沃兹高通滤波器,要求通带截止频率为

,通带内衰减不大于1dB,阻带起始频率为

,阻带内衰减不小于15dB,

(选做)

>>rp=1;rs=15;

>>wp=0.6*pi;ws=0.4*pi;

>>Fs=1;

>>wap=tan(wp/2);was=tan(ws/2);

>>[n,wn]=buttord(wap,was,rp,rs,'s');

>>[z,p,k]=buttap(n);

>>[bp,ap]=zp2tf(z,p,k);

>>[bs,as]=lp2hp(bp,ap,wap);

>>[bz,az]=bilinear(bs,as,Fs/2);

>>[h,w]=freqz(bz,az,256);

>>plot(w,abs(h));gridon;

6.实验报告要求

(1)明确实验目的以及实验的原理。

(2)通过实验内容掌握滤波器的设计。

(3)完成思考题的内容,对实验结果及其波形图进行分析,总结主要结论。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1