Задача - определить расстояние, на котором находится звукоизлучатель, подключенный к девайсу на STM32. Решил использовать частоту 20-22 кГц. Вижу устройство так: излучаем сигнал, запускаем таймер и ждем, пока услышим его на микрофоне. Как можно с достаточной точностью определить, в какой момент времени появился звук конкретной частоты на микрофоне?
Честно - не сильно понятен вопрос. Снимаете в режиме реального времени данные с микрофона, вычленяете нужную частоту (программно - БПФ, аппаратно - фильтры конднесаторами), если уровень сигнала на этой частоте превысил некий эпсилон - то вот он возврат. Для точности можете не просто один раз сигнал посылать, а какой то условной сигнатурой.
Вопрос в том, какой метод использовать, потому матподготовка слабая, и в голове каша с БПФ и вейвлет преобразованиями. Отчего-то я решил, что БПФ не сможет дать высокую точность