Цифровая передача с постоянной несущей в GNURadio с USRP

Я пытаюсь реализовать UPLINK наземной станции, управляющей небольшим спутником. Идея состоит в том, что канал должен всегда оставаться активным между каждой переданной телекомандой. Для этого мне нужно вставить некоторые байты последовательности DUMMY или IDLE, такие как 0xAA или подобные.

Я обнаружил, что некоторые люди уже сталкивались с подобной проблемой и разместили свои вопросы здесь:

До сих пор лучшее, что я мог сделать, это изменить блок источника EventStream с https://github.com/osh/gr-eventstream для предварительной загрузки векторов моей фиктивной последовательностью (т.е. 0xAA) вместо предварительной загрузки их нулями. Это общий обзор графа GNURadio, который я использую:

Изображение блок-схемы GNURadio

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

Есть ли способ запрограммировать USRP с помощью GNURadio, чтобы он постоянно отправлял фиксированную последовательность, которая должна прерываться только при передаче входящего сообщения? Я предполагаю, что USRP имеет возможность чтения тегированных потоков для планирования передач. Однако я не уверен, как это приспособить к моему конкретному приложению.

Заранее спасибо!

Джоа


person jcabeza    schedule 27.11.2019    source источник


Ответы (1)


Я считаю, что это можно сделать с помощью исходного блока TCP или UDP.

Ваша управляющая информация может быть отправлена ​​в сокет с использованием TCP/UDP. Затем GNU Radio будет собирать и передавать пакеты. В этом случае вашей главной управляющей программе придется обрабатывать начинку IDLE, но решить проблему, не связанную с GNU Radio, будет проще.

Ваша основная управляющая программа в основном будет делать следующее: 1. передавать управляющие данные по мере необходимости 2. если нет готовых управляющих данных перед отправкой следующего пакета, отправить пакет IDLE

person Alex Colpitts    schedule 11.12.2019