0

流程图给出的是来自GNU Radio Companion 中的 NB-FM 接收器的信号。该信号由 ZVEI1 标准中的一系列标识符(以 结尾ZVEI1: 89E9EA)组成,后跟一个有用的信号。multimon-ng信号通过 FIFO-Pipe 分支。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-ngs 输出读取解码的消息并循环回 GNU Radio Companion 以静音

  1. 标识符
  2. ZVEI1: 89E9EA根据前面的标识符有选择地跟随信号。

如何实现?

4

1 回答 1

0

这将要求您的 GNU Radio 流程图“知道”标识符后面的传输是什么。如图所示,您的流程图无法真正工作,因为您的“静音”消息与示例流程异步。

因此,您需要 GNU Radio 中的 ZVEI1 解码器。

然后,您的 multimon-ng 不再需要。

所以,我推荐使用 GNU Radio 来开发一个简单的 ZVEI1 解码器!其实没那么难。你想阅读官方的 GNU Radio教程,然后:

  • 为 ZVEI 信号音构建解调器(例如,PLL freq det 或滤波器组)
  • 编写一个检测静噪序列的块,并在它看到之前丢弃所有数据,然后传递一个一包的样本
  • 下游,实际的数据解码器
  • 和你的下降逻辑
··· -->rat. resampler
--> PLL freq det
--> squelch tone sequence detector
--> data decoder (tags packets with IDs)
--> selective pass-through /dropping

那是您必须自己编写的两三个块 - 并且看到采样率非常低,这可以在 Python 中轻松完成(而不是 C++,您在编写高性能 GNU Radio 块时必须使用它) .

于 2020-06-17T20:41:36.207 回答