离散时间系统的时域分析实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验一离散时间系统的时域分析一、实验目的1.运用MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。2.运用MATLAB中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:MkkNkkknxpknyd00][][当输入信号为冲激信号时,系统的输出记为系统单位冲激响应][][nhn,则系统响应为如下的卷积计算式:mmnhmxnhnxny][][][][][当h[n]是有限长度的(n:[0,M])时,称系统为FIR系统;反之,称系统为IIR系统。在MATLAB中,可以用函数y=Filter(p,d,x)求解差分方程,也可以用函数y=Conv(x,h)计算卷积。例1clf;n=0:40;a=1;b=2;x1=0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1,0.5,3];den=[2-30.1];ic=[00];%设置零初始条件y1=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic);%计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic);%计算输入为x(n)时的输出y(n)yt=a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若)(1ny和)(2ny分别是输入序列)(1nx和)(2nx的响应,则输入)()()(21nbxnaxnx的输出响应为)()()(21nbynayny,即符合叠加性,其中对任意常量a和b以及任意输入)(1nx和)(2nx都成立,否则为非线性系统。(二)、时不变系统和时变系统对离散时不变系统,若)(1ny是)(1nx的响应,则输入x(n)=x1(n-n0)的输出响应为y(n)=y1(n-n0),式中n0是任意整数。该输入输出关系,对任意输入序列及其相应的输出成立,若对至少一个输入序列及其相应的输出序列不成立,则系统称之为时变的。(三)、线性卷积假设待卷积的两个序列为有限长序列,卷积运算符在MATLAB中可命令conv实现。例如,可以把系统的冲激响应与给定的有限长输入序列进行卷积,得到有限长冲激响应系统的输出序列。下面的MATLAB程序实现了该方法。例2clf;h=[321-210-403];%冲激x=[1-23-4321];%输入序列y=conv(h,x);n=0:14;stem(n,y);xlabel(‘时间序号n’);ylabel(‘振幅’);title(‘用卷积得到的输出’);grid;三、实验内容与步骤1.假定一因果系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)用MATLAB程序仿真该系统,输入三个不同的输入序列:)1.02cos()(1nnx,)4.02cos()(2nnx,)(3)(221nxnxx计算并并显示相应的输出)(1ny,)(2ny和)(ny。2.用MATLAB程序仿真步骤1给出的系统,对两个不同的输入序列x(n)和x(n-10),计算并显示相应的输出序列y3(n)和y4(n)。3.用MATLAB程序仿真计算下列两个有限长序列的卷积和并显示图形。)2(2)1(3)()(1nnnnx)3()()(2nununx四、实验仪器设备计算机,MATLAB软件五、实验要求给出理论计算结果和程序计算结果并讨论。六、实验结果实验1:clf;n=0:40;a=2;b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x=a*x1+b*x2;den=[1,-0.4,0.75];num=[2.24032.49082.2403];%分子系数ic=[00];%设置零初始条件y1=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic);%计算输入为x2(n)时的输出y2(n)yn=filter(num,den,x,ic);%计算输入为x(n)时的输出y(n)%画出输出信号subplot(2,2,1)stem(n,y1);ylabel('振幅');title('y1输出');subplot(2,2,2)stem(n,y2);ylabel('振幅');title('y2输出');subplot(2,2,3)stem(n,yn);ylabel('振幅');title('yn输出');实验2:clf;n=0:40;n1=0:50;a=2;b=-3;x1=cos(2*pi*0.1*n);x2=cos(2*pi*0.4*n);x3=a*x1+b*x2;x4=[zeros(1,10),x3];den=[1,-0.4,0.75];num=[2.24032.49082.2403];ic=[00];%设置零初始条件y3=filter(num,den,x3,ic);y4=filter(num,den,x4,ic);%计算输入为x(n)时的输出y(n)%画出输出信号subplot(2,1,1)stem(n,y3);ylabel('振幅');title('yn输出');subplot(2,1,2)stem(n1,y4);ylabel('振幅');title('y1输出');实验3:clf;x=[132];%冲激u=[111];%输入序列y=conv(u,x);n=0:4;stem(n,y);xlabel('时间序号n');ylabel('振幅');title('用卷积得到的输出');grid;实验二(1)离散时间信号的DTFT一、实验目的1.运用MATLAB理解Z变换及其绘制H(z)的零极点图。2.运用MATLAB计算逆Z变换。二、实验原理(一)、MATLAB在ZT中的应用。线性时不变离散时间系统的冲激响应h(n)的z变换是其系统函数H(z),在MATLAB中可以利用性质求解Z变换,例如可以利用线性卷积求的Z变换。若H(z)的收敛域包含单位圆,即系统为稳定系统,即系统在单位圆上jez处计算的是系统的频率响应。(二)、逆Z变换Z变换对于分析和表示离散线性时不变系统具有重要作用。但是在MATLAB中不能直接计算Z变换,但是对于一些序列可以进行逆Z变换。已知序列的Z变换及其收敛域,求序列称为逆Z变换。序列的Z变换及共逆Z变换表示如下:通常,直接计算逆Z变换的方法有三种:围线积分法、长除法和部分分式展开法。在实际中,直接计算围线积分比较困难,往往不直接计算围线积分。由于序列的Z变换常为有理函数,因此采用部分分式展开法比较切合实际,它是将留数定律和常用序列的Z变换相结合的一种方法。设x(n)的Z变换X(z)是有理函数,分母多项式是N阶,分子多项式是M阶,将X(z)展成一些简单的常用的部分分式之和,通过常用序列的Z变换求得各部分的逆变换,再相加即得到原序列x(n)。在MATLAB中提供了函数residuez来实现上述过程,调用格式如下:[R,P,K]=residuez(B,A)其中B、A分别是有理函数分子多项式的系数和分母多项式的系数,输出R是留数列向量,P是极点列向量。如果分子多项式的阶数大于分母多项式的阶数,则K返回为常数项的系数。三、实验内容与步骤选做一个实验:1、.运行下面程序并显示它,验证离散时间傅立叶变换DTFT的时移性。已知两个线性时不变的因果系统,系统函数分别为NzzH1)(1,NNNzazzH11)(2分别令N=8,a=0.8,计算并图示这两个系统的零、极点图及幅频特性。程序:1()(),1()(),(,)2nxxnnxxcXzxnzRzRxnXzzdzcRRj2、运行下面程序并显示它,验证离散时间傅立叶变换DTFT的频移性。四、实验仪器设备计算机,MATLAB软件五、实验注意事项课前预先阅读并理解实验程序;六、实验结果clearnum1=[10000000-1];%分子系数高阶到低阶den1=[100000000];subplot(2,2,1)zplane(num1,den1)grid;title('H1零极点分布图');[H,w]=freqz(num1,den1,200,'whole');%中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,HF=abs(H);%返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数)subplot(2,2,2);%w则包含了范围内N个频率等分点。plot(w,HF)title('H1幅频响应特性曲线');a=0.8;A=a^8;num2=[10000000-1];%分子系数高阶到低阶den2=[10000000A];subplot(2,2,3)zplane(num2,den2);grid;title('H2零极点分布图');[H,w]=freqz(num2,den2,200,'whole');%中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,HF=abs(H);%返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数)subplot(2,2,4);%w则包含了范围内N个频率等分点。plot(w,HF)title('H2幅频响应特性曲线');实验二(2)离散傅立叶变换DFT一、实验目的1.运用MATLAB计算有限长序列的DFT和IDFT。2.运用MATLAB验证离散傅立叶变换的性质。3.运用MATLAB计算有限长序列的圆周卷积。二、实验原理(一)、离散傅立叶变换DFT的定义一个有限长度的序列x(n)(0≤nN-1),它的DFTX(k)可以通过在ω轴(20)上对)(jeX均匀采样得到2/2/()()()jjknNkNnXkXexne10Nk可以看到)(kX也是频域上的有限长序列,长度为N。序列)(kX称为序列x(n)的N点DFT。N称为DFT变换区间长度。通常表示NjNeW/2可将定义式表示为nknWnxkX)()(10NkX(k)的离散傅里叶逆变换(IDFT)为nknWkXNnx)(1)(10Nn(二)、DFT的性质1.圆周移位定义序列x(n)的m单位的圆周移位y(n)为:)())(()()(~)(nRmnxnRmnxnyNNN(Nmnx))((即对x(n)以N为周期进行周期延拓的序列)(~nx的m点移位,)(nRN表示对此延拓移位后再取主值序列)1.圆周卷积设)()(11kXnxNDFT10Nk)()(22kXnxNDFT10Nk则)(1nx)()()(212kXkXnxNDFT10Nk这里)(1nx)(2nx表示)(1nx与)(2nx的N点循环卷积。)(1nx1,,1,0,)]())(()[()(10122NnnRmnxmxnxNmNN2.共轭对称性10),()()(Nnnxnxnxopep10,)]()([21)()]()([21)(**NnnNxnxnxnNxnxnxopep)()(kXnxNDFT)()](Re[)]()([21)(*kXkXkXkXnxrNDFTep实际应用中,利用上述对称性质可以减少DFT的运算量,提高运算效率。三、实验内容与步骤:(2,3选做一个)1.构造离散傅立叶正、反变换函数的MATLAB程序,其中dft(xn,N)为离散

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功