《信号与系統》仿真实验 实验指示书要点 实验二 系统时域特性的仿真实验
1 《信号与系统》仿真实验 实验指示书要点 实验二 系统时域特性的仿真实验
系统时域仿真要点 用 Matlab中的 Simulink建立仿真模型 系统函数和系统冲激响应的仿真 系统零状态响应的仿真 系统的初始条件的讨论和仿真
2 系统时域仿真要点 • 用Matlab 中的Simulink建立仿真模型 • 系统函数和系统冲激响应的仿真 • 系统零状态响应的仿真 • 系统的初始条件的讨论和仿真
建立仿真模型 已知或求解出系统函数H(s),分子分母 写成多项式的形式,例如 s+1 H(s) s2+1.3s+0.8 在 Matlab环境下输入 simulink命令, 生 source和 untitled两个视窗 按实验一中的方法产生激励信号波形 按实验一中的方法用示波器观察波形
3 一 、建立仿真模型 • 已知或求解出系统函数 ,分子分母 写成多项式的形式,例如: • 在Matlab 环境下输入simulink命令,产 生source 和untitled 两个视窗 • 按实验一中的方法产生激励信号波形 • 按实验一中的方法用示波器观察波形 H(s) 1.3 0.8 1 ( ) 2 s s s H s
设置系统传递函数H(S) (1)先选择传递函数 子库 Gain Source的7个子库中 s+1 选 Linear库(线性系 Integrator Transfer Fcn 统库),里面含放 X= Ax+Bu 大、求和、积分 y= CX+Du tate-Space Zero-Pole 微分、传递函数 >du/ p 状态空间、矩阵放 Derivative Dot product 大等10个字库。例 丬K 如左图 Matri Slide Gain Gain
4 设置系统传递函数H(S) (1)先选择传递函数 子库 Source 的7个子库中 选Linear库(线性系 统库),里面含放 大、求和、积分、 微分、传递函数、 状态空间、矩阵放 大等10个字库。例 如左图: (s-1) s(s+1) Zero-Pole 1 s+1 Transfer Fcn Sum x' = Ax+Bu y = Cx+Du State-Space 1 Slider Gain K Matrix Gain s 1 Integrator 1 Gain Dot Product du/dt Derivative
(2)建立最简单的连续时间的仿真系统 用鼠标把传递函数模块拖入 untitled窗中 置于激励信号源和示波器之间, 用鼠标拖出的连线将信号源、传递函数、 示波器等按照系统的要求连接起来即可 step 信号源 传递函数 示波器
5 (2)建立最简单的连续时间的仿真系统 • 用鼠标把传递函数模块拖入untitled窗中, 置于激励信号源和示波器之间, • 用鼠标拖出的连线将信号源、传递函数、 示波器等按照系统的要求连接起来即可。 1 s+1 Transfer Fcn Step Scope 信号源 传递函数 示波器
(3)传递函数的参数设置:用鼠标双激传 递函数模块,则进入它的设置环境窗,可 以分别设置分子、分母多项式的系数和阶 数等,参见课上演示。 Scope 1 Scope Ste Transfer Fcn
6 (3)传递函数的参数设置:用鼠标双激传 递函数模块,则进入它的设置环境窗,可 以分别设置分子、分母多项式的系数和阶 数等,参见课上演示。 s+1 s +1.3s+0.8 2 Transfer Fcn Step Scope1 Scope
(4)系统输出显示和存储仿真 在 untitled的菜单中选 simulation的 start 则仿真执行完毕,激活示波器可以分别观 察到激励和响应的波形 但是,示波器只能起到观察的作用,不 能起到存储结果的作用。 在 simulink有个 connections库,该库中有 个out子库,它是一个存储数据的接口 用“save”指令可把结果存在指定的路径 和文件名 matlab\ 1下
7 (4)系统输出显示和存储仿真 • 在untitled的菜单中选simulation的 start 则仿真执行完毕,激活示波器可以分别观 察到激励和响应的波形。 • 但是,示波器只能起到观察的作用,不 能起到存储结果的作用。 • 在simulink有个 connections 库,该库中有 一个out子库,它是一个存储数据的接口。 用“save”指令可把结果存在指定的路径 和文件名matlab\bin\ec1下
(5)out字库用于存储数据和恢复数据 在 simulink的 connections库中选择out子 库,拖入 untitled窗中,联到传递函数模 块的输出,和示波器是并联。 重新运行 simulation中的star命令,完成 了仿真, 这时结果需存在文件simm中,做法是: 用“save指令可把结果存在指定的路径 和文件名 matlablbin'**下。可以通过 下列指令把它调出来,赋值给y
8 (5)out字库用于存储数据和恢复数据 • 在simulink的 connections 库中选择out子 库,拖入untitled窗中,联到传递函数模 块的输出,和示波器是并联。 • 重新运行simulation 中的start命令,完成 了仿真, • 这时结果需存在文件sim.m中,做法是: • 用“save”指令可把结果存在指定的路径 和文件名matlab\bin\***下。 可以通过 下列指令把它调出来,赋值给y
读出Ou模块输出的数据 在 Matlab命令窗中输入以下指令语句可读出 并画出波形(兰色是激励,绿色是响应) 现激励是阶跃u(t cd c:matlab\bin It, x, y=sim(ecl, 20) plot(t, y) 激励是矩形方波 cd c:matlab\bin It, x,y=sim(ec2, 20); plot(t, y)
9 读出out模块输出的数据 • 在Matlab命令窗中输入以下指令语句可读出, 并画出波形(兰色是激励,绿色是响应)。 • 现激励是阶跃 u(t) cd c:\matlab\bin [t,x,y]=sim('ec1' ,20); plot(t,y) • 激励是矩形方波 cd c:\matlab\bin [t,x,y]=sim(‘ec2' ,20); plot(t,y) 0 5 10 15 20 0 0.5 1 1.5 2 2.5 3 0 5 10 15 20 0 0.5 1 1.5 2 2.5 3
激励是其它波形举例 激励是周期锯齿波 cd c: matlablbin 0.5 t, x,y l=sim(re3, 20) 5 15 plot(t, y) 激励是正弦波 cd c: matlablbin It,x,y=sim(re4, 20) plot(t,y) 0 5
10 激励是其它波形举例 • 激励是周期锯齿波 cd c:\matlab\bin [t,x,y]=sim('re3' ,20); plot(t,y) • 激励是正弦波 cd c:\matlab\bin [t,x,y]=sim('re4' ,20); plot(t,y) 0 5 10 15 20 0 0.5 1 1.5 2 0 5 10 15 20 -1 -0.5 0 0.5 1