如何校正 QPSK IQ 数据的相位偏移

信息处理 解调 qpsk pll
2022-02-05 05:01:02

我有一个 QPSK 调制的 IQ 数据,数据被拖尾,我必须纠正导致拖尾问题的相位偏移,如何在这个阶段的 IQ 数据上应用锁相环或 Costas 环来纠正相位偏移问题。在此处输入图像描述

1个回答

假设我们已经解决了时序恢复问题(意味着我们的系统知道我们的符号决策的正确时间位置),那么我们可以在决策导向相位检测器中使用确定的符号以及我们的预决策值。这将为我们提供一个误差值,然后我们可以将其输入锁相环,以使用传统的 PLL 方法校正相位误差。

决策导向鉴相器

请参阅下图,了解决策导向相位检测器的实现。显示的两个向量是做出决定之前的复杂样本 (V2),以及决策后的复杂样本,它表示我们锁定的星座 ($V_1) 中每个符号的最近位置。对于 QPSK,标准化决策为 0.707 ± j0.707。

在此处输入图像描述

这描述了一种非常简单的方法来获得 QPSK(和更高阶 QAM 系统)的相位误差项,作为相位鉴别器的实现。这实际上是 QPSK 解调器的 Costas 环路中相位检测器的紧凑表示。其余的跟踪工作假设您具备“闭合环路”的数字 PLL 实现知识,此处不予介绍。

为了向那些非常感兴趣的人进一步解释决策导向相位检测器,我在下面详细介绍了更通用的“交叉乘积相位检测器”。了解这一点将使我们全面了解上图中总结的操作。

叉积相位检测器

叉积相位检测器的工作原理是两个向量的复共轭乘法的虚部(叉积)与向量之间的相位角的正弦成正比。这在数字载波和相位跟踪算法中具有广泛的用途。看到这一点的简单方法是知道当我们将两个向量相乘时,角度相加;因此,如果我们将其中一个向量共轭,则角度将相减,从而得到两个角度的差。

在此处输入图像描述

实际复共轭乘法的数学揭示了最终实现的简单程度(两个实数乘法和一个加法),这就是这种方法如此流行的原因:

考虑两个向量V1V2

V1=I1+jQ1

V2=I2+jQ2

V1V2=(I1jQ1)(I2+jQ2)=(I1I2+Q1Q2)+j(I1Q2I2Q1)=IP+jQP

结果的角度是ϕ=atan2(QP,IP)

然而,在大多数情况下,对于这个应用程序来说,处理密集型 atan2 是不必要的,因为我们可以使用以下某些近似值:

首先是假想项QP与角度的正弦成正比:

QP=|V1||V2|sin(ϕ)

比例常数只是成为我们整体环路增益的一部分;对于相位检测器,我们只需要与相位成线性比例的东西。

其次对于小角度,sin(ϕ)ϕ

循环会将角度(误差)驱动为 0,因此在跟踪时角度会很小,因此这种近似对于评估循环的跟踪性能是有效的。出于采集考虑,我们需要注意由于正弦函数的斜率变化而导致的环路增益降低(除非计算具有在整个范围内保持线性的好处的 atan)。

因此,对于叉积相位检测器,我们利用了两个复杂样本的 I 和 Q 值之间的以下关系:

给定两个复杂样本 [I1,Q1] 和 [I2,Q2],两个样本的叉积与它们之间的相位成正比:

I1Q2I2Q1ϕ

因此,我们提供了一种非常简单和优雅的方式来在全数字 PLL 中提供相位识别。

注意:下面的结果是旋转不变的,这意味着如果星座旋转超过 45 度误差,它将锁定在另一个位置。需要一个已知的训练序列(在标题中)来为您的数据包建立正确的方向。