Имеется последовательность считываемых через равные промежутки времени значений некоторого осциллирующего параметра. Надо узнать период колебаний.
Эту задачу я решал так: пускай параметр F(t)=A*Sin(w*t), тогда F'(t)=A*w*Cos(w*t); F''(t)=-A*w*w*Sin(w*t). Взяв F''(t) "вручную" (по таблице значений F(t)), получаю w=Sqrt(-F''(t)/F(t)); T=2*pi/w.
Это во-первых, просто, во-вторых - позволяет определять период во время снятия показаний параметра (правды ради, следует отметить, что точность этого способа неважная).
ПРОБЛЕМЫ начинаются тогда, когда входной сигнал является наложением 2 (а на практике бывает и N) разных колебаний. Может, кто предложит лучшее решение задачи с одним сигналом или хоть какое-то - с несколькими.