Принцип определения дальности между радио трансиверами

Настал второй за 10лет случай, когда в профессии программист-микроконтроллеров понадобилась математика. Она нужна чтобы решить задачу из радиотехники.

Могут ли радио трансиверы определять дальность между собой? Можно сказать: «Да, конечно. Можно отправлять пакеты со своими GNSS координатами». Но что если нет GNSS приемников в составе оборудования? Пусть это вообще indoor оборудование. В чём сложность технологии радио определения дальности? Всё, что есть в распоряжении это возможность пулять и ловить пакеты.

Допустим, что у нас есть возможность точно запоминать моменты времени отправки и приема радио пакетов. После этого сразу жизнь становится намного веселее.

Тогда формально можно вычислить интервалы t_fly, t_delay, t_loop. Итак, дано:

Переменная

Комментарий

Единица измерения

t_tx

Время отправки на трансивере A

с

t_rx

Время приема на трансивере А

с

T_tx

Время отправки на трансивере B

с

T_rx

Время приема на трансивере B

с

с

Скорость света в воздухе

м/c

Найти расстояние R между трансиверами и выразить его в метрах.

Tак как радиоволны распространяются со скоростью света, то получается, что зная t_fly можно вычислить расстояние между трансиверами. R=c*t_fly.

Называется эта технология Time Of Flight (ToF). Всё на бумаге кажется ровным. Даже нет нужды в синхронизации начала счета часов двух трансиверов. Кажется что всё прекрасно. Однако нет. Тут же возникают неприятные вопросы: Какая нужна точность измерения времени отправки? Как добиться одинакового периода увеличения разрядов в двух таймерах? Каков механизм регистрирования TimeStamp(ов)?

Какое должно быть разрешение таймера измерения времени?

Допустим мы хотим измерять расстояние с точностью +-5см. Сколько времени нужно свету чтобы пройти 5см?

свету надо 166ps чтобы пролететь 5см
свету надо 166ps чтобы пролететь 5см

Свету надо 166ps, чтобы пролететь 5см. Это значит, что аппаратный таймер должен тактироваться на частоте более 5995849160 Hz =5995849.16 kHz=5995.84916 MHz=5.99584916 GHz.

Нужен всего-то таймер на 6+GHz. И можно начинать говорить про radio ranging. Есть ли такие аппаратные таймеры в ASIC радио чипах? Ответ: да.

Как добиться одинакового периода увеличения разрядов в двух таймерах?

Можно поменять местами initiator и responder и повторить процесс, а затем взять среднее арифметическое от двух рассчитанных расстояний.

Акроним

Расшифровка

ps

picoseconds

ASIC

application-specific integrated circuit

PLL

phase lock loop

с

скорость света 299,792,458 м/c

ToF

time of flight

GNSS

Global navigation satellite system

Вывод

Если присутствует механизм точного измерения моментов времени приема и отправки радио пакетов, то можно определять дальность между трансиверами. При этом синхронизация часов не требуется. Однако важна высокая скорость счета часов (+1 за 166ps), высокое разрешение такого таймера и высокая воспроизводимость технологии изготовления стабильных кварцевых резонаторов с PLL. При выполнении этих условий можно делать измерение расстояния между радио трансиверами.

Links

https://habr.com/ru/company/realtrac/blog/282698/
https://habr.com/ru/post/478140/
http://latex.codecogs.com/eqneditor/editor.php

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы программировали UWB трансиверы?
21.43% да 3
78.57% нет 11
Проголосовали 14 пользователей. Воздержались 2 пользователя.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вам удавалось реализовать/воспроизвести технологию Time Of Flight?
22.22% да 2
77.78% нет 7
Проголосовали 9 пользователей. Воздержались 5 пользователей.

ссылка на оригинал статьи https://habr.com/ru/post/719542/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *