use*_*029 5 python signal-processing numpy
我有以下信号要处理(原始数据):

我想处理信号以消除异常值以获得“平滑”曲线。注意:我不想更改任何实际值,我只对去除虚假点感兴趣。一个特定的要求是曲线“环绕”(即曲线的起点应与其终点相邻)。一张图片可能更有帮助(我已经手动追踪黑线来说明):

到目前为止,我已经尝试根据与移动平均线的距离对函数进行阈值处理,但失败得很惨。我也尝试过基于此计算一阶导数和阈值,这也无济于事。关于如何达到预期结果的任何想法?我仍然相信我在这里缺少一个相对简单的解决方案。我正在使用 Python/NumPy/SciPy。
使用 SciPy 中的滚动中值滤波器:< http://docs.scipy.org/doc/scipy-0.14.0/reference/ generated/ scipy.ndimage.filters.median_filter.html >。
您还可以使用其他形式的滚动平均或滚动顺序统计过滤器。