ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:186.73KB ,
资源ID:18383473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18383473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(信号与系统上机实验题全解.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

信号与系统上机实验题全解.docx

1、信号与系统上机实验题全解信号与系统-上机实验题-全解信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一:1、实验目的2、实验原理三、抄写实验内容,写出程序清单四、记录信号波形实验二:1、实验目的、2、实验原理三、抄写实验内容,写出程序清单四、记录信号波形实验三:1、实验目的二、实验原理三、抄写实验内容,写出程序清单四、记录信号波形实验四:1、实验目的2、实验原理三、抄写实验内容,写出程序清单四、记录信号波形总结心得参考文献(实验要求:每个实验都按照目录的格式填写完整,总结最后一起写。参考文献最好要写, 二级标题为宋体三号 字体宋体四号 标题的格式按照现有文件格式 文件名为 学号加姓名)

2、实验一 常见信号的MATLAB表示及运算一、实验目的 1、熟悉常见信号的意义、特性及波形; 2、学会使用MATLAB表示信号的方法并绘制信号波形; 3、掌握使用MATLAB进行信号基础运算的指令; 4、熟悉MATLAB实现卷积积分的方法。二、实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用和来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。根据MATLAB的数值计算功能和符号运算

3、功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续

4、信号可用向量或符号运算功能来表示。 向量表示法对于连续时间信号,可以用两个行向量f和t来表示,其中向量t是用形如的命令定义的时间范围向量,其中,为信号起始时间,为终止时间,p为时间间隔。向量f为连续信号在向量t所定义的时间点上的样值。例如:对于连续信号 ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。其程序如下:t1=-10:0.5:10;%定义时间t的取值范围:-1010,取样间隔为0.5, %则t1是一个维数为41的行向量f1=sin(t1). /t1;%定义信号表达式,求出对应采样点上的样值,%同时生成与向量t1维数相同的行向量f1figure(1); %打开图

5、形窗口1plot(t1,f1);%以t1为横坐标,f1为纵坐标绘制f1的波形t2=-10:0.1:10; %定义时间t的取值范围:-1010,取样间隔为0.1, %则t2是一个维数为201的行向量f2=sin(t2). /t2; %定义信号表达式,求出对应采样点上的样值 %同时生成与向量t2维数相同的行向量f2figure(2); %打开图形窗口2plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形运行结果如下: 图1-1 图1-2 说明: plot是常用的绘制连续信号波形的函数。 严格说来,MATLAB不能表示连续信号,所以,在用plot( )命令绘制波形时,要对自变量t进

6、行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t的取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。 在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函

7、数来绘出信号的波形。例如:对于连续信号,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。其MATLAB程序如下:syms t;%符号变量说明f=sin(t)/t ; %定义函数表达式ezplot(f,-10,10);%绘制波形,并且设置坐标轴显示范围运行结果如下:图1-3 常见信号的MATLAB表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号(t)、符号函数sgn(t)等,在MATLAB中这些信号都有专门的表示方法。 单位阶跃信号单位阶跃信号的定义为:,单位阶跃信号是信号分析的基本信号之一,在信号与系统分

8、析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍。方法一: 调用Heaviside(t)函数在MATLAB的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。首先定义函数Heaviside(t) 的m函数文件,该文件名应与函数名同名即Heaviside.m。%定义函数文件,函数名为

9、Heaviside,输入变量为x,输出变量为yfunction y= Heaviside(t) y=(t0); %定义函数体,即函数所执行指令;%此处定义t0时y=1,t=0时y=0,注意与实际的阶跃信号定义的区别。方法二:数值计算法在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为:stepfun(t,t0)其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可。有关单位阶跃序列的

10、表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。三、抄写实验内容,写出程序清单。1.分别用MATLAB的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:(2)t=-2:0.01:8;t1=0;u1=stepfun(t,t1);t2=4;u2=stepfun(t,t2);g=u1-u2;f=(cos(pi*t./2).*g;plot(t,f)axis(-2,8,-2,2)t=-8:0.01:10;t1=-2;u1=stepfun(t,t1);f=(2/3).*t.*u1;plot(t,f)axis(-8,10,-6,6)2.分别

11、用MATLAB表示并绘出下列离散时间信号的波形: k1=-5;k2=10;k0=0;k3=8 k=k1:-k0-1;kk=-k0:k3;kkk=k3+1:k2;n=length(k);nn=length(kk);nnn=length(kkk);u=zeros(1,n);uu=ones(1,nn);uuu=zeros(1,nnn);stem(k,u,filled)hold onstem(kk,kk,filled)hold onstem(kkk,uuu,filled)hold offaxis(k1,k2,0,10) k1=-10;k2=10;k0=2;k=k1:-k0;kk=-k0+1:k2;n=

12、length(k);nn=length(kk);u=ones(1,n);uu=zeros(1,nn);stem(k,u,filled)hold onstem(kk,uu,filled)hold offaxis(k1,k2,0,2)3.已知信号f(t)的波形如下图所示,试用MATLAB绘出满足下列要求的信号波形。 t=-3:0.01:7;t1=2;u1=stepfun(t,t1);t2=3;u2=stepfun(t,t2);t3=4;u3=stepfun(t,t3);g=2*u1-u2-u3;plot(t,g)axis(-3,7,-2,4) t=-5:0.01:5;t1=0-1;u1=stepf

13、un(t,t1);t2=1/2-1;u2=stepfun(t,t2);t3=1-1;u3=stepfun(t,t3);g=2*u1-u2-u3;plot(t,g)axis(-5,5,-2,4)4.已知两信号,求卷积积分,并与例题比较。t1=-1:0.01:0;t2=0:0.01:1;t3=-1:0.01:1;f1=ones(size(t1);f2=ones(size(t2);g=conv(f1,f2);plot(t3,g);5.已知两信号,求卷积积分。t1=0:0.01:5;t2=-5:0.01:5;t3=-5:0.01:10;f1=t1;f2=exp(t2).*(t2=0);g=conv(f

14、1,f2);plot(t3,g);6.已知,求两序列的卷积和 。f1=1,1,2;f2=1,2,3,4,5;g=conv(f1,f2);N=length(g);stem(0:N-1,g);四、记录信号波形 1、(2) 1、(4) 2、(2) 2、(4) 3、(2) 3、(4) 4、 5、 6、实验二 LTI系统的响应一、实验目的 1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB实现求解系统响应的方法二、实验原理 1.连续时间系统 对于连续的LTI系统,当系统输入为f(t),输出为y(t),则输入与输出

15、之间满足如下的线性常系数微分方程: ,当系统输入为单位冲激信号(t)时产生的零状态响应称为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号(t)时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。系统的单位冲激响应h(t)包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系

16、统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:。若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。在MATLAB中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。以上各函数的调用格式如下: impulse( ) 函数函数impulse( )将绘制出由向量a和b所表示的连续系统在指定时间范围内的单位

17、冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。 impulse(b,a) 以默认方式绘出由向量a和b所定义的连续系统的冲激响应的时域波形。 impulse(b,a ,t0) 绘出由向量a和b所定义的连续系统在0 t0时间范围内冲激响应的时域波形。 impulse(b,a,t1:p:t2) 绘出由向量a和b所定义的连续系统在t1 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。 y=impulse(b,a,t1:p:t2) 只求出由向量a和b所定义的连续系统在t1 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的数值解,但不绘出其相应波形。 step(

18、) 函数函数step( )将绘制出由向量a和b所表示的连续系统的阶跃响应,在指定的时间范围内的波形图,并且求出数值解。和impulse( )函数一样,step( )也有如下四种调用格式:step( b,a)step(b,a,t0)step(b,a,t1:p:t2)y=step(b,a,t1:p:t2) 上述调用格式的功能和impulse( )函数完全相同,所不同只是所绘制(求解)的是系统的阶跃响应g(t),而不是冲激响应h(t)。 lsim( )函数根据系统有无初始状态,lsim( )函数有如下两种调用格式:系统无初态时,调用lsim( )函数可求出系统的零状态响应,其格式如下: lsim(b

19、,a,x,t)绘出由向量a和b所定义的连续系统在输入为x和t所定义的信号时,系统零状态响应的时域仿真波形,且时间范围与输入信号相同。其中x和t是表示输入信号的行向量,t为表示输入信号时间范围的向量,x则是输入信号对应于向量t所定义的时间点上的取样值。 y=lsim(b,a,x,t) 与前面的impulse 和step函数类似,该调用格式并不绘制出系统的零状态响应曲线,而只是求出与向量t定义的时间范围相一致的系统零状态响应的数值解。系统有初始状态时,调用lsim( )函数可求出系统的全响应,格式如下: lsim(A,B,C,D,e,t,X0) 绘出由系数矩阵A,B,C,D所定义的连续时间系统在输

20、入为e和t所定义的信号时,系统输出函数的全响应的时域仿真波形。t为表示输入信号时间范围的向量,e则是输入信号e(t)对应于向量t所定义的时间点上的取样值,X0表示系统状态变量X=x1,x2,.xn在t=0时刻的初值。Y,X= lsim(A,B,C,D,e,t,X0) 不绘出全响应波形,而只是求出与向量t定义的时间范围相一致的系统输出向量Y的全响应以及状态变量X的数值解。显然,函数lsim( )对系统响应进行仿真的效果取决于向量t的时间间隔的密集程度,t的取样时间间隔越小则响应曲线越光滑,仿真效果也越好。说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空

21、间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。其转换原理如前面实验四所述。(2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。 2.离散时间系统LTI离散系统中,其输入和输出的关系由差分方程描述:(前向差分方程) (后向差分方程)当系统的输入为单位序列(k)时产生的零状态响应称为系统的单位函数响应,用h(k)表示。当输入为 (k)时产生的零状态响应称为系统的单位阶跃应,记为:g(k),如下图所示。如果系统输入为e(k),冲激

22、响应为h(k),系统的零状态响应为y(k),则有:。与连续系统的单位冲激响应h(t)相类似,离散系统的单位函数响应h(k)也包含了系统的固有特性,与输入序列无关。我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应。因此,求解系统的单位函数响应h(k)对我们进行离散系统的分析也同样具有非常重要的意义。MATLAB中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz( )。同样也提供了求离散系统响应的专用函数filter( ),该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解。当系统初值不为零时,可

23、以使用dlsim( )函数求出离散系统的全响应,其调用方法与前面连续系统的lsim( )函数相似。另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep( ),其调用方法与求解连续系统阶跃响应的专用函数step( )的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter( ),只要将其中的激励信号看成是单位阶跃信号(k)即可。函数的调用格式分别如下: impz( )函数 impz(b,a)以默认方式绘出由向量a和b所定义的离散系统单位函数响应的时域波形。 impz(b,a,n) 绘出由向量a和b所定义的离散系统在0 n (n必须为整数)的离散

24、时间范围内单位函数响应的时域波形。 impz(b,a,n1:n2) 绘出由向量a和b所定义的离散系统在n1 n2 (n1、n2必须为整数)的离散时间范围内单位函数响应的时域波形。 y=impz(b,a,n1:n2) 求出由向量a和b所定义的离散系统在n1 n2 (n1、n2必须为整数)的离散时间范围内单位函数响应的数值解,但不绘出波形。 filter( ) 函数 filter(b,a,x) 其中a和b与前面相同,x是包含输入序列非零样值点的的行向量。此命令将求出系统在与x的取样时间点相同的输出序列样值。三、抄写实验内容,写出程序清单 1. 已知描述系统的微分方程和激励信号e(t) 分别如下,试

25、用解析方法求系统的单位冲激响应h(t)和零状态响应r(t),并用MATLAB绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同。;a=1 4 4;b=1 3;impulse(b,a,10)p=0.01;t=0:p:10;x=exp(-1*t);y=filter(b,a,x)subplot(2,1,1),impulse(b,a,10)subplot(2,1,2),lsim(b,a,x,t) ;a=1 2 26;b=1 0;p=0.01;t=0:p:10;x=exp(0*t);y=filter(b,a,x)subplot(2,1,1),impulse(b,a,10)subplot(2,1

26、,2),lsim(b,a,x,t) ;a=1 4 3;b=1;p=0.01;t=0:p:10;x=exp(-2*t)y=filter(b,a,x)subplot(2,1,1),impulse(b,a,10)subplot(2,1,2),lsim(b,a,x,t) 如下图所示的电路中,已知,且两电感上初始电流分别为,如果以电阻上电压作为系统输出,请求出系统在激励(v)作用下的全响应。a=-8 4;4 -8;b=1;0;c=4 -4;d=0;x0=2;0;t=0:0.01:10;e=(12.*ones(size(t);r,x=lsim(a,b,c,d,e,t,x0);plot(t,r)2. 请用M

27、ATLAB分别求出下列差分方程所描述的离散系统,在020时间范围内的单位函数响应、阶跃响应和系统零状态响应的数值解,并绘出其波形。另外,请将理论值与MATLAB仿真结果在对应点上的值作比较,并说出两者的区别和产生误差的原因。 ;a=1,2,1;b=1,0,0;k=0:20;x=(0.25.*k);y=filter(b,a,x)subplot(3,1,1),impz(b,a,0:20),subplot(3,1,2),dstep(b,a,0:20),subplot(3,1,3),stem(k,y) ;。 a=1,2,1;b=1,0,0;k=0:20;x=(0.25.*k);y=filter(b,a

28、,x)subplot(3,1,1),impz(b,a,0:20),subplot(3,1,2),dstep(b,a,0:20),subplot(3,1,3),stem(k,y) ;a=1,-5/6,1/6;b=1,0,-1;k=0:20;x=(1.*k);y=filter(b,a,x);subplot(3,1,1),impz(b,a,0:20),subplot(3,1,2),dstep(b,a,0:20),subplot(3,1,3),stem(k,y) 一带通滤波器可由下列差分方程描述:,其中为系统输入, 为系统输出。请求出当激励为(选取适当的n值)时滤波器的稳态输出。a=1,0,81/10

29、0;b=1,0,-1;k=0:20;x=(10+10.*cos(1/2.*k)+10.*cos(k);y=filter(b,a,x)subplot(3,1,1),impz(b,a,0:20),subplot(3,1,2),dstep(b,a,0:20),subplot(3,1,3),stem(k,y)四、记录信号波形 1、 1、 1、 1、 2、 2、 2、 2、实验三连续时间信号的频域分析一、实验目的 1熟悉傅里叶变换的性质2熟悉常见信号的傅里叶变换3了解傅里叶变换的MATLAB实现方法二、实验原理 傅里叶变换是信号分析 的最重要的内容之一。从已知信号求出相应的频谱函数的数学表示为:的傅里叶变换存在的充分条件是在无限区间内绝对可积,即满足下式:但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。傅里叶反变换的定义为:。在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1