Я бы хотел сгенерировать график спектральной плотности мощности, используя scipy.signal.welch
. Тем не менее, мои данные - это спектральное сияние в зависимости от дней / лет, и я не уверен, как выбрать частоту дискретизации, если моя ось x указана в днях.
Мой график спектрального сияния выглядит следующим образом: я попытался показать тренды, выполнив быстрое преобразование Фурье (синий график) (не очень удачный):
Идея кода ниже была взята из этого вопроса здесь
Какой будет частота дискретизации в моем случае? Так как точки данных были получены через регулярный интервал времени в 16 дней, может ли это быть моей частотой выборки? Более того, если выбрано окно, все равно необходимо определить nperseg
как 256, даже если в документации указано следующее:
nperseg: int, необязательная длина каждого сегмента. По умолчанию Нет, но
если window является str или tuple, установлено значение 256, а если window - array_like,
устанавливается на длину окна.
from scipy.signal import welch
sig = data_plot_multi_year1["y"]
f, psd = welch(sig,
fs= ???? , # sample rate
window='hanning', # apply a Hanning window before taking the DFT
nperseg= 256, # compute periodograms
detrend='constant') # detrend x by subtracting the mean