2

我在几个沙漠场地有一系列土壤含水量传感器。他们的信号包含很多噪音或偏见(取决于我与谁交谈)。我想删除垃圾,同时尽可能多地保留信号。我不是信号处理专家,所以任何类似于“使用 XYZ 滤波器”或特定算法之类的东西都会对我有所帮助。

我发布了一张图表,显示了一次探测的一年数据。信号是“顶部”;所有的垃圾都低于信号: http ://www.unm.edu/~hilton/swc.png

我玩过很多次低平滑;除了在信号下方有很多偏差的地方(例如下面的示例中的大约 idx 1000 到 2000 和 15000 到 16000),它的效果相当好。

我可以使用 Matlab 的信号处理工具箱,而且我对 R 和 python 非常熟悉;如果其中一个有一个预先打包的过滤器,我可以从中跳出来,那就太好了(但我愿意编写新的东西)。

非常感谢,蒂姆

4

2 回答 2

0

可能值得快速尝试对数据集实施一些标准偏差过滤。将您的数据分成 N 段,并为每个段计算 Y 值的标准偏差。一旦你得到了,过滤掉 Y 值超过 3 个标准偏差(或者你想要的多少)的数据点。当然,要确定要使用多少段,需要进行一些手动工作。

于 2012-11-28T01:37:40.990 回答
0

我将从中值滤波器开始。如果我正确阅读了您的情节,您每小时采样两次,并且数据不是太动态。假设这是正确的,47 或 49 的中值过滤器长度将等同于一天的窗口。在这个数据集中,您可能会延长一周或更长时间。在任何情况下,您都应该将未过滤和过滤的数据相互叠加,以确保过滤后的数据通过眼球测试(当您看到它时就会知道)。您可能需要手动进行最后的清理(希望您没有数千个传感器)。

(另外,我会派一名实习生或研究生到现场,找出传感器出了什么问题并修复它们。)

于 2012-11-27T03:30:57.687 回答