1、信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编0实验一 MATLAB 简介及连续信号的基本运算一. 实验目的 1. 熟悉 MATLAB 软件平台; 2. 掌握 MATLAB 编程方法、常用语句和可视化绘图技术; 3. 学习 MATLAB 编程实现常用信号的表示方法及基本运算;二. 实验原理 连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。严格来说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。矩阵是 MATLAB 进行数据处理
2、的基本单元,矩阵运算是 MATLAB 最重要的运算。通常意义上的数量(也称为标量)在 MATLAB 系统中是作为 11 的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。通常用向量表示信号的时间取值范围,如 n = -5:5,但信号 x(n)、向量 n 本身的下标都是从 1 开始的,因此必须用一个与向量 x 等长的定位时间变量n,以及向量 x,才能完整地表示序列 x(n)。在 MATLAB 可视化绘图中,对于以 t 为自变量的连续信号,在绘图时统一用 plot 函数;而对 n 为自变量的离散序列,在绘图时统一用 stem 函数。 1.单位阶跃信号 (t)和单位冲激信号 (t)的 m 文件在
3、自己的工作目录中创建如下两个 m 文件。(1)单位阶跃信号 (t)function f=heaviside(t) %阶跃信号f=(t0);(2)单位冲激信号 (t)function chongji(t1,t2,t0) %冲激信号 (t- t0),t 1 和 t2 分为起始时间和终止时间dt=0.01;信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编1t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;stairs(t,x); %以阶梯方式绘画axis(t1,t2,0,1.1/dt)2.连续信号的相加、相乘、时移、反转和尺
4、度变换等基本运算(1)两个连续信号的相加在 MATLAB 中要实现两个连续信号 f1(t)、f 2(t)的相加,可用如下语句:x=symadd(f1,f2) 或 x=f1+f2 % x(t)= f1(t)+f2(t)(2)两个连续信号的相乘在 MATLAB 中要实现两个连续信号 f1(t)、f 2(t)的相乘,可用如下语句:x=symmul(f1,f2) 或 x=f1*f2 % x(t)= f1(t) f2(t)(3)连续信号的平移要实现连续信号 f(t)向右平移 t0,MATLAB 语句格式为:x=subs(f,t,t-t0) % x(t)= f(t-t0)(4)连续信号的反转要实现连续信号
5、 f(t)的反转,MATLAB 语句格式为:x=subs(f,t,-t) % x(t)= f(-t)(5)连续信号的尺度变换要实现连续信号 f(t)的尺度变换,MATLAB 语句格式为:x=subs(f,t,a*t) % x(t)= f(at)要实现连续信号 f(t)的平移、尺度变换的综合运算,MATLAB 语句格式为:x=subs(f,t,a*t-b) % x(t)= f(at-b)例 1:信号 f1(t)、 f2(t)如图 1(a)、(b)所示,编制一个 m 文件,绘出 f1(t)=e-0.5t(t)-(t-2)、f2(t)=sin(5t)(t)-(t-2)、f 1(-2t+1)、f 1(
6、t) f2(t-1)的波形。解:实现所要求运算的 m 文件如下,syms tf1=sym(exp(-0.5*t)*(heaviside(t)-heaviside(t-2);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编2f2=sym(sin(5*pi*t)*(heaviside(t)-heaviside(t-2);subplot(2,2,1),ezplot(f1);title(f1);subplot(2,2,2), ezplot(f2);title(f2);f3=subs(f1,t,-2*t+1); subplot(2,2,3);ezplot(f3);title(f3); f4=f1
7、*subs(f2,t,t-1);subplot(2,2,4);ezplot(f4);title(f4); 运算结果如图 9-1 所示。其中,图 9-1(a)、(b)、(c) 、(d)分别为 f1(t)、f 2(t) 、f 1(-t+1) 、f 1(t) f2(t-1)的波形。3.连续信号的卷积运算由于 MATLAB 运算的特点,两个连续信号 f1(t)、f 2(t)的卷积 f(t)=f1(t)*f2(t),用 MATLAB 实现的过程应为:(1)将连续信号 f1(t)、f 2(t)以时间间隔 进行取样,得离散序列 f1(k)、f 2(k);(2)构造 f1(k)、f 2(k)与相对应的时间向量
8、 k1 和 k2;(3)调用 conv()函数计算卷积积分 f(t)的近似向量 f(k);(4)构造 f(k)对应的时间向量 k。下面是利用 MATLAB 实现连续信号卷积运算的通用函数 sconv(),它在计算出卷积积分近似值的同时,还绘出 f(t)的波形图。function f,k=sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分 f(t)=f1(t)*f2(t)%f:卷积积分 f(t)对应的非零值向量%k:f(t)的对应时间向量%f1,f2:f1(t),f2(t)的非零样值向量%k1,k2:f1(t),f2(t)的对应时间向量%p:取样时间间隔f=conv(f1,f2);
9、%计算序列 f1,f2 的卷积和 ff=f*p;k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度k=k0:p:k3*p; %确定卷积和 f 非零样值的时间向量subplot(2,2,1);图 1信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编3plot(k1,f1); title(f1(t); xlabel(t); ylabel(f1(t);subplot(2,2,2);plot(k2,f2); title(f2(t); xlabel(t); ylabel(f2(t);subpl
10、ot(2,2,3);plot(k,f); %画出卷积 f(t)的波形title(f(t)=f1(t)*f2(t); xlabel(t); ylabel(f(t);h=get(gca,position);h(3)=2.5*h(3);set(gca,position,h) %将第三个子图的横坐标扩展为原来的 2.5 倍例 2:已知 f1(t)=e-t(t)-(t-2)、 f2(t) = (t)-(t-3),编制一个 m 文件,绘出 f1(t)、f 2(t)和f(t)=f1(t)* f2(t)的波形。解:实现所要求运算的 m 文件如下,运算结果如图 2 所示。p=0.01;k1=0:p:2f1=ex
11、p(-k1);k2=0:p:3;f2=ones(1,length(k2);f,k=sconv(f1,f2,k1,k2,p)三. 实验内容1.建立一个文件夹,以自己名字的拼音命名,用以存放自己所编制的 M 文件和产生的结果,并设置成当前工作目录。 2. 编写 M 文件,绘出信号 、0.51()sin(2)(6)tftett的波形及其卷积结果的波形,取样时间间隔为 0.05s。)0()(2ttfM 文件:syms tf1=sym(exp(-0.5*t)*sin(2*pi*t)*(heaviside(t)-heaviside(t-6);f2=sym(heaviside(t)-heaviside(t-
12、10);frgure1;subplot(2,2,1),ezplot(f1);title(f1);subplot(2,2,2), ezplot(f2);title(f2);frgure2;f1=sym(exp(-0.5*t)*sin(2*pi*t)*(heaviside(t)-heaviside(t-6);f2=sym(heaviside(t)-heaviside(t-10);p=0.05;图 2信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编4k1=0:p:6;f1=exp(-k1);k2=0:p:10;f2=ones(1,length(k2);f,k=sconv(f1,f2,k1,k
13、2,p);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编53. 编写 M 文件,绘出 f 1(t)=Sa(2t),f 2(t)= f 1(2t-2)的波形,t 的范围在-2 2s。M 文件:syms tf1=(sin(2*pi*t)/(2*pi*t)*(heaviside(t+2)-heaviside(t-2);f2=subs(f1,t,2*t-2); subplot(2,2,1),ezplot(f1);title(f1);subplot(2,2,2),ezplot(f2);title(f2);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编6四. 实验报告 1. 报告组成部
14、分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部 m 文件。思考题:在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用函数结束后是否还存在?这些变量是全局还是局部变量? 信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编7实验二 连续 LTI 系统的时域分析 一. 实验目的 1. 加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法; 2. 掌握求解给定连续系统的冲激响应和阶跃响应的方法。 二. 实验原理 1.连续系统零状态响应的数值解线性时不变 (LTI) 连续时间系统用常系数线性微分方程进行描述,系统的零状态响应就是在系统初始状态为
15、零条件下微分方程的解。MATLAB 控制系统工具箱提供了一个 lism 函数来求解连续时间系统的零状态响应,其调用格式为y = lism(sys,f,t)其中 t 表示计算系统响应的时间抽样点向量, f 是系统输入信号向量,sys 是 LTI 系统模型,用来表示微分方程、状态方程。在求解微分方程时,微分方程的 LTI 系统模型 sys 要借助MATLAB 中的 tf 函数来获得,其调用格式为sys = tf(b,a)其中 a、b 分别为微分方程左端和右端各项的系统向量。例如系统方程 (3)(2)(1) (2)(1)2 0 0()ayttayttbftftbft该方程左边、右边的系数向量分别为
16、, 。321,210,例 1:描述某线性时不变系统的方程为 “()4()()yttytftft试求:当 时,系统的零状态响应 。tfezsy解:实现所要求运算的 m 文件如下,a = 1 4 4; %将 y( t) 各阶导数的系数放在向量 a 中b = 1 3; %将 f( t) 各阶导数的系数放在向量 b 中sys = tf(b, a); %求系统模型 systd = 0.01; %定义时间间隔信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编8t = 0 : td : 10; %定义时间向量f = exp(-t); %将 f( t)表示出来y = lsim(sys, f, t); %
17、求系统的零状态响应plot(t, y); %绘出零状态响应的波形xlabel(t(sec); %给出 x 坐标的标签ylabel(y(t); %给出 y 坐标的标签grid on %在图上显示方格程序运行结果见图 1。0 1 2 3 4 5 6 7 8 9 1000.050.10.150.20.250.30.35t(sec)y(t)图 1. 零状态响应波形2.连续系统的冲激响应和阶跃响应连续系统的冲激响应、阶跃响应分别是输入信号为 和 所对应的零状态响应。()tMATLAB 控制系统工具箱专门提供了两个函数求解连续系统的冲激响应和阶跃响应。冲激响应:y = impulse(sys, t) ;阶
18、跃响应:y = step(sys, t);其中 t 表示计算系统响应的时间抽样点向量, sys 是 LTI 系统模型。例 2:描述某线性时不变系统的方程为“()10()2()10()yttytftft试求系统的冲激响应 h(t)和阶跃响应 g(t)。解:实现所要求运算的 m 文件如下,信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编9b=20 100; %输入微分方程右边的系数行向量;a=1 2 100; %输入微分方程左边的系统行向量;sys=tf(b,a); t=0:0.02:4; %定义时间向量figure(1) impulse(sys,t); %计算冲激响应并绘制波形figur
19、e(2)step(sys,t); %计算阶跃响应并绘制波形运算结果如图 2(a)、(b)所示。0 0.5 1 1.5 2 2.5 3 3.5 4-20-15-10-50510152025 Impulse ResponseTime (sec)Amplitude图 2(a) 冲激响应波形0 0.5 1 1.5 2 2.5 3 3.5 4-0.500.511.522.53 Step ResponseTime (sec)Amplitude图 2(b) 阶跃响应波形信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编10三. 实验内容1.已知系统的微分方程为 “()2()yttytft若 ,计算系统
20、的零状态响应 、冲激响应 和阶跃响应 ,并画出波形()tfezs()ht()gt图。M 文件:a = 1 2 2; %将 y(t )各阶导数的系数放在向量 a 中b = 1 0; %将 f(t)各阶导数的系数放在向量 b 中sys = tf(b, a); %求系统模型 systd = 0.01; %定义时间间隔t = 0 : td : 10; %定义时间向量f = exp(-t); %将 f( t)表示出来y = lsim(sys, f, t); %求系统的零状态响应plot(t, y); %绘出零状态响应的波形xlabel(t(sec); %给出 x 坐标的标签ylabel(y(t); %给
21、出 y 坐标的标签grid on %在图上显示方格信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编11零状态响应 ()zsytM 文件:a = 1 2 2; %将 y(t )各阶导数的系数放在向量 a 中b = 1 0; %将 f(t)各阶导数的系数放在向量 b 中sys = tf(b, a); %求系统模型 systd = 0.01; %定义时间间隔t = 0 : td : 10; %定义时间向量f = exp(-t); %将 f( t)表示出来figure(1) impulse(sys,t); %计算冲激响应并绘制波形figure(2)step(sys,t); %计算阶跃响应并绘制
22、波形冲激响应 ()ht信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编12阶跃响应 ()gt2.已知系统的微分方程为 )(),(62)(3)( tfttftytty 分别求系统的零状态响应和阶跃响应,并在一个窗口中画出两个图形,观察结果。如果输入信号改为 ,那么结果又将如何? ()ftM 文件:a = 1 3 2; %将 y(t )各阶导数的系数放在向量 a 中b = 2 6; %将 f(t)各阶导数的系数放在向量 b 中sys = tf(b,a); %求系统模型 systd = 0.01; %定义时间间隔t = 0 : td : 10; %定义时间向量f = ones(1,lengt
23、h(t); %将 f(t )表示出来y = lsim(sys, f, t); %求系统的零状态响应subplot(2,1,1);plot(t,y);title(零状态响应);xlabel(t(sec); ylabel(yzs(t);%绘出零状态响应的波形grid on %在图上显示方格subplot(2,1,2);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编13step(sys,t); %计算阶跃响应并绘制波形xlabel(t); %给出 x 坐标的标签ylabel(g(t); %给出 y 坐标的标签grid on %在图上显示方格四. 实验报告 1. 报告组成部分:实验目的、实验
24、原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部 m 文件。3. 简述心得体会。信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编14实验三 连续 LTI 系统的复频域分析 一. 实验目的 1. 掌握基于 MATLAB 的拉普拉斯变换和反变换分析应用。进一步了解用 MATLAB 计算复杂系统的方法。2. 掌握用 MATLAB 分析并绘制连续系统零极点图以判断因果系统稳定的方法。3. 掌握用 MATLAB 实现连续系统的频率特性及其幅度特性、相位特性。 二. 实验原理 1.拉普拉斯变换和反变换的符号运算在 MATLAB 符号运算工具箱中,提供了拉普拉斯正变换和反变换的函数。正变
25、换的调用格式为F = laplace(f)其中 f 为时间函数的符号表达式,F 为拉普拉斯变换式,也是符号表达式。反变换的调用格式为f = ilaplace(F)其中 F 为拉普拉斯变换式的符号表达式,f 为时间函数,是符号形式。例 1:求解拉普拉斯变换及反变换。(1)求 的象函数 F(s)。2()tfe(2)求 的原函数 f(t)。(3)s解:实现(1)所求运算的 m 文件如下,syms t ;e = sym(Heaviside(t);F=laplace(t*exp(-2*t)*e)运行结果:信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编15实现(2)所求运算的 m 文件如下,sy
26、ms sf=ilaplace(s+2)/(s+1)2)*(s+3)*s)运行结果:2.连续系统的零极点分析系统函数 H(s)通常是一个有理分式,其分子和分母均为多项式。计算 H(s)的零极点可以应用 MATLAB 提供的 roots 函数,求出分子和分母多项式的根即可。绘制系统的零极点分布图可以根据已求出的零极点,利用 plot 语句画图,还可以由 H(s)直接应用 pzmap 函数画图。pzmap 函数的调用形式 pzmap(sys)表示绘制出 sys 所描述系统的零极点图。LTI 系统模型要借助 tf 函数获得,其调用方式为sys=tf(b,a)式中 b 和 a 分别表示系统函数 H(s)
27、分子多项式和分母多项式的系数向量。例 2:已知系统函数为 230.8()1sH试用 MATLAB 画出系统的零极点分布图、冲激响应波形和阶跃响应波形。解:实现所求运算的 m 文件如下,b=1 -2 0.8;a=1 2 2 1;subplot(1,3,1);pzmap(b,a);t=0:0.02:15;subplot(1,3,2);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编16impulse(b,a,t);subplot(1,3,3);step(b,a,t);运行结果如图 1 所示。-2 0 2-1-0.8-0.6-0.4-0.200.20.40.60.81 Pole-Zero M
28、apReal AxisImaginary Axis0 5 10 15-0.6-0.4-0.200.20.40.60.81 Impulse ResponseTime (sec)Amplitude0 5 10 15-0.500.51 Step ResponseTime (sec)Amplitude图 1 零极点分布图、冲激响应和阶跃响应的波形3.系统的频率特性分析(1)频率响应的定义所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response) ,是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。上图中
29、x(t)、y(t) 分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为: ,由傅里叶变换的时域卷积定理可得到:)(*)(thxtyjXYjH或者: )()(为系统的频域数学模型,它实际上就是系统的单位冲激响应 h(t)的傅里叶变换。即 )(jHdtethjj)(由于 H(j)实际上是系统单位冲激响应 h(t)的傅里叶变换,如果 h(t)是收敛的,或者说是绝对可积(Absolutly integrabel)的话,那么 H(j)一定存在,而且 H(j)通常是复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极坐标图 2 连续时
30、间 LTI 系统的时域及频域分析图系 统LTI)(thjH)(ty)(jXjYtx信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编17形式:)()(jeHj上式中, 称为幅度频率响应(Magnitude response) ,反映信号经过系统之后,信号)j(H各频率分量的幅度发生变化的情况, 称为相位特性(Phase response) ,反映信号经过系)(统后,信号各频率分量在相位上发生变化的情况。 和 都是频率的函数。)(j(对于一个系统,其频率响应为 H(j),其幅度响应和相位响应分别为 和 ,)(jH(如果作用于系统的信号为 ,则其响应信号为tjetx0)(jHty0()tjj
31、0)( )(00)(tjeH若输入信号为正弦信号,即 x(t) = sin(0t),则系统响应为sin|)(|)sin( 0000tjtjt可见,系统对某一频率分量的影响表现为两个方面,一是信号的幅度要被 加权,)(jH二是信号的相位要被 移相。)(由于 和 都是频率的函数,所以,系统对不同频率的频率分量造成的幅度(jH和相位上的影响是不同的。如果系统的相位频率响应特性是线性的,该系统对于所有的频率分量造成的延时时间都是一样的,因而,系统不会对信号产生相位失真(Phase distortion) 。反之,若系统的相位频率响应特性不是线性的,则该系统对于不同频率的频率分量造成的延时时间是不同的,
32、因此,当信号经过系统后,必将产生相位失真。(2)用 MATLAB 计算系统频率响应对于因果系统来说,若系统函数 H(s)的收敛域包含 s 平面的虚轴,则其频率响应 H(j)存在,否则不存在频率响应。因此,在分析频率特性之前,一般需要先对系统的稳定性进行分析。MATLAB 提供了专门对连续系统频率响应 H(jw)进行分析的函数 freqs()。该函数可以求出系统频率响应的数值解,并可绘制出系统的幅频及相频响应曲线。freqs()函数有如下几种调用格式:1)h=ferqs(b,a,w)其中,b 和 a 为描述系统函数的两个行向量;w 为形如 w1:p:w2 冒号运算定义的系统频率响应的频率范围;例
33、如在语句 h = freqs(b,a,w)之前加上语句:w = 0:2*pi/256:2*pi。向量 h则返回在向量 w 所定义的频率点上,系统频率响应的样值。2)h,w=freqs(b,a,n)将计算默认频率范围内 n 个频率点的系统响应的样值,并赋值返回变量 h,n 个频率点记录在 w 中。若 n 默认,则计算 200 个频率点。3)freqs(b,a) 信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编18该格式并不返回系统频率响应的样值,而是以对数坐标的方式绘出系统的幅频响应和相频响应曲线。hm = abs(h):求模数,求得系统的幅度频率响应,返回值存于 hm 之中。real(
34、h):求 h 的实部;imag(h):求 h 的虚部;phase = atan(-imag(h)./(real(h)+eps):求相位频率响应特性,atan()用来计算反正切值;或phase = angle(h):求相位频率响应特性;(3)举例如何利用上述函数计算并绘制系统频率响应特性曲线的编程方法。例 3:已知一因果系统的系统函数为 243()1sHs试分析其频率特性。解:实现所求运算的 m 文件如下,a=1 2 3 2 1;b=1 0 -4;p=roots(a);pxm=max(real(p);if pxm=0系统不稳定elsefreqs(b,a)end运行结果如下:信号与系统实验讲义-青
35、岛科技大学信息学院信息工程教研室编1910-1 100 101-200-1000100200Frequency (rad/s)Phase (degrees)10-1 100 10110-210-1100101Frequency (rad/s)Magnitude图 4 系统的幅频响应和相频响应或者也可以用以下方法得到:a=1 2 3 2 1;b=1 0 -4;w = logspace(-1,1);h,w = freqs(b,a,w);hm = abs(h);phase = angle(h);subplot(2,1,1), loglog(w,hm),grid on ; %loglog:x 轴和 y
36、 轴坐标都取对数subplot(2,1,2), semilogx(w,phai),grid on; %semilogx: x 轴坐标取对数例 4:假设给定一个连续时间 LTI 系统,下面的微分方程描述其输入输出之间的关系)(2)(3)(2tdtyt编写的 MATLAB 范例程序,绘制系统的幅度响应特性、相位响应特性、频率响应的实部和频率响应的虚部。程序如下:b = 1; a = 1 3 2;h,w = freqs(b,a); % 计算频率响应 hhm = abs(h); % 计算幅频响应 hmphase = angle(h); % 计算相频响应 phai信号与系统实验讲义-青岛科技大学信息学院
37、信息工程教研室编20hr = real(h); % 计算幅频响应的实部hi = imag(h); % 计算幅频响应的虚部subplot(221)plot(w,hm),grid on,title(Magnitude response),xlabel(Frequency in rad/sec)subplot(222)plot(w,hr), grid on, title(Real part of frequency response), xlabel(Frequency in rad/sec)subplot(223)plot(w,phase),grid on,title(Phase response
38、),xlabel(Frequency in rad/sec)subplot(224)plot(w,hi), grid on, title(Imaginary part of frequency response), xlabel(Frequency in rad/sec)0 5 1000.20.40.60.8 Magnitude responseFrequency in rad/sec0 5 10-3-2-10 Phase responseFrequency in rad/sec0 5 10-0.200.20.40.6Real part of frequency responseFrequen
39、cy in rad/sec0 5 10-0.4-0.3-0.2-0.10Imaginary part of frequency responseFrequency in rad/sec图 4 系统的幅频响应、相频响应和实部、虚部三. 实验内容1.求函数 的拉普拉斯变换。 2()cos(10)tfetM 文件:syms t ;e = sym(Heaviside(t);F=laplace(cos(10*pi*t)*exp(-2*t)*e)信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编212.求 的原函数 f(t)。23()610sFM 文件:syms sf=ilaplace(s+3)/(
40、s2+6*s+10)3.已知系统函数为 ,画出该系统的零极点分布图,并判断系统321()Hss是否稳定。若稳定,再求解系统的幅频、相频特性以及幅频的实部和虚部。M 文件:b=1;a=1 2 2 1;subplot(1,3,1);pzmap(b,a);p=roots(a);pxm=max(real(p);if pxm=0系统不稳定elseb=1;a=1 2 2 1;w = logspace(-1,1);h,w = freqs(b,a,w);hm = abs(h);phase = angle(h);subplot(1,3,2), loglog(w,hm),grid on ; %loglog:x 轴
41、和 y 轴坐标都取对数subplot(1,3,3), semilogx(w,phase),grid on; %semilogx: x 轴坐标取对数end信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编22四. 实验报告 1. 报告组成部分:实验目的、实验原理、实验内容、实验结果及分析。 2. 在实验结果中列出全部 m 文件。3. 简述心得体会。信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编23实验四 离散 LTI 系统的时域和 z 域分析 一. 实验目的 1. 掌握利用 MATLAB 计算离散系统响应的数值方法,包括冲激响应、全响应等。2. 掌握离散信号 z 变换和逆 z 变
42、换的 MATLAB 实现方法; 3. 掌握离散系统的系统函数零极点分布与系统频率特性分析的 MATLAB 实现方法。 二. 实验原理 1.单位序列 (k)单位序列的定义: 0,1)(k下面为绘制 (k-k0)波形图的子程序:function impseq(k1,k2,k0)k=k1:k2; %k1,k2 为时间序列的起始及终止时间序号fk=(k-k0)=0; %k0 为单位序列在时间轴上的位移量stem(k,fk)axis(k1,k2,0,1.1)xlabel(k)title(单位序列 )输入命令 impseq(-1,5,3),则可获得单位序列 (k-3)的波形图,如图 1 所示。-1 0 1
43、 2 3 4 500.20.40.60.81k位位位位图 1 单位序列信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编242.单位阶跃序列 (k)单位阶跃序列的定义: 0,1)(k下面为绘制 (k-k0)波形图的 MATLAB 子程序。function stepseq(k1,k2,k0)k=k1:k2; %k1,k2 为时间序列的起始及终止时间序号fk=(k-k0)=0; %k0 为阶跃序列在时间轴上的位移量stem(k,fk)axis(k1,k2,0,1.1)xlabel(k)title(单位阶跃序列)运行如命令 stepseq(-1,10,3),则可获得单位阶跃序列 (k-3)的波
44、形图,如图 2 所示。-1 0 1 2 3 4 5 6 7 8 9 1000.20.40.60.81k位位位位位位图 2 单位阶跃序列3.离散系统的时域响应利用 MATLAB 分析离散系统时域响应的常用函数是:计算系统单位序列响应的函数: impz(b,a);计算系统全响应的函数: filter(b,a,x,zi);其中,a、b 分别为系统差分方程左端和右端各阶差分项的系数;x 为输入;zi 为系统的初始值。注意,zi 并不是 y(-1),y(-2),其推导如下。信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编25设输入 f(k)=0,二阶差分方程为 12()()()0ziziziyk
45、ayk对上式进行 z 变换,有 121()()()()20YazyazYy零输入响应: 11221()()()ziayayzYz有 ,可由函数 filtic 求得,其调用格式为122()(),()ziayfiltic(b,a,y0,x0)其中,y0 为 y(k)的初始值;x0 为 f(k)的初始值。若令 x 为零向量,则利用函数 filter()可得零输入响应;若令 zi=filtic(b,a,0),代入函数filter()可得到零状态响应。例 1:求差分方程 y(k)-1.5y(k-1)+y(k-2)=2f(k-2)的单位序列响应和全响应。已知输入信号,初始条件 y(-1)=1,y(-2)=
46、2 。()fk解:实现所求运算的 m 文件如下,b=0 0 2;a=1 -1.5 1;k1=0;k2=30;k=k1:k2;N=length(k);f=ones(1,N);zi=filtic(b,a,1 2);y=filter(b,a,f,zi);figure(1);stem(k,y),xlabel(k),title(全响应)figure(2);信号与系统实验讲义-青岛科技大学信息学院信息工程教研室编26yim=impz(b,a);stem(yim),xlabel(k),title(单位序列响应 )运行结果如图 3 所示。0 5 10 15 20 25 30-20246810k位位位0 5 1
47、0 15 20 25 30 35 40 45-4-3-2-101234k位位位位位位图 3 系统全响应和单位序列响应波形4.离散信号的 z 变换和逆 z 变换序列 f(k) (k 为整数)的双边 z 变换定义为 kkzfF)()(MATLAB 的符号数学工具箱 (Symbolic Math Tools)提供了计算 z 正变换的函数 ztrans 和计算逆 z 变换的函数 iztrans。其调用形式为:F=ztrans(f) %求符号函数 f 的 z 变换,返回函数的自变量为 z;F=ztrans(f,w) %求符号函数 f 的 z 变换,返回函数的自变量为 w;F=ztrans(f,k,w) %对自变量为 k 的符号函数 f 求 z 变换,返回函数的自变量为 w。f=iztrans(F) %对自变量为 z 的符号函数 F 求逆 z 变换,返回函数的自变量为 n;f=iztrans(F,k) %对自变量为 z 的符号函数 F 求逆 z 变换,返回函数的自变量为