无限长单位脉冲响应滤波器设计

更新时间:2024-03-14 19:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 无限长单位脉冲响应滤波器设计

一、 实验目的

1.掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 2.观察双线性变换及脉冲响应不变法设计的滤波器的频率特性,了解双线性变换法及脉冲响应不变法的特点。

3.熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

二、实验原理

(1)实验中有关变量的定义:fc通带边界频率,fr阻带边界频率,tao通带波动,at最小阻带衰减,fs采样频率,t采样周期。

(2)设计一个数字滤波器一般包括以下两步: a.按照任务要求,确定滤波器性能指标

b.用一个因果稳定的离散时不变系统的系统函数去逼近这一性能要求

(3)数字滤波器的实现:对于IIR滤波器,其逼近问题就是寻找滤波器的各项系数,使其系统函数逼近一个所要求的特性。先设计一个合适的模拟滤波器,然后变换成满足约定指标的数字滤波器。

用双线形变换法设计IIR数字滤波器的过程: a.将设计性能指标中的关键频率点进行“预畸” b.利用“预畸”得到的频率点设计一个模拟滤波器。 c.双线形变换,确定系统函数

三、实验内容

1、设计一切比雪夫高通滤波器,性能指标如下:通带边界频率fc=0.4kHz,通带波动δ=0.5dB,阻带边界频率fr=0.3kHz,阻带最小衰减At=20dB,采样频率fs=1000Hz,观察其通带波动和阻带衰减是否满足要求。(绘制对数幅度谱)

2、设计一巴特沃思低通滤波器,性能指标如下:通带边界频率fc=0.4kHz,通带波动δ=1dB,阻带边界频率fr=0.6kHz,阻带最小衰减At=40dB,采样频率fs=2000Hz,分别用脉冲响应不变法和双线性变换法进行设计,比较两种方法的优缺点。(绘制线性幅度谱)

3、用双线性变换法设计巴特沃思、切比雪夫和椭圆低通滤波器,其性能指标如下:通带边界频率fc=1.8kHz,通带波动δ≤1dB,阻带边界频率fr=2.6kHz,阻带最小衰减At≥50dB,采样频率fs=8kHz。(绘制对数幅度谱)

4、设计一巴特沃思带通滤波器,性能指标如下:通带频率3kHz≤f≤4kHz,通带波动δ≤1dB;上阻带f≥5kHz,阻带最小衰减At≥15dB;下阻带f≤2kHz,阻带最小衰减At≥20dB;采样频率fs=20kHz,分别用脉冲响应不变法和双线性变换法进行设计。(绘制线性幅度谱)

5、用双线性变换法设计一椭圆带阻滤波器,性能指标如下:阻带频率2kHz≤f≤3kHz,

- 1 -

阻带最小衰减At≥30dB,通带频率f≥4kHz和f≤1kHz,通带波动δ≤3dB,采样频率fs=10kHz。(绘制对数幅度谱)

注意:设计结果要求给出程序、数字滤波器的系统函数H(z)和幅频响应,H(z)请用word自带的公式编辑器编辑(插入-对象-Microsoft 公式3.0)。

四、实验结果与分析

1.实验结果:

切比雪夫高通滤波器50-5幅度/dB-10-15-20-25-30050100150200250300频率/Hz350400450500

程序:

fs=1000;fc=400;fr=300;rp=0.5;rs=20; ws=2*fs*tan(2*pi*fc/fs/2); wp=2*fs*tan(2*pi*fr/fs/2);

[N,wn]=cheb1ord(wp,ws,rp,rs,'s'); [b,a]=cheby1(N,rp,wp,'high','s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/2/pi*fs; figure;

plot(f,20*log10(abs(h))); axis([0,500,-30,5]); grid;

xlabel('频率/Hz'); ylabel('幅度/dB');

title('切比雪夫高通滤波器');

实验结果分析:由图像观察可知,通带波动为0.5dB,阻带最小衰减20dB,满足要求。 2.实验结果:

- 2 -

巴特沃思低通滤波器,线性幅度谱1.4脉冲响应不变法双线性变换法1.210.8幅度0.60.40.200100200300400500600频率/Hz7008009001000

程序:

fs=2000;fc=400;fr=600;rp=1;rs=40; %脉冲响应不变法 wp=2*pi*fc; ws=2*pi*fr;

[N,wn]=buttord(wp,ws,rp,rs,'s'); [b1,a1]=butter(N,wn,'s');

[bz1,az1]=impinvar(b1,a1,fs); [h1,w]=freqz(bz1,az1); %双线性变换法

wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wn]=buttord(wp,ws,rp,rs,'s'); [b2,a2]=butter(N,wn,'s'); [bz2,az2]=bilinear(b2,a2,fs); [h2,w]=freqz(bz2,az2); f=w/(2*pi)*fs; figure;

plot(f,abs(h1),'-.r',f,abs(h2),'-b');%线性幅度谱 grid;

xlabel('频率/Hz'); ylabel('幅度');

