调用Savitzky-Golay 滤波器对轨迹数据进行去噪代码
时间: 2023-05-15 19:08:09 浏览: 137
数据滤波去噪
3星 · 编辑精心推荐
以下是使用Python实现的Savitzky-Golay滤波器去噪的代码:
```python
import numpy as np
from scipy.signal import savgol_filter
# 生成随机轨迹数据
x = np.linspace(0, 10, 100)
y = np.sin(x) + np.random.normal(0, 0.1, 100)
# 使用Savitzky-Golay滤波器进行去噪
y_smooth = savgol_filter(y, window_length=11, polyorder=2)
# 绘制原始数据和去噪后的数据
import matplotlib.pyplot as plt
plt.plot(x, y, label='Original')
plt.plot(x, y_smooth, label='Smoothed')
plt.legend()
plt.show()
```
这段代码使用了`numpy`和`scipy`库中的函数来生成随机轨迹数据,并使用Savitzky-Golay滤波器进行去噪。其中`window_length`参数表示滤波器的窗口大小,`polyorder`参数表示滤波器的多项式阶数。最后使用`matplotlib`库将原始数据和去噪后的数据绘制出来。
阅读全文