nCode:GlyphWorks案例教程二
Removing Varying Mean from Data
在本案例中,来自五个应变计的测量数据显示出漂移,漂移随时间在通道之间呈非线性变化。
虽然通道从标称零值开始,但漂移描述了测量过程中外部因素(如温度)导致仪表输出偏移的影响。这将导致测试结束时的最终值不再是预期的零值。本案例将处理来自两个此类测试的数据。
本例使用GlyphWorks提供的流程,并对其进行修改,以使用滤波法来进行比较。完整的流程图如下所示:
案例文件
此案例的文件(采用nCode DAC格式)位于nCode安装目录下**\demo\glyphworks\02_DriftRemoval. **需要的文件是:
- RemoveRunningMean.flo
- Drift01_45.dac
- Drift01_46.dac
- Drift01_47.dac
- Drift01_48.dac
- Drift01_49.dac
- Drift02_45.dac
- Drift02_46.dac
- Drift02_47.dac
- Drift02_48.dac
- Drift02_49.dac
将上述文件复制到工作文件夹中,并使用副本文件完成该实例。
打开流程
GlyphWorks与此工作示例的预定义过程一起交付。它从数据中移除运行平均值,您将使用这些数据来移除漂移。
为了访问此流程,可以执行以下操作:
- 单击Open Process按钮;
- 选择\glyphworks\02_DriftRemoval\select RemoveRunningMean.flo.;
将打开该流程,如下图所示:
移除滑动平均
- 使用Running Statistics图标计算滑动平均值。这将使用1000点移动窗口计算整个信号的平均值。PointByPoint方法确保生成的平均数据与原始数据具有相同的点数;
- 使用一个显示界面将计算出的平均值与原始数据进行比较;
- 使用Arithmetic图标从原始数据中减去滑动平均值结果;
- 使用一个显示界面来显示去除滑动平均值的输出数据;
- 输出数据使用后缀为“_out”的.s3t文件格式写入;
- 在“可用数据”窗口中展开“时间序列”文件夹;
- 将drift01_(dac)拖到Time Series Input图标TSInput1上;
- 选中Display复选框,并使用图标右上角的maximize按钮将TSInput1最大化;
- 右键TSInput1图标并选择Property;
- 在XY Graph选项卡上,选择左侧树中的Styles条目;
- 确保Number of Channels的值为5;
- 单击OK关闭对话框;
信号末端的变化平均值和非零数据应在显示屏上清晰可见。
- 运行该流程;
- 命名为Calculated Running Mean的XY Display图标显示原始通道45和通道45的滑动平均值;
- 名为Running Mean Removed的XY Display图标显示减去Running Mean得到的数据。目视检查所有通道,确认数据的平均值为零。(使用工具栏中的下一个/上一个频道或测试按钮);
在实践中,使用此类操作技术时必须始终小心,以确保不会丢失大量有效数据。
与高通滤波的对比
使用High Pass filter方法同样可以从数据中去除低频信号。具体操作方法如下:
- 将Butterworth Filter图标从BasicDSP选项板拖到分析工作区,并将其连接到Time Series Input图标TSInput1;
- 将Butterworth Filter图标的输出连接到名为Running Mean Removed的XY Display 图标上的第二个输入接口;
- 按下表设置Butterworth Filter图标的属性;
Name | Valve |
---|---|
Type | HighPass |
Method | ForwardAndBackward |
Order | 8 |
Frequency1 | 0.1 |
DCWarning | 0.01 |
- 点击Run按钮;
- 系统将提示确认覆盖以前创建的结果文件。单击Overwrite按钮执行此操作,显示结果如下图所示。
将上述两种方法进行对比:
- 使用Styles属性页更改Running Mean Removed(XY Display)图标的属性以显示两个通道;
- 在Channel Selection属性页上,确认第二个显示器显示的输入接口2的频道号与输入接口1的频道号相同。
- 在Axes/Limits属性页上,使用X轴设置定义X Min=370和X Max=410(在此之前需要取消选择Auto X scale)。
单击OK保存更改。
- 使用XY显示功能通过放大和叠加绘图来比较数据;
- 这两种方法(至少在视觉上)给出了非常相似的结果,如下所示;
重复处理其他测试
附加的测试drift02_可以用类似的方式很容易地修正。
- 将drift02_拖到TSInput1图标上。现在该图标将包含drift01_和drift02_两个测试数据;
- 点击Run,所有测试数据都会被处理;
- 最后处理的数据将会在显示图标中显示。
为避免重新处理drift01_测试数据,请在运行之前,通过执行以下操作,从sinput1数据列表中删除drift01_数据:
- 右键TSInput1并选择Property;
- 在Selected Data选项卡上,右键单击drift01_ test,然后选择Remove;
- 仅在TSInput1中列出drift02_test,单击OK关闭Property对话框,然后重新运行该流程。
保存流程
如果以后要再次使用该进程,可以使用其他名称保存该进程,也可以将其保存到其他位置。