Я пытаюсь понять вывод из scipy.signal.spectrogram.
Учитывая следующий код:
import numpy as np
from scipy import signal
from scipy.fft import fftshift
import matplotlib.pyplot as plt
fs = 1e4
N = 1e4
time = np.arange(N) / float(fs) # 1 sec, 1e4 samples
x = np.ones_like(time) # constant signal
# plot signal
plt.plot(x.real)
plt.show()
# plot spectrogram
f, t, Sxx = signal.spectrogram(x, fs, return_onesided=False)
plt.pcolormesh(t, fftshift(f), fftshift(Sxx, axes=0))
plt.ylabel("Frequency [Hz]")
plt.xlabel("Time [sec]")
plt.show()
Вывод выглядит так:
Интересно, почему спектрограмма постоянного сигнала не дает мне горизонтальную линию при f = 0?