Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: определение дальности от передатчика к приемнику
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
Страницы: 1, 2
Arthur_Sh
Цитата(_pv @ Nov 4 2013, 11:43) *
а достаточно долго это сколько? и какая доступна ёмкость батареи.
а так любыми понравившимися трансиверами, ti, nordic, silabs, atmel.
были еще nanotron со специальным широкополосным трансивером специально для определения расстояния, там полоса - все доступные 80МГц на 2.4ГГц, соответственно за одну передачу пакета туда - сюда по времени распространения точность была единицы метров.
ну и ретранслировать передатчик с такой полосой будет крайне проблематично.
и у атмела в AT86RF233 тоже какие-то дополнительные ухищрения в самом трансивере были добавлены для измерения времени распространения, но опять же 2.4ГГц, для данной задачи думаю частоту бы лучше пониже.


дело в том, что в первоначальном (ныне существующем) варианте, используется только передатчик. Частота 868мгц, батарея порядка 1А\ч. Длительность передачи 100-200мс, потом передатчик просто выключается и так регулярно через каждые пару мин. ToF метод будет хорошо работать, если большое количество пакетов, собственно, чем их больше, тем лучше точность. У нас размер пакета около 100байт всего, поэтому полоса низкая.

А может измерять время прихода и в одноканальной схеме? например, отправили в начале сигнал синхронизации - после его получения начинает работать таймер в приемнике, сразу за синхроимпульсом, через небольшую паузу, отправляем основной пакет. Значение паузы между синхро импульсом и основным пакетом мы точно знаем, по приходу пакета останавливаем таймер.
DASM
а смысл? синхроимпульс тоже ведь задержан.
Arthur_Sh
Цитата(DASM @ Nov 4 2013, 12:36) *
а смысл? синхроимпульс тоже ведь задержан.


а какая разница, задержан или нет? Синхроимпульс у нас ни к чему не привязан.
_pv
на счёт большого количества пакетов это не совсем так, количество пакетов при усреднении улучшает точность всего лишь как корень из количества пакетов, то есть переслав 100 пакетов улучшим в 10 раз. расширять полосу гораздо эффективней, во-первых посылки будут короче, соответственно меньше времени находимся во включенном состоянии и тратим батарейку, во-вторых сама ошибка одного определения обратно пропорциональна полосе, правда SNR тоже падает с увеличением полосы, но лишь пропорционально корню из частоты.
с одного пакета посланного туда/сюда если полосу расширить до нескольких сотен кГц, согласно статье приведённой выше, ошибка у них получилась около сотни нс, то есть несколько десяток метров, что уже неплохо, за 100мс на 200кБитах сотню коротких пакетов туда/сюда вполне можно переслать.
конечно в реальности будет несколько хуже, там трансиверы недалеко были и в тепличных условиях.
а 1Ач если растянуть даже на год, то это 120мка. с учётом скважности 300 (100мс каждые 30сек) это 35мА, не то чтобы очень много, но вроде как вполне достаточно для такой задачи как радиопередача на 200м. тем более что как минимум половину времени из этих 100мс будем не передавать, а принимать, что потребляет заметно меньше.



Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 16:43) *
а какая разница, задержан или нет? Синхроимпульс у нас ни к чему не привязан.

ну так кто мешает синхро импульс тоже ретренслировать, чем он от обычной передачи отличаться будет?
время между синхроимпульсом и пакетом с данными после ретренсляции не поменятется.
bolden
Немного не по технике, но вот такой вопрос. Если передача происходит достаточно редко, с целью экономии батареи, и время срабатывания сигнализации порядка 5 минут, то не может случиться так, что злоумышленник без всяких снифферов, ложных передатчиков и прочего, вынесет контролируемое устройство из зоны, и через 5 минут будет уже вне зоны досягаемости охраны?

т.е сигнализация сработала, то что кража была узнали, а вот вора не поймали и вещь уже не вернуть.

Вот ещё бы знать с какой скоростью объект может перемещаться в зоне контроля, ну и побольше подробностей, если конечно это не разрабатывается универсальное решение для всех возможных случаев. т.е может например если охраняемая зона находится в помещении и есть ограниченное число путей, через которые могут вынести передатчик - на этих путях установить дополнительные приёмники, и контролировать появление там сигнала от передатчика.
Plain
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 11:35) *
есть ли какие предложения, как реализовать определение расстояния, плюс минус лапоть

