一尘不染

峰值检测测量信号

algorithm

我们使用数据采集卡从设备读取读数,该设备会将其信号增加到峰值,然后又回落到原始值附近。为了找到峰值,我们目前在数组中搜索最高读数,并使用索引确定在计算中使用的峰值时间。

如果最大值是我们正在寻找的峰值,则此方法效果很好,但是如果设备无法正常工作,我们可以看到第二个峰值,该峰值可能会高于初始峰值。在90秒的时间内,我们从16台设备中每秒读取10次读数。

我最初的想法是循环遍历读数,以检查上一个和下一个点是否小于当前点,以找到一个峰并构建一个峰阵列。也许我们应该查看当前位置两侧的平均点数,以考虑系统中的噪声。这是最好的方法还是有更好的技术?


我们确实使用LabVIEW,并且已经检查了LAVA论坛,并且有许多有趣的示例。这是我们测试软件的一部分,我们试图避免使用过多的非标准VI库,因此我希望能对所涉及的过程/算法而不是特定代码提供反馈。


阅读 212

收藏
2020-07-28

共1个答案

一尘不染

您可以尝试信号平均,即对于每个点,将其值与周围的3个或更多点进行平均。如果噪声斑点很大,那么这可能也无济于事。

我意识到这与语言无关,但是猜测您正在使用LabView,则LabView附带有许多预打包的信号处理VI,可用于进行平滑和降噪。在NI论坛是一个伟大的地方得到这样的事情更专业的帮助。

2020-07-28