В настоящее время я работаю над проектом, который до сих пор был относительно простым. В основе проекта лежит передача данных / сообщений через лазеры с использованием преобразования звука. Вкратце, процесс в настоящее время выглядит следующим образом
До тех пор, пока фактическая обработка звука не налажена, моя текущая проблема заключается в следующем.
Я проигрываю каждый тон в течение x раз, на приемной стороне он записывается в течение y времени, время y сокращается , выборка много раз, а затем анализируется выборка за выборкой, которая затем регистрирует каждую частоту. Это неэффективно и неточно. У меня было много проблем, независимо от того, когда я играю тоны, потому что он часто слышит тон дважды или не слышит его вообще, что полностью отбрасывает целые сообщения.
Я попытался сопоставить частоту дискретизации со временем воспроизведения каждого тона, но, если не выровнять его соответствующим образом, это не сработает. У меня было всего несколько успешных тестов на сообщения типа «тест» и «привет». Я уже изучал bpsk и fsk, но мне кажется, что я уже делаю что-то подобное, но у меня плохой приемник, чтобы все это расшифровать.
Все это написано на Python, и я был бы очень благодарен за любые советы, предложения или возможные реализации, которые вы можете предоставить. Также для излучения тона я использую pyaudiere
, а для записи я использую pyaudio
.
Спасибо!
-Steve