藉由执行完整的模拟,可以确认Simulink模型是否已没有结构上的问题。但是,如何知道系统的行为是否会如同期待呢?要回答这个问题,你需要知道整个模拟过程之中的模拟输出看起来是什么样子,以及系统参数或环境特性的变更将如何影响系统的回应。
藉由Simulink,可以透过多种选项来取得这类资料。本文将引导如何进行选择,从开发初期为模型进行除错的阶段经常使用的工具,到通常用于深入模拟资料分析的工具。
端口值显示-在模型除错时进行讯号的探测
在为模型除错以排除特定问题的时候,你通常会需要进行一个或一组讯号的探测。在Simulink,可以先透过对着讯号按下滑鼠右键,并选择”Show Value Label of Selected Port”。接着,在模拟的每一个时间阶段监看特定的讯号值,或者汇流排讯号每一个元件的数值(图1)。
图1 : 端口值显示说明了执行模拟时四个分开的汇流排元件数值。 |
|
若要终止执行此视觉化,只需要对着讯号再次按下滑鼠右键,并取消该选项的选择。
Scope与其他显示模块-快速检视模拟资料
图2 : 在Scope模块检视包含统计量测的正弦模拟资料。 |
|
端口值显示提供每一个模拟时间阶段的讯号值。如果要观察这些讯号数值随着时间会发生什么样的变化,可以加入Scope模块(图2)。将讯号曲线与范围模块相连,接着执行模拟,便可查看模拟中、模拟后的资料。
你可以在Scope模块加入互动的游标测量讯号或轴上的几个点。最大值、最小值、中位数等已知讯号的讯号统计值也可以显示出来。也可以加入类似示波器的开关,让Scope可以在特定事件发生时开始显示或暂停显示。
图3 : 在DSP系统工具箱的Spectrum Analyzer(左)以及通讯工具箱(原名Communication System Toolbox,现已更名为Communication Toolbox)的Constellation Diagram检视模拟资料(右)。 |
|
在讯号处理与通讯领域,可以在模型加入其他几种类型的视觉化工具来快速检视模拟资料。举例来说,可以使用频谱分析器(Spectrum Analyzer)模块来检视频域资料(图3左),或者使用Constellation Diagram模块来检视数位调变讯号的分布(图3右)。
仪表板模块函式库-在同一个地方调整和监看模拟
随着设计进度的前进,你可能会想要在模型的最上层设置一个介面,让你或你的同事可以在同一个地方控制和监看模拟的状态。你可以从仪表板(Dashboard)模块函式库,透过图形化的控制和显示来达成这样的需求(图4)。
图4 : Simulink Dashboard模块中函式库的图形化控制和显示 |
|
这个函数库包含了不同种类的显示,像是量测计、灯等等。你可以将这些显示与模型中的特殊讯号做关联,方法是先开启显示模块,并选择你想要与该模块相互关联的讯号或模块。执行模拟时,资料显示会持续地在模型视窗当中更新,让你可以一次检视所有重要的模拟资料(图5)。
图5 : 从Simulink Dashboard模块函式库加入了燃料管理模拟的旋钮、开关、量测计。 |
|
模拟资料检验器-检视与分析来自多次模拟的资料
当你在开发模型时,执行多次模拟来测试不同的情境或优化设计通常是很重要的。针对这一点,你可以监看数百笔或什至数千笔个别的讯号。模拟资料检验器(Simulation Data Inspector)可用来把多次模拟而来的所有资料储存在同一个地方(图6)。
图6 : 在模拟资料检验器比较从两次个别的模拟而来资料。 |
|
你可以接着比较从这些模拟得到的所有资料来做检查,比如两次模拟讯号输出之间的差异是否在设计的容许范围之内。
MATLAB图表-将资料分析和视觉呈现客制化
许多Simulink视觉化工具的重心主要放在时域及频域。如果要以其他Simulink未提供的领域或方式检视资料的话,可以使用MATLAB。所有在Simulink产生的资料都可以透过MATLAB取得,以进行进一步的客制化资料分析,不论是透过指令行或程式脚本。这些资料接下来可以在MATLAB以数字或图表来查看(图7)。
图7 : 以MATLAB脚本定义傅科摆(Foucault pendulum )的x、y座标并绘制3D直方图(左),以及绘图结果(右)。 |
|
特制的视觉化工具
到目前为止,我们已经看到针对一般应用的视觉化工具。另外也有一些特殊应用可以使用的工具。举例来说,在利用Simulink即时控制工具(Simulink Real-Time)于目标机器执行即时模拟时,可以在主机调整参数及查看模拟资料(图8)。
在调整控制系统时,可以透过Simulink控制设计模块组(Simulink Control Design)绘制出控制器极值和零等资料,或者是模行的波德响应(Bode response)(图9)。
除此之外,为了更清楚了解系统在预期环境的行为,你可以利用多体机构动态模拟模块组(原名SimMechanics,现已更名为Simscape Multibody)、与FlightGear搭配的航太模块组(Aerospace Blockset)、以及Simulink 3D动画模块组(Simulink 3D Animation),将Simulink模型与全3D环境连结(图10)。
图10 : 车辆测试轨道的虚拟环境,以Simulink 3D动画模块组建立。 |
|
(本文由钛思科技提供,作者Michael Carone任职于MathWorks公司)