Win 7/10, Python 3.8
Пытаюсь реализовать данный алгоритм: "Затем из сейсмических данных извлекается исходный статистический импульс с нулевой фазой, амплитудный спектр которого вычисляется из квадратного корня из амплитудного спектра автокорреляции каждой трассы."
Использую следующий код:
Ошибки нет, код отрабатывает, но импульс и АФК получаются только с правой ветвью. Кто может подсказать: как получить и левую?
Тестовые данные прилагаю.
Пытаюсь реализовать данный алгоритм: "Затем из сейсмических данных извлекается исходный статистический импульс с нулевой фазой, амплитудный спектр которого вычисляется из квадратного корня из амплитудного спектра автокорреляции каждой трассы."
Использую следующий код:
Python:
def form_pulse(self, n, shift):
lag = int(self.txt_bot.text()) - int(self.txt_top.text())
sp = []
for i in range(n - shift, n + shift):
trace_df = self.form_trace_array(i)
print(trace_df)
auto_corr = acf(trace_df, nlags=lag / 2, bartlett_confint=False)
self.viz_acorr(auto_corr)
sp_auto = fft(auto_corr)
sp.append(sp_auto)
sum_sp = np.sum(sp, axis=0)
sq_sp = np.sqrt(sum_sp)
pulse = ifft(sq_sp)
return pulse
Тестовые данные прилагаю.