当前位置:文档之家› 第三讲.Simulink系统仿真

第三讲.Simulink系统仿真


十、Sources(输入源模块)
From Workspace 模块
可以从工作空间中读取数据作为输入信号。 Data:填写从工作空间的哪个变量读取数据。 Sample time:设置采样时间。 1. “Data”文本框中填写的变量必须包含信号的时间信息 , 比如 该变量可以是一个 n*2 的矩阵,第一列给除了 n 个时刻值,第 二列给出了对应这些时刻的信号值。 2. 若选中 Interpolate data ,则时刻值之间的值通过插值获得。 3. 若不选中 Interpolate data ,则输出信号将保持前一个给出 了信号值的时刻的值。 4. 第 10 秒 后 的 输 出 信 号 由 Form output after final data value by选项决定:extrapolate-外推插值 Setting to zero-设置为0 CyclicRepetition-信号循环出现
十一、Sinks(接收器模块) 接收信号并进行显示
Scope:示波器,显示信号曲线。 XY Graph :绘制两个信号关系曲线。 Out1:输出端口 Display:将信号值显示于模块窗口
To Workspace : 将 结 果 保 存 到 MATLAB的工作空间。
To File(.mat) : 将 仿 真 结 果 保 存 为.mat文件。 Terminator :终止一个未连接的输 出端口
八、Simulink基本操作
模型文件的操作
Simulink所建立的模型文件的后缀名为.mdl。模型文件实际上是一种结 构化了的ASCII文件,它描述了模型的关键字和参数。模型文件可以通过M文 件编辑器打开,并可进行模型的查看和修改。
模块的操作 模块的选定 -选定单个模块、多个模块( shift 键的使用,方 框选定、复制) 模块大小的调整 模块方向的调整 选定模块,Format-Rotate block:模块顺时针旋转90° Format-Flip block:模块顺时针旋转180° 模块位置的调整 模块的删除 模块名的操作(隐藏(hide name )、显示( show name )、 模块名位置调整(Flip name)、双击模块名) 模块的插入
Continuous(连续模块) Discontinuous (离散模块) Look-up Tables(查表运算模块) Math Operations(数学模块) Model Verification(信号检验模块) Model-Wide Utilities(模型工具模块) Ports&Subsystem (子系统创建模块) Sinks(接收器模块) Sources(输入源模块)
弹出一个Untitled的Simulink模型窗口,再选择View Show Library Browser,弹出Simulink Library Brower 模块库窗口
四、Simulink 启动
依次表示新建、打开 系统模型文件
依次表示新建、打开与 保存系统模型文件
五、Simulink 窗口环境
主要用于给仿真模型提供输入信号 十、Sources(输入源模块)
In1:输入端口 Constant:常数信号 Signal Generator:信号发生器,产 生任意波形 Ramp:斜坡信号 Sine Wave:正弦波信号 Step:阶跃波信号 Repeating Sequence:重复信号 Pulse Generator:脉冲发生器 Ground:搁置一个未连接的输入端口 Clock:时钟信号 From Workspace:来自MATLAB的工作 空间。 From File(.mat):来自数据文件。
七、Simulink 仿真简例
例子:在Simulink中构建模型:对一个正弦波信号进行积分处 理,然后将原始正弦信号和积分后的信号送到示波器中同时显 示出来。 步骤: 1.打开一个新的窗口,找到相应的模块,并将它们移到模型中 去。需要的模块有:输入源模块(Sources)中的正弦波模块;接 收器(Sink)模块中的示波器模块;连续系统(Continous)模块组 中的积分(Integrator)模块;信号路线(Signal Routing)模块 组的信号混路(Mux)模块 。 2.连接模块。将鼠标放到模块的输出端口,等光标变为十字时 按住鼠标移动到另一模块的输入端,释放鼠标即可。如果信号 线存在分路,按住Ctrl键并同将鼠标放到信号线上,等光标变 为十字即可引出分支信号线。 3.保存模型文件。 4.运行仿真:simulation-start或点击图标。
八、Simulink基本操作
模块的操作 模块参数设置(双击模块) 信号线的操作 信号线的连接:光标连接、按住 Ctrl 键连续单击欲连接的两个模块, simulink将自动连接所选模块 分支线的连接:鼠标右键连接、按住Ctrl键拖动鼠标 信号线的折曲: 信号线的删除 信号线的标签:双击要进行标注的信号线(编辑、复制(按住 Ctrl 键 拖动鼠标)、移动、删除(Shift键选中-Delete)) 信号线标签的传递( 1 )先对进行复路前的信号进行标注,分别标为 s(1)、s(2),在使用标签传递的信号线上标上“<”;(2)执行Edit- Update Diagram 模型的注释 一个可读性良好的程序,应该写有易读的注释行;建立 Simulink 模型 也一样,应该养成添加注释的良好习惯。具体方法为:在模型编辑窗口 任意位置双击鼠标左键,将弹出一个编辑窗口,可在其中写入注释内容。 (其余操作与标签操作类似)
十、Sources(输入源模块)
Sine Wave 模块
可以根据用户设定的参数来直接生成正弦信号。信号生成方 式有两种: Time based 方式:需要用户设定的参数有: Amplitude (幅 度)、 Bias (偏移)、 Frequency (频率)、 Phase (初相)、 Sample time(采样时间)。 Sample based方式:需要用户设定的参数有: Amplitude(幅 度)、Bias(偏移)、Samples per period(每周期采样数)、 Number of offset samples ( 偏 移 采 样 数 ) 、 Sample time (采样时间) 。 [注]采样时间设置为0表示以连续方式工作,当设置为大于0的数 时则以所设采样时间工作。 Sample based 模式的模块是不能以连续的方式工作的。
八、Simulink基本操作 说明:模型编辑窗口中不能有孤立的模块存 在,即不能有和别的模块没有任何连接的模 块。模块的每个输入端,都要为他指定输入 信号,即都要有连线。但输出端则可以空置。
模型编辑窗口常用的工具栏和 菜nk的模块库能够对系统模块进行有效的管理与组织, 使用Simulink模块库浏览器可以按照类型选择合适的系统模块、 获得系统模块的简单描述以及查找系统模块等,并且可以直接将 模块库中的模块拖动或者拷贝到用户的系统模型中以构建动态系 统模型。模块库按功能分类,主要包括以下子库:
三、
Simulink的特点
提供图形用户界面( GUI ) ,只要通过点击拖拽 就可完成模型的创建。 系统具有分层功能,可以将系统分成多层,每层 又可分成好几部分,使我们组织系统简洁有效。
模型构建完后,可以启动系统仿真功能来分析该 系统的动态特性。
仿真结果可以图形方式进行显示 -类似示波器,便于观察输出结果 -可以仿真线性、非线性系统 -可以构建连续时间模型或离散时间模型
二、什么是Simulink
Simulink是Matlab软件的扩展,它是实现动态系统
建模和仿真的一个软件包,它与MATLAB语言的主要区 别在于,其与用户交互接口是基于Windows的模型化 图形输入,其结果是使得用户可以把更多的精力投入 到系统模型的构建,而非语言的编程上。
所谓模型化图形输入是指Simulink提供了一些按功 能分类的基本的系统模块,用户只需要知道这些模块 的输入输出及模块的功能,而不必考察模块内部是如 何实现的,通过对这些基本模块的调用,再将它们连 接起来就可以构成所需要的系统模型(以.mdl文件进 行存取),进而进行仿真与分析。
十、Sources(输入源模块)
From File 模块
可以从mat文件中的第一个矩阵中读取数据作为输入信号, 该矩阵的第一行被认为给出了一组时刻值,其余行给出了相应的 信号值。在使用此模块时需要设置mat文件名和采样时间。
>> save_data=simin'; >> save mydata save_data
四、Simulink 启动
由于Simulink是基于Matlab环境之上的高性能的系统仿真设 计平台,因此启动Simulink之前必须首先运行MATLAB,然后才能 启动Simulink并建立系统模型。启动有四种方法:
1、在MATLAB命令窗口中输入simulink
结果是在桌面上出现一个称为Simulink Library Browser的 窗口,在这个窗口中列出了按功能分类的各种模块的名称。
菜单栏 工具栏
模块编辑区
当前状态
仿真进程
仿真解法
六、Simulink 模型组成
一个典型的Simulink模型由信源、系统以及显示 等三个部分组成,它们的关系如下图所示:
信源
系统
显示
信源:提供系统的输入信号,如常量、正弦波、方 波等。 系统:对仿真对象的数学抽象,比如是连续线性系 统,还是连续非线性系统?对输入信号求和,还是对 输入信号进行了其他处理? 显示:接收信号的部分,用户可以把它送到“示波 器”显示出来,或者保存到相应的mat文件中去。
十、Sources(输入源模块)
From Workspace 模块
建立如下函数文件: function Sin_signal=Sin_signal(A,Bias,W,Phase,t0,te,N) t=linspace(t0,te,N); Data=A*sin(W*t+Phase)+Bias; Sin_signal=[t' Data']; 在命令窗口中键入: >> simin=Sin_signal(1,0,0.5*pi,0,0,8,100);
相关主题