GNU Radio 中的定时恢复:可变速率与固定速率操作

信息处理 同步 格努拉迪奥 pll
2022-02-10 15:46:48

我一直想知道在 gnuradio 中时间恢复块的实现。在文献中,对于异步采样,只需要错误检测器(MM、ML、Gardner 等)、环路滤波器(二阶)、插值控制(模 1 计数器等)和插值器。带有 ML 错误检测器的定时恢复方案示例如下所示。关于 GNU Radio 中的实现,我有两个问题

  1. 我见过的所有块(MM,Andy Walls Symbol Sync)似乎都在近似每个符号的样本数,并使用它来更新预测函数中块的速率。我的问题是为什么我们需要使用可变利率?不能像下面这样的固定利率方案吗?这不应该是异步采样吗?
  2. 出于好奇:可以使用三阶 PLL 代替吗?或者这只是矫枉过正?

问候,M。

定时恢复

编辑

插值控制: 文本 模 1 计数器

Matlab代码 Matlab代码

1个回答

符号定时偏移和符号频率偏移是两种不同的失真。就像载波相位偏移和载波频率偏移一样。不同之处在于,由于工作频率很高,载波频率偏移在符号时间尺度上对解调信号的影响非常严重。符号率相对较低,因此符号频率偏移在几个符号时间内表现得很慢。这与我们的建模有关。任何真正的振荡器都可能在这个一阶近似值上表现出随机分量。

现在 Michael Rice 正在考虑该图中固定符号时序偏移的情况。所以循环只是在异步采样后找到最佳时钟相位。考虑到他使用的是二阶循环,需要一种简单的填充和删除样本机制,以使其适应变化的符号定时相位偏移。GNU 无线电代码在真实信号上运行,因此它必须适应该符号频率偏移以及一段时间内的任何小的随机变化。

最后,理想情况下,三阶环路会为不断变化的频率偏移(有时称为漂移)生成稳态零误差,但除了少数例外,很少有系统会遇到这种情况。由于更复杂的稳定性问题,高阶循环在实践中使用较少。有关详细信息,请参阅 Gardner 的《锁相技术》一书。