Настал второй за 10лет случай, когда в профессии программист-микроконтроллеров понадобилась математика. Она нужна чтобы решить задачу из радиотехники.
Могут ли радио трансиверы определять дальность между собой? Можно сказать: «Да, конечно. Можно отправлять пакеты со своими GNSS координатами». Но что если нет GNSS приемников в составе оборудования? Пусть это вообще indoor оборудование. В чём сложность технологии радио определения дальности? Всё, что есть в распоряжении это возможность пулять и ловить пакеты.
Допустим, что у нас есть возможность точно запоминать моменты времени отправки и приема радио пакетов. После этого сразу жизнь становится намного веселее.
Тогда формально можно вычислить интервалы tfly, tdelay, tloop
Tак как радиоволны распространяются со скоростью света, то получается, что зная tfly можно вычислить расстояние между трансиверами.
Называется эта технология Time Of Flight (ToF). Всё кажется очень простым. Даже нет нужды в синхронизации начала счета часов двух трансиверов. Кажется что всё чудно. Однако тут же возникают вопросы. Какая нужна точность измерения времени отправки? Как добиться одинакового периода увеличения разрядов в двух таймерах? Каков механизм регистрирования TimeStamp(ов)?
Какое должно быть разрешение таймера измерения времени?
Допустим мы хотим измерять расстояние с точностью +-5см. Сколько времени нужно свету чтобы пройти 5см.
Свету надо 166ps, чтобы пролететь 5см. Это значит, что аппаратный таймер должен тактироваться на частоте более 5995849160 Hz =5995849.16 kHz=5995.84916 MHz=5.99584916 GHz.
Нужен всего-то таймер на 6+GHz. И можно начинать говорить про radio ranging. Есть ли такие аппаратные таймеры в ASIC радио чипах? Ответ: да.
Как добиться одинакового периода увеличения разрядов в двух таймерах?
Можно поменять местами initiator и responder и повторить процесс, а затем взять среднее арифметическое от двух рассчитанных расстояний. Акроним Расшифровка ps picoseconds с скорость света 299,792,458 м/c ToF time of flight GNSS Global navigation satellite system Links https://habr.com/ru/company/realtrac/blog/282698/ https://www.youtube.com/watch?v=NrSfeQoOvqg https://www.youtube.com/watch?v=zA27p0Pj30U https://www.youtube.com/watch?v=5KN4dJdkHUk https://www.youtube.com/watch?v=5KN4dJdkHUk&t=126s Вывод Если присутствует механизм точного измерения моментов времени приема и отправки радио пакетов, то можно определять дальность между трансиверами. При этом синхронизация часов не требуется. Однако важна высокая скорость счета часов (+1 за 166ps), высокое разрешение такого таймера и высокая воспроизводимость технологии изготовления стабильных кварцевых резонаторов с PLL. При выполнении этих условий можно делать измерение расстояния между радио трансиверами.
https://habr.com/ru/post/478140/
http://latex.codecogs.com/eqneditor/editor.php