Я пытаюсь реализовать UPLINK наземной станции, управляющей небольшим спутником. Идея состоит в том, что канал должен всегда оставаться активным между каждой переданной телекомандой. Для этого мне нужно вставить некоторые байты последовательности DUMMY или IDLE, такие как 0xAA или подобные.
Я обнаружил, что некоторые люди уже сталкивались с подобной проблемой и разместили свои вопросы здесь:
- https://www.ruby-forum.com/t/constant-carrier-digital-transmission/163379
- https://lists.gnu.org/archive/html/discuss-gnuradio/2016-08/msg00148.html
До сих пор лучшее, что я мог сделать, это изменить блок источника EventStream с https://github.com/osh/gr-eventstream для предварительной загрузки векторов моей фиктивной последовательностью (т.е. 0xAA) вместо предварительной загрузки их нулями. Это общий обзор графа GNURadio, который я использую:
Изображение блок-схемы GNURadio
Однако это решение приводит к огромной задержке, и отправленное сообщение не появляется на выходе до тех пор, пока не истечет огромное количество времени (порядка нескольких секунд).
Есть ли способ запрограммировать USRP с помощью GNURadio, чтобы он постоянно отправлял фиксированную последовательность, которая должна прерываться только при передаче входящего сообщения? Я предполагаю, что USRP имеет возможность чтения тегированных потоков для планирования передач. Однако я не уверен, как это приспособить к моему конкретному приложению.
Заранее спасибо!
Джоа