Как уже было сказано, самое простое и дешёвое — часы, как частный случай датчика изменения параметров среды.

Ещё из доступных — микрофон, термометр, акселерометр, вплоть до среднюю освещённость передавать.
Arthur_Sh
Цитата(_pv @ Nov 4 2013, 12:59) *
ну так кто мешает синхро импульс тоже ретренслировать, чем он от обычной передачи отличаться будет?
время между синхроимпульсом и пакетом с данными после ретренсляции не поменяется.


все верно. Задача синхроимпульса - дать точку отсчета времени.
RobFPGA
Приветствую!

Не мучайтесь - ставьте 2-3 разнесенных приемника и определяйте положение передатчика по задержкам сигнала к приемникам.

Успехов! Rob.

_pv
Цитата(RobFPGA @ Nov 4 2013, 19:49) *
Не мучайтесь - ставьте 2-3 разнесенных приемника и определяйте положение передатчика по задержкам сигнала к приемникам.

уже вроде предлагалось, проблему ретрансляции это не решает, ну будут приёмники знать что ретранслятор находится внутри нужного периметра, а то за чем надо следить спокойно его покинет оставив вместо себя ретранслятор. единственно что может быть подозрительным - это нахождение передатчика (то есть теперь уже ретранслятора всё время на одном месте).
Arthur_Sh
Цитата(RobFPGA @ Nov 4 2013, 15:49) *
Приветствую!

Не мучайтесь - ставьте 2-3 разнесенных приемника и определяйте положение передатчика по задержкам сигнала к приемникам.

Успехов! Rob.


именно этим мы тут и занимаемся. Положение определять не надо, достаточно примерного расстояния с точностью в пару десятков метров. Спасибо. Вопрос, будет ли сильное переотражение волны 868мгц от преград в виде стен или в основном будет прохождение сквозь них? Под стенами подразумеваются бетонные перекрытия, кирпичные перекрытия.

Цитата(_pv @ Nov 4 2013, 16:07) *
уже вроде предлагалось, проблему ретрансляции это не решает, ну будут приёмники знать что ретранслятор находится внутри нужного периметра, а то за чем надо следить спокойно его покинет оставив вместо себя ретранслятор. единственно что может быть подозрительным - это нахождение передатчика (то есть теперь уже ретранслятора всё время на одном месте).



так вроде все сошлись на мнении, что будем определять примерное расстояние по времени задержки сигнала. А оно у ретранслятора типа приемник-усилитель-излучатель
будет таким же и даже несколько больше, как и у реального передатчика, а ретранслятора типа приемник - передача по интернету - передатчик еще больше. В смысле что мы получим время распространения сигнала на реальное расстояние. Ну а в случае тс передаче по инету, там цифры вообще будут неадекватные.
_pv
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 20:18) *
так вроде все сошлись на мнении, что будем определять примерное расстояние по времени задержки сигнала. А оно у ретранслятора типа приемник-усилитель-излучатель
будет таким же и даже несколько больше, как и у реального передатчика, а ретранслятора типа приемник - передача по интернету - передатчик еще больше. В смысле что мы получим время распространения сигнала на реальное расстояние. Ну а в случае тс передаче по инету, там цифры вообще будут неадекватные.

время задержки сигнала относительно чего отсчитывать будете?
еще раз пример, я записал сигнал передатчика, и даже не через интернет, а записал на флэшку и бегом за 2 минуты добежал куда надо sm.gif и включил воспроизведение записанного, пусть даже несколько приёмников, а не один, приняли это и по задержкам между приёмниками определили положение ретранслятора внутри положенного. как это поможет узнать где в этот момент находится реальный передатчик? это же как я понимаю основная проблема.
Arthur_Sh
Цитата(_pv @ Nov 4 2013, 16:36) *
время задержки сигнала относительно чего отсчитывать будете?
еще раз пример, я записал сигнал передатчика, и даже не через интернет, а записал на флэшку и бегом за 2 минуты добежал куда надо sm.gif и включил воспроизведение записанного, пусть даже несколько приёмников, а не один, приняли это и по задержкам между приёмниками определили положение ретранслятора внутри положенного. как это поможет узнать где в этот момент находится реальный передатчик? это же как я понимаю основная проблема.