legend('脉冲响应不变法','双线性变换法'); title('巴特沃思低通滤波器,线性幅度谱');

实验结果分析:脉冲响应不变法由于混碟效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在f=1000Hz处有一个三阶传输零点,这个三阶零点正是模拟滤波器在Ω=无穷大处的三阶传输零点通过映射形成的。

- 3 -

3.实验结果:

巴特沃思低通滤波器100-10-20幅度/dB-30-40-50-60-70-8001000200030004000频率/Hz5000600070008000

切比雪夫低通滤波器100-10-20幅度/dB-30-40-50-60-70-800100020003000频率/Hz400050006000

- 4 -

椭圆滤波器100-10-20幅度/dB-30-40-50-60-70-800100020003000频率/Hz400050006000

程序:

(1) fs=8000;fc=1800;fr=2600;rp=1;rs=50; wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(N,wn,'s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/pi/2*fs; figure;

plot(f,20*log10(abs(h1))); axis([0,8000,-80,10]); grid;

xlabel('频率/Hz'); ylabel('幅度/dB');

title('巴特沃思低通滤波器');

(2) fs=8000;fc=1800;fr=2600;rp=1;rs=50; wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wn]=cheb1ord(wp,ws,rp,rs,'s'); [b,a]=cheby1(N,rp,wp,'s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/pi/2*fs; figure;

plot(f,20*log10(abs(h))); axis([0,6000,-80,10]);

- 5 -

grid;

xlabel('频率/Hz'); ylabel('幅度/dB');

title('切比雪夫低通滤波器');

(3) fs=8000;fc=1800;fr=2600;rp=1;rs=50;

wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wp]=ellipord(wp,ws,rp,rs,'s'); [b,a]=ellip(N,rp,rs,wp,’s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/pi/2*fs; figure;

plot(f,20*log10(abs(h))); axis([0,6000,-80,10]); grid;

xlabel('频率/Hz'); ylabel('幅度/dB'); title('椭圆滤波器');

实验结果分析:由图像可知,巴特沃思滤波器的特点是具有通带内最平坦的幅度特性,而且随着频率的升高而单调地下降;切比雪夫滤波器的特点是其逼近误差峰值在一个规定的频段的频段上为最小,实际上误差值在规定的频段上是等波纹的,即误差值等幅地在极大值和极小值之间摆动;椭圆滤波器的特点是其幅值响应在通带和阻带内都是等波纹的,对于给定的阶数和给定的波纹要求,除椭圆滤波器外,其他滤波器均不能获得较窄的过渡带宽。 4.实验结果:

巴特沃思带通滤波器,线性幅度谱1.4脉冲响应不变法双线性变换法1.210.8幅度0.60.40.200100020003000400050006000频率/Hz70008000900010000

程序:

- 6 -

fs=20000;fc=[3000 4000];fr=[2000 5000];rp=1;rs=20; %脉冲响应不变法 wp=2*pi*fc; ws=2*pi*fr;

[N,wn]=buttord(wp,ws,rp,rs,'s'); [b1,a1]=butter(N,wn,'s');

[bz1,az1]=impinvar(b1,a1,fs); [h1,w]=freqz(bz1,az1); %双线性变换法

wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wn]=buttord(wp,ws,rp,rs,'s'); [b2,a2]=butter(N,wn,'s'); [bz2,az2]=bilinear(b2,a2,fs); [h2,w]=freqz(bz2,az2); f=w/(2*pi)*fs; figure;

plot(f,abs(h1),'-.r',f,abs(h2),'-b');%线性幅度谱 grid;

xlabel('频率/Hz'); ylabel('幅度');

legend('脉冲响应不变法','双线性变换法'); title('巴特沃思带通滤波器,线性幅度谱');

实验结果分析:脉冲响应不变法由于混碟效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在f=1000Hz处有一个三阶传输零点,这个三阶零点正是模拟滤波器在Ω=无穷大处的三阶传输零点通过映射形成的。 5.实验结果:

椭圆带阻滤波器100-10-20幅度/dB-30-40-50-60-70-8001000200030004000频率/Hz5000600070008000

- 7 -

程序:

fs=10000;fc=[1000 4000];fr=[2000 3000];rp=3;rs=30; wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);

[N,wp]=ellipord(wp,ws,rp,rs,'s'); [b,a]=ellip(N,rp,rs,wp,'stop','s'); [bz,az]=bilinear(b,a,fs); [h,w]=freqz(bz,az); f=w/pi/2*fs; figure;

plot(f,20*log10(abs(h))); axis([0,8000,-80,10]); grid;

xlabel('频率/Hz'); ylabel('幅度/dB');

title('椭圆带阻滤波器');

实验结果分析:在模拟滤波器中,如果把带通的频率关系倒置就得到带阻变换。

五、实验小结

1.已基本掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。

2.学会观察双线性变换及脉冲响应不变法设计的滤波器的频率特性,了解双线性变换法及脉冲响应不变法的特点。

3.熟悉了巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。

- 8 -

本文来源:https://www.bwwdw.com/article/iy48.html

Top