Диверсити по частоте

Все знают идею диверсити видиоприемников - выбирается лучший сигнал из поступающих с нескольких Video RX. Обычно один приемник подключен к направленной антенне, а другой - к круговой. Иногда ставят несколько приемников с направленными антеннами, например IBCrazy делал нанацеливаемую наземную станцию с 3-4 патчами, покрывающими все 360 градусов направления.

Обычно критерием выбора служит RSSI - уровня усиления приемника. Считается, но это не всегда так, что чем сильнее усиление, тем слабее (хуже) сигнал и тем больше в нем шумов. В самом простом случае для реализации переключения достаточно компаратора и реле или мультиплексора, хотя обычно используют микроконтроллеры, допускающую простую калибровку диапазонов изменения RSSI.

Реже используют метод Oracle - выбора буквально лучшего видеосигнала путем анализа качества синхроимпульсов. Реализация в основном программная и довольно сложная. По крайней мере у меня не получилось, хотя что-то пыталось работать 😁 Но у mataor вышло.

Но оба этих метода подразумевают, что Вы летаете один, и совершенно не учитывают, что кто-то неподалеку или вдалеке может включить свой передатчик на Вашем или соседнем канале и Вы увидите крупным планом его озабоченное лицо 😃 Или его модель с 2W передатчиком пролетит в 500м от Вас и покажет Вам свое видео.

Таким образом, идея в следующем: ставим на модель два передатчика на разных каналах или даже диапазонах (например, 5.8 и 1.2 ГГц). Схема диверсити должна уметь переключаться на лучший приемник только в том случае, если принимается сигнал именно Вашего передатчика. И отвергать приемник, если тот принял чужой сигнал.

Я придумал такую реализацию: на аудио канал каждого передатчика подается синусоидальный (чтобы минимизировать обертоны) аудиосигнал из одной или двух частот (DTMF). Частоту сигнала или пары сигналов Вы выставляете индивидуально для себя, в надежде, что кто-то другой не догадается сделать то же, что и Вы. Далее, сигналы с аудиовыходов приемников поступают на вход микрокнтроллера, который выполняет определение частоты или пары частот и сверяет их с установками. Если не совпадает - сигнал с этого приемника не передается на очки и его RSSI не учитывается.

Для декодирования DTMF есть и специализированные микросхемы, но у них параллельный выход и требуется занять много контроллерных ног.
Для Arduino есть библиотека DTMF. Для определения частоты сигнала есть библиотека Goertzel.

Я планирую попробовать сделать генерацию сигнала одной частоты на простой Arduino Pro Mini, а детектирование производить на том же контроллере, который управляет диверсити в проекте rx5808-pro.

  • 7898
Comments
Shuricus

Жалко терять аудиоканал, через него можно было бы передавать данные Апм телеметрии, например. Так уже реализовано в некоторых автопилотах.

Prikupets

Да, я пытаюсь сделать LTM телеметрию на аудиомодемах на TCM3105, но что-то пока не работает. Если делать через телеметрию - принцип тот же. Просто отвергаем приемник, чья телеметрия несет неправильный идентификатор канала (можно передавать не часто, а через 10 пакетов, например).

wedontneednasa.com/…/using-audio-channel-for-air-t…
github.com/cleanflight/cleanflight/issues/36
github.com/KipK/Ghettostation/…/6)-GhettoProxy
github.com/KipK/Ghettostation/tree/…/GhettOSD
github.com/KipK/minoposd_audiomodem
code.google.com/p/mmardubeacon/

=Илья#

Если речь идет о частоте 5.8, то боюсь не чего хорошего не выйдет, аудиовыход умирает первым, при читаемой картинке и устойчивой синхронизации по видео. Лучше сразу перепроверьте это на своем комплекте, чтобы проделанная работа не оказалась напрасной.

Prikupets

Печально, а чем это можно объяснить?

Hyperion
Shuricus;bt145352

Жалко терять аудиоканал, через него можно было бы передавать данные Апм телеметрии, например. Так уже реализовано в некоторых автопилотах.

простите за оффтоп. Напомнило 😃

youtu.be/Go1ztv9kTDI?t=32

=Илья#

Я не разбирался в причине. Планировал гнать телеметрию, даже реализовал м-последовательность для повышения помехоустойчивости, а когда стал проверять все в сборе выяснился этот неприятный момент.

Prikupets

Есть какие-то другие предложения? Ручной выбор приемника - держать руку на пульсе? Синхронное прыгание по каналам передатчика и приемника (hoping) ? Кодовая посылка во время обратного хода луча?

grafis
__Илья;bt145367

Я не разбирался в причине. Планировал гнать телеметрию, даже реализовал м-последовательность для повышения помехоустойчивости, а когда стал проверять все в сборе выяснился этот неприятный момент.

Вот засада а у меня все готово для проверки.
Использовали TCM3105NL ?

grafis
Prikupets;bt145368

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

Идея хорошая. Ну и спектрум а мысль навел. Не знаю как насчет обратного хода. Но использовать начало каждой строки видео для передачи данных кажется не сложно.

=Илья#

У меня было на микроконтроллере, можно найти примеры реализации в сети по словам код Баркера и AVR.
В TCM3105NL при беглом просмотре не чего такого не обнаружил, только частотную манипуляцию. Синхрослово вполне можно гнать в нескольких младших строках, они все равно не отображаются на мониторе. Были проекты, где таким образом гнали данные с ЖПС на поворотку.
А если в качестве метки использовать м-последовательность получите очень большое количество меток,
не нужно будет привязываться к кадровым и строчным синхроимпульсам при детектировании.