Numpy的hanning()是一个用于生成汉宁窗的函数,该函数返回一个长度为N的数组,其中每个元素的值都是按照汉宁窗公式计算出来的。
汉宁窗通常用于信号处理中,可以将信号分段处理,消除信号的周期性干扰,提高分析信号的精度。在音频分析、图像处理、频谱分析等领域都有广泛的应用。
下面是hanning()函数的用法及示例。
numpy.hanning(M)
import numpy as np
from matplotlib import pyplot as plt
M = 10
hann = np.hanning(M)
plt.plot(hann, '-o')
plt.title('Hanning window')
plt.xlabel('Sample')
plt.ylabel('Amplitude')
plt.grid(True)
plt.show()
运行结果如下图所示:
import numpy as np
from matplotlib import pyplot as plt
# 生成随机信号
N = 256
x = np.random.rand(N)
# 对信号进行汉宁窗处理
win = np.hanning(N)
x2 = x * win
# 绘制原始信号和处理后的信号
plt.plot(x, label='Original signal')
plt.plot(x2, label='Signal after Hanning window')
plt.legend()
plt.show()
运行结果如下图所示:
可以看到,经过汉宁窗处理后,信号的噪声被减少,更加平滑。汉宁窗可以消除信号的周期性干扰,提高信号的分析精度。
本文链接:http://task.lmcjl.com/news/17102.html