感谢您提前参与我的讨论。
我正在实施相位校正。
目前,我已经完成了算法。我认为这是你们每个人都使用的标准算法。
实际上,校正相位是标准算法;我认为。
有谁知道如何最小化相邻样本/符号的角度之间的差异?
有人已经有过这种模拟的经验,并且可能还有模拟脚本并且可以与我分享吗?
感谢您提前参与我的讨论。
我正在实施相位校正。
目前,我已经完成了算法。我认为这是你们每个人都使用的标准算法。
实际上,校正相位是标准算法;我认为。
有谁知道如何最小化相邻样本/符号的角度之间的差异?
有人已经有过这种模拟的经验,并且可能还有模拟脚本并且可以与我分享吗?
我赞扬您使用直观的算法。但是,已经建立了具有更好性能的算法。相位恢复算法通过将误差信号过滤到零来工作。下图所示的 QPSK 的 Costas 循环结构就是一个例子。

让我们从相位误差检测器开始(以黄色突出显示)。您在示例中使用的 arctan 检测器有效,但它通常不用于实际系统(如果实数非常小,虚数/实数的划分可能会导致溢出)。大多数系统使用 Costas 和最大似然错误检测器。以 BPSK 为例。Costas 相位误差检测器很简单()。错误检测器的特征在于通过找到错误检测器输出的期望获得的 S 曲线(对于 BPSK 应该是()) 用于不同的相位误差输入(相位误差来自到在步骤) 如下所示。

过滤是通过一种叫做循环过滤器的东西来完成的,它可以将错误“驱动”到零。下面显示的比例加积分器被广泛使用,它可以将静态相位误差和频率偏移驱动为零。参数(取决于 S 曲线的斜率)决定了循环的行为。

关于例子。网上有很多例子,比如这个。您可以通过在线搜索 Costas 循环示例找到更多信息。如果有兴趣,您可以查看 GNU Radio 教程。也有很多例子。
最后,我可以建议对您的模拟进行一些改进。您应该考虑添加一个小的频率偏移以及相位噪声来完全代表一个真实的场景。
祝你好运。