ранее я упоминал, что все пакеты уникальные, таким образом получив хоть один пакет, который уже был отправлен, будет тревога. Т.е. что бы имитировать работу передатчика, вам надо получать от него данные в реальном времени. Вы можете принять, усилить и передать с мощностью больше, нежели валидный передатчик. Но передавать вы будете из той же точки, где находится передатчик, а по идее он будет находится явно дальше разрешенной зоны. Соответственно время прихода пакета будет больше из-за увеличенного расстояния. теперь вопрос, что значит относительно чего я буду измерять время?
_pv
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 21:45) *
ранее я упоминал, что все пакеты уникальные, таким образом получив хоть один пакет, который уже был отправлен, будет тревога.
Т.е. что бы имитировать работу передатчика, вам надо получать от него данные в реальном времени.

30 секунд и всего несколько десятков килобайт данных (5КГц полосы и 200мс) можно и почтовыми голубями передавать sm.gif
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 21:45) *
Вы можете принять, усилить и передать с мощностью больше, нежели валидный передатчик.
Но передавать вы будете из той же точки, где находится передатчик, а по идее он будет находится явно дальше разрешенной зоны.

это зачем еще, я оставлю свой передатчик внутри, на который буду передавать по своему каналу например на другой частоте всё то, что говорит реальный передатчик.
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 21:45) *
Соответственно время прихода пакета будет больше из-за увеличенного расстояния.
теперь вопрос, что значит относительно чего я буду измерять время?

время прихода пакета оно не абсолютное, часы у каждого свои, так как в случае с односторонней передачей синхронизация времни между приёмником и передатчиком невозможна. допустим что я на выход передатчика поставлю гипотетическую линию задержки в, допустим, 1 секунду, ну или убегу с вашим передатчиком на луну и навешу к нему мегаватный усилитель так чтобы ваш приёмник по прежнему принимал примерно тот же уровень сигнала, относительно чего Вы будете эту секундную задержку измерять? ну стали ВСЕ посылки приходить на секунду позже, может это у передатчика часы немного отстали. он же, наверное, не рубидиевым генератором в качестве опорных клоков питается, а обычным кварцевым резонатором, с 100ппм на весь температурный диапазон, вот на 10 секунд в сутки имеет право отстать.
Plain
_pv, под часами подразумевается простая защёлка таймера, работающего на частоте порядка 1 МГц, и нулевой уход между посылками, т.е. сброс коррекции каждые полминуты, ну или сколько там у автора, он каждый раз почему-то новые цифры называет.
_pv
Цитата(Plain @ Nov 4 2013, 23:21) *
_pv, под часами подразумевается простая защёлка таймера, работающего на частоте порядка 1 МГц, и нулевой уход между посылками, т.е. сброс коррекции каждые полминуты, ну или сколько там у автора, он каждый раз почему-то новые цифры называет.

с полосой передатчика в 5кГц пытаться отследить время прихода посылки с разрешением в 1мкс не получится, десятки мкс еще может быть.
и потом я возьму и сделаю ретрансляцию без задержки ну или меньше тех нескольких десятков мкс что можно будет засечь защёлкой-таймером при полосе 5мкс, просто возьму да и тупо напрямую сдвину сигнал взятый из передатчика на другую частоту да или просто на другой канал, передам на ретранслятор, а там сдвину обратно.
а затем медленно начну удаляться с пристёгнутым ко мне передатчиком, не быстрее чем на 10мкс*3e8 = 3км за 30 секунд между посылками, то есть 100м в секунду, что не такое уж и страшное ограничение sm.gif. и никак это не отследить.
Arthur_Sh
Цитата(_pv @ Nov 4 2013, 18:06) *
это зачем еще, я оставлю свой передатчик внутри, на который буду передавать по своему каналу например на другой частоте всё то, что говорит реальный передатчик.


а на вашу линию законы физики не распространяются? В вашей линии будет такая же задержка, как и в любой другой.


