《数字信号处理实验》指导书_第1页
《数字信号处理实验》指导书_第2页
《数字信号处理实验》指导书_第3页
《数字信号处理实验》指导书_第4页
《数字信号处理实验》指导书_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理实验指导书 指导教师:朱士永数字信号处理实验指导书实验一、离散信号的产生运算(一)实验目的和要求:产生离散信号,进行信号运算(二)主要仪器设备: 计算机;Matlab软件;word文字处理软件(三)实验原理与方法(1)产生实指数序列:n=0:50;x=0.9.n;stem(x);(2)正余弦序列:n=0:50;x=sin(0.075*pi*n);% x=cos(0.075*pi*n);stem(x);(3)产生随机序列 x=10.*rand(1,30);%产生长度为30,大小在(0,10)间的一维随机向量stem(x);%绘图(4)序列反褶:y=fliplr(x);%产生序列x的反

2、折序列(5)移位移位函数文件:sigshift.mfunctiony,ny=sigshift(x,nx,n0) ;ny=nx+n0;%右移n0位;y=x;matlab实现调用文件test1.m文件:x=3,11,7,0,-1,4,2;nx=-3:3;y,ny=sigshift(x,nx,2);%右移2位subplot(3,1,1);stem(nx,x);ylabel(x);subplot(3,1,2);stem(ny,y);ylabel(y(n);(四)实验步骤与内容1.编程产生长度为10,大小在(0,5)间的一维随机向量,在下面表格记录序列值,根据表格值绘出序列的图形。n1234567891

3、0x(n)2.编程产生序列:,在下面表格记录序列值,根据表格值绘出序列的图形。n12345678910y(n)3.重新编程绘图实现上两个序列的相加序列A(n)=x(n)+y(n)、相乘运算序列B(n)=x(n).y(n), 记录在下表格中,根据表格绘出序列A(n), B(n)的图形。n12345678910A(n)B(n)4.实现2中序列的反褶运算序列Z(n),并记录Z(n)在下列表格中,根据表格值绘出序列Z(n)的图形。n12345678910Z(n)(五)实验报告要求1.写出实验实验报告,包括:目的和要求、仪器 2.写出实验步骤及内容,给出程序,填写实验数据表格,绘出图形实验二、卷积与相关

4、运算(一)实验目的和要求用matlab编写DSP程序,观察输入序列的长度与输出序列长度的关系(二)主要仪器设备计算机;Matlab软件;word文字处理软件(三)实验原理与方法(1)离散序列的卷积:x=3,11,7,0,-1,4,2;nx=-3:3;h=2,3,0,-5,2,1;nh=-1:4;nyb=nx(1)+nh(1);nye=nx(length(x)+nh(length(h);ny=nyb:nyey=conv(x,h)subplot(3,1,1);stem(nx,x);ylabel(x);subplot(3,1,2);stem(nh,h);ylabel(h);subplot(3,1,3

5、);stem(ny,y);ylabel(y(n)=x(n)*h(n);(2)离散序列的相关:x=3,11,7,0,-1,4,2;nx=-3:3;h=2,3,0,-5,2,1;nh=-1:4;nyb=nx(1)+nh(1);nye=nx(length(x)+nh(length(h);ny=1:2*max(length(x),length(h)-1;y=xcorr(x,h);%相关subplot(3,1,1);stem(nx,x);ylabel(x(nx);subplot(3,1,2);stem(nh,h);ylabel(h(nh);subplot(3,1,3);stem(ny,y);ylabel

6、(y(ny);(四)实验步骤与内容1.编程实现序列:和的卷积,记录在下表格:n012345678910111213y(n)根据表格值绘出卷积序列y(n)的图形。2.编程实现1中两个序列的相关运算序列,记录在下表格:n12345678910z(n)n111213141516171819z(n)绘出卷积序列的图形。3.编程实现序列:和的卷积,并绘图nz(n)nz(n)4.编程实现3中两个序列的相关运算序列并绘图nz(n)nz(n)(五)实验报告要求1.写出实验实验报告,包括:目的和要求、仪器 2.写出实验步骤及内容,给出程序,填写实验数据表格,绘出图形实验三、离散系统分析(一)实验目的和要求求出离

7、散系统的零极点,分析离散系统的幅频和相频特性(二)主要仪器设备计算机;Matlab软件;word文字处理软件(三)实验原理与方法1 绘制离散系统的频率响应:模拟:或 按照矢量w指定的频率值沿虚坐标计算模拟滤波器的复频率响应h,当w省略时自动取w=200,不代变量输出的直接绘出曲线。数字:或按照n个频率点计算频率响应h,n个频率点均匀分布在上半单位圆(0),并记录在w中,相应的频率响应记录在h中。若不带返回参数,则绘制出幅频特性和相频特性曲线。2绘制离散系统零极点图调用格式:zplane(z,p)zplane(b,a)其中b、a分别为系统函数分子分母的系数向量,z为系统零点向量,p为系统极点向量

8、。例如:数字滤波器的零极点图、幅频特性和相频特性曲线程序:a=1 0.5 0.1;b=0.2 0.3 0;zplane(b,a); %绘制零极点图freqz(b,a,128);%绘制128个频率点的幅频特性和相频特性曲线3数字系统的单位脉冲响应1): t记录取样点矢量,取样点n由系统自动选取。2):用户指定取样点n,当n为标量时,t=0:n-1不带输出变量的impz将在当前图形窗口利用stem(t,h)绘出脉冲响应。4系统函数转换(1)系统:函数tf2zp可以将系统函数表示成零极点形式:调用格式:z,p,k=tf2zp(b,a);%求出系统的零极点其中b、a分别为系统函数分子分母的系数向量,z

9、为系统零点向量,p为系统极点向量,k为增益系数。(2)函数zp2tf可以将零极点形式转化为分子分母多项式形式调用格式:b,a=zp2tf(z,p,k)(四)实验步骤与内容1.编程求出系统的零极点记录在下表,并在Z平面绘制出零极点图类型零点极点2.编程绘出上述1中系统的幅频特性和相频特性曲线3.编程绘出系统的零极点记录在下表,并在Z平面绘制出零极点图类型零点极点4.编程绘出上述3中系统的幅频特性和相频特性曲线5.绘出系统1和系统2的单位脉冲响应(五)实验报告要求1.写出实验实验报告,包括:目的和要求、仪器 2.写出实验步骤及内容,给出程序,填写实验数据表格,绘出图形实验四、信号谱分析(一)实验目

10、的和要求掌握FFT算法,利用MATLAB语言对信号进行频谱分析(二)主要仪器设备计算机;Matlab软件;word文字处理软件(三)实验原理与方法一维快速傅立叶变换函数fft,调用格式:(1)X=fft(x) %返回x的相同长度的fft(2)X=fft(x,n) %计算n点的fft调用函数完成:,其中,则信号的幅度谱为:或相位谱为:例如:x=1,2,4,1,0,3,5X=fft(x,128)p=sqrt(X.*conj(X); %或ph1=abs(X);ph=angle(X);subplot(2,1,1);plot(p);subplot(2,1,2);plot(ph);(四)实验步骤与内容 (

11、都取128点的FFT)1.编程绘图实现数字信号:x=10,20,30,90,10,60,60,20,5的频谱(幅频和相频)特性2.编程绘图实现数字信号:x=1,2,3,1,2,1的频谱(幅频和相频)特性3.在采样时间点t=0:0.001:0.6,对信号进行离散处理,编程绘图实现离散信号频谱(幅频和相频)特性(五)实验报告要求1.写出实验实验报告,包括:目的和要求、仪器 2.写出实验步骤及内容,给出程序,绘出图形实验五、IIR数字滤波器的设计(一)实验目的和要求掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理。用双线性变换法及脉冲响应不变法编程设计低通、高通和带通IIR

12、数字滤波器。(二)主要仪器设备:计算机;Matlab软件;word文字处理软件(三)实验原理与方法1.低通模拟滤波器原型函数z,p,k=besselap(n) %贝塞尔 滤波器z,p,k=buttap(n) %Butterworth巴特沃斯滤波器z,p,k=cheb1ap(n,Rp) %雪比契夫1型z,p,k=cheb2ap(n,Rs) %雪比契夫2型z,p,k=ellipap(n,Rp,Rs) %椭圆滤波器2.模拟频率变换函数(1)原型低通到低通模拟滤波器变换函数lp2lp:bt,at=lp2lp(b,a,Wo);其中W0为截止频率(2)原型低通到带通模拟滤波器变换函数lp2bp:bt,at

13、=lp2bp(b,a,Wo,Bw);其中W0为中心频率,Bw为带宽(3)原型低通到高通模拟滤波器变换函数lp2hp:bt,at=lp2hp(b,a,Wo);其中W0为截止频率(4)原型低通到带阻模拟滤波器变换函数lp2bsbt,at=lp2bs(b,a,Wo,Bw) ;其中W0为中心频率,Bw为带宽3.双线性变换法函数zd,pd,kd=bilinear(z,p,k,Fs) % Fs为取样频率zd,pd,kd=bilinear(z,p,k,Fs,Fp)numd,dend=bilinear(num,den,Fs) % num,den为分子分母多项式系数向量numd,dend=bilinear(nu

14、m,den,Fs,Fp)4.冲击响应不变法函数bz,az=impinvar(b,a,Fs)bz,az=impinvar(b,a)例如:取采样频率f=1KHz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与数字滤波器的幅频与相频特性,MATLAB程序如下: z,p,k=buttap(5) ;% 设计五阶Butterworth低通模拟滤波器原型zd,pd,kd=bilinear(z,p,k,1000);%双线性变换得到低通数字滤波器b,a=zp2tf(zd,pd,kd);%滤波器类型转换w=128;freqs(b,a,w)figure;freqz(b,a,w)(四)实

15、验步骤与内容1.取采样频率f=100Hz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与数字滤波器的幅频与相频特性2.设高通截止频率为w0=10000Hz, 取采样频率f=20000,用双线性变换法设计六阶高通Butterworth数字滤波器,绘出数字滤波器的频谱特性3.设带通滤波器的滤波器中心频率为W0=2KHz,带宽为BW=100Hz, 取采样频率f=10kHZ,用脉冲相应不变法设计,设计五阶带通Butterworth数字滤波器,绘出数字滤波器的频谱特性4.直接设计五阶butterworth带通滤波器,绘出频谱图。(高端与低端截止频率分别为0.2和0.9)(五

16、)实验报告要求1.写出实验实验报告,包括:目的和要求、仪器 2.写出实验步骤及内容,给出程序,绘出图形实验六、FIR数字滤波器的设计(一)实验目的和要求掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉响应的计算机编程,熟悉线性相位FIR滤波器的幅频特性和相频特性(二)主要仪器设备计算机;Matlab软件;word文字处理软件(三)实验原理与方法1、常用的窗函数(1)矩形序列: w=boxcar(n);% w序列长度为n(2)三角窗函数: w=triangle(n)(3)Bartlett窗: w=bartlett(n)(4)汉明窗: w=hamming(n)(5)汉宁窗:

17、 w=hanning(n)(6)布莱克曼窗: w=Blackman(n)(7)Chebyshev窗: w=chebwin(n,r)(8)凯泽窗: w=Kaiser(n,beta)2.基于窗函数的FIR滤波器设计函数fir1b=fir1n,wn;%b为n阶FIR滤波器的单位取样响应(长度为n+1),wn为FIR低通滤波器的截止频率b=fir1n,wn,ftype;b=fir1n,wn,window;%缺省window时按照hamming窗截取b=fir1n,wn,ftype,window;3.基于频率采样法和窗函数设计具有任意频率响应的FIR滤波器fir2b=fir2n,f,m;%n为阶次,f为

18、取样频率点向量且0f1递增,%m为与f对应的取样相对幅度向量,m与f长度相同b=fir2n,f,m,window;%指定窗口函数截取时域序列,缺省为hamming窗4.最小二乘法线性相位FIR滤波器设计函数firlsb=firls(n,f,m)b=firls(n,f,m,w)b=firls(n,f,m,ftype)b=firls(n,f,m,w,ftype)例如:分别采样窗函数法和频率取样法设计11阶FIR带通数字滤波器,截止频率为0.4和0.9,绘出滤波器单位取样响应和频率特性。MATLAB设计如下:w=0.4,0.9;h1=fir1(11,w,high);stem(h1);figure;f

19、reqz(h1,1);f=0,0.4,0.9,1;m=0,1,1,0;h2=fir2(11,f,m);figure;stem(h2);figure;freqz(h2,1);(四)实验步骤与内容1.分别用矩形窗、汉宁窗、汉明窗、Blackman、Kaise(=8.5)窗设计10阶(N=11)FIR数字滤波器,使得其频谱特性满足:绘出滤波器单位取样响应和频率特性 2.采用频率采样法和Blackman窗函数设计一个FIR低通数字滤波器,取样响应长度为32,截止频率取。3采用频率采样法和Blackman窗函数设计一个10阶FIR高通数字滤波器,截止频率取。(五)实验报告要求1.写出实验实验报告,包括:

20、目的和要求、仪器 2.写出实验步骤及内容,给出程序,绘出图形部分实验解答:实验五、IIR数字滤波器的设计(三)实验原理与方法1.低通模拟滤波器原型函数z,p,k=besselap(n) z,p,k=buttap(n)z,p,k=cheb1ap(n,Rp)z,p,k=cheb2ap(n,Rs)z,p,k=ellipap(n,Rp,Rs)2.模拟频率变换函数(1)原型低通到低通模拟滤波器变换函数lp2lpbt,at=lp2lp(b,a,Wo)(2)原型低通到带通模拟滤波器变换函数lp2bpbt,at=lp2bp(b,a,Wo,Bw)(3)原型低通到高通模拟滤波器变换函数lp2hpbt,at=lp2

21、hp(b,a,Wo)(4)原型低通到带阻模拟滤波器变换函数lp2bsbt,at=lp2bs(b,a,Wo,Bw)3.双线性变换法函数zd,pd,kd=bilinear(z,p,k,Fs)zd,pd,kd=bilinear(z,p,k,Fs,Fp)numd,dend=bilinear(num,den,Fs)numd,dend=bilinear(num,den,Fs,Fp)4.冲击响应不变法函数bz,az=impinvar(b,a,Fs)bz,az=impinvar(b,a)(四)实验步骤与内容例.取采样频率f=1KHz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与

22、数字滤波器的幅频与相频特性 z,p,k=besselap(5) ;zd,pd,kd=bilinear(z,p,k,1000);b,a=zp2tf(zd,pd,kd);w=128;freqs(b,a,w)figure;freqz(b,a,w)1.取采样频率f=100Hz,用双线性变换法设计五阶Butterworth低通数字滤波器,绘出模拟滤波器与数字滤波器的幅频与相频特性z,p,k=besselap(5) ;zd,pd,kd=bilinear(z,p,k,100);b,a=zp2tf(zd,pd,kd);w=128;freqs(b,a,w)figure;freqz(b,a,w)2.设高通截止频率

23、为w0=10kHz, 取采样频率f=100,用双线性变换法设计六阶高通Butterworth数字滤波器,绘出数字滤波器的频谱特性z,p,k=besselap(6) ;%原型低通b,a=zp2tf(z,p,k);%零极点型转化为分式型w=128;w0=10000;bt,at=lp2hp(b,a,w0)%低通转化为高通bz,az=bilinear(bt,at,1000);%双线性法freqs(bt,at,w); %模拟频谱figure;freqz(bz,az,w);%数字频谱3.设带通滤波器的滤波器中心频率为W0=500KHz,带宽为BW=10KHz, 取采样频率f=100,用脉冲相应不变法设计,

24、设计五阶带通Butterworth数字滤波器,绘出数字滤波器的频谱特性4.直接设计五阶butterworth带通滤波器,绘出频谱图。(高端与低端截止频率分别为0.2和0.9)第7章 FIR滤波器设计第六章我们介绍了无限冲激响应(IIR)滤波器的设计方法。其中最常用的由模拟滤波器转换为数字滤波器的方法为双线性变换法,因为这种方法无混叠效应,效果较好。但通过前面的例子我们看到,IIR数字滤波器相位特性不好(非线性,如图 6-11、图6-13、图6-15 ),也不易控制。然而在现代信号处理中,例如图像处理、数据传输、雷达接收以及一些要求较高的系统中对相位特性要求较为严格,这种滤波器就无能为力了。改善

25、相位特性的方法是采用有限冲激响应滤波器。本章首先对FIR滤波器原理及其使用函数作基本介绍,然后重点介绍窗函数法设计FIR滤波器,并对最优滤波器设计函数进行介绍。7.1 FIR滤波器原理概述及滤波函数7.1.1 FIR滤波器原理及设计方法分类根据第 6 章对数字滤波器的介绍,我们知道FIR滤波器的传递函数为: (7-1)可得FIR滤波器的系统差分方程为: 因此,FIR滤波器又称为卷积滤波器。根据第 4 章中所描述的系统频率响应,FIR滤波器的频率响应表达式为: (7-2)信号通过FIR滤波器不失真条件与(6-6)式所描述的相同,即滤波器在通带内具有恒定的幅频特性和线性相位特性。理论上可以证明(这

26、里从略):当FIR滤波器的系数满足下列中心对称条件: (7-3)时,滤波器设计在逼近平直幅频特性的同时,还能获得严格的线性相位特性。线性相位FIR滤波器的相位滞后和群延迟在整个频带上是相等且不变的。对于一个 N 阶的线性相位FIR滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。这一特性使通带频率内信号通过滤波器后仍保持原有波形形状而无相位失真。本章主要介绍的FIR数字滤波器设计方法及 MATLAB 信号处理工具箱提供的FIR数字滤波器设计函数,见表7-1。由于篇幅所限,本章我们主要介绍窗函数法和最优化设计方法。表7-1 FIR滤波器设计的主要方法函数设计方法说明工具函数窗函数法理

27、想滤波器加窗处理fir1(单频带) , fir2(多频带) , kaiserord最优化设计平方误差最小化逼近理想幅频响应或Park-McClellan 算法产生等波纹滤波器firls , remez,remezord约束最小二乘逼近在满足最大误差限制条件下使整个频带平方误差最小化fircls,fircls1升余弦函数具有光滑、正弦过渡带的低通滤波器设计Fircos7.1.2 FIR数字滤波器滤波函数相对于IIR 滤波器的滤波函数,FIR数字滤波器滤波函数除了dimpulse和dstep仅适用于IIR滤波器外,其他各种函数可直接应用于FIR滤波器,只是输入的分母多项式向量a=1。另外,MATL

28、AB还提供了一个函数fftfilt,该函数利用效率高的基于FFT算法实现对数据的滤波,该函数只适用于FIR滤波器,调用形式为:y=fftfilt(b,x,n)式中,b为FIR滤波器的系数向量;x为输入数据;n为FFT长度,缺省时,函数选用最佳的FFT长度,y为滤波器的输出。该函数执行下面的操作:n=length(x);y=ifft(fft(x).*fft(b,n)./fft(a,n);应注意,y=fftfilt(b,x)等价于y=filter(b,a,x)。7.2 FIR滤波器的窗函数设计7.2.1 窗函数的基本原理FIR滤波器设计的主要任务是根据给定的性能指标确定滤波器的系数b,即系统单位脉

29、冲序列h(n),它是一个有限长序列。FIR滤波器的理想频率响应,可写成复数形式的Fourier级数形式: (7-4)式中,hd(n)是对应的单位脉冲响应序列。这说明滤波器的频率响应和单位脉冲响应互为Fourier变换对。因此其单位脉冲响应可由下式求得, (7-5)求得序列后,通过z变换,可得到 (7-6)注意,这里为无限长序列,因此是物理上不可实现的。如何变成物理上可实现呢?一个自然的想法是只取其中的某些项,即只截取中的一部分,比如n=0,N-1,N为正整数。这种处理相当于将,n=-与函数w(n)相乘,w(n)具有下列形式:w(n)相当于一个矩形,我们称之为矩形窗。即我们可采用矩形窗函数w(n

30、)将无限脉冲响应截取一段h(n)来近似为,这种截取在数学上表示为: h(n)= w(n) (7-7)这里应该强调的是,加窗函数不是可有可无的,而是将设计变为物理可实现所必须的。截取之后的滤波器传递函数变为: (7-8)式中,N为窗口宽度,H(z)是物理可实现系统。为了获得线性相位,FIR滤波器h(n)必须满足中心对称条件(即7-3式),序列h(n)的延迟为。这种方法的基本原理是用一定宽度的矩形窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,从而得到FIR滤波器的脉冲响应,故称为FIR滤波器的窗函数设计法。经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?图 7-1 示意给

31、出了理想滤波器加矩形窗后的情况。理想低通滤波器的频率响应如图中左上角图,矩形窗的频率响应为左下角图。时间域内的乘积(7-7)式要求实际频率响应为这两个频率响应函数在频域内的卷积(卷积定理),即得到图形为图7-1(右图)。图 7-1 FIR滤波器理想与实际频率响应由图可看出,加矩形窗后使实际频率响应偏离理想频率响应,主要影响有三个方面:(1)理想幅频特性陡直边缘处形成过渡带,过渡带宽取决于矩形窗函数频率响应的主瓣宽度。(2)过渡带两侧形成肩峰和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,波纹越多。(3)随窗函数宽度N的增大,矩形窗函数频率响应的主瓣宽度减小,但不改变旁瓣的

32、相对值。为了改善FIR滤波器性能,要求窗函数的主瓣宽度尽可能窄,以获得较窄的过渡带;旁瓣相对值尽可能小,数量尽可能少,以获得通带波纹小,阻带衰减大,在通带和阻带内均平稳的特点,这样可使滤波器实际频率响应更好地逼近理想频率响应。这里我们明确两个概念:截断和频谱泄漏。信号是无限长的,而在进行信号处理时只能采取有限长信号,所以需要将信号“截断”。在信号处理中, “截断”被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有限长的窗函数w(t)。由傅立叶变换性质可知,时间域内的乘积对应于频率域的卷积,即 (7-9)这里,x(t)是频宽有限信号,而w(t)是频宽无限信

33、号,表示互为Fourier变换对。截断后的信号也必须是频宽无限信号,这样就是有限频带的信号分散到无限频带中去,这样就产生了所谓频谱泄漏。从能量的角度来看,频谱泄漏也是能量的泄漏,因为加窗后使原来信号集中的窄频带内的能量分散到无限的频带宽度范围内。频谱泄漏是不可避免的,但要尽量减小。上边只考虑了矩形窗,如果我们使窗的主瓣宽度尽可能地窄,旁瓣尽可能地小,可以获得性能更好的滤波器,能否改变窗的形状而达到这个目的呢?回答是肯定的。其实数字信号处理的前驱者们设计了不同于矩形窗的很多窗函数,这些窗函数在主瓣和旁瓣特性方面各有特点,可满足不同的要求。为此,用窗函数法设计FIR数字滤波器时,要根据给定的滤波器

34、性能指标选择窗口宽度N和窗函数w(n)。下面我们介绍窗函数。7.2.2 MATLAB信号处理中提供的窗函数(1)矩形窗:前面分析中所用的矩形窗可用下面函数来实现w=boxcar (N),N 为窗的长度(以下函数与此同),w为返回的窗函数序列。(2)汉宁窗:w=hanning(N)汉宁窗的表达式为: (7-10)(3)哈明窗:w=hamming(N)哈明窗的表达式为: (7-11)(4)Bartlett窗:w=bartlett(N)Bartlett 窗的表达式为:当 N 为奇数时, (7-12)当 N 为偶数时, (7-13)(5) Blackman 窗:w= blackman(N)Blackm

35、an 窗的表达式为: (7-14)Blackman 窗比其他相同尺寸窗 (哈明窗,汉宁窗) 具有主瓣较宽和旁瓣泄漏较小的特点。(6)三角窗:w=triang(N)三角窗的表达式为:当 N 为奇数时, (7-15)当 N 为偶数时, (7-16)三角窗和Bartlett窗十分类似。三角窗的两端值不为零,而Bartlett窗则为零,这一点可从例7-1中看出。(7)Kaiser窗:w=kaiser(n,beta)其中,beta是Kaiser窗参数,影响窗旁瓣幅值的衰减率。Kaiser窗表达式: (7-17)式中, I0.是修正过的零阶 Bessel 函数。Kaiser窗用于滤波器设计时,若旁瓣幅值为

36、,则 ( 7-18 )(8) Chebyshev窗:w=chebwin(n,r)式中, r 是窗口的旁瓣幅值在主瓣以下的分贝数。Chebyshev窗具有主瓣宽度最小,而旁瓣等高,高度可调整的特点。下面我们在MATLAB观看各种窗函数的形状和频率域图象来验证上述所讲特点。【例7-1】 用MATLAB编程绘制各种窗函数的形状。窗函数的长度为21。%Samp7_1clfNwin=21;n=0:Nwin-1; %数据总数和序列序号figure(1)for ii=1:4 switch ii case 1 w=boxcar(Nwin); %矩形窗 stext=矩形窗; case 2 w=hanning(N

37、win); %汉宁窗 stext=汉宁窗; case 3 w=hamming(Nwin); %哈明窗 stext=哈明窗; case 4 w=bartlett(Nwin); %Bartlett窗 stext=Bartelett窗; end posplot=2,2, int2str(ii); %指定绘制窗函数的图形位置 subplot(posplot); stem(n,w); %绘出窗函数 hold on plot (n ,w,r); %绘制包络线 xlabel(n); ylabel(w(n); title(stext); hold off; grid onendfigure(2)for ii=

38、1:4 switch ii case 1 w=blackman(Nwin); %Blackman 窗 stext=Blackman窗; case 2 w=triang(Nwin); %三角窗 stext=三角窗; case 3 w=kaiser(Nwin,4); %Kaiser窗 stext=Kaiser窗(Beta=4); case 4 w=chebwin(Nwin,40); %Chebyshev 窗 stext=Chebyshev窗(r=40); end posplot=2,2, int2str(ii); subplot(posplot); stem(n,w); %绘出窗函数 hold o

39、n plot (n,w,r); %绘出包络线 xlabel(n);ylabel(w(n);title(stext); hold off;grid on;end程序运行结果见图 7-2 。可以看到各种窗函数的形状。图 7-2 各种窗函数的时间域形状【例 7-2】 用 MATLAB 编程,采用512个频率点绘制各种窗函数的幅频特性。%Samp7_2clf;Nf=512; %窗函数复数频率特性的数据点数Nwin=20; %窗函数数据长度figure(1)for ii=1:4 switch ii case 1 w=boxcar(Nwin); %矩形窗 stext=矩形窗; case 2 w=hanni

40、ng(Nwin); %汉宁窗 stext=汉宁窗; case 3 w=hamming (Nwin); %哈明窗 stext=哈明窗; case 4 w=bartlett(Nwin); % Bartlett窗 stext=Bartelett窗; end y,f=freqz(w,1,Nf); %求解窗函数的幅频特性,窗函数相当于一个数字滤波器 mag=abs(y);%求得窗函数幅频特性 posplot=2,2, int2str(ii); subplot(posplot); plot(f/pi,20* log10(mag/max(mag); %绘制窗函数的幅频特性 xlabel(归一化频率);yla

41、bel(振幅/dB); title(stext);grid on;endfigure(2)for ii=1:4 switch ii case 1 w=blackman(Nwin); %Blackman 窗 stext=Blackman窗; case 2 w=triang(Nwin); %三角窗 stext=三角窗; case 3 w=kaiser(Nwin,4); %Kaiser窗 stext=Kaiser窗(Beta=4); case 4 w=chebwin(Nwin,40); %Chebyshev 窗 stext=Chebyshev窗(r=40); end y,f=freqz(w,1,Nf

42、); %以 Nf点数求解窗函数的幅频响应 mag=abs(y); %求得窗函数幅频响应 posplot=2,2, int2str(ii); subplot(posplot);plot(f/pi,20* log10(mag/max(mag); %绘制幅频响应 xlabel(归一化频率);ylabel(振幅/dB); title(stext);grid on;end程序运行结果见图 7-3 。可以看到各种窗函数的幅频形状。对照该图可知这些窗函数具有上面所分析的窗函数的特征。图 7-3 各种窗函数的幅频形状由图 7-3 可见,各种窗函数都具有明显的主瓣(Mainlobe)和旁瓣(Sidelobe)。

43、主瓣频宽和旁瓣的幅值衰减特性决定了窗函数的应用场合。矩形窗具有最窄的主瓣,但也有最大的旁瓣峰值(第一旁瓣衰减为 13 dB);Blackman窗具有最大的旁瓣衰减,但也具有最宽的主瓣宽度。不同窗函数在这两方面的特点是不同的,因此应根据具体的问题进行选择。通常来讲,哈明窗和汉宁窗的主瓣具有较小的旁瓣和较大的衰减速度,是较为常用的窗函数。表7-2总结了各种窗函数主瓣和旁瓣的特征(理论分析可参考其他的数字信号处理教材),大家可对照窗函数的幅频形状(图7-3)认真理解体会。表7-2 各种窗函数的特点窗函数主瓣宽第一旁瓣相对主瓣衰减(分贝)矩形窗-13汉宁窗-31哈明窗-41Bartlett窗-25Bl

44、ackman 窗-57三角窗-25Kaiser窗可调整可调整Chebyshev 窗可调整可调整主旁瓣频率宽度还与窗函数长度N有关。增加窗函数长度N将减小窗函数的主瓣宽度,但不能减小旁瓣幅值衰减的相对值(分贝数),这个值是由窗函数决定的。这个特点可由下面的例子清楚地看出。【例7-3】绘制矩形窗函数的幅频响应,窗长度分别为:(1)N=10;(2)N=20; (3)N=50;(4)N=100.%Samp7_3clf;Nf=512;for ii=1:4 switch ii case 1 Nwin=10; case 2 Nwin=20; case 3 Nwin=50; case 4 Nwin=100;

45、end w=boxcar(Nwin); %矩形窗 y,f=freqz(w,1,Nf); %用不同的窗长度求得复数频率特性 mag=abs(y); %求得幅频特性 posplot=2,2, int2str(ii); %指定绘图位置 subplot(posplot); plot (f/pi,20*log10(mag/max(mag); %绘出幅频形状 xlabel(归一化频率);ylabel(振幅/dB); stext=N= int2str(Nwin); %给出标题,指出所用的数据个数 title(stext);grid on;end图 7-4 数据长度不同的矩形窗的幅频形状程序运行结果见图7-4

46、。显然,随着N的增大,主瓣和旁瓣都变窄,但第一旁瓣相对主瓣的幅值下降分贝数相同,第二旁瓣相对第一旁瓣幅值下降的分贝数也相同。这样,随着N的增大,旁瓣也得到抑制,有力地减少了频谱泄漏,但不能完全消除。减少主瓣宽度和抑制旁瓣是一对矛盾,不可兼得,只能根据不同用途折衷处理。7.2.3 运用窗函数设计数字滤波器用于信号分析中的窗函数可根据用户的不同要求选择。用于滤波器的窗函数,一般要求窗函数的主瓣宽度窄,以获得较好的过渡带;旁瓣相对值尽可能少,增加通带的平稳度和增大阻带的衰减。基于窗函数的FIR数字滤波器设计的算法十分简单,其主要步骤为:(1)对滤波器理想频域幅值响应进行傅立叶逆变换获得理想滤波器的单位脉冲响应hd(n)。一般假定理想低通滤波器的截止频率为,其幅频特性满足 (7-19)则根据傅立叶逆变换,单位脉冲响应为: (7-20)其中,为信号延迟。(2)由性能指标(阻带衰减的分贝数)根据表7-2第3列的值确定满足阻带衰减的窗函数类型w(n)。滤波器的阶数越高,滤波器的幅频特性越好,但数据处理的费用也越高,因此像IIR滤波器一样,FIR滤波器也要确定满足性能指标的滤波器最小阶数。由前面的讨论(图7-1)可知,滤波器的主瓣宽度相当于过渡带宽,因此,使过渡带宽近似于窗函数主瓣宽(表7-2中的第二列)可求得满足性能指标的窗口长度N,此时,信号延迟为(N-1)/2。(3)求实际滤波器的单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论