实验一 产生信号波形的仿真实验.doc_第1页
实验一 产生信号波形的仿真实验.doc_第2页
实验一 产生信号波形的仿真实验.doc_第3页
实验一 产生信号波形的仿真实验.doc_第4页
实验一 产生信号波形的仿真实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

实验一 产生信号波形的仿真实验 一、实验目的:熟悉MATLAB软件的使用,并学会信号的表示和以及用MATLAB来产生信号并实现信号的可视化。 二、实验内容: 对信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。 用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号。一种是用向量来表示信号,另一种则是用符合运算的方法来表示信号。用适当的MATLAB语句表示信号后,可以利用MATLAB的绘图命令绘制出直观的信号波形。 产生以下信号波形 3sin(x)、5exp(-x)、sin(x)/x、12abs(x)/a、sqrt(a*x) 1向量表示法 对于连续时间信号f(t),可以用两个行向量f和t来表示,其中向量t是形如t=t1:p:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为信号终止时间,p为时间间隔。向量f为连续信号f(t)在向量t所定义的时间点上的样值。 下面分析连续时间信号f(t)Sa(t)=sin(t)/t,可用如下的两个变量表示: t= -10:1.5:10 f=sin(t)./t 命令运行结果为: t = Columns 1 through 8 -10.0000 -8.5000 -7.0000 -5.5000 -4.0000 -2.5000 -1.0000 0.5000 Columns 9 through 14 2.0000 3.5000 5.0000 6.5000 8.0000 9.5000 f = Columns 1 through 8 -0.0544 0.0939 0.0939 -0.1283 -0.1892 0.2394 0.8415 0.9589 Columns 9 through 14 0.4546 -0.1002 -0.1918 0.0331 0.1237 -0.0079 用上述向量对连续信号进行表示后,就可以用plot命令来绘制出信号的时域波形。plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的波形就成了光滑的曲线。 MATLAB命令如下: plot(t,f); title(f(t)=Sa(t); xlabel(t); axis(-10,10,-0.4,1.1); 绘出的信号波形如图1所示(左图)。当把时间间隔p取得更小(例如为0.02)时,就可得到Sa(t)较好的近似波形,如图1所示(右图)。 如图1 Sa(t)的近似波形 用以下程序可产生正弦波: t=0:0.001:50; y=sin(2*pi*50*t); plot(t(1:50),y(1:50); 用以下程序可产生加入随机噪声的正弦波: t=0:0.001:50; y=sin(2*pi*50*t); s=y+randn(size(t); plot(t(1:50),s(1:50); 用以下程序可产生周期方波: t=0:0.001:2.5; y=square(2*pi*30*t); plot(t(1:50),y(1:50); 用以下程序可产生周期锯齿波: t=0:0.001:2.5; y=sawtooth(2*pi*30*t); plot(t,y); axis(0 0.2 1 1); 用以下程序可产生sinc函数: x=linspace(-5,5); y=sinc(x); plot(x,y); 用以下程序可产生Dirichlet函数: x=linspace(0,4*pi,300); y1=diric(x,7); y2=diric(x,8); subplot(1,2,1);plot(x,y1); subplot(1,2,2);plot(x,y2); 2符合运算表示法 如果信号可以用一个符号表达式来表示它,则我们可用ezplot命令(缺省的区间为-2*pi,2*pi)绘制出信号的波形,例如对于连续信号f(t)=sin(t/4),我们可以用符号表达式表示为: f=sym(sin(pi/4*t); f= sin(pi/4*t); 然后用ezplot命令绘制其波形: ezplot(f,-16,16); 该命令绘制的信号波形如图2所示, 如图2 正弦信号波形图 要求:改用其它的信号来练习使用向量表示法和符号运算表示法来绘制信号波形,达到对两种方法的熟练掌握。 实验二 连续时间信号卷积及MATLAB实现 一、实验目的:熟悉使用MATLAB软件来分析连续时间信号的卷积积分运算并用图形可视化相关结果。 二、实验内容: 1卷积积分 卷积积分在信号与线形系统分析中具有非常重要的意义,是信号与系统分析的基本方法之一。 连续时间信号f1(t)和f2(t)的卷积积分(简称为卷积)f(t)定义为: 由此可得到两个与卷积相关的重要结论,即是: (1) ,即连续信号可分解为一系列幅度由 决定的冲激信号及其平移信号之和; (2)线形时不变连续系统,设其输入信号为 ,单位响应为 ,其零状态响应为 ,则有: 。 可见,连续信号卷积的计算对我们进行连续信号与系统的分析具有重要的意义。 用MATLAB实现连续信号 与 卷积的过程如下: (1)将连续信号 与 以时间间隔进行取样,得到离散序列 和 ; (2)构造 与 相对应的时间向量 和 ;(3)调用conv()函数计算卷积积分 的近似向量 ; (4)构造 对应的时间向量k。 下面即是利用MATLAB实现连续时间卷积的通用函数sconv(),该程序在计算出卷积积分的数值近似的同时,还绘出 的时域波形图。需要注意的是,程序中是如何构造 的对应时间向量k的?另外,程序在绘制 波形图时采用的是plot命令而不是stem命令。 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) 三、实验部分: 1已知两连续时间信号如下图所示,试用MATLAB求 f(t)=f1(t)*f2(t),并绘出 f(t) 的时域波形图。(设定取样时间间隔为p) 参考程序: p=0.5; k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1; f,k=sconv(f1,f2,k1,k2,p) 【实验思考】:通过不断改变p的取值并对比所得到的实验效果,观察当取样时间p为多大时,函数sconv()的计算结果就是连续时间卷积f(t)=f1(t)*f2(t) 的较好近似结果?2已知两连续时间信号如下图所示,试用MATLAB求f(t)=f1(t)*f2(t),并绘出f(t)的时域波形图。(设定取样时间间隔为p) 参考程序: p=0.1; k1=-1:p:1 f1=2*ones(1,length(k1) k2=-2:p:2 f2=ones(1,length(k2) f,k=sconv(f1,f2,k1,k2,p) 【实验思考】:通过不断改变p的取值并对比所得到的实验效果,观察当取样时间p为多大时,函数sconv()的计算结果就是连续时间卷积f(t)=f1(t)*f2(t)的较好近似结果? 实验三 系统时域特性的仿真分析实验 一、实验目的:通过使用MATLAB仿真软件对LTI系统的时域特性进行仿真分析对系统的冲激响应和零状态响应等有更深入的理解和掌握。 二、连续系统的冲激响应、阶跃响应及MATLAB实现 对于LTI连续系统,求解系统的冲激响应h(t)和阶跃响应g(t)对我们进行连续系统的分析具有非常重要的意义。MATLAB为用户提供了专门用于求连续系统冲激响应和阶跃响应并绘制其时域波形的函数impulse()和step()。 在调用impulse()和step()函数时,我们需要用向量来对连续系统进行分析。 设描述连续系统的微分方程为: 则我们可用向量a和b来表示该系统,即: a=aN,aN-1,a1,a0 b=bN,bN-1,b1,b0 注意,向量a和b的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项要用0来补齐。例如,对微分方程,则表示该系统的对应向量应为 a=1 3 2,b=1 0 1。 1 impulse()函数 函数impulse()将绘出由向量a和b表示的连续系统在指定时间范围内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。impulse()函数有如下几种调用格式: (1) impulse(b,a):该调用格式以默认方式绘出向量a和b定义的连续系统的冲激响应的时 域波形。例如描述连续系统的微分方程为,运行如下MATLAB命令: a=1 5 6; b=3 2; impulse(b,a); 则绘出系统的冲激响应波形,如图1所示。 如图1 连续系统的冲激响应1 (2) impulse(b,a,t):绘出系统在0t时间范围内冲激响应的时域波形。对上例,若运行命令impulse(b,a,10),则绘出系统在010秒范围内冲激响应的时域波形,如图2所示 如图2 连续系统的冲激响应2 (3) impulse(b,a,t1:p:t2):绘出在t1t2时间范围内,且以时间间隔p均匀取样的冲激响应波形。对上例,若运行命令impulse(b,a,1:0.1:2),则绘出12秒内,每隔0.1秒取样的冲激响应的时域波形,如图3所示 如图3 连续系统的冲激响应3 (4) y=impulse(b,a,t1:p:t2):不绘出波形,而是求出系统冲激响应的数值解。对上例,若运行命令y=impulse(b,a,0:0.2:2),则运行结果为: y = 3.0000 1.1604 0.3110 -0.0477 -0.1726 -0.

温馨提示

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

评论

0/150

提交评论