广东海洋大学学生实验报告书实验名称实验二离散时间信号和离散时间系统课程名称数字信号处理课程号学院(系)信息学院专业软件工程班级应用1123学生姓名钟炜堂学号201211701131实验地点科技楼04017日期2015.10.22一、实验目的:1.掌握计算线性时不变系统的冲激响应的方法。2.理解时域采样的概念及方法。3.掌握离散时间信号的z变换和z逆变换分析4.了解离散时间傅里叶变换(DTFT)二、实验原理:(一)信号采样采样就是利用周期性抽样脉冲序列pT(t),从连续信号xa(t)中抽取一系列的离散值,得到抽样信号(或称抽样数据信号)即离散时间信号。(二)线性时不变离散时间系统线性系统:满足线性叠加原理的系统。若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入x(n)=ax1(n)+bx2(n)的输出响应为y(n)=ay1(n)+by2(n)。时不变系统:即系统参数不随时间变化的系统,亦即系统对于输入信号的响应与信号加于系统的时间无关。即满足:若y(n)是x(n)的响应,则y(n-m)是输入x(n-m)的响应,其中m是任意整数。数字滤波器对单位样本序列n的响应称为冲激响应,用h(n)表示。线性时不变离散系统对输入信号x(n)的响应y(n)可用h(n)来表示:kknxkhny)()()(。(三)z变换和逆z变换序列nx的z变换定义为:nnznxzX其中,z是复变量。相应地,单边z变换定义为:0nnznxzXMATLAB提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans:Z=ztrans(x),x=iztrans(z)。上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。如果信号的z域表示式)(zX是有理函数,进行z反变换的另一个方法是对)(zX进行部分分式展开,然后求各简单分式的z反变换。设)(zX的有理分式表示为GDOU-B-11-112)()(1)(221122110zAzBzazazazbzbzbbzXnnmm(4-3)MATLAB信号处理工具箱提供了一个对)(zX进行部分分式展开的函数residuez,其语句格式为[R,P,K]=residuez(B,A)其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,则K为零。离散时间傅里叶变换(DTFT)1.序列x[n]的离散时间傅里叶变换定义为:nnjjenxeX][)()(jeX是变量的连续函数。)(jeX并可写为实部和虚部相加的形式:)()()(jimjrejejXeXeX)(jeX也可以表示为:)(|)(|)(jjjeeXeX。其中,)}(arg{)(jeX。|)(|jeX称为幅度函数,)(称为相位函数,又分别称为幅度谱和相位谱,都是的实函数。2.)(jeX的离散时间傅里叶逆变换为:deeXnxnjj)(21][3.由于)(jeX是连续函数,而在MATLAB中数据只能以向量的形式存在,所以)(jeX只能在一个给定L个离散频率点的离散频率集合中计算,需要尽可能大地选取L的值以表示连续函数)(jeX三、实验内容(一)线性时不变系统的冲激响应的计算设系统为y(n)-0.5y(n-1)+0.75y(n-2)=2.5x(n)+2.5x(n-1)+2x(n-2),计算上述系统的冲激响应。参考程序如下:N=40;num=[2.52.52];den=[1-0.50.75];y=impz(num,den,N);%画出冲激响应stem(y);xlabel('时间序号n');ylabel('振幅');title('冲激响应');grid;(二)时域采样对连续正弦时间信号x(t)=cos(2πft)进行采样,其中f=13。t=0:0.0005:1;f=13;xa=cos(2*pi*f*t);subplot(2,1,1)plot(t,xa);gridxlabel('时间,msec');ylabel('振幅');title('连续时间信号');axis([01-1.21.2])subplot(2,1,2);T=0.1;n=0:T:1;xs=cos(2*pi*f*n);k=0:length(n)-1;stem(k,xs);gridxlabel('时间序号n');ylabel('振幅');title('离散时间信号');axis([0length(n)-1-1.21.2])(三)z变换和z反变换1.用ztrans函数求函数)()cos()(nunanxn的z变换。MATLAB参考程序如下:x=sym('a^n*cos(pi*n)');Z1=ztrans(x);Z=simplify(Z1);2.用iztrans函数求函数32)2)(1()12112()(zzzzzzX的z反变换。MATLAB参考程序如下:Z=sym('z*(2*z^2-11*z+12)/(z-1)/(z-2)^3');x=iztrans(Z);simplify(x)3.用MATLAB命令对函数321431818)(zzzzX进行部分分式展开,并求出其z反变换。MATLAB参考程序如下:B=[18];A=[18,3,-4,-1];[R,P,K]=residuez(B,A)(四)序列的离散时间傅里叶变换(DTFT)求序列x(n)=(-0.8)n,1010n的离散时间傅里叶变换,并画出它的实部、虚部、幅度和相位。n=-10:10;x=(-0.8).^n;k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100)).^(n'*k);subplot(4,1,1)plot(w/pi,real(X));grid;title('X(e^{j\omega})实部')xlabel('\omega/\pi');ylabel('振幅');subplot(4,1,2)plot(w/pi,imag(X));gridtitle('X(e^{j\omega})虚部')xlabel('\omega/\pi');ylabel('振幅');subplot(4,1,3)plot(w/pi,abs(X));gridtitle('X(e^{j\omega})幅度谱')xlabel('\omega/\pi');ylabel('振幅');subplot(4,1,4)plot(w/pi,angle(X));gridtitle('相位谱arg[X(e^{j\omega})]')xlabel('\omega/\pi');ylabel('以弧度为单位的相位');四、实验分析1.观察实验结果,分析系统的线性、时不变性,求出系统的冲激响应。图1通过传输函数确定离散时间系统的特性。根据传输函数得出了离散时间系统的冲激响应。应用到的函数是impz。通过完成实验建立了对离散时间系统的冲激响应的理解。冲激响应不能直观的得出离散时间系统的特性,相比而言,频率响应更能表现离散时间系统的特性。对正弦信号进行采样。图2求出程序(三)中的(三)z变换和z反变换表达式。图3观察程序(四)离散时间信号的傅里叶变换的结果并分析。x(n)做DTFT(离散时间信号的傅里叶变换)得X(ejω),它是连续周期的。对X(ejω)采样,造成x(n)周期沿拓。即DFS变换对:X1(k)→x1(n)。X1(k)是X(ejω)采样后的序列,也是周期的。x1(n)是x(n)周期延拓后的序列。五、实验总结经过这次实验我初步掌握计算线性时不变系统的冲激响应的方法。理解时域采样的概念及方法。掌握离散时间信号的z变换和z逆变换分析。了解离散时间傅里叶变换(DTFT)。成绩指导教师日期