Очень просто, просто найдите формулу для преобразования Фурье и внедрите ее в виде дискретной суммы по значениям ваших данных:
, учитывая набор значений f(x)
по некоторому набору x
,затем для каждой частоты k
,
F(k) = sum_x ( exp( +/-i * k *x ) )
выберите k
в диапазоне от 0
до 2*pi / min separation in x
.
, и вы можете использовать 2 * pi / max(x)
в качестверазмер приращения
Для теста используйте что-то, для чего вы знаете правильный ответ, ср, одиночный cos( k' * x )
для некоторого k'
или гауссиан.