Цитата
время прихода пакета оно не абсолютное, часы у каждого свои, так как в случае с односторонней передачей синхронизация времни между приёмником и передатчиком невозможна. допустим что я на выход передатчика поставлю гипотетическую линию задержки в, допустим, 1 секунду, ну или убегу с вашим передатчиком на луну и навешу к нему мегаватный усилитель так чтобы ваш приёмник по прежнему принимал примерно тот же уровень сигнала, относительно чего Вы будете эту секундную задержку измерять? ну стали ВСЕ посылки приходить на секунду позже, может это у передатчика часы немного отстали. он же, наверное, не рубидиевым генератором в качестве опорных клоков питается, а обычным кварцевым резонатором, с 100ппм на весь температурный диапазон, вот на 10 секунд в сутки имеет право отстать.


процитирую:
_pv, под часами подразумевается простая защёлка таймера, работающего на частоте порядка 1 МГц, и нулевой уход между посылками, т.е. сброс коррекции каждые полминуты, ну или сколько там у автора, он каждый раз почему-то новые цифры называет.

Новые цифры - уже путаюсь, в системе все значения перенастраиваемые.
bolden
Будет только один момент, когда можно будет отследить подмену по задержке. Задержка будет увеличена между последним пакетом от настоящего передатчика, и первым от подставного ретранслятора. Далее задержки между принимаемыми пакетами от ретранслятора будут такими же как и у настоящего передатчика.
Тут может возникнуть ещё один вопрос - какую задержку сможет отслеживать приёмник? Точность посылок передатчика+таймер отсчёта интервалов приёмника должна быть больше, чем возможная задержка ретранслятора. Я не в курсе, может кто-нибудь подскажет задержку сигнала ( набег фазы) у ретранслянслятора с частотным разделением.
Arthur_Sh
Цитата(_pv @ Nov 4 2013, 18:39) *
с полосой передатчика в 5кГц пытаться отследить время прихода посылки с разрешением в 1мкс не получится, десятки мкс еще может быть.
и потом я возьму и сделаю ретрансляцию без задержки ну или меньше тех нескольких десятков мкс что можно будет засечь защёлкой-таймером при полосе 5мкс, просто возьму да и тупо напрямую сдвину сигнал взятый из передатчика на другую частоту да или просто на другой канал, передам на ретранслятор, а там сдвину обратно.
а затем медленно начну удаляться с пристёгнутым ко мне передатчиком, не быстрее чем на 10мкс*3e8 = 3км за 30 секунд между посылками, то есть 100м в секунду, что не такое уж и страшное ограничение sm.gif. и никак это не отследить.


ээээ, а ну просвятите пожалуйста, причем тут полоса передатчика? У меня приемник автоматом выдает сигнал, что принят пакет с заданной преамбулой, этот сигнал и будет стоп сигналом для счетчика.
_pv
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 23:47) *
а на вашу линию законы физики не распространяются? В вашей линии будет такая же задержка, как и в любой другой.

задержку будет видно только один раз в момент включения ретранслятора, если она будет.
после этого ВСЕ пакеты будут приходить позже если я уйду на значительное расстояние, к этому и был вопрос относительно чего измерять время.
все пакеты приходят позже на 1мс с расстояния 300 км, время между двумя соседними пакетами останется тем же.
при этом без синхронизации часы приёмника и передатчика разбегутся на эту же 1 мс меньше чем за минуту.
что именно Вы собрались измерять?

Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 23:47) *
процитирую:
_pv, под часами подразумевается простая защёлка таймера, работающего на частоте порядка 1 МГц, и нулевой уход между посылками, т.е. сброс коррекции каждые полминуты

повторюсь:
при полосе передатчика в 5 кГц отследить время прихода с точностью 1мкс нельзя. разброс от пакета к пакету будет десятки, а то и сотня мкс.
то есть если даже я вдруг телепортируюсь на 10км за время между послыками в 30сек этого никто не заметит.
Plain
Цитата(_pv @ Nov 4 2013, 19:39) *
с полосой передатчика в 5кГц пытаться отследить время прихода посылки с разрешением в 1мкс не получится

Поясните, почему? Обмен полностью асинхронный, фаза каждый раз ноль. Это фаза несущей произвольная, она и определяет погрешность.
Arthur_Sh
предлагаю сейчас забыть про полосу передатчика.

1. рядом с передатчиком находится приемник, который усиливает и переизлучает сигнал с более высокой мощностью, что бы повысить дальность.
2. время прихода сигнала от передатчика ретранслятора к приемнику тем больше, чем больше расстояние.
3. отправили синхроимпульс, его получили и запустили таймер
4. ретранслятор отправил следующий пакет после синхроимпульса. таймер тикает
5. пришел пакет, остановился таймер. Вопрос, какое время покажет таймер?

