首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的savitzky-Golay过滤器,窗口大小错误

python中的savitzky-Golay过滤器,窗口大小错误
EN

Stack Overflow用户
提问于 2021-04-08 09:37:14
回答 1查看 1.4K关注 0票数 1

我有一个时间序列数据,我想要平滑使用Savitzgy Golay过滤器。根据resaerch的说法:https://arxiv.org/ftp/arxiv/papers/1808/1808.10489.pdf

窗口大小应为n+2,其中n个->多面体。我对我的数据进行了这样的平滑处理,但我没有看到信号的结果。我选错窗户了吗?

我的数据是带有(50858, 2)形状的temg列的EMG信号,其中emg是要去噪的值。这是它的头。

过滤器实现:

Y= data.iloc[:,1].values

Y_filtered= savgol_filter(Y, window_length = 5, polyorder = 3)并绘制它:

代码语言:javascript
复制
plt.subplot(1, 2, 1)
plt.plot(Y[-1000:])
plt.title("EMG with noise")


plt.subplot(1, 2, 2)
plt.plot(Y_filtered[-1000:])
plt.title("SG filter applied ")
plt.tight_layout()
plt.show()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-08 09:52:04

窗口大小不限于n+2。不过,一定很奇怪。我试过用window_size=21polyorder=3,它很有效。我认为不太可能在数千个样本信号中看到窗口大小=5的结果,因为您的噪声可能会跨越更多的样本。试着用一个更大的窗口大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67001293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档