GNU Radio Companion и multimon-ng: отключение идентификатора и полезного сигнала - PullRequest
0 голосов
/ 17 июня 2020

Данный сигнал от NB-FM-приемника Flow Diagram в GNU Radio Companion. Этот сигнал состоит из серии идентификаторов (оканчивающихся на ZVEI1: 89E9EA) в стандарте ZVEI1, за которыми следует полезный сигнал. Сигнал разветвляется на multimon-ng через канал FIFO. mulimon-ng считывает сигнал и декодирует его в соответствии с:

multimon-ng -a ZVEI1 -t raw myfifo.raw
multimon-ng 1.1.8
  (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA
  (C) 2012-2019 by Elias Oenal
Available demodulators: POCSAG512 POCSAG1200 POCSAG2400 FLEX EAS UFSK1200 CLIPFSK FMSFSK AFSK1200 AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2 ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV X10 SCOPE
Enabled demodulators: ZVEI1
ZVEI1: 83702
ZVEI1: 89E9EA

, что нормально работает. Теперь декодированное сообщение должно быть прочитано из вывода multimon-ng s и зациклено обратно в GNU Radio Companion для отключения

  1. идентификаторов
  2. выборочно сигнала, следующего за ZVEI1: 89E9EA в соответствии с предыдущие идентификаторы.

Как это можно сделать?

1 Ответ

0 голосов
/ 17 июня 2020

Это потребует от вашего потокового графа GNU Radio «знать», какая передача идет после идентификатора. Ваш потоковый граф, показанный на рисунке, на самом деле не может работать, потому что ваши сообщения "приглушения" асинхронны с потоком образца.

Следовательно, вам понадобится декодер ZVEI1 в GNU Radio.

Тогда , ваш multimon-ng больше не нужен.

Итак, я бы рекомендовал использовать GNU Radio для разработки простого декодера ZVEI1! На самом деле это не так уж и сложно. Вы бы хотели прочитать официальные учебники GNU Radio , а затем:

  • построить демодулятор для сигналов ZVEI (например, PLL freq det или банк фильтров )
  • написать блок, который обнаруживает последовательность шумоподавления и отбрасывает все данные до того, как увидит их, а затем передает один пакет с выборками
  • Ниже этого фактического декодера данных
  • и ваше падение logi c
··· -->rat. resampler
--> PLL freq det
--> squelch tone sequence detector
--> data decoder (tags packets with IDs)
--> selective pass-through /dropping

Это два или три блока, которые вам придется написать самостоятельно - и, видя, что частота дискретизации очень низкая, это можно легко сделать в Python (вместо C ++, который вам пришлось бы использовать при написании высокопроизводительных блоков GNU Radio).

...