другая ситуация:

1. возле передатчика приемник, который записывает пакеты, пакеты передаются по сети или бегает человек с флешкой или телепорт (нужное подчеркнуть)
2. возле приемника находится передатчик с возможностью получать пакет или из сети или от флеши
3. отправили синхроимпульс, его получили и запустили таймер
4. ретранслятор отправил следующий пакет после синхроимпульса. таймер тикает
5. пришел пакет, остановился таймер.

в моем понимании будет время либо прохождения ЭМ волны от передатчика к приемнику, либо время бега человека с флешкой или путешествие пакета по сети до передатчика + время распространения сигнала от передатчика к приемнику (если близко - пренебречь, если не близко, то учитывать)

_pv
Цитата(Иванов Андрей Николаевич @ Nov 4 2013, 23:52) *
ээээ, а ну просвятите пожалуйста, причем тут полоса передатчика? У меня приемник автоматом выдает сигнал, что принят пакет с заданной преамбулой, этот сигнал и будет стоп сигналом для счетчика.

а с какой точностью приёмник автоматом выдаёт сигнал, 1мс, 1мкс, 1нс, 1пс?

нельзя на сигнале с полосой в 5кГц с какой угодно точностью (микросекундной в данном случае) сказать что вот он начался.
с точностью до периода (200мкс) понятно можно - вот один фронт, вот второй.
если соотношение сигнал/шум хорошее то можно попробовать и за меньшее время, но от SNR точность зависит как корень.
то есть если шума 10% то можно попробовать 1/3 периода померить.
в экселе нарисуйте синус добавте к нему шума и попробуйте разглядывая только часть картники в 1/200 периода угадать его частоту и фазу.


Цитата(Иванов Андрей Николаевич @ Nov 5 2013, 00:27) *
предлагаю сейчас забыть про полосу передатчика.
1. рядом с передатчиком находится приемник, который усиливает и переизлучает сигнал с более высокой мощностью, что бы повысить дальность.
2. время прихода сигнала от передатчика ретранслятора к приемнику тем больше, чем больше расстояние.
3. отправили синхроимпульс, его получили и запустили таймер
4. ретранслятор отправил следующий пакет после синхроимпульса. таймер тикает
5. пришел пакет, остановился таймер. Вопрос, какое время покажет таймер?

синхроимпульс он в обход ретранслятора мнговенно появлися в приёмнике как только вылез из передатчика, а вот пакету пришлось весь этот долгий путь лететь через ретранслятор с огромными задержками?
как передатчик передал и синхроимпульс и пакет (чем они отличаются кстати?) так они в ваш приёмник и попадут. время между ними от расстояния не изменится, они одинаковым путём идут.
Arthur_Sh
все верно, _pv согласен с вами, с односторонней связью не получится так сделать. Спасибо, что просветили.
Xtal1
Условия испытаний следующие:

Есть приёмник. Он настроен на выдачу Automatic Acknowledgment каждый раз по получению пакета.

Есть передатчик, который хочет определить расстояние до приёмника. Он настраивает радиочип на вывод информации о соответствующих событиях (флагах внутри него) на внешние линии. Далее, передатчик запускает отправку пакета. Когда пакет отправлен, от трансивера на вход захвата таймера МК поступает соответсвующий сигнал. Начинается отсчет временного отрезка. Дальше, после получения ACK-а от приёмника, на МК выдается еще один сигнал, по которому отсчет отрезка времени заканчивается.
Ну а дальше, отбросив время на передачу пакетов, задержку в приёмнике до выдачи ACKa и т.п., поимеем время распространения волны от передатчика к приёмнику и обратно. Делим на два, считаем расстояние.

В реальности же, получаем сильно большое "дрожание" измерений. В районе десятков мкс.
Замечено, что в последовательности измеренных таким образом интервалов времени очень часто повторяется ситуация, когда из 10-ти измерений 3-5 совпадают с точностью до десятков нс, иногда это 2-3 измерения подряд, иногда нет.
Скажите, с чем может быть связано. Трансивер может обрабатывать идентичные по структуре пакеты разное время?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.