2

我目前正在研究 Z-Wave 协议。使用我的 HackRF One 和scapy-radio,我尝试嗅探两台设备之间的通信。

但是设备可以以不同的速度传输:

  • 9,6 kbps
  • 40 kbps
  • 100 kbps

由于我只能以 40 kbps 解码通信,我想我的图表无法管理其他速度。

关于 Z-Wave 通信的一些信息:

  • 频率(欧盟):868.4 MHz
  • 调制方式:GFSK

还有我的 GRC 图:

GRC流程图

所以我的问题是:如何修改图形以解码和嗅探 9,6 和 100 kbps 信号?

4

1 回答 1

2

作为一个简单的解决方法,我建议从 HackRF 获取输入流并将其连接到 3 个不同的解码器,每个解码器都有所需的参数。然后每个Packet sink区块都会在同一个区块发布消息Socket PDU

我对 Z-Wave 不熟悉,但如果 3 种不同的数据速率共享相同的频谱带宽,那么你就没有更多的工作了,你就完成了。但如果他们这样做了,我相信这对你的情况是正确的,你需要一些额外的步骤。

首先,您必须以 Z-Wave 所需的最大采样率对时域信号进行采样。例如,如果对于 3 种不同的数据速率,频谱带宽为 4、2 和 1 MHz,则您必须以 4e6 个样本/秒进行采样。然后为每个不同的流执行 SRC(源速率转换),也称为重新采样。因此,对于第二个速率,您可能希望将 4e6 样本/秒的输入流重新采样到 2e6 样本/秒。然后在相应的解码过程中连接重新采样的流

                                              +---------------+
                                              |Rest blocks 0  |
              +--------------------------------->             |
              |                               |               |
              |                               +---------------+
              |                                                
 +------------+        +--------------+           +---------------+
 |            |        |              |           |Rest blocks 1  |
 | Source     +----------> Resampler 1+------------->             |
 |            |        |              |           |               |
 +------------+        +--------------+           +---------------+
              |                                                
              |    +--------------+           +---------------+
              |    |              |           |Rest blocks 2  |
              +-----> Resampler 2+-------------->             |
                   |              |           |               |
                   +--------------+           +---------------+

GNU Radio 已经附带了一些重采样器,您可以开始使用该Rational Resampler块。

于 2015-08-06T10:32:55.390 回答