当前位置:文档之家› 信号与系统实验指导书

信号与系统实验指导书

《信号与系统》实验指导书科技学院电气与信息工程学院2014年3月目录实验一连续时间信号的MATLAB表示实验二连续时间LTI系统的时域分析实验三连续时间LTI系统的频率特性及频域分析实验四连续时间LTI系统的零极点分析实验五典型离散信号及其MATLAB实现实验一连时间信号的MATLAB表示实验目的1.掌握MATLAB语言的基本操作,学习基本的编程功能;2.掌握MATLAB产生常用连续时间信号的编程方法;3.观察并熟悉常用连续时间信号的波形和特性。

实验原理1. 连续信号MATLAB实现原理从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号。

然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。

MATLAB提供了大量生成基本信号的函数。

比如常用的指数信号、正余弦信号等都是MATLAB 的部函数。

为了表示连续时间信号,需定义某一时间或自变量的围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。

2. 典型信号的MATLAB表示(1) 实指数信号:()at,式中K,a为实数。

在MATLAB中可以利用exp()函数实现,f t Ke其语句格式为:y=K*exp(a*t)。

(2) 正弦信号:()sin()f t K t ωϕ=+或()cos()f t K t ωϕ=+,其中K 为振幅,ω是角频率;φ是初相位。

在MATLAB 中可以利用sin()或cos()函数实现,其语句格式为K *sin(ω*t+phi),K *cos(ω*t+phi)。

(3) 单位阶跃信号:单位阶跃信号定义为()()10()00t t t ε>⎧⎪=⎨<⎪⎩,单位阶跃信号在MATLAB 中用“( t >=0)”产生。

MATLAB 表达式“y = ( t >=0)”的含义就是t ≥ 0时y =1,而当t < 0时y =0。

此外,也可在MATLAB 的work 目录下创建uCT 的M 文件,其MATLAB 源程序为function f=uCT(t)f=(t>=0);保存为uCT.m 后,就可以调用该函数。

自定义函数注意,在此定义的uCT 函数是阶跃信号数值表示方法,因此在数值计算中我们将调用uCT 函数。

而在MATLAB 的MAPLE 核中,将Heaviside 函数定义为阶跃信号符号表达式,在符号运算过程中,若要调用它必须用sym 定义后,才能实现。

(4) 复指数信号:()()cos()sin()st j t t t f t Ke KeKe t jKe t σωσσωω+===+,其中,s =σ+j ω是复变量;σ、ω为实数。

在MATLAB 中可以利用exp()函数表示复指数信号,MATLAB 中默认变量i 为虚部单位,求取实部用real()函数,求取虚部用imag()函数,求取模用abs()函数,求取相角用angle()函数。

(5) 抽样信号:()sin()/Sa t t t =,在MATLAB 中用与Sa(t )类似的sinc (t )函数表示,定义为sin ()sin()/()c t t t ππ=。

(6) 矩形脉冲信号:()()1/2()0/2t g t t τττ⎧<⎪=⎨>⎪⎩在MATLAB 中可用rectpuls()函数产生,其语句格式为y=rectpuls(t,width),该函数用于产生一个幅度为1、宽度为width ,且以t=0为对称轴的矩形脉冲信号,width 的默认值为1。

周期性矩形波信号或方波在MATLAB 中可用square 函数产生,其语句格式为square(t,DUTY)。

该函数用于产生一个周期为2π、幅值为1±的周期性方波信号,其中,DUTY参数用来表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。

占空比默认值为0.5。

(7) 三角波脉冲信号:在MATLAB中可用tripuls()函数产生,其语句格式为y=tripuls(t,width,skew),该函数用于产生一个幅度为1、宽度为width,且以t=0为中心左右各展开width/2大小、斜度为skew的三角波。

width的默认值为1,skew的取值围在-1~+1之间。

一般最大幅度1出现在t=(width/2)×skew的横坐标位置,默认时skew=0,此时产生对称三角波。

(8) 下面的函数也可以产生特定的信号y=fliplr(t)——信号的翻转;y=sawtooth(t,width)——产生锯齿波信号。

实验容1. 实例分析与验证根据以上典型信号的MATLAB函数,分析与验证下列典型信号MATLAB程序,并实现各信号波形图的显示,连续信号的图形显示使用连续二维图函数plot()。

(1) 正弦信号:用MATLAB命令产生正弦信号2sin(2/4)ππ+,并会出时间0≤t≤3的波形图。

