Scipy 教程-SciPy 频谱图
信号处理工具箱包括一些滤波函数、一套有限的滤波器设计工具。它还包含用于一维和二维数据的少量B样条插值算法。
from scipy import signalimport matplotlib.pyplot as pltimport numpy as np#Generate a test signal, a 2 Vrms sine wave whose frequency linearly changes with time from 1kHz to 2kHz, corrupted by 0.001 V**2/Hz of white noise sampled at 10 kHz.fs = 10e3 # Sampling FrequencyN = 1e5amp = 2 * np.sqrt(2)noise_power = 0.001 * fs / 2time = np.arange(N) / fsfreq = np.linspace(1e3, 2e3, N)x = amp * np.sin(2*np.pi*freq*time)x += np.random.normal(scale=np.sqrt(noise_power), size=time.shape)# Compute and plot the spectrogram.f, t, Sxx = signal.spectrogram(x, fs)plt.pcolormesh(t, f, Sxx)plt.ylabel('Frequency [Hz]')plt.xlabel('Time [sec]')plt.show()
👉点击领取:最全Python资料合集
scipy.signal.spectogram() 返回以下数组:
f: ndarray
样本频率数组。
t: ndarray
段时间数组。
Sxx: ndarray
热门推荐