Корректный вариант: предобразование Фурье, естественно перед этим избавиться от "обрезания", далее оттуда получаем основную гармонику.
Малокорректный вариант (в свое время видел в практическом использовании у сейсмологов): находить некую "ось" ("ноль") и считать полупериодом соседние пересечения оси.
"ось"\"ноль" - видимо аппроксимировать полиномом первого порядка из среднеквадратичного.