信号与系统实验报告

              

              

号与系统试验报告

         [实验一、熟悉MATLAB环境和基本信号的产生与运算

一、实验目的

1.熟悉MATLAB 的运行环境及基本操作命令;

2.掌握MATLAB中信号的表示方法;

二、实验器材

    计算机、MATLAB软件

三、实验原理       

1、 MATLAB简介

MATLAB语言是以矩阵计算为基础,语法规则简单易学,并将高性能的数值计算和可视化结合,而且有着功能强大、丰富的函数工具箱,可扩展性强,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。

 2、实验中常用的MATLAB函数命令

    function:它是自己编写程序来实现所需的功能,调用格式为:function ****( ) 括号外面为函数名称,括号中为函数中要用到的变量。

plot命令:plot命令是MATLAB中用来绘制用连续信号的波形。它的功能是将向量点用直线依次连接起来。调用格式:plot(f)或plot(t,f)。

title命令:在绘图命令中,可以用此命令来对绘制出来的波形做一些注释。调用格式为:title(‘ …… ’) 中间部分是对图形任意注释的描述。

     axis命令:此命令可以来定义绘制波形中坐标的范围。调用格式为:axis([k1,k2,g1,g2]),其中k1,k2表示横坐标的范围,g1,g2表示纵坐标的范围。

stem命令:此命令专门用来绘制离散序列的波形。调用格式为:stem(k,f) 调用此命令可以绘制出离散序列的点状图。

min、max命令:这两个命令可以用来比较算出一个向量中的最小值和最大值,或者比较得出两个值中的较小值。调用格式为:min(k),max(k),min(k1,k2),max(k1,k2)

length命令:此函数可以计算出向量的长度。调用格式为:length(f)。

ones函数:这是MATLAB中一个常用的函数,它产生元素全部为1的矩阵,调用格式为:n=0:5;ones(1,n)表示长度为整数n的阶跃序列。k=1:p:8;ones(1,length(k))表示长度为k的门信号。

subplot命令:在MATLAB绘图过程中显示多个信号的波形,调用格式为:subplot(n1,n2,k),表明把一个图形分成了n1*n2块,在第k块上绘制波形。

四、实验内容

1.自选二个简单的信号进行加减运算。

%program1.1.m

t=0:0.01:2;

f1=sin(2*t);

f2=cos(2*t);

f3=f1+f2;

plot(t,f3)

2、自选一个简单的信号进行乘法运算。

%program1.2.m

t=-2:0.01:2;

y=t.^2;

plot(t,y)

五、体会

   通过这次实验,我对MATLAB这个软件有了基本的认识,学会了在MATLAB 的运行环境下的基本操作命令,并且绘出了图形。这也使我对MATLAB软件产生了深厚的学习兴趣。

实验二  信号的变换

一、实验目的

1.掌握信号时移、反折和尺度运算的法则。

2.学习利用MATLAB进行波形的平移、反折、尺度变换等。

3.掌握信号的微积分运算。

二、实验器材

计算机、MATLAB软件

三、实验原理

1.信号的平移

信号的平移是将原信号沿时间轴左右移位的运算,即得到原信号的延时信号或者超前信号,用符号来表示就是用代替原来的t或k。

2.信号的反折

信号的反折是将信号信号中的自变量符号取反的运算,用符号来表示就是用-t代替原来的t。

3.信号的尺度变换

信号的尺度变换是将信号的横坐标用at代替t。得到f(at) (式中a≠0),即对信号横坐标的展宽或者压缩。当1>a>0 时,信号沿横轴展宽至1/a,当 a>1时,信号沿横轴压缩至原来的1/a。

4.信号的倒相

信号的倒相是指将信号所有时刻的值去翻,即将信号变成

5.信号的微积分

信号的微分就是信号对时间的求导,即

 

信号的积分就是信号对时间在区间(-∞,t)上的累加,即

 

   MATLAB里面用于信号变换的函数有subs()、diff()、int(),下面分别介绍这三个函数。

(1)subs()

subs函数是用来实现信号变换的函数,其调用格式为

subs(f,t,v)

其中,f为原始函数,t是原来函数的变量,v是新函数的变量,v和t的关系就好似时域变化的关系,即

   (2)diff()

diff()是用来求微分的函数。其调用格式为

diff(f)、 diff(f,v)、diff(f,v,n)

其中f是符号表达式,没有说的情况下求导是对变量x的求导,v是新的求导变量,n是求导的阶数。

(3)inf()

inf()函数是用来求积分的函数。其调用格式为

inf(f)、inf(f,a,b)、inf(f,v)、inf(f,v,a,b)

求符号表达式f的不定积分。里面的a、b表示积分的上下限,f、v和上面的求导函数表示的一样,这里不在叙述。

四、实验内容

1、已知连续时间信号,试用matlab绘出的时域波形。

%program2.1.m

syms t;

f=sym('(3*t-2)*(heaviside(t)-heaviside(t-2))');

f1=subs(f,t,-t);

f2=-f;

f3=subs(f,t,t-2);

f4=subs(f,t,0.5*t);

f5=subs(f,t,-3*t-2);

subplot(3,2,1);ezplot(f,[-15,15]);title('f(t)');grid on;

subplot(3,2,2);ezplot(f1,[-15,15]);title('f(-t)');grid on;

subplot(3,2,3);ezplot(f2,[-15,15]);title('-f(t)');grid on;

subplot(3,2,4);ezplot(f3,[-15,15]);title('f(t-2)');grid on;

subplot(3,2,5);ezplot(f4,[-15,15]);title('f(0.5t)');grid on;

subplot(3,2,6);ezplot(f5,[-15,15]);title('f(-3t-2)');grid on;

2、已知,试用matlab法求

%program2.2.m

syms t;

f=sym('(t^3)*heaviside(t)');

g=diff(f,3)

d=int(f,2,1)

结果:

 g =6*heaviside(t)+18*t*dirac(t)+9*t^2*dirac(1,t)+t^3*dirac(2,t)

 d =-15/4

五、体会

  通过这次实验,利用MATLAB软件绘出连续信号的波形,理论与实际结合,使我对信号变换有了更深层次的理解。

实验三、信号的卷积

一、实验目的

1.掌握信号卷积的定义;

2.掌握MATLAB计算信号卷积的方法;

3.利用MATLAB验证卷积的性质;

二、实验器材

计算机、MATLAB软件

三、实验原理

在信号与线性系统的分析中,卷积运算是一个特别有用的工具。

连续时间信号的卷积定义为

离散时间信号卷积是用卷积和来描述,即

              

在MATLAB中,conv( )函数可以快速求出两个离散时间信号的卷积和。其调用格式为:

                    y=conv(x,h)

其中调用参数x,h分别为参与卷积运算的两个离散信号,x为包含离散信号的非零样值点的行向量,h为包含离散信号的非零样值点的行向量,向量y则返回离散信号的所有非零样值点行向量。

由于conv是MATLAB中针对离散时间信号求卷积的函数,但它不适用于连续时间信号的卷积积分的形式。由于连续时间信号可以近似表示为一系列矩形窄脉冲信号和时间平移信号的叠加,即

式中n为整数。当时,上述两求和式将变为积分式,即

所以对连续时间的信号的卷积积分计算我们可以用卷积和的数值计算来近似计算卷积积分,来选取较小的间隔获得较好的近似。则连续时间信号的卷积计算公式变为

      

因为时间t的离散化,则求的卷积积分信号(k为整数)时的离散时间抽样值,则可得

        

当时间间隔足够小时,离散时间值就是卷积积分信号的较好近似。而上式中的求和式就是离散时间信号的卷积和。因此,我们可以用MATLAB中的conv()函数来实现连续时间信号卷积积分的计算,其具体步骤如下:

1.将连续信号以时间间隔进行取样,得到离散序列

2.构造与相对应的时间向量k1和k2;

3.调用conv( )函数计算卷积积分的近似向量

四、实验内容

   1、求离散序列的卷积。在MATLAB窗口下,打开一个空白编辑窗口,先将要卷积的两个离散信号表示出来,然后利用conv( )函数其卷积,利用stem( )函数来显示波形。把编辑好的程序存入到MATLAB根目录下的work文件夹中,按F5进行编译运行。观察输出序列并记录下来。

%program3.1.m

x=[1,2,3,4,5];

h=[2,3,5];

y=conv(x,h)

subplot(1,3,1);stem(x);title('x(k)');

subplot(1,3,2);stem(h);title('h(k)');

subplot(1,3,3);stem(y);title('y(k)');

y =

     2     7    17    27    37    35    25

2、求连续信号的卷积。根据示范程序例子和上述步骤求不同的两个连续时间信号的卷积,并观察波形波形和时域范围的变化,并记录下来。

%program3.2.m

t1=0:0.01:4;

x1=ones(1,length(t1));

t2=0:0.01:2;

x2=ones(1,length(t2));

t=(t1(1)+t2(1)):0.01:(t1(length(t1))+t2(length(t2)));

y=conv(x1,x2)*0.01;

subplot(1,3,1);plot(t1,x1);title('x1(t)');grid on;

subplot(1,3,2);plot(t2,x2);title('x2(t)');grid on;

subplot(1,3,3);plot(t,y);title('y(t)');grid on;

五、体会

    通过这次实验,我掌握了MATLAB软件计算信号卷积的方法,有助于我理论课的学习。

实验四、连续系统的时域分析

一、实验目的

1.理解连续系统时域分析方法.

2.学习利用MATLAB对连续系统进行时域分析的方法.

3.掌握单位冲激响应和单位阶跃响应一般求解方法和基本特征,学习利用matlab求此响应的方法。

4.掌握单位冲激响应与系统稳定性、因果性之间的关系。

二、实验器材

计算机、MATLAB软件

三、实验原理

对于单输入-单输出系统的输入激励为,输出响应为,则描述连续线性时不变(LTI)系统的数学模型为n阶次的常系数线性微分方程,形式如下

      (5-1)

式子中,均为常数。

由信号与系统的分析理论值,如果描述系统的微分方程、激励和初始状态已知,我们可用经典时域求解法求出其解。但对于高阶系统,手工计算十分的繁琐,甚至很困难,这时我们可以用matlab工具求解。

   Matlab里提供了求(5-1)解用到的函数,分别lism()、impluse()、step()、dsolve()。下面我们分别介绍这四个函数。

1.lsim()

   Lsim函数是求离散系统的专用函数,其调用形式有两种。

①lsim(sys,f,t)     

该调用形式是对向量t定义的时间范围内的系统响应进行仿真。其中,输入参量f是输入信号在向量t定义的时间点上的采样值,输入参量t是输入信号时间范围向量,输入向量sys是由matlab的tf函数根据描述系统的微分方程的系数生成的系统函数对象。

②y=lsim(sys,f,t)

该调用格式是由输出参量y返回由输入参量sys、f和t所定义的系统在与向量t定义的时间范围内相一致的系统响应的数值解。

2.impluse()

impluse()是专门用于求连续系统冲激响应并绘制其时域波形的函数。由第2章的知识得,只要求出单位冲激响应,根据卷积就可以求出其零状态响应,其调用格式有如下四种。

①impluse (b,a)  

该调用格式在当前图形窗口绘出由向量a和b所定义的LTI连续时间系统的单位冲激

响应的时域波形。          

②impluse (b,a,t)

该调用格式绘出由向量a和b所定义的连续系统在时间参数t所指定的0-t范围内的

单位冲激响应的时域波形。

③impluse (b,a,t1:ts:t2)

该调用格式是绘出由向量a和b所定义的连续时间系统在t1-t2时间范围内,且以时

间间隔为ts均匀采样的系统的单位冲激响应的时域波形。

④y=impluse (b,a,t1:ts:t2)

该调用格式不绘出系统单位冲激响应的时域波形,而是求出向量b和a定义的连续系

统在t1-t2时间范围内以时间间隔为ts均匀采样的系统的单位冲激响应的数值解。

3.step()

step()是专门用于求连续系统冲激响应并绘制其时域波形的函数。其调用格式有如下四种格式

①step (b,a)                 

②step (b,a,t)

③step (b,a,t1:ts:t2)

④y=step (b,a,t1:ts:t2)

它们的区别跟impluse()类似,这里不在叙述。

4.dsolve()

dsolve()是求解微分方程的符号解的函数,其调用形式为

r=dsolve(‘eq1,eq2,…’,’cond1,cond2,…’,’v’)

或r=dsolve(‘eq1’,eq2’,…,’cond1’,’cond2’,…,’v’)

其中cond1、cond2….是初始条件(如没有给出初始条件,则默认为求通解),v为自变量变量。在matlab里用D表示一阶微分,D2为二阶微分……。函数dsolve把D后的变量当成因变量,默认为这些变量对自变量的求倒。

四、实验内容

1.已知描述某连续系统的微分方程为

试利用matlab绘出该系统的冲激响应和阶跃响应的时域波形,并根据冲激响应判断系统的稳定性。

% Program4.1.m

a=[1 3 2];

b=[1 2];

subplot(2,1,1)

impulse(b,a)

subplot(2,1,2)

step(b,a)

2、已知描述某连续系统的微分方程为

试利用matlab求出该系统当激励信号为时,系统的响应,并绘出激励和响应的波形。

%program 4.2.m

a=[1 2 3];

b=[1 0 2];

sys=tf(b,a);

t=0:0.01:5;

f=exp(-2*t);

lsim(sys,f,t);

3、求三阶系统在初始条件下的零输入响应的解、零状态响应的解及全解。

%program4.3.m

yzi=dsolve('D3y+5*Dy+y=0','y(0)=0,Dy(0)=1,D2y(0)=0')

yzs=dsolve('D3y+5*Dy+y=exp(-3*t)','y(0)=0,Dy(0)=0,D2y(0)=0')

y=dsolve('D3y+5*Dy+y=exp(-3*t)','y(0)=0,Dy(0)=1,D2y(0)=0')

结果:

yzi =

(-1/10540*527^(1/2)*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)+1/60*(108+12*3^(1/2)*527^(1/2))^(1/3)-1/18972*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp(-1/6*((108+12*1581^(1/2))^(2/3)-60)/(108+12*1581^(1/2))^(1/3)*t)+(-3/10540*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)+1/60*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)+1/6324*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2))*exp((1/12*(108+12*1581^(1/2))^(2/3)-5)/(108+12*1581^(1/2))^(1/3)*t)*sin(1/12/(108+12*1581^(1/2))^(1/3)*(3^(1/2)*(108+12*1581^(1/2))^(2/3)+60*3^(1/2))*t)+(1/10540*527^(1/2)*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-1/60*(108+12*3^(1/2)*527^(1/2))^(1/3)+1/18972*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp((1/12*(108+12*1581^(1/2))^(2/3)-5)/(108+12*1581^(1/2))^(1/3)*t)*cos(1/12/(108+12*1581^(1/2))^(1/3)*(3^(1/2)*(108+12*1581^(1/2))^(2/3)+60*3^(1/2))*t)

yzs =

-1/41*exp(-3*t)+(1/123-1/820*(108+12*3^(1/2)*527^(1/2))^(1/3)+397/3889260*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2)+37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)+13/12964200*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp(1/1800*(108+12*1581^(1/2))^(1/3)*(-300-9*(108+12*1581^(1/2))^(1/3)+(108+12*1581^(1/2))^(1/3)*1581^(1/2))*t)+(1/820*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-397/1296420*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)+37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)*3^(1/2)+13/4321400*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2))*exp(-1/3600*(108+12*3^(1/2)*527^(1/2))^(1/3)*(-300-9*(108+12*3^(1/2)*527^(1/2))^(1/3)+(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2))*t)*sin(1/1200*(108+12*3^(1/2)*527^(1/2))^(1/3)*(3*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)-100*3^(1/2))*t)+(2/123+1/820*(108+12*3^(1/2)*527^(1/2))^(1/3)-397/3889260*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2)-37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)-13/12964200*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp(-1/3600*(108+12*3^(1/2)*527^(1/2))^(1/3)*(-300-9*(108+12*3^(1/2)*527^(1/2))^(1/3)+(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2))*t)*cos(1/1200*(108+12*3^(1/2)*527^(1/2))^(1/3)*(3*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)-100*3^(1/2))*t)

 y =

