У меня есть данные временных рядов, которые складываются из суммирования нескольких синусоидальных сигналов.Я использовал БПФ для извлечения периодов и амплитуд компонентных сигналов.Какой метод можно использовать для извлечения фазового сдвига одного из компонентных сигналов во временных рядах?Например, в приведенном ниже примере, как я могу найти фазовый сдвиг сигнала в «волне», который имеет период 16 и амплитуду 1?Когда я сгенерировал данные, я знаю, что сдвиг фаз составляет 4/16 * 2 * np.pi.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(1, 100, 100) / 2
y1 = np.sin((2 * np.pi) / 16 * x + (4 / 16 * 2 * np.pi))
y2 = np.sin((2 * np.pi) / 11 * x + (1 / 11 * 2 * np.pi))
y3 = np.sin((2 * np.pi) / 24 * x + (9 / 24 * 2 * np.pi))
wave = y1 + y2 + y3
plt.plot(wave)
plt.show()