задача то какая?
Суть в том, чтобы найти в выборке частоты на которые приходятся максимумы.
Например, произведём имитацию:
f(x) = sin(x + 3) + 3 * sin(1.27 * x + 11) + 2 * sin(4.3 * x + 1)
По этой функции вычислим массив: xi = 0, 0.1 ... 10.0 и fi = f(xi).
Теперь по данным xi и fi необходимо произвести анализ, чтобы найти вот эти самые коэффициенты перед "х", то есть:
первый максимум на частоте 1.27 и равен 3.0,
второй максимум на частоте 4.30 и равен 2.0,
третий максимум на частоте 1.00 и равен 1.0.
Как бы вспоминаю про ряды Фурье, но там была суть в аппроксимации по гармоническим частотам, а не в поиске максимумов. То есть, после вычисления я получу некую группу функций:
f_fur(x) = a0 + a1 * sin(x + b1) + a2 * sin(2 * x + b2) + ... до требуемой точности интерполяции. При этом анализируемые частоты будут целыми числами: 0, 1, 2, 3 ...