-1/41*exp(-3*t)+(1/123+19/1230*(108+12*3^(1/2)*527^(1/2))^(1/3)+7/972315*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2)+37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)-2011/38892600*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp(1/1800*(108+12*1581^(1/2))^(1/3)*(-300-9*(108+12*1581^(1/2))^(1/3)+(108+12*1581^(1/2))^(1/3)*1581^(1/2))*t)+(-7/324105*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)-19/1230*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)+37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)*3^(1/2)-2011/12964200*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2))*exp(-1/3600*(108+12*3^(1/2)*527^(1/2))^(1/3)*(-300-9*(108+12*3^(1/2)*527^(1/2))^(1/3)+(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2))*t)*sin(1/1200*(108+12*3^(1/2)*527^(1/2))^(1/3)*(3*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)-100*3^(1/2))*t)+(2/123-19/1230*(108+12*3^(1/2)*527^(1/2))^(1/3)-7/972315*(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2)-37/73800*(108+12*3^(1/2)*527^(1/2))^(2/3)+2011/38892600*(108+12*3^(1/2)*527^(1/2))^(2/3)*527^(1/2)*3^(1/2))*exp(-1/3600*(108+12*3^(1/2)*527^(1/2))^(1/3)*(-300-9*(108+12*3^(1/2)*527^(1/2))^(1/3)+(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)*3^(1/2))*t)*cos(1/1200*(108+12*3^(1/2)*527^(1/2))^(1/3)*(3*3^(1/2)*(108+12*3^(1/2)*527^(1/2))^(1/3)-(108+12*3^(1/2)*527^(1/2))^(1/3)*527^(1/2)-100*3^(1/2))*t)

五、体会

通过这次实验,我明白了连续系统的时域分析,学会了单位冲激响应和单位阶跃响应一般求解方法和基本特征,认识到了单位冲激响应与系统稳定性、因果性之间的关系。理论实际相结合,我对信号系统有了更加浓厚的学习兴趣。

相关推荐