РЕДАКТИРОВАТЬ: После прочтения этого, я думаю, что этот алгоритм не очень полезен для этого вопроса, я все равно дам описание для других читателей.
Существует также алгоритм Филона метод, основанный на квадратуре Филона, который можно найти в Числовые рецепты в этой [кандидатской диссертации] [1].
Временная шкала логарифмическая, как и результирующая шкала частот.
Этот алгоритм используется для данных / функций, которые упали до 0 в наблюдаемом интервале времени (что, вероятно, не ваш случай), типичным простым примером будет экспоненциальный спад.
Если ваши данные отмечены точками (x_0, y_0), (x_1, y_1) ... (x_i, y_i) и вы хотите вычислить спектр A (f), где f - частота, скажем, f_min = От 1 / x_max до f_max = 1 / x_min
журнал разнесен.
Действительная часть для каждой частоты f затем рассчитывается по формуле:
A (f) = сумма из i = 0 ... i-1 {(y_i + 1 - y_i) / (x_i + 1 - x_i) * [cos (2 * pi * f * t_i + 1) - cos (2 * pi * f * t_i)] / ((2 * pi * f) ^ 2)}
Мнимая часть:
A (f) = y_0 / (2 * pi * f) + сумма из i = 0 ... i-1 {(y_i + 1 - y_i) / (x_i + 1 - x_i) * [sin (2 * pi * f * t_i + 1) - sin (2 * pi * f * t_i)] / ((2 * pi * f) ^ 2)}
[1] Блохович, Томас: Широкополосная диэлектрическая спектроскопия в чистых и бинарных молекулярных стеклах. Университет Байройта, 2003, глава 3.2.3