【发布时间】:2020-06-30 07:24:35
【问题描述】:
我正在创建一个 100Hz 的正弦波并尝试绘制它的 stft:
import scipy.io
import numpy as np
import librosa
import librosa.display
#%matplotlib notebook
import matplotlib.pyplot as plt
A = 1 # Amplitude
f0 = 100 # frequency
Fs = f0 * 800 # Sampling frequency
t = np.arange(Fs) / float(Fs)
X = np.sin(2*np.pi*t*f0)
plt.plot(t, X)
plt.xlabel("Time")
plt.ylabel("Amplitude")
plt.show()
D = np.abs(librosa.stft(X))
librosa.display.specshow(librosa.amplitude_to_db(D,ref=np.max),y_axis='log', x_axis='time')
我期待的是一条 100Hz 的单线。
另外,我如何绘制频率(X 轴)与幅度(Y 轴)图以查看 100Hz 的峰值?
【问题讨论】:
标签: python matplotlib signal-processing fft librosa