实验1连续系统的时域分析1一、实验目的1.熟悉MATLAB软件的使用。2.掌握连续时间信号表示方法与基本运算的实现。3.掌握用MATLAB常用函数来产生信号并实现信号的可视化方法。二、实验原理时域信号是指将信号表示成时间的函数f(t),信号的时间特性是指信号的波形出现的先后、持续时间的长短、随时间变化的快慢等。信号按照特性的不同,分为确定信号、周期信号、能量信号等。常用的连续信号有直流信号、正弦信号、单位阶跃信号、单位门信号、单位冲激信号、符号函数、单位斜坡函数、单位衰减指数信号、采样信号、随机信号等。信号的运算包括:信号的基本运算,包括加、减、乘、除等:信号的时域变换,包括信号的平移、翻转、尺度变换等:两个信号的卷积运算等。三、实验内容与方法从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中是用连续信号在等间隔时间的样值来近似表示连续信号的。当取样时间间隔足够小时,这些离散的样点就能够很好地近似出连续信号。MATLAB提供了许多函数用于常用函数的产生,如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等,这些函数都是信号处理的基础。1.连续信号的生成与可视化(1)正弦交流信号f(t)=sin(wt+)实现f(t)=sin(2元t),MATLAB程序如下:clc,clear;t=0:0.001:1:y=sin(2*pi*t);plot(t,y,'k'):xlabel(时间(t)"):ylabel(幅值(f)");title(正弦交流信号):(2)单位阶跃信号f(t)=ε(t)MATLAB程序如下:clc,clear;t=-2:0.01:6;u=(t>=0) ;plot(t,u):axis([-2, 6, 0.2,1.2])xlabel(时间(t)):ylabel(幅值(f))title(单位阶跃信号):
实验 1 连续系统的时域分析 1 一、实验目的 1.熟悉 MATLAB 软件的使用。 2.掌握连续时间信号表示方法与基本运算的实现。 3.掌握用 MATLAB 常用函数来产生信号并实现信号的可视化方法。 二、实验原理 时域信号是指将信号表示成时间的函数 f(t),信号的时间特性是指信号的波形出现的 先后、持续时间的长短、随时间变化的快慢等。 信号按照特性的不同,分为确定信号、周期信号、能量信号等。 常用的连续信号有直流信号、正弦信号、单位阶跃信号、单位门信号、单位冲激信号、 符号函数、单位斜坡函数、单位衰减指数信号、采样信号、随机信号等。 信号的运算包括:信号的基本运算,包括加、减、乘、除等;信号的时域变换,包括信 号的平移、翻转、尺度变换等;两个信号的卷积运算等。 三、实验内容与方法 从严格意义上讲,MATLAB 并不能处理连续信号。在 MATLAB 中是用连续信号在等间隔时 间的样值来近似表示连续信号的。当取样时间间隔足够小时,这些离散的样点就能够很好地 近似出连续信号。 MATLAB 提供了许多函数用于常用函数的产生,如阶跃信号、脉冲信号、指数信号、正弦 信号和周期方波等,这些函数都是信号处理的基础。 1.连续信号的生成与可视化 (1)正弦交流信号𝑓𝑓(𝑡𝑡) = sin( 𝜔𝜔𝜔𝜔 + 𝜑𝜑) 实现𝑓𝑓(𝑡𝑡) = sin(2𝜋𝜋𝑡𝑡),MATLAB 程序如下: clc,clear; t=0:0.001:1; y=sin(2*pi*t); plot(t,y,'k'); xlabel('时间(t)');ylabel('幅值(f)');title('正弦交流信号'); (2)单位阶跃信号𝑓𝑓(𝑡𝑡) = 𝜀𝜀(𝑡𝑡) MATLAB 程序如下: clc,clear; t=-2:0.01:6; u=(t>=0); plot(t,u); axis([-2,6,-0.2,1.2]) xlabel('时间(t)');ylabel('幅值(f)');title('单位阶跃信号');
(3)复指数信号f(t)=e-3t+4jtMATLAB程序如下:clc,clear;t=0:0.01:3;a=-3;b=4;z=exp((a+j*b)*t):subplot(221);plot(t,real(z)),title(实部");xlabel(时间):ylabel(幅值);subplot(222);plot(t,imag(z)),title(虚部);xlabel(时间);ylabel(幅值);subplot(223);plot(t,abs(z)),title(模);xlabel(时间");ylabel(幅值');subplot(224);plot(t,angle(z))),title(相角);xlabel(时间"):ylabel(幅值):2.连续时间信号的基本运算(1)加(减)、乘运算实现两个信号的加法和乘法运算:要求两个信号运算的时间序列长度相同。MATLAB程序如下:clc,clear;t=0:0.01:2;f1=exp(-3*t);f2=0.2*sin(4*pi*t);f3=f1+f2:f4=f1.*f2;subplot(221):plot(t,f1);title(f1(t)");subplot(222):plot(t,f2);title(f2(t)):subplot(223);plot(t,f3);title(f1+f2);subplot(224);plot(t,f4);title(f1*f2");(2)信号的反褶、移位、尺度变换sin()。试通过移位、尺度,反褶变换由f(t)的波形得到f(-2t+3)【例1-1】已知f(t)= 的波形。MATLAB程序如下clc,clear;syms t;f=sym(csin(t)/t');f1=subs(f,t, t+3);f2=subs(f1,t,2*t);f3=subs(f2, t,-t);subplot(2,2,1);ezplot(f,[-8,8]);grid on;subplot(2,2,2);ezplot(f1,[-8,8]);grid on;
(3)复指数信号𝑓𝑓(𝑡𝑡) = 𝑒𝑒−3𝑡𝑡+4𝑗𝑗𝑗𝑗 MATLAB 程序如下: clc,clear; t=0:0.01:3; a=-3;b=4; z=exp((a+j*b)*t); subplot(221); plot(t,real(z)),title('实部');xlabel('时间');ylabel('幅值'); subplot(222); plot(t,imag(z)),title('虚部');xlabel('时间');ylabel('幅值'); subplot(223); plot(t,abs(z)),title('模');xlabel('时间');ylabel('幅值'); subplot(224); plot(t,angle(z)),title('相角');xlabel('时间');ylabel('幅值'); 2.连续时间信号的基本运算 (1)加(减)、乘运算 实现两个信号的加法和乘法运算:要求两个信号运算的时间序列长度相同。 MATLAB 程序如下: clc,clear; t=0:0.01:2; f1=exp(-3*t); f2=0.2*sin(4*pi*t); f3=f1+f2; f4=f1.*f2; subplot(221);plot(t,f1);title('f1(t)'); subplot(222);plot(t,f2);title('f2(t)'); subplot(223);plot(t,f3);title('f1+f2'); subplot(224);plot(t,f4);title('f1*f2'); (2)信号的反褶、移位、尺度变换 【例 1-1】已知𝑓𝑓(𝑡𝑡) = sin(𝑡𝑡) 𝑡𝑡 。试通过移位、尺度,反褶变换由𝑓𝑓(𝑡𝑡)的波形得到𝑓𝑓(−2𝑡𝑡 + 3) 的波形。 MATLAB 程序如下 clc,clear; syms t; f=sym (‘sin(t)/t’); f1=subs(f,t,t+3); f2=subs(f1,t,2*t); f3=subs(f2,t,-t); subplot(2,2,1);ezplot(f,[-8,8]);grid on; subplot(2,2,2);ezplot(f1,[-8,8]);grid on;
subplot(2,2,3);ezplot(f2, [-8,8]);grid on;subplot(2, 2, 4);ezplot (f3, [-8, 8]) :grid on;(3)连续信号的卷积运算y=conv(x,)用于实现x、h两个序列的卷积,假定都是从n=0开始。Y序列的长度为x、h序列的长度之和再减1.【例1-2】求两个方波信号的卷积。MATLAB程序如下:clc,clear:yl=[ones(1,20),zeros(1,20)]:y2=[ones(1, 10),zeros(1, 20)]:y=conv(yl, y2) ;nl=l:length(y1):n2=1:1ength(y2):n=l:length(y);subplot(3,l,1):plot(nl,yl);axis([0length(y)0 2]):subplot(3,1,2);plot(n2,y2);axis([0length(y)0 2]);subplot(3,1,3):plot(n,y),axis([0 length(y)0 20]);【例1-3】求两个指数信号的卷积。MATLAB程序如下:clc,clear;t=0:0.01:1;t1=0:0.01:2;yl=exp(-6*t) :y2=exp(-3*t);y=conv(yl, y2) ;subplot(3,1,1);plot(t,y1);subplot(3,1,2):plot(t,y2):subplot(3,1,3);plot(tl,y);四、程序设计实验1.编制程序,生成如下连续信号:ε(t-3),cos3t+sin2t。2.设计一个程序,产生如下信号f(t),并完成信号f(t)到f(2t+2)的转化。信号()3n003. 若fi(t)= sin(t),f2(t)= ε(t),fs(t) = e(t)-e(t-4),证明卷积满足:fi(t)*
subplot(2,2,3);ezplot(f2,[-8,8]);grid on; subplot(2,2,4);ezplot(f3,[-8,8]);grid on; (3)连续信号的卷积运算 𝑦𝑦 = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐�𝑥𝑥, ℎ�用于实现 x、h 两个序列的卷积,假定都是从 n=0 开始。Y 序列的长度为 x、h 序列的长度之和再减 1. 【例 1-2】求两个方波信号的卷积。 MATLAB 程序如下: clc,clear; y1=[ones(1,20),zeros(1,20)]; y2=[ones(1,10),zeros(1,20)]; y=conv(y1,y2); n1=1:length(y1); n2=1:length(y2); n=1:length(y); subplot(3,1,1);plot(n1,y1);axis([0 length(y) 0 2]); subplot(3,1,2);plot(n2,y2);axis([0 length(y) 0 2]); subplot(3,1,3);plot(n,y),axis([0 length(y)0 20]); 【例 1-3】求两个指数信号的卷积。 MATLAB 程序如下: clc,clear; t=0:0.01:1; t1=0:0.01:2; y1=exp(-6*t); y2=exp(-3*t); y=conv(y1,y2); subplot(3,1,1);plot(t,y1); subplot(3,1,2);plot(t,y2); subplot(3,1,3);plot(t1,y); 四、程序设计实验 1.编制程序,生成如下连续信号:𝜀𝜀(𝑡𝑡 − 3), cos 3 𝑡𝑡 + sin 2 𝑡𝑡。 2.设计一个程序,产生如下信号 f(t),并完成信号 f(t)到 f(2t+2)的转化。 3.若𝑓𝑓1(𝑡𝑡) = sin(𝑡𝑡),𝑓𝑓2(𝑡𝑡) = 𝜀𝜀(𝑡𝑡),𝑓𝑓3(𝑡𝑡) = 𝜀𝜀(𝑡𝑡) − 𝜀𝜀(𝑡𝑡 − 4),证明卷积满足: 𝑓𝑓1(𝑡𝑡) ∗
[f2(t) + f3(t)] = fi(t)* f2(t) + fi(t) * fs(t)五、实验预习要求1.预习实验原理。2.熟悉实验程序。3.思考程序设计实验部分程序的编写。六、实验报告要求1.在MATLAB中输入程序,验证试验结果,并将实验结果存入指定存储区域。2.对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。3.在实验报告中写出完整的自编程序,并给出实验结果
[𝑓𝑓2(𝑡𝑡) + 𝑓𝑓3(𝑡𝑡)] = 𝑓𝑓1(𝑡𝑡) ∗ 𝑓𝑓2(𝑡𝑡) + 𝑓𝑓1(𝑡𝑡) ∗ 𝑓𝑓3(𝑡𝑡) 五、实验预习要求 1.预习实验原理。 2.熟悉实验程序。 3.思考程序设计实验部分程序的编写。 六、实验报告要求 1.在 MATLAB 中输入程序,验证试验结果,并将实验结果存入指定存储区域。 2.对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现 对信号的模拟,并得出实验结果。 3.在实验报告中写出完整的自编程序,并给出实验结果
附录MATLAB基本介绍MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB有3种窗口,即:命令窗口(TheCommandWindow)、m-文件编辑窗口(TheEditWindow)和图形窗口(TheFigureWindow)。1.命令窗口(TheCommandWindow)当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“>》”后面输入交互的命令,这些命令就立即被执行。在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m文件。示例:求如下线性方程的解3x1+X2-X3=3.6X1+2x2+4x3=2.1Xi+4x2+5x3=-1.4Matlab代码:A=[3 1 -1;1 2 4;-1 4 5] ;b=[3.6;2.1;-1.4] ;x=AlbAIAILABEile Edit YiewWeh Hindow Help口口品助noCurrentDirectory.C:MATLAB6p1iworkiE12Workspaoe7Xmandwindow》 A=[3 1 -1:1 2 4:-1 4 5];口日可时StadBate口>> b=[3. 6:2.1:-1.4].>> x=AlbNameSizeBytes Class3x372double arzs3x124double a1.4818用x3x124double a0. 46060.3848>I2.m文件编辑窗口(TheEditWindow)我们可以用m文件编辑窗口来产生新的m文件,或者编辑已经存在的m文件。在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m文件编辑窗口:选择菜单“File/Open”就可以打开一个已经存在的m文件,并且可以在这个窗口中编辑这个m文件。示例:产生阶跃信号t<0ro,u(t) =(1t>0
附录 MATLAB 基本介绍 MATLAB 环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB 有 3 种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和 图形窗口(The Figure Window)。 1.命令窗口(The Command Window) 当 MATLAB 启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“>>”后面输 入交互的命令,这些命令就立即被执行。 在 MATLAB 中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。 在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后 缀,所以称为 m 文件。 示例: 求如下线性方程的解 3𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 3.6 𝑥𝑥1 + 2𝑥𝑥2 + 4𝑥𝑥3 = 2.1 −𝑥𝑥1 + 4𝑥𝑥2 + 5𝑥𝑥3 = −1.4 Matlab 代码: A=[3 1 -1;1 2 4;-1 4 5]; b=[3.6;2.1;-1.4]; x=A\b 2.m 文件编辑窗口(The Edit Window) 我们可以用 m 文件编辑窗口来产生新的 m 文件,或者编辑已经存在的 m 文件。在 MATLAB 主界面上选择菜单“File/New/M-file”就打开了一个新的 m 文件编辑窗口;选择菜单 “File/Open”就可以打开一个已经存在的 m 文件,并且可以在这个窗口中编辑这个 m 文件。 示例:产生阶跃信号 𝑢𝑢(𝑡𝑡) = � 0, 𝑡𝑡 < 0 1, 𝑡𝑡 > 0