模拟数据检查器可以比较从工作区或模拟中的文件或日志中导入的运行和单个信号的数据和元数据。您可以使用公差分析比较结果,您可以通过指定信号属性和比较约束来配置比较行为。本示例使用从模型模拟中记录的数据slexaircraftexample.
并展示了如何:
比较信号和运行。
使用该分析比较结果比较模拟数据检查器中的窗格。
指定信号公差和全局公差。
配置比较约束。
有关影响比较的公差计算和信号特性的详细信息,请参见模拟数据检查器如何比较数据.要以编程方式比较数据,请使用金宝appSimulink.sdi.compareRuns
功能或者金宝appSimulink.sdi.compareSignals
作用
这个例子继续自检查模拟数据.您还可以使用此脚本来生成示例所需的数据。
load_system (“slexAircraftExample”)%将信号配置为日志金宝appSimulink.sdi.markSignalForStreaming (“slexAircraftExample/Pilot”, 1“开”)s金宝appimulink.sdi.marksignalforstreaming(“SlexAircraft示例/飞机动力学模型”3.“开”)s金宝appimulink.sdi.marksignalforstreaming(“SlexAircraft示例/飞机动力学模型”4.“开”)%将导频信号更改为正弦set_param(“slexAircraftExample/Pilot”,“波形”,的正弦)%模拟模型sim卡(“slexAircraftExample”)%将导频信号改为平方set_param(“slexAircraftExample/Pilot”,“波形”,“广场”)%模拟模型sim卡(“slexAircraftExample”)
您可以比较信号来分析模型中两个信号之间的关系。例如,比较粘贴
从输入信号到输出信号,阿尔法,拉德
.
导航到比较窗格。
要查看可用于比较的信号列表,请展开基线下拉列表并选择信号.
选择棍子(跑1:slexaircraftexample)
.
扩展相比于下拉列表并选择alpha,rad(运行1:slexairraft示例)
.
点击比较.
或者,您可以选择基线和相比于中的信号,使用上下文菜单右键单击该信号检查窗格。
信号不是相同的,因此它们在绝对,相对和时间容差内不匹配,所有这些都设置为0
默认情况下。
在比较视图中查看顶部绘图,您可以看到阿尔法,拉德
信号滞后粘贴
信号。对于信号比较,仿真数据检查器使用指定的公差值基线信号。再加上时间的宽容粘贴
信号来解释滞后。
选择粘贴
示意进入0.5
在里面时间差距领域性质窗玻璃当指定一个公差时基线信号,其覆盖全球的宽容字段自动更改为对
. 当您单击鼠标离开时间差距字段,比较再次运行,使用您指定的信号级公差。如果要使用信号的全局公差值,请单击覆盖全球的宽容字段和选择不
从下拉列表中。
模拟数据检查器绘制绘制周围的容差带基线信号和底部子批次中显示的有符号差分信号周围。差分图顶部的条形图以绿色和红色显示比较公差范围内和公差范围外的区域。
时间容差包括两个信号之间的相位差,但比较仍然包括由于振幅差而超出容差的区域。可以将幅值公差添加为绝对宽容或者相对宽容.
将绝对公差添加到粘贴
信号,进入0.05
进入绝对宽容属性窗格中的字段。结合绝对公差和时间公差,信号比较通过。
请注意
仿真数据检查器使用对每个点的指定公差的最宽松的解释来绘制公差区域。有关模拟数据检查器如何计算公差带的更多信息,请参见公差规范.
还可以使用模拟数据检查器将一次运行中的所有信号与另一次运行中的所有信号进行比较。运行比较可以提供有关更改模型参数的影响的有用信息。例如,更改操纵杆输入信号滤波器的截止频率。然后,使用模拟数据检查器评估对记录信号的影响。
要访问模型工作区中的数据,请在建模选项卡,在设计点击模型资源管理器.
单击模型名称旁边的箭头,然后选择模型工作区.
更改Ts
从0.1
来1
并关闭模型资源管理器.
用新的过滤器模拟模型。
在里面比较窗格中,展开基线下拉菜单,并选择跑.
从运行列表中,选择2:运行slexAircraftExample
.
扩展相比于下拉列表并选择运行3:Slexaircraftexample
.
点击比较.
的比较窗格列出了比较运行的所有信号,并总结了比较的结果后果柱在本例中,所有三个信号对齐,没有一个匹配。你可以点击更多看每个信号比较不匹配的原因。这三个信号都超出了容忍范围。
请注意
仿真数据检查器只比较来自基线运行与来自相比于跑。如果来自来自的信号基线运行不与信号从相比于跑,信号列在比较带有警告的窗格。有关信号对齐的更多信息,请参阅信号对准.
要绘制比较结果,请选择要查看的信号比较窗玻璃例如,请选择该结果q,rad / sec
信号上图显示了q,rad / sec
来自基线和相比于跑。下图显示了信号和计算公差带之间的差异。
要分析运行比较中的信号,可以指定全局公差。要指定全局公差,请单击更多.下全球公差,输入0.75
对于时间容忍度和0.075
对于绝对公差。
点击比较按钮以运行比较。模拟数据检查器绘制围绕的容差带基线在有符号差分图上显示信号和。使用新的公差值粘贴
和q,rad / sec
信号通过比较。
观看阿尔法,拉德
对信号的公差区域进行分析比较结果。点击箭头按钮在工具栏中导航透过公差区域。图中的两个光标显示了第一个超出公差区域的开始和结束。您可以使用键盘箭头探索整个公差区域中的信号和公差值。要查看下一个公差区域,请单击工具条中的右箭头按钮。
要解决公差区域,您可以选择修改全局公差值,或者向其添加特定信号特定的公差阿尔法,拉德
信号使用信号属性。
您还可以对影响结果是匹配还是不匹配的比较应用约束。例如,您可以指定信号的时间向量必须匹配才能使结果匹配。要指定约束,请单击更多,然后选择信号时间向量必须匹配.要使用此约束运行新的比较,请单击比较.
比较结果显示现在所有的信号结果都是不匹配的。时间矢量与任何信号都不匹配,因为它们是从使用可变步长求解器的模型的模拟中记录的,而且模拟之间的条件是变化的。当比较结果由于约束而不匹配时,模拟数据检查器不会为该信号计算结果。当您选择一个信号时,plot区域将显示为什么信号结果不匹配的解释。
您可以配置这些比较约束:
信号数据类型必须匹配
信号的启动和停止时间必须匹配
信号时间向量必须匹配
当需要信号元数据中的匹配时,指定约束可以更快地返回不匹配结果,因为当指定的元数据不匹配时,比较不会计算结果。
也可以配置比较,在检测到第一个不匹配结果后停止计算结果。当您将比较配置为在第一次不匹配时停止时,比较总是在检测到信号元数据中的第一次不匹配后停止。当第一个不匹配结果是由于信号数据比较的超差结果时,也可以选择停止比较。
模拟数据检查器总是在基线和比较运行中对齐信号,并总是检查信号单元是否匹配。当您将比较配置为在第一次不匹配时停止时,未对齐的信号和与不匹配的单元的信号总是会导致比较停止。您可以通过选择一个或多个约束来指定要检查的比较的附加元数据。
在此示例中使用的运行和信号相对较小,并且比较快速运行。当您比较长信号或包含许多信号的运行时,比较可能需要更多时间。仿真数据检测器在比较期间显示增量进度指示符,以及比较按钮变成了取消按钮,您可以单击以在任何点取消比较。对于分层数据,后果比较视图中的列总结了每个分层节点上的结果。