% f2:函数f1(t)的函数值向量 % t2:与f2对应的时间向量
% dt:标量时,表示卷积函数f_conv的时间向量t_conv间隔 % 向量时,表示卷积函数f_conv的时间向量t_conv向量
1.4 实验内容
1、用向量表示法描述信号f(t)=e-atsin(ωt+υ),并分析各参数对信号的影响。 1)当ω=2;υ=0,而a分别为0.5、0.8、1、1.2时绘制相应波形。(提示:在绘制第一个波形后运行hold all语句,可将以后绘制的波形同时呈现在同一副图中,便于比较分析)
2)当a=0.5;υ=0,而ω分别为1、1.5、2时绘制相应波形。
3)当a=0.5;ω=2,而υ分别为0、π/2、-π/2时绘制相应波形。(提示:Matlab中π用pi表示)
2、用向量表示法描述信号复指数函数f(t)?e(??j?0)t,并分析σ、ω0参数不同取值对复信号实部和虚部的影响。
1)σ=0、ω0=0 rad/s; 2) σ=0、ω0=1rad/s; 3) σ=0、ω0=-1rad/s; 4)σ>0、ω0=1rad/s; 5) σ<0、ω0=1rad/s; 6) σ<0、ω0=0rad/s; 7) σ>0、ω0=0rad/s;
3、用向量表示法产生指数序列f(k) = a-k,其中a分别为0.8、1、1.1、-0.8、-1、-1.1,绘制相应图形,并分析a的变化对信号的影响。
4、用向量表示法描述信号复指数序列f[k]?rkej?0t,并分析r、Ω0参数不同取值对复信号实部和虚部的影响。
1)0 5、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。 6、已知两连续时间信号如下图所示, 1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。(设定取样时间间隔为dt) 卷积运算的参考程序: dt=0.5; t1=-1:dt:3; f1 = 0.5*t1.*(u(t1)-u(t1-2)); [f, t]=conv_cs(f1,t1,f1,t1, dt); plot(t, f) 【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果? 7、已知两连续时间信号如下图所示, 1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。(设定取样时间间隔为dt) ◆卷积运算的参考程序: clear all dt = 0.01; t1 = -3:dt:3; f1 = 2*(u(t1+1) - u(t1-1)); figure; stairs(t1,f1); hold all grid on t2 = -3:dt:3; f2 = u(t2+2)-u(t2-2); stairs(t2,f2) [fn, tn] = conv_cs(f1, t1, f2, t2, dt); plot(tn, fn) grid on legend('f1', 'f2', 'f1*f2') 【实验思考】:通过不断改变dt的取值并对比所得到的实验效果,观察当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果? 实验二 连续时间系统的时域分析 2.1 实验目的: 2.1.1 熟悉MATLAB中连续系统的描述方法;并掌握利用Matlab求解线性常微分方程的基本方法。 2.1.2 通过使用MATLAB 仿真软件对LTI 系统的时域特性进行仿真分析,使学生对系统的冲激响应和零状态响应等有更深入的理解和掌握。 2.2 实验时数:2学时 2.3 实验相关知识: 2.3.1 用线性常系数微分方程描述LTI系统 线性常系数微分方程或差分方程是描述LTI系统的时域模型。一个连续时间LTI系统,它的输入信号x(t)输出信号y(t)关系可以用下面的微分方程来表达 dky(t)Mdkf(t) ak??bk?kkdtdtk?0k?0N其中,max(N, M)定义为系统的阶。线性常系数微分方程描述了LTI系统输入信号和输出信号的一种隐性关系(Implicit relationship)。为了求得系统响应信号的显式表达式(Explicit expression),必须对微分方程和差分方程求解。 对于LTI连续系统,求解系统的冲激响应h(t)和阶跃响应g(t)对我们进行连续系统的分析具有非常重要的意义。MATLAB为用户提供了专门用于求连续系统冲激响应和阶跃响应并绘制其时域波形的函数impulse()和step()。 在调用impulse()和step()函数时,我们需要用向量来对连续系统进行分析。设描述连续系统的微分方程为: ?ayii?0N(i)(t)??bjf(j)(t) j?0M则我们可用向量den和num来表示该系统,即:den=[aN, aN-1, …, a1, a0], num=[bM, bM-1, …, b1, b0]。注意,向量den和num的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项要用0来补齐。例如,对微分方程 r??(t)?3r?(t)?2r(t)?e??(t)?e(t),则表示该系统的对应向量应为den=[1, 3, 2], num=[1, 0, 1]。 1.impulse()函数 函数impulse()将绘出由向量den和num表示的连续系统在指定时间范围内的冲激响应 h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。Impulse()函数有如下几种调用格式: (1)impulse(num, den):该调用格式以默认方式绘出向量den和num定义的连续系统的冲激响应的时域波形。例如描述连续系统的微分方程为 r??(t)?5r?(t)?6r(t?)?3e(t?)2e,运行如下t(MATLAB 命令: den = [1 5 6]; num = [3 2]; impulse(num, den); 则绘出系统的冲激响应波形,如图 1 所示。 图 1 连续系统的冲激响应1 (2)impulse(num, den, t):绘出系统在0~t时间范围内冲激响应的时域波形。对上例,若运行命令impulse(b,a,10),则绘出系统在0~10 秒范围内冲激响应的时域波形,如图2 所示。