微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gnuradio:在位中间采样

如何解决gnuradio:在位中间采样

我正在尝试使用 gnuradio 和 LimeSDR 设计 GFSK 接收器。为此,我使用了 grc 文件 shown here文件接收器指向将包含接收到的位的日志文件。该文件由 MATLAB 读取,其中执行更多处理(在那里检测到前导码 + 数据)。理性重采样器用于对比特流进行重采样,以便每个比特只采样一次(因此只有 1 比特被发送到 MATLAB,而不是每比特 50 比特——如果有意义的话)

当前的设计有效,但只有大约 85% 的数据包被接收,这意味着 15% 的前导码甚至没有被检测到。

通过在rational重采样器上游保存一个.wav文件,并在接收失败时将其与重采样器下游的日志文件进行比较,很明显问题发生在重采样过程中,因为.wav文件是完美的很好并且包含正确的位,但重新采样的日志文件不适用于该失败的实例(当接收成功时,日志文件与 .wav 文件匹配)。

因此,我得出结论,重采样有时会错误地采样比特流(可能在比特边缘),所以我问我如何强制重采样块 - 或任何其他 - 正确采样比特?我看过符号同步块,但它需要一个三角波,我不能产生一个,因为我无法预测位的中间位置。如果有人可以帮助我将不胜感激!

提前致谢

解决方法

您可以在此处找到有关接收器结构的更多说明: https://wirelesspi.com/fsk-demodulation-in-gnu-radio/。 一般来说,负责符号采样正确定时的子系统是“定时(又名符号)时钟同步系统”。由于发射器和接收器的振荡器之间存在差异,因此“正确”时间会发生变化。计时时钟不断调整正确的时间。在提供的链接上发布后的讨论表明可以使用经典符号同步块。您可以尝试并分享结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。