python汉宁窗平滑
时间: 2023-11-17 22:01:52 浏览: 265
汉宁窗的应用
汉宁窗平滑是一种信号处理技术,它可以通过对信号进行加权平均来减少信号中的噪声和其他干扰。在Python中,可以使用NumPy库中的hanning函数来生成汉宁窗函数,然后将其应用于原始信号上,以获得平滑后的信号。下面是一个简单的Python代码示例,展示了如何使用汉宁窗平滑一个简单的正弦波信号:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一个简单的正弦波信号
t = np.linspace(0, 1, 500, False)
signal = np.sin(2 * np.pi * 5 * t)
# 使用汉宁窗函数进行平滑
window = np.hanning(len(signal))
signal_windowed = signal * window
# 绘制原始信号和平滑后的信号
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.plot(t, signal)
plt.title('Original Signal')
plt.subplot(1, 2, 2)
plt.plot(t, signal_windowed)
plt.title('Hanning Window Smoothed Signal')
plt.show()
```
在上面的代码中,我们首先生成了一个简单的正弦波信号,然后使用NumPy库中的hanning函数生成了一个汉宁窗函数。接下来,我们将汉宁窗函数应用于原始信号上,得到了平滑后的信号。最后,我们使用Matplotlib库绘制了原始信号和平滑后的信号的图形。
阅读全文