实验1-信号的MATLAB-表示及系统的时域分析_第1页
实验1-信号的MATLAB-表示及系统的时域分析_第2页
实验1-信号的MATLAB-表示及系统的时域分析_第3页
实验1-信号的MATLAB-表示及系统的时域分析_第4页
实验1-信号的MATLAB-表示及系统的时域分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

广东技术师范学院实验报告学院:自动化学院专业:班级:成绩:姓名:学号:计算机编号:实验地点:实验日期:指导教师签名:预习情况良好操作情况良好考勤情况全勤数据处理情况良好实验〔一〕工程名称:信号的MATLAB表示及系统的时域分析一.实验目的和要求1.掌握函数的向量表示法2.掌握函数的符号运算表示法,实现连续信号的时域运算和变换3.掌握连续时间信号卷积的原理及其matlab实现4.掌握连续时间系统响应的原理及其matlab实现5.掌握离散系统单位序列响应;6.掌握离散序列卷积和的计算方法。二.实验原理1.向量表示法Matlab的信号处理工具箱有大量的函数可用于产生信号,函数中大局部要求用矢量来表示时间。如:他=0:0.005:1;说明该矢量抽样频率为200Hz。Matlab可以精确表示离散时间信号,对连续时间信号只能近似表示。因此应选择足够小的抽样间隔Ts,以保证反映信号的全部细节。2.符号运算表示法用符号运算可以较快地实现连续信号地时域运算和变换。例:相加S=symadd(f1,f2)Ezplot(s)以上是用Matlab的符号运算命令来表示两连续信号的相加,然后用ezplot命令绘制出其结果波形图。相乘w=symmul(f1,f2)ezplot(w)以上是用Matlab的符号运算命令来表示两连续信号的相乘,然后用ezplot命令绘制出其结果波形图。时移y=subs(f,t,t-t0)ezplot(y)以上是用Matlab的符号运算命令来实现连续信号的平移及其结果的可视化,subs命令将连续时间信号中的时间变量t用t-t0替换。反褶y=subs(f,t,-t)ezplot(y)以上是用Matlab的符号运算命令来实现连续信号的反褶及其结果的可视化。尺度变换y=subs(f,t,a*t)ezplot(y)以上是用Matlab的符号运算命令来实现连续信号的尺度变换及其结果的可视化。连续时间信号的卷积Matlab的库函数conv()只能计算离散序列f1与f2的卷积和,构造函数sconv()实现两连续函数的卷积积分。conv()的调用形式:conv(f1,f2)。f1与f2的卷积过程如下:将f1(t)与f2(t)以时间间隔λ进行抽样,得到离散序列f1(kλ)和f2(kλ);构造与f1(kλ)和f2(kλ)相对应的时间向量k1和k2;调用conv()函数计算卷积积分f(t)的近似向量f(kλ);构造f(kλ)对应的时间向量K。连续时间系统的响应连续时间系统零状态响应的MATLAB实现Matlab库函数中的lsim()能对微分方程描述的LIT连续时间系统响应进行仿真。该函数能绘制连续时间系统在指定的任意时间范围内系统响应的时域波形图,还能求出连续时间系统在指定的任意时间范围内系统响应的数值解。函数lsim()的调用格式:lsim(b,a,x,t)该调用格式中,a和b是由描述系统的微分方程左边和右边系数构成的两个行向量;x和t是表示输入信号的行向量,其中t为输入信号时间范围的向量,x为输入信号在向量t定义的时间点上的抽样值。图2.3B.连续时间系统冲激响应的MATLAB实现MATLAB为用户提供了专门用于连续系统冲激响应并绘制其时域波形的impulse函数。函数impulse()的调用格式:impulse(b,a)C.连续时间系统冲激响应的MATLAB实现MATLAB为用户提供了专门用于连续系统冲激响应并绘制其时域波形的step函数。函数step()的调用格式:step(b,a)5.描述线性移不变离散时间系统的数学模型是常系统差分方程,它与系统的结构流图之间可以互相推导。求解差分方程最常用的方法是迭代解法,也是实现数字滤波器的一种根本方法。用与分别表示系统的鼓励和响应,差分方程通式为:(3–1)离散系统的响应可分为零输入响应分量和零状态响应分量,零输入分量仅由系统的初始状态引起,外鼓励;而零状态分量仅由外鼓励引起,初始状态均为零。对于线性移不变离散时间系统,如果已经知道了系统的单位冲激响应,就可以利用离散卷积求出系统在任何鼓励作用下的零状态响应。在本实验中通过输入序列、,得到的直观图形表示。离散卷积的计算公式如下:(3–2)在离散卷积中,多讨论有限长序列。假设和长度分别为M和N,那么卷积结果即响应序列也是有限长序列,长度为L=M+N-1。上式形象描述了离散卷积中两个有限长序列反褶、移位、相乘、累加的过程。6.本实验差分方程解法中只限于鼓励是单位阶跃信号,即的情况,通过给定系统阶数N和系数向量和以及初始状态的值可以求出系统在单位阶跃信号鼓励下的响应,包括单位冲激响应以及鼓励下的全响应和零输入响应、零状态响应。至于其它鼓励下的零状态响应,可以用它的单位冲激响应与输入信号的离散卷积求出。Matlab为用户提供了专门用于求离散系统单位序列响应数值解并绘制其时域波形的impz函数。其调用形式之一为:Impz〔b,a,N〕其中,a和b分别为描述离散系统的差分方程系数所决定的行向量,N为正整数,用于指定绘制系统单位序列响应的时间范围,即该调用格式将绘出由向量a和b定义的离散系统在0~N个时间样点区间单位序列响应的时域波形。7.Matlab提供了用于求两个有限时间区间非零的离散时间序列卷积和的专用函数conv。其调用格式为:x=conv(x1,x2)上式中,输入参量x1、x2分别为包含序列x1(n)和x2(n)的所有非零样值点的行向量;输出参量x为返回序列x(n)=x1(n)*x2(n)的所有非零样值点的行向量。三.实验内容1.设f(t)=(t+2)(u(t+2)-u(t))+2*(u(t)-u(t-2))。请用Matlab绘出以下信号的时域波形。〔1〕f(t)(2)f(3t)〔3〕f(t-3)u(t-3)〔4〕f(3-t)头文件:functionf=heaviside(t)f=(t>0)symst;f=sym('(t+2)*(heaviside(t+2)+2*(heaviside(t)-heaviside(t-2)))');subplot(2,2,1),ezplot(f,[-3,3]);title('f(t)');grid;y1=subs(f,t,3^t);subplot(2,2,2),ezplot(y1,[-5,1]);title('f(3t)');grid;b=subs(f,t,t-3);y2=b*heaviside(t-3);subplot(2,2,3),ezplot(y2,[1,7]);title('f(t-3)u(t-3)');grid;a=subs(f,t,-t);y3=subs(a,t,t+3);subplot(2,2,4),ezplot(y3,[-5,1]);title('f(3-t)');grid;,试用Matlab计算,并绘出的函数波形。symst;f=sym('(heaviside(t)-heaviside(t-2))');subplot(2,2,1),ezplot(f,[-3,3]);title('f1(t)');y1=(0.5*t)*subs(f,t,t+2);subplot(2,2,2),ezplot(y1,[-3,3]);title('f2(t)');grid;描述连续时间系统的微分方程和鼓励信号分别为试用Matlab求该系统的零状态响应,并绘制其时域仿真波形。4.描述连续时间系统的微分方程为试求系统的冲激响应和阶跃响应,并绘出时域仿真波形。a=[168];b=[10]subplot(2,2,1)y=impulse(b,a)plot(t,y)subplot(2,2,2)y=step(b,a)plot(t,y)%program3ts=0;te=5;dt=0.01sys=tf([1,0],[1,6,8])T=ts:dt:tesubplot(2,2,1)y=impulse(sys,t)plot(t,y)subplot(2,2,2)y=step(sys,t)plot(t,y)xlabel('Time(sec)')ylabel('h(t)')xlabel('Time(sec)')ylabel('h(t)')x1[k]=[1,1,0,1,0,1],x2[k]=[1,1,0,1,0,1,1,0,1,1]用Matlab计算离散卷积和y(k)=x1(k)*x2(k),并绘出x(k)和y(k)的时域波形。6.描述离散系统的差分方程为y(n)-0.6y(n-1)+0.8y(n-2)=x(n)-3x(n-1)试利用Matlab绘出该系统单位序列响应的时域波形实验总结function[f,k]=sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分f(t)=f1(t)*f2(t)

