Мне нужна помощь, чтобы понять преобразование Фурье, особенно быстрое преобразование Фурье. Я пытаюсь найти периодичность в двоичном временном ряду в следующем формате [не-событие, не-событие, ... событие, не-событие, не-событие], я не уверен, что то, что я делаю, уместно, но я вычислило быстрое преобразование Фурье, чтобы попытаться найти доминирующую периодичность.
Я запустил следующий код:
# -*- coding: utf-8 -*-
# Make plots appear inline, set custom plotting style
import matplotlib.pyplot as plt
import numpy as np
from scipy import fftpack
import datetime
import scipy as sp
import pandas as pd
f = 10 # Frequency, in cycles per second, or Hertz
f_s = 100 # Sampling rate, or number of measurements per second
# t = np.linspace(0, 2, 2 * f_s, endpoint=False)
t = [x for x in range(500)]
x = np.array([1 - min(1, x % 10) for x in t])
# np.random.shuffle(x)
# x = x - np.mean(x)
# x = np.sin(f * 2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, x)
ax.set_xlabel('Time [s]')
ax.set_ylabel('Signal amplitude');
ax.set_title("Real")
X = fftpack.fft(x)
temp_psd = np.abs(X) ** 2
fftfreq = fftpack.fftfreq(len(x)) # * f_s
fig, ax = plt.subplots()
ax.stem(fftfreq, temp_psd)
ax.set_xlabel('Frequency in Hertz [Hz]')
ax.set_ylabel('Frequency Domain (Spectrum) Magnitude')
И получил следующие результаты:
![enter image description here](https://i.stack.imgur.com/uxvUf.png)
Почему у меня на периодограмме разные частоты? Я думал, что периодограмма должна выделять доминирующую периодичность, но здесь у меня есть множественная периодичность?