matlab数字信号处理实验指导 下载本文

实验六 快速傅立叶变换FFT及其应用

xlabel(‘时间序号n’);ylabel(‘振幅’); title(‘用卷积函数conv得到的输出’);grid;

四、实验仪器设备

计算机,MATLAB软件

五、实验注意事项

课前预先阅读并理解实验程序;

六、思考题

1.分析实验程序1的图形中,两种N值下DFT是否有差别及产生差别的原因。 2.根据实验程序2的结果图分析由N点DFT的物理意义。

3 .实验程序3两个程序的输出是否一致?计算该卷积的理论结果,与两个程序的输出是否一致?若改变L的长度(改为8时),两个程序的输出是否一致?FFT的变换长度L必须满足什么条件,输出y(n)才等于x(n)和h(n)的线性卷积,这种快速卷积的方法是利用什么运算与线性卷积运算的关系得到的?

29

实验七 基于MATLAB的IIR数字滤波器设计

实验七 基于MATLAB的IIR数字滤波器设计

一、实验目的

1. 进一步熟悉IIR数字滤波器的理论知识。

2. 熟悉与IIR数字滤波器设计有关的MATLAB函数。

3 . 学会通过MATLAB,利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,加深对数字滤波器的常用指标和设计过程的理解。

二、实验原理

(一)、低通滤波器的常用指标:

1??P?G(ej?)?1??P,for???P

G(ej?)??S,for?S????

通带边缘频率:?p,阻带边缘频率:?s ,

通带起伏:?p,通带峰值起伏: ?p??20log10(1??p)[dB],阻带起伏:?s 最小阻带衰减:?S??20log10(?s)[dB]。 (二)、IIR数字滤波器设计

目前,设计IIR数字滤波器的通用方法是先设计相应的低通滤波器,然后再通过双线性变换法和频率变换得到所需要的数字滤波器。模拟滤波器从功能上分有低通、高通、带通及带阻四种,从类型上分有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器以及贝塞尔滤波器等。

1、利用模拟滤波器设计IIR数字低通滤波器的步骤。

(1)确定数字低通滤波器的技术指标:通带截止频率ωp、通带衰减αp、阻带截止频率ωs、阻带衰减αs。

(2)将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。

脉冲响应不变法:

21tan(?)T2(3)按照模拟低通滤波器的技术指标设计模拟低通滤波器。

???T??双线性变换法:

30

实验七 基于MATLAB的IIR数字滤波器设计

(4)将模拟滤波器Ha(s),从s平面转换到z平面,得到数字低通滤波器系统函数H(z)。

2、下面给出与IIR数字滤波器设计有关的MATLAB文件。

(1)buttord.m

用来确定数字低通或模拟低通滤波器的阶次,其调用格式分别是 a. [N,Wn]=buttord(Wp,Ws,Rp,Rs) b. [N,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)

格式a对应数字滤波器,式中Wp,Ws分别是通带和阻带的截止频率,实际上它们是归一化频率,其值在0-1之间,1对应π(即对π的归一化)。Rp,Rs分别是通带和阻带衰减,单位为dB。N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率。

格式b对应模拟滤波器,式中各个变量的含义和格式a相同,但Wp,Ws及Wn是模拟角频率,单位为rad/s。

(2)buttap.m

用来设计模拟低通原型(归一化)滤波器Ha(p),其调用的格式为 [z , p, k]=buttap(N)

N是欲设计的低通原型(归一化)滤波器的阶次,z, p和k分别是设计出Ha(p)的极点、零点及增益。

(3)lp2lp.m

将模拟低通原型(归一化)滤波器Ha(p)转换为实际的低通滤波器Ha(s)。(去归一化),其调用格式为:

[B,A]=lp2lp(b,a,Wn)

b,a分别是模拟低通原型滤波器Ha(p)的分子、分母多项式的系数向量,其中B,A是去归一化后Ha(s) 的分子、分母多项式的系数向量, Wn为截止频率。

(4)bilinear.m

实现双线性变换,即由模拟滤波器Ha(s)得到数字滤波器H(z)。其调用格式是: [Bz,Az]=bilinear(B,A,Fs)

B,A是去归一化后Ha(s) 的分子、分母多项式的系数向量,Bz,Az是H (z) 的分子、分母多项式的系数向量, Fs是抽样频率。

(4)impinvar.m

由脉冲响应不变法将模拟滤波器Ha(s)转换为数字滤波器H(z)。其调用格式

31

实验七 基于MATLAB的IIR数字滤波器设计

是: [Bz,Az]= impinvar(B,A,Fs)

B,A是去归一化后Ha(s) 的分子、分母多项式的系数向量,Bz,Az是H (z) 的分子、分母多项式的系数向量, Fs是抽样频率。

(5) butter.m

用来直接设计巴特沃斯数字滤波器(双线性变换法),实际上它把buttord.m,buttap.m,lp2lp.m及bilinear.m等文件都包含进去,从而使设计过程更简捷,其调用格式为: a. [B,A]=butter(N, Wn)

b. [B,A]=butter(N,Wn,‘s’)

格式a是设计低通数字滤波器,格式b是设计低通模拟滤波器。B,A是H (z) 的分子、分母多项式的系数向量,Wn是截止频率。

三、实验内容与步骤

1. 设计MATLAB程序,采用脉冲响应不变法设计一个巴特沃斯低通数字滤波器,其通带上限临界频率为400Hz,阻带临界频率为600Hz,抽样频率是1000Hz,在通带内的最大衰减为0.3dB, 阻带内的最小衰减为60dB,并绘出幅频特性曲线。 2. 设计MATLAB程序,采用双线性变换法设计一个巴特沃斯低通数字滤波器,要求在通带[0,0.2π]内衰减不大于3dB, 在阻带[0.6π,π]内衰减不小于40dB,并绘出幅频特性曲线。

四、实验仪器设备

计算机,MATLAB软件

五、实验要求

根据要求独立编程设计,并根据程序运行结果写出滤波器的系统函数。

32