signal.spectrogram找到给定段的最大频率

时间:2017-01-21 13:53:34

标签: python scipy signal-processing fft spectrogram

调用scipy.signal.spectrogram后,是否可以确定给定段的不同频率的强度?

即。执行以下操作后:

fs, data = wavfile.read(waveFile)    

sampleFreqs, segmentTimes, sxx= signal.spectrogram(data, fs, nperseg=256, noverlap=128, nfft=512, window=('hamming'))

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,4))    
ax1.pcolormesh((len(segmentTimes)*segmentTimes/segmentTimes[-1]), sampleFreqs, 10*np.log10(sxx))
ax1.set_title('Spectrogram');
ax1.set_xlabel('Segment')
ax1.set_ylabel('Frequency')

产生频谱图,例如this

我可以从sxx找出第10段最强的频率吗?

干杯, 大卫

1 个答案:

答案 0 :(得分:3)

看看numpy.argmax。您的数据看起来足够干净,因此应该可以工作,不需要过滤。