.'.测控1005班齐伟0121004931725(18号)实验一差分方程、卷积、z变换一、实验目的通过该实验熟悉matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理Matlab软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。差分方程(differenceequation)可用来描述线性时不变、因果数字滤波器。用x表示滤波器的输入,用y表示滤波器的输出。a0y[n]+a1y[n-1]+…+aNy[n-N]=b0x[n]+b1x[n-1]+…+bMx[n-M](1)ak,bk为权系数,称为滤波器系数。N为所需过去输出的个数,M为所需输入的个数卷积是滤波器另一种实现方法。y[n]=∑x[k]h[n-k]=x[n]*h[n](2)等式定义了数字卷积,*是卷积运算符。输出y[n]取决于输入x[n]和系统的脉冲响应h[n]。传输函数H(z)是滤波器的第三种实现方法。H(z)=输出/输入=Y(z)/X(z)(3)即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。序列x[n]的z变换定义为X(z)=∑x[n]z-n(4)把序列x[n]的z变换记为Z{x[n]}=X(z)。.'.由X(z)计算x[n]进行z的逆变换x[n]=Z-1{X(z)}。Z变换是Z-1的幂级数,只有当此级数收敛,Z变换才有意义,而且同一个Z变换等式,收敛域不同,可以代表不同序列的Z变换函数。这三种数字滤波器的表示方法之间可以进行相互转换。四、实验步骤1、熟悉matlab软件基本操作指令。读懂下列matlab程序指令,键入程序并运行,观察运行结果。Conv.m%计算两个序列的线性卷积;%-----------------------------------------------------------------clear;N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');gridon;subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');gridon;subplot(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');gridon;.'.filter.m;%求一个离散系统的输出;clear;x=ones(100);t=1:100;b=[.001836,.007344,.011016,.007374,.001836];a=[1,-3.0544,3.8291,-2.2925,.55075];y=filter(b,a,x);clear;impz.m%计算滤波器的冲击响应b=[.001836,.007344,.011016,.007374,.001836];a=[1,-3.0544,3.8291,-2.2925,.55075];[h,t]=impz(b,a,40);subplot(221)stem(t,h,'.');gridon;ylabel('h(n)')xlabel('n')filter.m%计算滤波器的阶跃响应x=ones(100);t=1:100;y=filter(b,a,x);subplot(222)plot(t,x,'g.',t,y,'k-');gridon;ylabel('x(n)andy(n)')xlabel('n').'.freqz.m%用来在已知B(z),A(z)的情况下求出系统的频率响应;%求如下三个系统的幅频响应;b1=[1/2,1/2];b2=[1/2,-1/2];b3=[101];b3=b3/2;[H1,P]=freqz(b1);subplot(331);plot(P/2/pi,abs(H1));gridon;[H2,P]=freqz(b2);subplot(332);plot(P/2/pi,abs(H2));gridon;[H3,P]=freqz(b3);subplot(333);plot(P/2/pi,abs(H3));gridon;.'.zplane(b,a);%求并画出所给系统的极零图b=[1-1.71.53-0.68];a=1;subplot(222);zplane(b,a);%求并画出第二个系统的极零图.'.、2,程求出下列问题的解1)、滤波器的差分方程为:y[n]=x[n]-0.8x[n-1]-0.5y[n-1]求出此滤波器脉冲响应和阶跃响应的前十个采样值。b=[1,-.8,];a=[1,.5];[h,t]=impz(b,a,10);subplot(221)stem(t,h,'.');gridon;ylabel('h(n)');xlabel('n');x=ones(1,10);t=1:10;y=filter(b,a,x);subplot(222)stem(t,y);gridon;ylabel('x(n)andy(n)');xlabel('n');.'.2)、系统的脉冲响应为h[n]=e-n(u[n]-u[n-3]),用卷积求系统的阶跃响应。N=25;M=3;L=N+M-1;x=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];h=[1,.3679,.1353];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');gridon;subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');gridon;subplot(233);.'.stem(ny,y,'.k');xlabel('n');ylabel('y(n)');gridon;五、实验讨论和分析1、差分方程、卷积、z变换和傅里叶变换之间如何进行转换?答:差分方程;a0y[n]+a1y[n-1]+a2y[n-2]+`````+aNy[n-N]=b0x[n]+b1x[n-1]+……+bMx[n-M]卷积是由输入x[n]所引起的全部输出y[n]是所有这些加权脉冲相应之和。即y{n}=x[n]*h[n]只要知道脉冲响应和输入就可以得到输出Z变换是把时域信号向频域进行转换X(z)=∑x[n]zˇ-nY(z)=∑y[n]zˇ-n脉冲响应是传输函数的逆z变换傅里叶变换X(Ω)=∑x[n]eˇ-jnΩ2、边界效应是如何产生的?它对信号的滤波效果有何影响?答:多数情况下,采样开始之前的输入情况是未知的,当脉冲响应与未知的的输入采样点重叠时,由于实际的输出值可能受采样开始之前输入信号的影响,所以无法准确的计算输出。计算的开始和末尾都存在这种现象。仅当输入序列与脉冲响应完全重叠时,计算才有意义,这种现象就是边界效应。当一个系统开始运行或条件改变时,输出需要一些时间过渡到新的稳态。边界效应会产生输出的暂态部分和稳态部分,会影响滤波效果,并且会导致失真现象出现。.'.实验二数字滤波器综合设计一、实验目的通过该设计实验掌数字滤波器设计的一般步骤,掌握利用matlab软件设计数字滤波器的方法,熟悉sptool工具箱的使用方法。二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理一)、滤波器的形状及重要参数理想滤波器的形状是矩形,图1给出非理想滤波器。.'.图1通带:增益高的频率范围,信号可以通过,称为滤波器的通带。阻带:增益低的频率范围,滤波器对信号有衰减或阻塞作用,称滤波器的阻带。滤波器截止频率:增益为最大值的0.707倍时所对应的频率为滤波器截止频率增益通常用分贝(dB)表示。增益(dB)=20log(增益)增益为0.707时对应-3dB,因此截止频率常被称为-3dB。滤波器的带宽:对于低通滤波器宽带是从0~-3dB对于高通滤波器宽带是从-3dB~采样频率的一半对于带通滤波器带宽是截止频率之间的频率距离二)加窗低通FIR滤波器的设计1.在过渡带宽度的中间,选择通带边缘频率(Hz):f1=所要求的通带边缘频率+(过渡带宽度)/22.计算Ω1=2πf1/fs,并将此值代入理想低通滤波器的脉冲响应h1[n]中:h1[n]=sin(nΩ1)/nπ3.从表中选择满足阻带衰减及其他滤波器要求的窗函数,用表中N的公式.'.计算所需要的非零项数目。选择奇数项,这样脉冲响应可以完全对称,避免了滤波器产生相位失真,对于|n|≤(N-1)/2,计算窗函数w[n]。4.对于|n|≤(N-1)/2,从式h[n]=h1[n]w[n]计算(有限)脉冲响应,对于其他n值h[n]=0,此脉冲响应是非因果的。5.将脉冲响应右移(N-1)/2,确保第一个非零值在n=0处,使此低通滤波器为因果的。三)、设计低通巴特沃斯滤波器:1)确定待求通带边缘频率fp1Hz、待求阻带边缘频率fs1Hz和待求阻带衰减-20logδsdB(或待求阻带增益20logδsdB)。通带边缘频率对应–3dB增益。2)用式Ω=2πf/fs把由Hz表示的待求边缘频率转成由弧度表示的数字频率,得到Ωp1和Ωs1。3)计算预扭曲模拟频率以避免双线性变化带来的失真。由ω=2fstan(Ω/2)求得ωp1和ωs1,单位是弧度/秒。4)由已给定的阻带衰减-20logδs(或增益-20logδs)确定阻带边缘增益δs。5)计算所需滤波器的阶数n取整数。6)把ωp1代入n阶模拟巴特沃斯滤波器传输函数H(s)中,并对H(s)进行双线性变换得到n阶数字传输函数H(z)。滤波器实现所需的差分方程可直接从传输函数H(s)求出。。四)、低通切比雪夫Ⅰ型滤波器的设计:1)确定待求的通带与阻带边缘频率fp1和fs1、待求的通带边缘增益20log(1-δp)和待求的阻带衰减-20logδs(或待求的阻带增益20logδs)。2)用公式Ω=2πf/fs将待求的边缘频率转换为数字频率(用弧度表示),得到Ωp1和Ωs1。3)对数字频率采用预扭曲以避免双线性变换引起的误差。由ω=2fstan(Ω/2)得到ωp1和ωs1,单位是弧度/秒。4)由指定的通带边缘增益20log(1-δp),确定通带边缘增益1-δp。计算参数ε。5)由指定的衰减-20logδs(或增益20logδs),确定阻带边缘增益δs。6)计算所需的阶数n。7)将ωp1和δp代入n阶模拟切比雪夫Ⅰ型滤波器的传输函数H(s),并对其进行双线性变换,得到n阶数字滤波器传输函数H(z)。实现滤波器所需的差分方程可由传输函数H(z)直接得到。四、实验步骤1、任选第9、10章后滤波器设计题各2题,利用matlab编程完成滤波器的设计,并画出滤波器的脉冲响应、幅度响应和相位响应图。习题9.15f1=4000;%信号频率Hz.'.f2=5000;%信号频率Hzf3=6000;%信号频率Hzfs=12000;%采样频率HzN=32;%采样点数t=(0:N-1)/fs;%采样时间x1=sin(2*pi*f1*t);%信号采样值x2=sin(2*pi*f2*t);%信号采样值x3=sin(2*pi*f3*t);%信号采样值x=x1+x2+x3;y=filter(h,1,x);f1=3000+250;fs=12000;w=2*