信号与系统上机实验题全解_第1页
信号与系统上机实验题全解_第2页
信号与系统上机实验题全解_第3页
信号与系统上机实验题全解_第4页
信号与系统上机实验题全解_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的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; %定义信号表达式,求出对应采样点上的样值,       %同时生

5、成与向量t1维数相同的行向量f1figure(1);    %打开图形窗口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

6、);    %以t2为横坐标,f2为纵坐标绘制f2的波形运行结果如下: 图1-1 图1-2 说明:l  plot是常用的绘制连续信号波形的函数。l  严格说来,MATLAB不能表示连续信号,所以,在用plot( )命令绘制波形时,要对自变量t进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t的取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取

7、样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。l 在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。例如:对于连续信号,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。其MATLAB程序如下:syms t       %符号变量说明f=sin(t)/t ;   

8、  %定义函数表达式ezplot(f,-10,10); %绘制波形,并且设置坐标轴显示范围运行结果如下:图1-3 常见信号的MATLAB表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号(t)、符号函数sgn(t)等,在MATLAB中这些信号都有专门的表示方法。l 单位阶跃信号单位阶跃信号的定义为: ,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信

9、号,即:在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍。方法一: 调用Heaviside(t)函数在MATLAB的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。首先定义函数Heaviside(t) 的m函数文件,该文件名应与函数名同名即Heaviside.m。%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunction y= Heaviside(t) y=(t>0); %定义函数体,即函

10、数所执行指令;%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。方法二:数值计算法在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为:stepfun(t,t0)其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可。有关单位阶跃序列的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。三、抄写实

11、验内容,写出程序清单。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.分别用MATLAB表示并绘出下列离散时间信号的波形:  k1=-5;k2=10;k0=0;k3=

12、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)           k

13、1=-10;k2=10;k0=2;k=k1:-k0;kk=-k0+1:k2;n=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