%f:卷积积分f(t)对应的非零样值向量

%k:f(t)的对应时间向量

%f1:f1(t)非零样值向量

%f2:f2(t)非零样值向量

%k1:f1(t)的对应时间向量%k2:f2(t)的对应时间向量

%p:取样时间间隔

f=conv(f1,f2);%计算序列f1和f2的卷积和f

f=f*p;

k0=k1(1)+k2(1);%计算序列f非零样值的起点位置

k3=length(f1)+length(f2)-2%计算卷积和f非零样值的宽度

k=k0:p:k3*p%确定卷积和f非零样值的时间量

subplot(2,2,1)

plot(k1,f1)%在子图1绘出f1(t)的时域波形图 title('f1(t)') xlabel('t') ylabel('f1(t)') subplot(2,2,2)plot(k2,f2)%在子图2绘出f2(t)的时域波形图title('f2(t)')xlabel('t')ylabel('f2(t)')subplot(2,2,3)plot(k,f)%画卷积f(t)的时域波形图

h=get(gca,'position')h(3)=2.5*h(3)set(gca,'position',h)%将第三个子图的横坐标范围扩为原来的2.5倍title('f(t)=f1(t)*f2(t)')xlabel('t')ylabel('f(t)')p=0.01;k1=0:p:2;f1=1;k2=k1;f2=05*k2*f1;[f,k]=sconv(f1,f2,k1,k2,p)k=-50:50uk=[zeros(1,50),ones(1,51)]stem(k,uk)stepseq(10,-50,50)ts=0;te=5;dt=0.01a=[1,5,6];b=[6];sys=tf(b,a)sys=tf(b,a)

温馨提示

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

评论

0/150

提交评论