实际数据分析任务中,经常需要对数据进行切分与筛选。您是否也经常需要提取特定转速范围、扭矩区间或特定经纬度区间位置的数据?
Simcenter Testlab Neo Process Designer 提供了多种方法,可从原始数据中提取出需要的数据片段(见图 1)。

所有这些方法都会输出一个新文件,其中仅包含从原始文件中提取出的数据段。随后还可以连接其他处理方法(如频谱、总级值等),对任何已提取的数据段进行分析。
本文将介绍以下数据分段示例:
- 1. “Input” 方法
1.1 交互式选择数据段
1.2 为每次运行选择不同的数据段
- 2. “Extract Segments (Rule-Based)” 方法
2.1 方法使用说明
2.2 两个条件:创建索引通道
- 3. “Split by Position” 方法
- 4. “Decompose” 方法
- 5. “Extract Segment (Block)” 方法
- 6. 结果数据查看
1. 基于曲线图形截取
该方法可用于按时间选择数据段。
1.1 交互式选择数据段
进入Processing界面,可以在显示窗口中手动选择出高亮数据段,然后结合“Input” 方法(节点)使用。
显示时间历程后,同时按住 CTRL 和 ALT 键,并从左向右拖动鼠标,即可高亮选中数据段,如图 2 所示。



在 “Input” 方法的 “Properties” 对话框中:
- 将 “Input Data” 字段更改为 “Save in Run”。这样会为每个选中的数据段创建单独的运行。
- 点击 “Segments” 旁边的 “…” 按钮,所选的数据段应会显示在列表中。
- 也可以为显示中选中的每个数据段设置唯一名称。在 “Segment List” 对话框的 “Run suffix” 字段中输入名称。数据处理完成后,这将成为对应数据段的名称后缀。
完成后,在 “Segment List” 菜单中点击 “OK”,然后在“Input” 方法属性对话框中点击 “Close”。
将数据添加到 “Input Basket” 后,点击 “Run” 按钮开始处理数据。系统将创建包含提取时间数据的新片段。如果还添加了其他方法(如 spectral map、orders 等),处理后的数据也会一并存储到这些计算工况中。
1.2 为每组测试选择不同的数据段
也可以为每个工况/记录选择不同的数据段。如果某个事件在每次记录中发生的时间不同,这种方式会很有帮助。
为此,双击 “Input” 方法,并将 “Segment Mode” 从“All Runs” 切换为 “Per Run”,如图 5 所示。


2. “Extract Segments (Rule-Based)” 方法
“Extract Segments (Rule-Based)” 方法可根据数据通道中包含的数值来识别需要处理的数据段。这样,软件无需用户手动干预即可自动识别相应的数据段。
例如,可以根据特定的扭矩、转速或速度数值来提取某个数据段。
2.1 使用该方法
“Extract Segments (Rule-Based)” 方法可在 Simcenter Testlab Neo Process Designer 中使用。
例如,在下方图 7 所示的数据中,需要计算速度为每小时 65 公里时的频谱。

在记录的数据中,速度并不是恒定的。与其手动裁剪和截取数据,不如使用“Extract Segments (Rule-Based)”方法,自动识别并处理速度恒定为每小时 65 公里的数据段。
若要使该方法在 Method Library 中可用,请进入 “Files -> Add-ins”,启用 “Trackside Validation” 加载项。启用后,“Extract Segments (Rule-Based)” 方法将如图 8 所示出现在方法库中。

将 “Extract segments (rule-based)” 方法放置在包含数据的 “Input” 方法与 “Spectrum average” 处理方法之间。表示在进行频谱分析之前,先对数据进行数据段的截取。
双击 “Extract segments (rule-based)” 方法以编辑其属性(见图 9)。

在 “Detection Mode” 下拉菜单中,可选择 “First Occurrence” 或 “All Occurrences”:
- First Occurrence:当 “Segment Selection” 中设定的条件满足时,将从数据曲线中提取一个数据段。
- All Occurrences:如果记录中有多个位置满足 “Segment Selection” 条件,则可从数据中提取多个数据段。选择此选项后,还可以进一步设置是将提取出的数据段 “Join” 合并为一次运行,还是保持 “Separate” 分开。
点击 “Segment selection” 旁边的 “…” 按钮,即可创建用于提取数据的规则,如图 10 所示。

在 “Extract segments (rule-based)” 方法中,需要选择一个参考信号。参考信号是一个单独的数据通道,用作识别数据段的依据。若希望根据不同通道上的多个条件组合来识别数据段,请使用下一节所述的 “Calculator” 方法。
规则定义菜单的其余部分提供了三种识别数据段的主要方式。所有数值都必须包含工程单位,否则无法正常工作。
- Begin or End:为数据段定义开始条件和结束条件。
- Extract:识别落在两个不同数值之间或之外的数据。
- Triggers:可定义一个触发电平。例如,当指定值超过某个阈值时,可以截取从其前后指定的若干秒和指定的时长的数据。
在上图示例中,使用的是 “Extract” 选项,用于识别速度通道处于 64 到 66 km/h 之间的数据段。
所选参考通道的工程单位必须在数值字段中明确指定(例如:km/h、Nm、rpm)。为避免混淆,请确保单位的拼写与显示窗口 Y 轴图例 中显示的内容完全一致。该字段区分大小写。
规则定义完成后,点击左下角的 “Run” 按钮即可处理数据。“Extract segments (rule-based)” 方法的结果如下面的图 11 所示。