程序如下:K=2;w=2*pi ;phi=pi/4;t=0:0.01:3;ft=K*sin(w*t+phi);plot(t,ft),grid on;axis([0,3,-2.2,2.2])title('正弦信号')(2) 抽样信号:用MATLAB 中的sinc(t)函数命令产生抽样信号Sa(t),并会出时间为66t ππ-≤≤的波形图。

程序如下:t=-6*pi:pi/100:6*pi;ft=sinc(t/pi);plot(t,ft),grid on;axis([-20,20,-0.5,1.2])title('抽样信号')(3) 矩形脉冲信号:用MATLAB 中y=rectpuls(t,width)函数命令画出下列矩形脉冲信号的波形图2(01)()0(0,1)t f t t t ≤≤⎧=⎨<>⎩程序如下:t=-0.5:0.01:3;t0=0.5;width=1;ft=2*rectpuls(t-t0,width);plot(t,ft),grid on;axis([-0.5,3,-0.2,2.2])title('矩形脉冲信号') (4) 单位阶跃信号:用MATLAB 命令“y=(t>=0)”绘出-1≤ t ≤ 5单位阶跃信号ε(t )。

程序如下:t=-1:0.01:5;ft=(t>=0);plot(t,ft),grid on;axis([-1,5,-0.5,1.5]);title('单位阶跃信号')也可通过定义阶跃函数来实现,function f=uCT(t);f=(t>=0);保存为uCT.m文件,上面实现阶跃信号的程序变为t=-1:0.01:5;ft=uCT(t);plot(t,ft),grid on;axis([-1,5,-0.5,1.5]);title('单位阶跃信号')2. 实践编程(1) 复指数信号:用MATLAB命令画出0≤t≤3复指数信号( 1.510)=的实部、虚部、f t e-+()2j t模及相角随时间变化的曲线,并观察其时域特性。

程序如下:t=0:0.01:3;k=2;a=-1.5;b=10;ft=k*exp((a+i*b)*t);subplot(2,2,1);plot(t,real(ft));title('实部');axis([0,3,-2,2]);grid on;subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([0,3,-2,2]);grid on;subplot(2,2,3);plot(t,abs(ft));title('模');axis([0,3,0,2]);grid on;subplot(2,2,4);plot(t,angle(ft));title('相角');axis([0,3,-4,4]);grid on;(2) 用MATLAB 中y=square(t,DUTY)产生频率为10Hz 、占空比为30%的周期方波信号。

程序如下:t=0:0.001:3;y=square(2*pi*10*t,30);plot(t,y);grid on;axis([0,0.3,-1.2,1.2]);title('周期方波信号')(3) 用上面定义的uCT 阶跃函数实现幅度为1、宽度为1的门函数()g t 。

程序如下:t=-1:0.01:1;ft=uCT(t+0.5)-uCT(t-0.5);plot(t,ft);grid on;axis([-1,1,-0.2,1.2])title('门函数')实验分析观察实验结果,掌握、分析典型的连续时间信号波形特点。

实验总结总结实验认识、过程、效果、问题、收获、体会、意见和建议。

实验二 连续时间LTI 系统的时域分析实验目的1.运用MATLAB 符号求解连续系统的零输入响应和零状态响应;2.运用MATLAB 数值求解连续系统的零状态响应;3.运用MATLAB 求解连续系统的冲激响应和阶跃响应;4.运用MATLAB 卷积积分法求解系统的零状态响应。

实验原理1. 连续时间系统零输入响应和零状态响应的符号求解LTI 连续系统可用线性常系数微分方程描述,即()()00()()N M i j ij i j a y t b f t ===∑∑ MATLAB 符号工具箱提供了dsolve 函数,可实现常系数微分方程的符号求解,其调用格式为dsolve(‘eq1,eq2,…’,’cond1,cond2,…’,’v ’)其中,参数eq1,eq2、…表示各微分方程,它与MATLAB 符号表达式的输入基本相同,微分或导数的输入是用Dy 、D2y 、D3y 、…来表示y 的一阶导数y '、二阶导数y ''、三阶导数y '''、…;参数cond1、cond2、…表示各初始条件或起始条件;参数v 表示自变量,默认为是变量t 。

可利用dsolve 函数来求解系统微分方程的零输入响应和零状态响应,进而求出完全响应。

2. 连续时间系统零状态响应的数值求解实际工程中用的较多求解微分方程的方法是数值求解。

零输入响应的求解可通过函数initial来实现,initial函数中的参量必须是状态变量所描述的系统模型。

对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,该函数可求解零初始条件下微分方程的数值解,语句格式为y=lsim(sys,f,t)其中,t表示计算系统响应的时间抽样点向量;f是系统的输入信号向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。

相关主题