实验二 连续时间系统的时域分析_第1页
实验二 连续时间系统的时域分析_第2页
实验二 连续时间系统的时域分析_第3页
实验二 连续时间系统的时域分析_第4页
实验二 连续时间系统的时域分析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、实验二 连续时间系统的时域分析一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。2、深刻理解卷积运算,利用离散卷积实现连续卷积运算。3、学会用MATLAB求解系统的零状态响应、冲激响应及阶跃响应的方法。二、原理说明:1卷积积分卷积积分在信号与系统分析中具有非常重要的意义,是信号与系统分析的基本方法之一。连续时间信号和的卷积积分(简称为卷积)定义为:1.1卷积的计算 借助MATLAB的内部函数conv()可以很容易地完成两个信号的卷积积分运算。其语法为:y = conv(x,h)。其中x和h分别是两个作卷积运算的信号,y为卷积结果。conv(x,h)函数实际上是完成两个多项

2、式的乘法运算。例如,两个多项式p1和p2分别为: 和 这两个多项式在MATLAB中是用它们的系数构成一个行向量来表示的,如果用x来表示多项式p1,h表示多项式p2,则x和h分别为 x = 1 2 3 4 h = 4 3 2 1在MATLAB命令窗口依次键入 x = 1 2 3 4; h = 4 3 2 1; y=conv(x,h)在屏幕上得到显示结果:y = 4 11 20 30 20 11 4这表明,多项式p1和p2的乘积为: 正如前所述,用MATLAB处理连续时间信号时,独立时间变量t的变化步长应该是很小的,假定用符号dt表示时间变化步长,那么,用函数conv()作两个信号的卷积积分时,应

3、该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:y = dt*conv(x,h)。由于MATLAB运算的特点,两个连续信号f1(t)、f2(t)的卷积f(t)=f1(t)*f2(t),用MATLAB实现的过程应为:(1)将连续信号f1(t)、f2(t)以时间间隔进行取样,得离散序列f1(kD)、f2(kD);(2)构造f1(kD)、f2(kD)与相对应的时间向量k1和k2;(3)调用conv()函数计算卷积积分f(t)的近似向量f(kD);(4)构造f(kD)对应的时间向量k。下面是利用MATLAB实现连续信号卷积运算的通用函数sconv(),它在计算出卷积积分近

4、似值的同时,还绘出f(t)的波形图。function f,k=sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分f(t)=f1(t)*f2(t)%f:卷积积分f(t)对应的非零值向量%k:f(t)的对应时间向量%f1,f2:f1(t),f2(t)的非零样值向量%k1,k2:f1(t),f2(t)的对应时间向量%p:取样时间间隔f=conv(f1,f2); %计算序列f1,f2的卷积和ff=f*p;k0=k1(1)+k2(1); %计算序列f非零样值的起点位置k3=length(f1)+length(f2)-2; %计算卷积和f的非零样值的宽度k=k0:p:k3*p; %确定卷积和f