14、(t,t3);g=2*u1-u2-u3;plot(t,g)axis(-3,7,-2,4) t=-5:0.01:5;t1=0-1;u1=stepfun(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.已知两信号, 

15、,求卷积积分。t1=0:0.01:5;t2=-5:0.01:5;t3=-5:0.01:10;f1=t1;f2=exp(t2).*(t2<0)+t2.*exp(-t2).*(t2>=0);g=conv(f1,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.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求

16、解方法2.熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB实现求解系统响应的方法二、实验原理 1.连续时间系统对于连续的LTI系统,当系统输入为f(t),输出为y(t),则输入与输出之间满足如下的线性常系数微分方程: ,当系统输入为单位冲激信号(t)时产生的零状态响应称为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号(t)时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。系统的单位冲激响应h(t)包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生

17、的响应。因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:。若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。在MATLAB中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指

18、定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。以上各函数的调用格式如下: impulse( ) 函数函数impulse( )将绘制出由向量a和b所表示的连续系统在指定时间范围内的单位冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。l impulse(b,a) 以默认方式绘出由向量a和b所定义的连续系统的冲激响应的时域波形。l impulse(b,a ,t0) 绘出由向量a和b所定义的连续系统在0 t0时间范围内冲激响应的时域波形。l impulse(b,a,t1:p:t2) 绘出由向量a和b所定义的连续系统在t1

19、 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。l y=impulse(b,a,t1:p:t2) 只求出由向量a和b所定义的连续系统在t1 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的数值解,但不绘出其相应波形。  step( ) 函数函数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) 上述调用格式的功能和im

20、pulse( )函数完全相同,所不同只是所绘制(求解)的是系统的阶跃响应g(t),而不是冲激响应h(t)。  lsim( )函数根据系统有无初始状态,lsim( )函数有如下两种调用格式:系统无初态时,调用lsim( )函数可求出系统的零状态响应,其格式如下:l   lsim(b,a,x,t) 绘出由向量a和b所定义的连续系统在输入为x和t所定义的信号时,系统零状态响应的时域仿真波形,且时间范围与输入信号相同。其中x和t是表示输入信号的行向量,t为表示输入信号时间范围的向量,x则是输入信号对应于向量t所定义的时间点上的取样值。l  

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

22、Y,X= lsim(A,B,C,D,e,t,X0)  不绘出全响应波形,而只是求出与向量t定义的时间范围相一致的系统输出向量Y的全响应以及状态变量X的数值解。显然,函数lsim( )对系统响应进行仿真的效果取决于向量t的时间间隔的密集程度,t的取样时间间隔越小则响应曲线越光滑,仿真效果也越好。说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。其转换原理如前面实验四所述。(

23、2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。 2.离散时间系统LTI离散系统中,其输入和输出的关系由差分方程描述:    (前向差分方程)    (后向差分方程)当系统的输入为单位序列(k)时产生的零状态响应称为系统的单位函数响应,用h(k)表示。当输入为 (k)时产生的零状态响应称为系统的单位阶跃应,记为:g(k),如下图所示。如果系统输入为e(k),冲激响应为h(k),系统的零状态响应为y(k),则有:。与连续系统的单位冲激响应h(t)相类似,离散系统的单位函数响应h(k

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

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

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

27、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

28、,10)subplot(2,1,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);

29、plot(t,r)2. 请用MATLAB分别求出下列差分方程所描述的离散系统,在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=

30、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,-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) 一带通滤波器可由下列差分方程描述:, 其

31、中为系统输入, 为系统输出。请求出当激励为(选取适当的n值)时滤波器的稳态输出。a=1,0,81/100;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实现方法二、

32、实验原理 傅里叶变换是信号分析 的最重要的内容之一。从已知信号求出相应的频谱函数的数学表示为:的傅里叶变换存在的充分条件是在无限区间内绝对可积,即满足下式:但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。  傅里叶反变换的定义为:。  在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种,一种是利用MATLAB中的Symbolic Math Toolb

33、ox提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。下面分别介绍这两种实现方法的原理。1.直接调用专用函数法在MATLAB中实现傅里叶变换的函数为: F=fourier( f )   对f(t)进行傅里叶变换,其结果为F(w)lF=fourier(f,v)  对f(t)进行傅里叶变换,其结果为F(v)lF=fourier( f,u,v )  对f(u)进行傅里叶变换,其结果为F(v)傅里叶反变换lf=ifourier( F )   对F(w)进行傅里叶反变换,其结果为f(x) f=i

34、fourier(F,U)   对F(w)进行傅里叶反变换,其结果为f(u)lf=ifourier( F,v,u )  对F(v)进行傅里叶反变换,其结果为f(u)  由于MATLAB中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp命令。如在命令窗口键入:mhelp fourier回车,则会得到fourier的意义和用法。 注意:(1)在调用函数fourier( )及ifourier( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier( )中的f及i

35、fourier( )中的F也要用符号定义符sym将其说明为符号表达式。(2)采用fourier( )及fourier( )得到的返回函数,仍然为符号表达式。在对其作图时要用ezplot( )函数,而不能用plot()函数。(3)fourier( )及fourier( )函数的应用有很多局限性,如果在返回函数中含有()等函数,则ezplot( )函数也无法作出图来。另外,在用fourier( )函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了。这是fourier( )函数的一个局限。另一个局限是在很多场合,尽管原时间信号f(t)是连续的,但却不能表示成

36、符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值。2、傅里叶变换的数值计算实现法严格说来,如果不使用symbolic工具箱,是不能分析连续时间信号的。采用数值计算方法实现连续时间信号的傅里叶变换,实质上只是借助于MATLAB的强大数值计算功能,特别是其强大的矩阵运算能力而进行的一种近似计算。傅里叶变换的数值计算实现法的原理如下:对于连续时间信号f(t),其傅里叶变换为:其中为取样间隔,如果f(t)是时限信号,或者当|t|大于某个给定值时,f(t)的值已经衰减得很厉害,可以近似地看成是时限信号,则上式中的n取值就是有限的,

37、假定为N,有: 若对频率变量进行取样,得:  通常取:,其中是要取的频率范围,或信号的频带宽度。采用MATLAB实现上式时,其要点是要生成f(t)的N个样本值的向量,以及向量,两向量的内积(即两矩阵的乘积),结果即完成上式的傅里叶变换的数值计算。注意:时间取样间隔的确定,其依据是必须小于奈奎斯特(Nyquist)取样间隔。如果f(t)不是严格的带限信号,则可以根据实际计算的精度要求来确定一个适当的频率为信号的带宽。三、抄写实验内容,写出程序清单1.编程实现求下列信号的幅度频谱(1)求出的频谱函数F1(j),请将它与上面2的门函数的频谱进行比较,观察两者的特点,说明两者的关系

38、。 syms t wGt=sym('Heaviside(2*t+1)-Heaviside(2*t-1)');Fw=fourier(Gt,t,w);FFw=maple('convert',Fw,'piecewise');FFP=abs(FFw); ezplot(FFP,-10*pi 10*pi);grid;axis(-10*pi 10*pi 0 2.2); (2)三角脉冲    syms t w Gt=sym('(1+t)*(Heaviside(t+1)-Heaviside(t)+(1-t)*(Heaviside(t)-

39、Heaviside(t-1)');Fw=fourier(Gt,t,w);FFw=maple('convert',Fw,'piecewise');FFP=abs(FFw);ezplot(FFP,-10*pi 10*pi);grid;axis(-10*pi 10*pi 0 2.2); (3)单边指数信号 syms t w Gt=sym('exp(-t)*Heaviside(t)');Fw=fourier(Gt,t,w); FFw=maple('convert',Fw,'piecewise');FFP=abs(F

40、Fw); ezplot(FFP,-10*pi 10*pi);grid;axis(-10*pi 10*pi 0 2.2); (4)高斯信号  syms t wGt=sym('exp(-t2)');Fw=fourier(Gt,t,w);FFw=maple('convert',Fw,'piecewise');ezplot(FFw,-30 30);grid;axis(-30 30 1 2)2.利用ifourier( ) 函数求下列频谱函数的傅氏反变换(1)  syms t wFw=sym('(-j*2*w)/(16+w2)&#

41、39;);ft=ifourier (Fw)ft=ifourier(Fw,w,t);运行结果:ft=-j*exp(-4*abs(x)*sign(x)*1i (2) syms t wFw=sym('(j*w)2+5*j*w-8)/(j*w)2+6*j*w+5)');ft=ifourier(Fw)ft=ifourier(Fw,w,t);运行结果:ft =(2*pi*dirac(x) + (pi*exp(-(x*1i)/j)*sign(imag(1/j)*3i)/j - (pi*exp(-(x*5i)/j)*sign(imag(1/j)*2i)/j - (pi*exp(-(x*1i)/

42、j)*sign(x)*3i)/j + (pi*exp(-(x*5i)/j)*sign(x)*2i)/j)/(2*pi)四、记录实验实验波形 1、(1) 1、(2) 1、(3) 1、(4)实验四 连续信号与系统的S域分析一、实验目的 1.熟悉拉普拉斯变换的原理及性质2.熟悉常见信号的拉氏变换3.了解正/反拉氏变换的MATLAB实现方法和利用MATLAB绘制三维曲面图的方法4.了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系二、实验原理 拉普拉斯变换是分析连续时间信号的重要手段。对于当t 时信号的幅值不衰减的时间信号,即在f(t)不满足绝对可积的条件时,其

43、傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们。连续时间信号f(t)的单边拉普拉斯变换F(s)的定义为:拉氏反变换的定义为:      显然,上式中F(s)是复变量s的复变函数,为了便于理解和分析F(s)随s的变化规律,我们将F(s)写成模及相位的形式:。其中,|F(s)|为复信号F(s)的模,而为F(s)的相位。由于复变量s=+j,如果以为横坐标(实轴),j为纵坐标(虚轴),这样,复变量s就成为一个复平面,我们称之为s平面。从三维几何空间的角度来看,和分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉

44、氏变换F(s)随复变量s的变化情况,在MATLAB语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB的三维绘图功能很容易画出漂亮的三维曲面图。 在MATLAB中实现拉氏变换的函数为: F=laplace( f )  对f(t)进行拉氏变换,其结果为F(s)l F=laplace (f,v)  对f(t)进行拉氏变换,其结果为F(v)l F=laplace ( f,u,v)  对f(u)进行拉氏变换,其结果为F(v)拉氏反变换l f=ilaplace ( F )    对F(s)进行拉氏反变换,其结果为f(t)lf=ila

45、place(F,u)    对F(w)进行拉氏反变换,其结果为f(u)lf=ilaplace(F,v,u )   对F(v)进行拉氏反变换,其结果为f(u) 注意:在调用函数laplace( )及ilaplace( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对laplace( )中的f及ilaplace( )中的F也要用符号定义符sym将其说明为符号表达式。三、抄写实验内容,写出程序清单1.求出下列函数的拉氏变换式,并用MATLAB绘制拉氏变换在s平面的三维曲面图 syms t s

46、 x y ft=sym('2*exp(-t)*Heaviside(t)+5*exp(-3*t)*Heaviside(t');Fs=laplace(ft);s=x+i*y;FFs=2/(s+1)+5/(s+3);FFss=abs(FFs);ezmesh(FFss);ezsurf(FFss);colormap(hsv);   syms t s x y ft=sym('2*exp(-t)*Heaviside(t)+5*exp(-3*t)*Heaviside(t)');Fs=laplace(ft);s=x+i*y;FFs=2/(s+1)+5/(s+3);FFss=abs(FFs);ezmesh(FFss);ezsurf(FFss);colormap(hsv); syms t s x y ft=sym

温馨提示

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

评论

0/150

提交评论