我是 SDR 和 GNU Radio Companion 的新手。我正在尝试设置 HackRF One 以接收来自另一台收发器的文本信标。它们通过 SMA 连接,中间有衰减器。
信标收发器的传输频率设置为 435MHz,采用 GFSK 调制,调制指数为 0.5,速率为每秒 9.6 个符号
当我尝试运行流程图时,最终会出现溢出警告“OOOOOOOO ...”,直到我关闭程序。
我知道问题要么出在我设置模块的方式上,要么出在我使用的计算机上。
我已经确保 HackRF 可以通过直接将 osmocon 源连接到瀑布图来从收发器接收一些东西,并且我看到了收发器传输时的波动。
我已经验证“OOOOOOOO”是在我在链中实现过滤器之后出现的。
我一直在尝试将我对模拟射频的了解转化为模块所要求的内容,但显然我不明白我需要如何计算模块参数的数量。
您的过渡频率为 1 Hz,采样率为 2 MS/s。这意味着您的过渡宽度是采样率的 1/2,000,000 – 因此滤波器的长度必须约为 200 万个抽头!
这是一个非常长的过滤器。与模拟滤波器相同的情况也适用于数字滤波器:频域中的侧翼越陡,它们的构建就越困难,脉冲响应也就越长。在数字世界中,长脉冲响应意味着每个输入样本都需要乘以许多滤波器系数,而这只是需要时间来计算。
设计一个适合您需求并且可以实时执行的过滤器。
我不知道您对滤波器清晰度的需求是什么,但它肯定不仅仅是阻带和通带之间的 1 Hz。
我会尝试从流程图的其余部分推断,但遗憾的是,这也没有意义:您首先过滤到 75 kHz 带宽(在 2 MHz 采样率内),然后尝试解调每个符号 2 个样本 - 因此符号速率为 1 MSym/s。每秒 100 万个符号如何“适合”75 kHz 的带宽?
因此,要么您的滤波器带宽错误,要么您的 GMSK 解调器的每个符号样本错误,或者两者皆有!