5、非零样值的时间向量subplot(2,2,1);plot(k1,f1); title(f1(t); xlabel(t); ylabel(f1(t);subplot(2,2,2);plot(k2,f2); title(f2(t); xlabel(t); ylabel(f2(t);subplot(2,2,3);plot(k,f); %画出卷积f(t)的波形title(f(t)=f1(t)*f2(t); xlabel(t); ylabel(f(t);h=get(gca,position);h(3)=2.5*h(3);set(gca,position,h) %将第三个子图的横坐标扩展为原来的2.5倍例

6、题1:根据给定的两个连续时间信号x(t) = tu(t)-u(t-1)和h(t) = u(t)-u(t-1),编写程序,完成这两个信号的卷积运算,并绘制它们的波形图。范例程序如下:% Program1_6% This program computes the convolution of two continuou-time signalsclear;close all;t0 = -2; t1 = 4; dt = 0.01;t = t0:dt:t1;x = ut(t)-ut(t-1);h = t.*(ut(t)-ut(t-1);y = dt*conv(x,h); % Compute the c

7、onvolution of x(t) and h(t)subplot(221)plot(t,x), grid on, title(Signal x(t), axis(t0,t1,-0.2,1.2)subplot(222)plot(t,h), grid on, title(Signal h(t), axis(t0,t1,-0.2,1.2)subplot(212)t = 2*t0:dt:2*t1; % Again specify the time range to be suitable to the % convolution of x and h.plot(t,y), grid on, tit

8、le(The convolution of x(t) and h(t), axis(2*t0,2*t1,-0.1,0.6), xlabel(Time t sec)例2:已知f1(t)=e-tu (t)- u (t-2)、 f2(t) = u (t)- u (t-3),编制一个m文件,绘出f1(t)、f2(t)和f(t)=f1(t)* f2(t)的波形。解:实现所要求运算的m文件如下,运算结果如图9-2所示。p=0.01;k1=0:p:2f1=exp(-k1);k2=0:p:3;f2=ones(1,length(k2);f,k=sconv(f1,f2,k1,k2,p)在有些时候,做卷积和运算的两

9、个序列中,可能有一个序列或者两个序列都非常长,甚至是无限长,MATLAB处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程者确定。实际上,在信号与系统分析中所遇到的无限长序列,通常都是满足绝对可和或绝对可积条件的信号。因此,对信号采取这种截短处理尽管存在误差,但是通过选择合理的信号长度,这种误差是能够减小到可以接受的程度的。若这样的一个无限长序列可以用一个数学表达式表示的话,那么,它的长度可以由编程者通过指定时间变量n的范围来确定。2、 连续系统的冲激响应和阶跃响应及Matlab实现LTI系统当输入为冲激信号(t)时产生的零状态响应为系统的冲激响应,用h(t)表示。若输入为单位阶跃

10、信号u(t)时产生的零状态响应为系统的阶跃响应,记为g(t)。LTI连续系统LTI连续系统对LTI连续系统,设其输入信号为f(t),冲激响应为h(t),零状态响应为y(t),则有:即h(t)包含了连续系统的固有特性,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同输入时产生的输出。因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。Matlab为我们提供了专门用于求连续系统冲激响应及阶跃响应,并绘制其时域波形的函数impulse和step。在调用函数impulse()和step()时,我们需要用向量来对系统进行表示。设描述连续系统的微分方程为:则可以用

11、向量a和b来表示该系统,即:注意,在用向量来表示微分方程描述的连续系统时,向量a和b的元素一定要以微分方程时间求导的降幂次序来排列,且缺项用0来补齐。如对微分方程则表示该系统的对应向量为:a=2 3 6;b=1;而对微分方程:则表示该系统的对应向量应为:a=1 3 2; b=1 0 1;2.1 impulse()函数函数impulse()将绘出由向量a和b表示的连续系统在指定时间内的冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。impulse()函数有如下几种调用格式: impulse(b,a)该调用格式以默认方式绘出向量a和b定义的连续系统的冲激响应的时域波形。例如,

12、描述某连续系统的微分方程为:运行如下Matalb命令:a=1 5 6;b=0 3 2impulse(b,a) impulse(b,a,t)该调用格式绘出向量a和b定义的连续系统在0t时间范围内冲激响应的时域波形。对上例,运行如下命令: impulse(b,a,10) 则绘出系统在010秒范围内冲激响应的时域波形。 impulse(b,a,t1:p:t2)该调用格式绘出向量a和b定义的连续系统在t1t2时间范围内,且以时间间隔p均匀取样的冲激响应的时域波形。对上例,运行如下命令:impulse(b,a,1:0.1:2) 则绘出系统在12秒范围内, 且以时间间隔0.1秒均匀取样的冲激响应的时域波形

13、 y=impulse(b,a,t1:p:t2)该调用格式并不绘出系统的冲激响应波形,而是求出向量a和b定义的连续系统在t1t2时间范围内,且以时间间隔p均匀取样的冲激响应的数值解。2.2 step()函数函数step()将绘出由向量a和b定义的连续系统的阶跃响应g(t)在指定时间范围内的波形图,并能求出其数值解。和impulse()函数一样, step()函数也有四种调用格式:step(b,a)step(b,a,t)step(b,a,t1:p:t2)y=step(b,a,t1:p:t2)上述调用格式的功能与impulse()函数完全相同。3) 零状态响应:lsim( ) 函数在MATLAB中,

14、控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。其调用格式y=lsim(sys,f,t)式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程或状态方程。其调用格式sys=tf(b,a)式中,b和a分别是微分方程的右端和左端系数向量。例如,对于以下方程: 可用 获得其LTI模型。注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零,不能省略不写,否则出错。例3. 已知描述某系统的微分方程为 试用Matlab绘出系统的单位冲激响应和阶跃响应波形。解:clccleara=1 1 1; b=1

15、1;t=0:0.1:10;y=impulse(b, a, t); %冲激响应subplot(211)plot(t,y) %描绘系统冲激响应波形title(单位冲激响应)y=step(b, a, t); %阶跃响应subplot(212)plot(t,y) %描绘系统阶跃响应波形title(单位阶跃响应)xlabel(t)例4 已知某LTI系统的微分方程为 y(t)+ 2y(t)+100y(t)=f(t) 其中,求系统的输出y(t).解:显然,这是一个求系统零状态响应的问题。其MATLAB计算程序如下: ts=0;te=5;dt=0.01;b=1;a=1 2 100;sys=tf(b,a); t

16、=ts:dt:te; f=10*sin(2*pi*t); y=lsim(sys,f,t); plot(t,y); xlabel(Time(sec); ylabel(y(t);三、知识扩展电子电路工作时,往往在有用信号之外,还存在一些令人头痛的干扰信号。如何克服这些干扰是电子电路在设计、制造时的主要问题之一,克服这些干扰的方法多种多样,但很难完全克服。滤波器是一种能使有用频率信号通过,而同时抑制无用频率信号的电子装置,工程上常用它来作信号处理、数据传送和抑制干扰等。设在电子测量中,测得信号波形如图一所示,其中包括两部分:慢波动的有用信号和快速波动的干扰信号。如何消除或抑制这些干扰信号呢?需要设计

17、一个系统来完成这个任务,系统的作用可用图二来表示。系统的输入是含噪信号,经过系统的处理过程,系统的输出信号将只保留了慢变化的有用成分,而快速变化的噪声成分得到了抑制。如何设计这个系统,目前,我们还没有学习过这部分知识,还不具备这个能力。在此,给出一个大家熟悉的电路模型,如图三所示。由电路可得系统微分传输函数为:图一 含噪信号含噪声信号e(t) 慢变化的有用信号r (t) 系统图二 滤波器系统框图图三 滤波器系统电路模型选取合适的电路参数R,L,C,可使得传输函数为:对应的微分方程是:这个系统可以起到抑制噪声的效果。四、实验内容1、 编写程序Q2_1,完成与两函数的卷积运算。其中:在一个图形窗口中,画出、以及卷积结果。要求每个坐标系有标题、坐标轴名称。2、 编写程序Q2_2。若系统模型为: 其中 求零状态响应,画出波形。并与手工计算的零状态响应比较。3

温馨提示

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

评论

0/150

提交评论