Вопрос в том, какой метод использовать, потому матподготовка слабая, и в голове каша с БПФ и вейвлет преобразованиями. Отчего-то я решил, что БПФ не сможет дать высокую точность
Нет, прошивку писал с нуля под тини, общий только алгоритм. Почему-то она не ловит прерывания с ноги Echo, программно тоже не работает. Код простой - в цикле ждем пока уровень не изменится с 0 на 1, опять же в цикле считаем время пока он высокий, потом обрабатываем полученное значение.
Смотрел исходники библиотеки для этого датчика под ардуино, там длительность считается функцией pulseIn. Я посмотрел ее код, алгоритм работы такой же, как у меня.