技术文章和通讯

用Simulink可视化仿真数据金宝app

迈克尔·卡隆,MathWorks


你知道你的Simulink金宝app®模型没有结构问题,因为模拟运行到完成。但是,您如何知道系统的运行是否正常呢?要回答这个问题,您需要知道模拟输出在整个模拟过程中是什么样子的,以及系统参数或环境特征的变化如何影响系统的响应。

在Simu金宝applink中,您有许多获取这些信息的选项。本文将指导您了解这些选项,从用于调试模型的早期开发阶段的工具,到用于更深层次模拟数据分析的更常用的工具。

端口值显示-在调试模型时探测信号

在调试模型以隔离特定问题时,经常需要探测一个或一组信号。要在Simulink中做到这金宝app一点,你右键单击一个信号并选择“显示所选端口的值标签”。然后,您可以在模拟的每个时间步骤中监视特定信号的值或总线信号的每个元素的值(图1)。

图1所示。端口值显示显示四个独立的总线元素值,模拟运行。

要关闭可视化,只需再次右键单击信号并取消选择该选项。

范围和其他显示块-快速查看模拟数据

端口值显示为您提供了信号在每个模拟时间步长的值。要查看信号的值如何随时间变化,可以添加一个Scope块(图2)。将信号线连接到Scope块,运行模拟,并在模拟期间和之后查看数据。

图2。具有统计测量的正弦模拟数据,在范围块中查看。

您可以将交互式游标添加到Scope块中,以测量信号或轴上的各个点。可以显示给定信号的最大、最小和中值等信号统计信息。您可以添加类似示波器的触发器,以便示波器在某些事件发生时显示一个信号或暂停显示。

在信号处理和通信领域,有几种其他类型的可视化工具,您可以将其添加到模型中以快速查看仿真数据。例如,您可以使用频谱分析器块查看频域中的数据(图3,左),或使用星座图块查看数字调制信号的星座图(图3,右)。

图3.从DSP系统工具箱(左)的频谱分析仪和通信系统工具箱(右)的星座图中查看的仿真数据。

仪表板块库-调优和监控模拟在一个地方

随着设计的进行,您可能希望在模型的顶层设置一个接口,以便您和同事可以在一个地方控制和监视模拟。您可以使用仪表板块库中的图形控件和显示来实现这一点(图4)。

图4.图形控件和显示金宝app的Simulink仪表板块库。

此库包含不同类型的显示器,如仪表和灯。通过打开显示块并选择要连接到该块的信号或块,可以将这些显示与模型中的特定信号相关联。当模拟运行时,模型窗口内的显示会不断更新,使您能够一次查看所有重要的模拟数据(图5)。

图5.燃料管理模拟,包括Simulink仪表板块库中的旋钮、开关和仪表。金宝app

仿真数据检查器–查看和分析来自多个仿真的数据

在开发模型时,运行多个模拟以测试不同场景或优化设计参数通常很重要。此时,您可以监视数百甚至数千个单独的信号。Simulation Data Inspector可用于将来自多个仿真的所有数据存储在一个位置(图6)。

图6。在模拟数据检查器中比较两个单独模拟的数据。

然后,您可以比较这些模拟的所有数据,以检查(例如)从一个模拟到下一个模拟的信号输出差异是否在某个设计公差范围内。

MATLAB图形-自定义您的数据分析和可视化

许多Sim金宝appulink可视化工具主要关注时间和频率域。要查看其他领域的数据或以Simulink中不可用的方式查看数据,可以使用MATLAB金宝app®.所有从Simulink产生的数据都可以在MAT金宝appLAB中访问,以进行进一步的自定义数据分析,无论是从命令行还是通过脚本。这些数据可以在MATLAB图表中查看(图7)。

图7.3绘制福柯钟摆x、y位置的3D直方图的MATLAB脚本(左),以及生成的绘图(右)。

专用可视化工具

到目前为止,我们已经回顾了一般应用的可视化工具。工具也可用于特定的应用程序。例如,使用Simulink real time在目标机器上运行实时仿真时™, 您可以调整参数并查看主机上的实时模拟数据(图8)。金宝app

图8。控制和监控实时模拟的仪器。

在调整控制系统时,可以用Simulink control Design™绘制控制器极点和零点或模型的Bode响应等信息(图9)。金宝app

图9。控制系统的波德响应。

此外,为了更好地了解系统在其预期环境中的行为,可以使用SimMechanics将全3D环境连接到Simulink模型™, 航空区块集™ 使用FlightGear和Simulink 3D动画™ (图10)。金宝app

图10。在Simulink 3D动画中创建的车辆测试轨道的虚拟环境。金宝app

总结

既然您已经看到了整个设计周期中可用的各种可视化工具,那么一定要经常模拟您的模型,以便尽早发现并消除设计缺陷。频繁的模拟意味着您最终实现的系统将为严格的验证、验证和测试做好更好的准备。

2015年出版-92923v00