过滤数据向量 - 消除噪音 - 保留峰值(最大值和最小值)

时间:2017-05-15 19:08:59

标签: filtering

我有一个距离传感器(声学),它具有与温度相关的噪声信号。我想保留峰值,但摆脱温度相关的噪音。

我需要一个程序来检查当前和先前测量之间差异的绝对值(例如abs(d1 [i + 1] -d1 [i]))。如果差值小于或等于阈值(delta),则d2 [i + 1] = d1 [i]。如果差值大于delta,则d2 [i + 1] = d1 [i + 1]。示例向量看起来像: 数据向量d1是4,6,5,7,6,5,7,10,55,56,58,30,10 所需的过滤数据(d2)看起来像(在这种情况下delta = 1):4,6,6,7,7,7,7,10,55,55,58,30,10

我看了lowess()和sma(),但是他们不满意,或者我正确应用它们的能力不令人满意。我在之前的尝试中使用了lowess,但它在捕获峰值和谷值时不一致。似乎sapply()和ifelse()函数的组合应该能够做到这一点,但我的技能水平太差了。任何帮助都将非常感激。

0 个答案:

没有答案