理解信号光谱图()的输出

2024-04-29 21:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解scipy.signal.spectrogram()的输出是什么,以及如何使用它们。目前,我读取了一个.wav文件并生成了一个光谱图。你知道吗

from scipy.io import wavfile as wav
from scipy import signal

sample_rate, data = wav.read('sound.wav')
f, t, Sxx = signal.spectrogram(data, sample_rate)

---

如果我完全错误地理解了这一点,我对光谱图的想法是一个3D图,包括:

x-axis: time
y-axis: frequency
pixel colour/brightness: amplitude

所以我想知道ftSxxtimefrequencyamplitude的关系。你知道吗

感谢阅读,任何帮助都将不胜感激!你知道吗


Tags: samplefromimportdatasignalratetime光谱
1条回答
网友
1楼 · 发布于 2024-04-29 21:16:01

f是频率阵列,包含fft的每个频带的频率。可以用作图形的标签

t是时间数组,包含相对于源信号进行FFT的时间。同样可以用于标签。你知道吗

Sxx阵列包含振幅,是一个二维阵列,其形状是f的长度乘以t的长度

因此,与时间数组长度匹配的轴是时间轴,另一个轴是频率轴。你知道吗

如果您想正常化显示,您需要自己找到Sxx数组的最小值和最大值。你知道吗

相关问题 更多 >