原始时域信号与提取出的数据段都可以叠加显示和查看。可通过点击 “Active Analysis” 来实现。若提取出的数据段满足要求,请点击 “Accept”。
2.2 两个条件:创建索引通道
假设提取一个数据段时需要同时满足两个条件。在这种情况下,可以将 “Calculate” 方法(用于时域数据)与 “Extract segments (rule-based)” 方法结合使用。
在图 12 所示的流程中,会创建一个 “Index” 通道。该通道默认值为 0;当 3500 rpm 和 100 Nm 的扭矩两个条件都被超过时,其值将变为 1:

在公式设置中(可在 “Calculate” 的属性对话框中点击 “…” 按钮进行设置):
- 将 Torque/moment 分配给 R1,将 rotational speed/rpm 分配给 R2。
- 为 R2 设置 3500 rpm 的阈值(单位必须用方括号指定),并将结果赋给 V1。
- 为 R1 设置 100 Nm 的阈值(单位必须用方括号指定),并将结果赋给 V2。
- V3 是 V1 与 V2 之间的逻辑 AND 运算。Index 通道的输出默认是 0,除非 V1 和 V2 同时为真;当两者同时为真时,Index 通道的值为 1。
“Calculate”方法的输入与输出示例如图 13 所示。


当信号超过 0.5 的阈值时,即提取该数据段。请注意,起始条件要求为上升沿,而结束条件要求为下降沿。
3. 按位置信息进行数据切分
“Split by Position”方法可用于基于 GPS/GNSS 位置信息识别需要处理的数据段。例如,可用于识别特定的路面区域等。
若要在 Simcenter Testlab Process Designer 的 Method Library 中启用 “Split by Position” 方法,请进入 “File -> Add-ins”,然后启用 “Trackside Validation” 插件。启用后,“Split by Position” 方法将如图 15 所示出现在方法库中。

使用 “Split by Position” 方法可以根据经纬度信息进行道路载荷谱数据的自动切分。
4. “Decompose” 方法
“Decompose”方法属于 “Interactive Analysis” 插件的一部分,可用于基于索引通道创建时程数据。
例如,在下方所示的 900 秒记录中,挡位(1 挡、2 挡、3 挡等)可以作为一个索引通道(见图16)。



分解后可以看出,温度范围会随着挡位的升高而增大。这些新的数据段可用于计算每个挡位对应的平均温度或峰值温度。
每条曲线都是由原始记录中不同时间点的数据拼接而成。“Decompose” 方法提供了 “Fading mode(渐变模式)”,能够以一种平滑混合的方式将数据连接起来,这对于声音或振动数据尤其有帮助。
5. “Extract Segment (Block)” 方法
另一种称为 “Extract Segment (Block)” 的方法,可用于从频率域、阶次域以及其他非时域数据中进行数据分段切分,进而可以进一步提提取每段数据的统计量。
以下方图19 所示的频谱为例,这里的目标是提取 10 到 140 Hz 范围内的 RMS(均方根)值。

虽然可以使用显示窗口中的双 X 光标快速计算单条曲线的 RMS,但在很多情况下,可能需要对多个数据通道批量计算 10 到 140 Hz 范围内的 RMS,并将所有结果导出到 Excel。
这可以通过 “Extract Segment (Block)” 方法以自动化方式完成,其处理流程如下方图20 所示:

如需使用 “Extract Segment (Block)” 方法,请在 “File -> Add-ins” 中启用 “Interactive Analysis”。
在该处理流程中,“Spectrum Average” 方法先根据时域历程计算频谱;随后提取 10 Hz 到 140 Hz 的频率范围,并对该范围内的数据执行 RMS 计算,最后将 RMS 结果发送到 Excel。
为了将计算范围限制在 10 Hz 到 140 Hz,请双击 “Extract Segment (Block)” 方法,并按照图21 所示输入 “Segment start” 和 “Segment end”。

请注意,“Segment start” 和 “Segment end” 不仅需要输入数值,还必须带有工程单位。
例如,在频谱分析中,单位应为 Hz;而在阶次切片(order cut)中,单位则应为 rpm。
6. 结果数据查看
所有这些方法都会输出一个新文件,其中仅包含原始文件中的一段数据。
示例输出结果如下方的图22所示:

提取出的数据段通常会存储在一个名为 “Process” 的新运行中。同时,系统通常还会保留指向原始数据的链接,例如 “Throughput” 时间文件。查看数据时,如果选中了整个数据文件夹,显示窗口中可能会同时显示原始数据和提取后的数据。若只想查看提取后的数据,请仅选中 “Process” 文件夹。
此外,也可以创建一个仅包含提取数据段、不保留原始数据链接的结果文件夹。实现方法是在 “Input” 方法中,将 “Input Data” 设置从 “Save time data as link” 改为 “Do not save”,如下方 图23 所示:

之后,提取出的数据段还可以连接到其他方法中,继续进行后续处理,例如频谱分析、总值计算等。
希望本文能帮助您更好地在 Simcenter Testlab Neo 中使用数据分段切分功能!
申请免费试用:
如您对 Simcenter 及系列软件及解决方案感兴趣,欢迎联系我们