如何解决无法获得匹配的 scipy.signal.welch 窗口结果
我很困惑为什么我不能得到这个 scipy.signal.welch 计算的结果来匹配。首先,我创建一个正弦信号和 Blackman 窗口:
from matplotlib import pyplot as plt
from scipy.signal import welch
from numpy.fft import fft
from scipy.signal.windows import *
t_max = 1
dt = 0.0001
nSamples = int(t_max/dt)
t = np.linspace(0,t_max,nSamples,False)
x = np.sqrt(2)*100*np.cos(2*np.pi*50*t)
w = blackman(len(x))
plt.figure()
plt.plot(t,x)
首先,我使用带有内置 Blackman 窗口的 Welch 进行 DFT,我得到了我期望的结果,在基频处有一个大峰值和一个遥远的平坦的本底噪声。
f,sxx=welch(x,1/dt,nperseg=nSamples,detrend=False,scaling='spectrum',window='blackman')
plt.figure()
plt.semilogy(f,sxx)
如果我做同样的事情,除了在函数之外应用窗口,我会得到更多的衰减并且没有可辨别的本底噪声。
f,sxx=welch(x*w,window='Boxcar')
plt.figure()
plt.semilogy(f,sxx)
我完全被难住了。我错过了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。