如何在Python中对数据集应用均值过滤器



我有一个15497组值的数据集。该图显示了摆锤的原始数据角度与样本数量的关系,显然,这看起来很糟糕。它应该看起来像第二张图片过滤后的数据。分配的一部分是将均值滤波器引入到";使"平滑";数据,使其看起来像第二张图上的数据。数据被放入Python中的np.array中。但是,使用np.array,我似乎不知道如何引入均值滤波器。我感兴趣的是在Python代码的代码截图中对theta应用均值过滤器,因为theta是绘图上y轴上的值。添加代码是为了方便您了解数据文件是如何在代码中引入的。

有一个完整的过滤技术世界。没有一个唯一的"均值过滤器"。此外,还有因果滤波器和非因果滤波器(即在滤波器中不使用未来值与在滤波器中使用未来值之间的区别。(我假设你想要一个大小为N的平均滤波器,因为这是非常标准的。然后,为了应用这个滤波器,将"θ"向量与平均核进行卷积。

我建议打印平均内核,并研究它在不同N下的外观。然后你可以理解它是如何对信号中的值进行平均的。我还敦促你们思考卷积为什么要把这个滤波器应用于θ。我会帮助你,让你思考频域中的等效乘法。此外,研究卷积函数中的不同模式,因为这可能更适合您想要的特定解决方案。

N=2
mean_kernel = np.ones(N)/N
filtered_sig = np.convolve(sig, mean_kernel, mode='same')

最新更新