我正在尝试构建一个基本的 GNURadio 示例,其中我有一个包含一些文本的文本文件,我想向它添加一个序言,以便能够检测接收器处数据的开头。接下来我想用 GMSK 调制它并传输它(用一个 USRP)。在接收器上,另一个 USRP 将对接收到的信号进行采样并将其传递给 GMSK 解调模块,然后相关器将搜索前导码,将其删除,并将文本数据传递到文件接收器,并存储在一个文件接收器中。文本文件。
-------------- ---------------- ---------- ------
-Source File - -> -Packet Encoder- -> -GMSK Mod- -> -USRP-
-------------- ---------------- ---------- ------
------ ------ ------------ ---------------- -----------
-USRP- -> -Sync- -> -GMSK Demod- -> -Packet Decoder- -> -File Sink-
------ ------ ------------ ---------------- -----------
假设相移和频移得到纠正,我对这将如何工作的理解是 GNURadio 将获取文本文件中的一大块数据并将其传递到将添加前导码的下一个块,然后 GMSK 将调制此序列并将其发送到 USRP(这将重复,直到文本文件中的所有文本都被读取)。我关心的是接收器,接收块如何知道调度程序在每个“循环”上传递的数据的大小(长度)(即,来自文本文件的字节数+前导码的长度)?因为如果接收器的调度程序向块传递的符号少于文本块 + 前导码的长度,那么我可能能够检测到前导码,但我只会收到发送的部分文本(连同该前导码和那个特定的顺序),
不幸的是,我找不到这方面的文档,所以我可能遗漏了一些东西。我的主要问题是:如何使调度程序获取足够数量的符号以便能够找到前导码并提取随附的文本字节,但同时允许块为下一个序列重复相同的步骤文字+序言?