基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。
从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。
3、Matlab 提供了大量生成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。
占空比默认为0.5。
(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。
(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e )t (f π+=的实部、虚部、模和辐角。
四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容、实验思考等2、实验内容:程序设计实验部分源代码及运行结果图示。
实验二连续时间信号在Matlab中的运算一、实验目的1、学会运用Matlab进行连续时间信号的时移、反褶和尺度变换;2、学会运用Matlab进行连续时间信号微分、积分运算;3、学会运用Matlab进行连续时间信号相加、相乘运算;4、学会运用Matlab进行连续时间信号卷积运算。
二、实验原理及实例分析1、信号的时移、反褶和尺度变换信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。
从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。
所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。
2、连续时间信号的微分和积分符号运算工具箱有强大的积分运算和求导功能。
连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(function, ‘variable’,n)其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;variable 为求导运算的独立变量;n为求导阶数,默认值为一阶导数。
连续时间信号积分运算可以使用int命令函数来完成,其语句格式为:int(function, ‘variable’, a, b)其中,function表示被积函数,或者被赋值的符号表达式;variable为积分变量;a 为积分下限,b为积分上限,a和b默认时则求不定积分。
3、信号的相加和相乘运算信号的相加和相乘是信号在同一时刻取值的相加和相乘。
因此Matlab对于时间信号的相加和相乘都是基于向量的点运算。
4、连续信号的卷积运算卷积积分是信号与系统时域分析的重要方法之一。
定义为:⎰+∞∞-=*=-2121d )t (f )(f )t (f )t (f )t (f τττ Matlab 进行卷积计算可通过符号运算方法和数值计算方法实现。
(1)Matlab 符号运算法求连续信号卷积从卷积定义出发,可以利用Matlab 符号运算法求卷积积分,但要注意积分变量和积分限的选取。
例:试用Matlab 符号运算法求卷积y(t)=[u(t)-u(t-1)]*[u(t)-u(t-1)]。
(2)Matlab 数值计算法求连续信号的卷积例:试用Matlab 数值计算法求信号)2t (u )t (u )t (f 1--=和)t (u e )t (f 3t 2-=的卷积。
三、实验内容1、已知信号的波形(课本P11例题),画出()()()()2332----t f t f t f t f ,,,的波形图。
2、使用微分命令求xsinxlnx y =关于变量x 的一阶导数;使用积分命令计算不定积分 dx x ax x ⎰⎪⎪⎭⎫ ⎝⎛+-225,定积分()dx x xe x ⎰+1021。
3、已知()()()t t f t t f Ω=Ω=8sin ,sin 21,使用命令画出两信号和及两信号乘积的波形图。
其中,Hz f 12=Ω=π 4、四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容(上述4部分代码及结果图形)、实验思考等。
实验三 连续时间LTI 系统的时域分析一、实验目的1、学会使用符号法求解连续系统的零输入响应和零状态响应2、学会使用数值法求解连续系统的零状态响应3、学会求解连续系统的冲激响应和阶跃响应二、实验原理及实例分析1、连续时间系统零输入响应和零状态响应的符号求解连续时间系统可以使用常系数微分方程来描述,其完全响应由零输入响应和零状态响应组成。
MATLAB 符号工具箱提供了dsolve 函数,可以实现对常系数微分方程的符号求解,其调用格式为:dsolve(‘eq1,eq2…’,’cond1,cond2,…’,’v ’)其中参数eq 表示各个微分方程,它与MATLAB 符号表达式的输入基本相同,微分和导数的输入是使用Dy ,D2y ,D3y 来表示y 的一价导数,二阶导数,三阶导数;参数cond 表示初始条件或者起始条件;参数v 表示自变量,默认是变量t 。
通过使用dsolve 函数可以求出系统微分方程的零输入响应和零状态响应,进而求出完全响应。
[实例1]试用Matlab 命令求齐次微分方程0)()(2)(='+''+'''t y t y t y 的零输入响应,已知起始条件为2)0(,1)0(,1)0(=''='=---y y y 。
注意,程序中绘图的时间区间一定要t>0,本程序中取[0, 8],程序运行后结果如下。
2、连续时间系统零状态响应的数值求解在实际工程中使用较多的是数值求解微分方程。
对于零输入响应来说,其数值解可以通过函数initial来实现,而该函数中的参量必须是状态变量所描述的系统模型,由于现在还没有学习状态变量相关内容,所以此处不做说明。
对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,利用该函数可以求解零初始条件下的微分方程的数值解。
其调用格式为:y=lsim(sys,f,t),其中t表示系统响应的时间抽样点向量,f是系统的输入向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。
在求解微分方程时,sys是有tf函数根据微分方程系数生成的系统函数对象,其语句格式为:sys=tf(a,b)。
其中,a和b分别为微分方程右端和左端的系数向量。
例如,对于微分方程)()()()()()()()(0'1''2'''30'1''2'''3t f b t f b t f b f f b t y a t y a t y a t y a +++=+++ 可以使用),(];,,,[];,,,[01230123a b tf sys b b b b b a a a a a ===获得其LTI 模型。
注意,如果微分方程的左端或者右端表达式有缺项,则其向量a 或者b 中对应元素应该为零,不能省略不写。
3、连续时间系统冲激响应和阶跃响应的求解在连续时间LTI系统中,冲激响应和阶跃响应是系统特性的描述。
在MATLAB中,对于冲激响应和阶跃响应的数值求解,可以使用控制工具箱中提供的函数impulse和step来求解。
), () ,(tsysstepy tsysimpulsey==其中t表示系统响应的时间抽样点向量,sys表示LTI系统模型。
三、实验内容1、已知系统的微分方程和激励信号,使用MATLAB命令画出系统的零状态响应和零输入响应(零状态响应分别使用符号法和数值法求解,零输入响应只使用符号法求解)。
要求题目2必做,题目1选做。
2、已知系统的微分方程,使用MATLAB命令画出系统的冲激响应和阶跃响应(数值法)。
要求题目2必做,题目1选做。
四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容(上述几部分代码及结果图形)、实验思考等。
实验四傅里叶变换(FT)及其性质一、实验目的1、学会运用Matlab求连续时间信号的傅里叶2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质二、实验原理及实例分析(一)傅里叶变换的实现例1:用Matlab 符号运算求解法求单边指数信号)()(2t u e t f t -=的FT 。
例2:用Matlab 符号运算求解法求211)(ωω+=j F 的IFT 。
例3:用Matlab 命令绘出例1中单边指数数信号的频谱图。
例4:用Matlab命令求图示三角脉冲的FT,并画出其幅度谱。
例5:用Matlab数值计算法求例3的三角脉冲幅度频谱图。
(二)FT 的性质1、尺度变换例6:设矩形信号)5.0()5.0()(--+=t u t u t f ,利用Matlab 命令绘出该信号及其频谱图。
同时绘出)2()2/(t f t f 和的频谱图,并加以比较。
下面利用Matlab将常规矩形脉冲信号的频谱和其调制信号(课本例3-4信号)频谱进行比较。
Matlab源程序如下:傅里叶变换的其它性质可用类似的方法验证,希望大家课下练习。
三、实验内容[注意:(1)写代码时j i]3、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图。
4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。
四、实验报告要求实验名称、实验目的、实验原理、实验环境、实验内容(上述几部分代码及结果图形)、实验思考等。