第三讲 MATLAB的 matlaB 5.3. Ink SIMULINK仿真 3.1快速入门 3.2模型的创建和模型文件 3.3仿真运行 3.4系统建模 3.5子系统的创建、封装及受控执行 3.6常用工具箱简介 3.7仿真设计实例 3.7.1幅度调制的仿真 3.7.2平衡正交调幅与解调
1 第三讲 MATLAB的 SIMULINK仿真 3.1 快速入门 3.2 模型的创建和模型文件 3.3 仿真运行 3.4 系统建模 3.5 子系统的创建、封装及受控执行 3.6 常用工具箱简介 3.7 仿真设计实例 3.7.1 幅度调制的仿真 3.7.2 平衡正交调幅与解调
3.1快速入门 SIMULINK是一个进行动态系统建模、仿真和综合分析的 集成软件包。它可以处理的系统包括:线性、非线性系统; 离散、连续及混合系统;单任务、多任务离散事件系统 在 SIMULINK提供的图形用户界面GUI,只要进行鼠标 的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块 图形式呈现,且采用分层结构。 从建模角度讲,这既适于自上而下( Top-down)的设计 自下而上( Bottum-up)逆程设比、直至器件),又适于 流程(概念、功能、系统、子系统、 从分析研究角度讲,这种 SIMULINE模型不仅能让用户 知道具体环节的动态细节,而且能让用户清晰地了解各器 件、各子系统、各系统间的信息交换,掌握各部分之间的 交互影响
2 3.1 快速入门 ▪ SIMULINK是一个进行动态系统建模、仿真和综合分析的 集成软件包。它可以处理的系统包括:线性、非线性系统; 离散、连续及混合系统;单任务、多任务离散事件系统。 ▪ 在 SIMULINK 提供的图形用户界面GUI上,只要进行鼠标 的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块 图形式呈现,且采用分层结构。 • 从建模角度讲,这既适于自上而下(Top-down)的设计 流程(概念、功能、系统、子系统、直至器件),又适于 自下而上(Bottum-up)逆程设计。 • 从分析研究角度讲,这种SIMULINK 模型不仅能让用户 知道具体环节的动态细节,而且能让用户清晰地了解各器 件、各子系统、各系统间的信息交换,掌握各部分之间的 交互影响
3.1快速入门(续1) 在 SIMULINK环境中,用户将观察到现实世界中非线性因 素和各种随机因素对系统行为的影响 在 SIMULINK环境中,用户可以在仿真进程中改变感兴趣 的参数,实时地观察系统行为的变化 在 MATLAB53版中,可直接在 SIMULINK环境中运作的 工具包很多,已覆盖通信、控制、信号处理、DSP、电力系 统等诸多领域,所涉内容专业性极强。 本讲由浅入深地讲述 SIMULⅠNK对各种数学、工程问题的 建模、仿真和分析的基本方法,采用“算例”作为主体,配以 适量的归纳性表述。 例311:信号发生器和示波器 例312:实现两个正弦信号的相乘
3 3.1 快速入门(续1) ▪ 在 SIMULINK 环境中,用户将观察到现实世界中非线性因 素和各种随机因素对系统行为的影响。 ▪ 在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣 的参数,实时地观察系统行为的变化。 ▪ 在MATLAB 5.3 版中,可直接在SIMULINK 环境中运作的 工具包很多,已覆盖通信、控制、信号处理、DSP、电力系 统等诸多领域,所涉内容专业性极强。 ▪ 本讲由浅入深地讲述SIMULINK 对各种数学、工程问题的 建模、仿真和分析的基本方法,采用“算例”作为主体,配以 适量的归纳性表述。 ▪ 例3_1_1:信号发生器和示波器。 ▪ 例3_1_2:实现两个正弦信号的相乘
3.2模型的创建和模型文件 3.2.1 SIMULINK模型是什么? SIMULINK模型有以下几层含义: 在视觉上表现为直观的方框图 在文件上则是扩展名为md的ASCI代码; 在数学上表现为一组微分方程或差分方程; 在行为上则模拟了实际系统的动态特性。 SIMULINK模型通常包含三种“组件” 信源( Sources):可以是常数、时钟、白噪声、正弦波、 阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源; 系统( System):即指被研究系统的 SIMULINK方框图; 信宿(Sink):可以是示波器、图形记录仪等。 对于具体的 SIMULINK模型而,不一定完全地包含这三大 组件。例如:研究初始条件对系统影响就不必包含信源组件
4 3.2 模型的创建和模型文件 3.2.1 SIMULINK 模型是什么? ▪ SIMULINK 模型有以下几层含义: • 在视觉上表现为直观的方框图; • 在文件上则是扩展名为 mdl 的ASCII代码; • 在数学上表现为一组微分方程或差分方程; • 在行为上则模拟了实际系统的动态特性。 ▪ SIMULINK 模型通常包含三种“组件”: • 信源( Sources):可以是常数、时钟、白噪声、正弦波、 阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源; • 系统( System):即指被研究系统的 SIMULINK 方框图; • 信宿( Sink):可以是示波器、图形记录仪等。 ▪ 对于具体的SIMULINK 模型而,不一定完全地包含这三大 组件。例如:研究初始条件对系统影响就不必包含信源组件
3.2模型的创建和模型文件(续1) 3.2.2 SIMULINK模型的创建 创建模型文件 选择对象; 模块的操作; 连线的操作; 对模型的注释; 创建子系统; 仿真的配置; 保存模型; 仿真和结果分析
5 3.2 模型的创建和模型文件(续1) 3.2.2 SIMULINK 模型的创建 ▪ 创建模型文件; ▪ 选择对象; ▪ 模块的操作; ▪ 连线的操作; ▪ 创建子系统; ▪ 仿真的配置; ▪ 对模型的注释; ▪ 保存模型; ▪ 仿真和结果分析
3.2模型的创建和模型文件(续2) 3.2.3 SIMULINK模型文件 SIMULINK除了可以通过图形界面设计模块外,也可以 通过直接编写md文件来设计仿真模型图。 一个有输入和输出的图形界面设计模块 n G ain Out 用md文件编写有输入和输出的增益器。(在word下) (韩利竹P16)
6 3.2 模型的创建和模型文件(续2) 3.2.3 SIMULINK 模型文件 ▪ SIMULINK 除了可以通过图形界面设计模块外,也可以 通过直接编写mdl 文件来设计仿真模型图。 ▪ 一个有输入和输出的图形界面设计模块。 ▪ 用 mdl 文件编写有输入和输出的增益器。(在 Word下 ) (韩利竹P161) In Gain Out 1 1 1
3.3仿真运行 3.3.1使用菜单进行仿真 设置仿真参数和选择求解器 通过选择菜单 Simulation下的 Parameters菜单项,用来设置 仿真参数和选择求解器。其中有三个页面管理这些仿真参数。 在 Solver页面,设置开始和停止时间,选择求解器和指定 求解器( solver)的参数,另外还可以选择一些输出选项 在 Solver options中, SIMULINK模型的仿真涉及到一组 常微分方程(ODEs)的数值积分。如果模型是连续系统, 使用ode45方法;如果模型不是连续系统,使用 discrete方法。 在 Workspace 1O页面,管理对 MATLAB工作空间的输 入和输出。 在 Diagnostics页面,可以选择在仿真期间显示的警告信息 的层次。 例312:实现两个正弦信号的相乘。( AM. mdI)
7 3.3 仿真运行 3.3.1 使用菜单进行仿真 ▪ 设置仿真参数和选择求解器 通过选择菜单Simulation 下的 Parameters 菜单项,用来设置 仿真参数和选择求解器。其中有三个页面管理这些仿真参数。 • 在 Solver 页面,设置开始和停止时间,选择求解器和指定 求解器(solver)的参数,另外还可以选择一些输出选项。 • 在 Workspace I/O 页面,管理对 MATLAB 工作空间的输 入和输出。 • 在 Diagnostics 页面,可以选择在仿真期间显示的警告信息 的层次。 • 在 Solver options 中, SIMULINK 模型的仿真涉及到一组 常微分方程(ODEs)的数值积分。如果模型是连续系统, 使用ode45方法;如果模型不是连续系统,使用discrete方法。 例3_1_2:实现两个正弦信号的相乘。( AM .mdl )
3.3仿真运行(续1) 3.3.2通过命令行运行仿真 通过命令行运行仿真与通过菜单运行仿真相比,有如下的 些优点: 可以不理睬模块中的初始条件(参数x0); 可以定义任何外部输入(用参数ut) 可以由一个M文件来启动一个仿真,并且允许模块中的 参数发生改变。 用来进行仿真的命令有四个: 使用 set_ param命令:开始、停止或者继续仿真或者更新 模块的方框图。 get_ param命令来检查一个仿真的状态。 使用sim命令:启动仿真命令; 使用 simset命令:用来向sm命令产生或者编辑仿真参数 和积分法属性的命令; 使用 simnet命令:可以得到选项结构体属性和参数
8 3.3 仿真运行(续1) 3.3.2 通过命令行运行仿真 ▪ 通过命令行运行仿真与通过菜单运行仿真相比,有如下的 一些优点: • 可以不理睬模块中的初始条件(参数 x0 ); • 可以定义任何外部输入(用参数ut ); • 可以由一个M 文件来启动一个仿真,并且允许模块中的 参数发生改变。 ▪ 用来进行仿真的命令有四个: • 使用 set_param 命令:开始、停止或者继续仿真或者更新 模块的方框图。get_param 命令来检查一个仿真的状态。 • 使用 sim 命令:启动仿真命令; • 使用 simset 命令:用来向 sim 命令产生或者编辑仿真参数 和积分法属性的命令; • 使用 simget 命令:可以得到选项结构体属性和参数
3.3仿真运行(续2) 3.3.4综合算例(M3ex331.m) 例31:求非线性系统x二x2+x2-4的相平面轨迹、 平衡点,并进行稳定性分析 本例演示:(A) SIMULINK模型和 MATLAB指令的配合使用 (B)sim, simset,trim指令的应用。 (C)二阶系统相轨迹的精良图形
9 3.3 仿真运行(续2) 3.3.4 综合算例 (M3_ex3_3_1.m) 例3_3_1:求非线性系统 的相平面轨迹、 平衡点,并进行稳定性分析。 本例演示:(A)SIMULINK模型和MATLAB指令的配合使用。 = − = + − 2 1 2 2 2 2 1 1 2 4 x x x x x x (B)sim , simset , trim 指令的应用。 (C)二阶系统相轨迹的精良图形
3.4系统建模 3.4.1连续系统建模 线性系统建模举例 例341:复位积分器的功用示例。 在仿真启动时,积分器从零开始对0.5t进行积分。当复位口 信号t5=0瞬间,积分器被重置为零。此后,再对05(t-5) 进行积分。 例342:积分模块直接构造微分方程求解模型。 假设从实际自然界(力学、电学、生态等)或社会中,抽象 出有初始状态为0的二阶微分程x"+0,2x+04x=02l) (湜是单位阶跃函数。本例演示如何用积分器直接构搭求解该微 分方程的模型 例343:直接利用传递函数模块求解方程。 对二阶微分程进行拉氏变换:s2X()+0.2sX(s)+04X(s)=02() 可以得到: X(s) 0.2 U/(s)s2+0.2s+0.4
10 3.4 系统建模 3.4.1 连续系统建模 ▪ 线性系统建模举例 例3_4_1:复位积分器的功用示例。 例3_4_2:积分模块直接构造微分方程求解模型。 例3_4_3:直接利用传递函数模块求解方程。 在仿真启动时,积分器从零开始对0.5 t 进行积分。当复位口 信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5 ( t-5 ) 进行积分。 假设从实际自然界(力学、电学、生态等)或社会中,抽象 出有初始状态为0的二阶微分程 , 是单位阶跃函数。本例演示如何用积分器直接构搭求解该微 分方程的模型。 x + 0.2x + 0.4x = 0.2u(t) u(t) 对二阶微分程进行拉氏变换: ( ) 0.2 ( ) 0.4 ( ) 0.2 ( ) 2 s X s + sX s + X s = U s 0.2 0.4 0.2 ( ) ( ) ( ) 2 + + = = U s s s X s 可以得到: G s