0

我正在尝试解码 GNU Radio 上的 BPSK 信号,但我有点挣扎,所以我希望你能帮助我。

我正在使用的流程图如下:

Gnuradio 流程图

我在流程图输入端发送的位帧是:

1a cf fc 1d ff fd 55 53 33 3b bb a5 a5 8d 8d ed 6d 6c 93 6e 3b 68 5b 60 db 7e db 56 db 36 db b6 da 49 27 1c 74 2f 4f 94 ea 31 6d bc 8a 51 e7 53 4f 3b 14 5b cf 25 14 73 cf 45 14 f3 ce ba e9 a6 9d 89 d2 1d 38 2c 5f 90 d5 c1 32 fc 46 af 09 94 1d cf d2 ea c6 99 09 dc 1d 2f a d3 95 3a 3 3 a7 4d 8b 12 1b c7 da f5 26 b3 89 ba 1d a7 d2 75 38 b3 a1 ba 7d a7 52 74 c7 4e f4 e9 4e 9c e9 d1 62 c3 79 04 a3 f1 85 42 0c f8 11 5f c3 2a fb 99 5a 27 84 75 f0 b2 是 46 57 08 cb

如您所见,我使用“星座调制器”模块,然后使用“符号同步”模块来模拟调制/解调。然后由“星座解码器”块实现解码

我们可以在下图中看到一切似乎都运行良好:当我将输入比特流与输出比特流进行比较时,比特是同步的

结果

但是,当我在流程图的输出端打开文件时,我无法获得输入端的位帧。

你知道我该如何解决这个问题吗?任何帮助表示赞赏:)

谢谢,祝你有美好的一天

4

3 回答 3

0

通常:您的位是正确的,但您没有帧,因此您的接收器不知道字节(或任何其他数据单元)从哪里开始。

您需要添加一些框架!这可以像您要​​查找的二进制序言一样简单。

于 2021-07-09T18:22:35.107 回答
0

编辑:我下载了模块 gr-satellites 并使用了块同步并创建了打包的 pdu,一切正常。

于 2021-07-16T07:47:46.177 回答
0

好的,所以我尝试使用“相关访问代码”块和二进制访问代码 1acffc1d 添加一些框架。这是流程图:

Gnuradio 流程图

然后该块在样本 53 处找到一个标签,在 Time Sink 上,我们可以验证该标签确实是 1acffc1d(二进制)。

结果

但是我无法使“标记文件接收器”块工作。在文档中,据说标签必须是“突发”块才能开始将数据写入新文件,但我不太明白这意味着什么。

再次感谢你的帮助。

尼古拉斯

于 2021-07-13T07:44:27.670 回答