带 PLL 的残余载波跟踪

信息处理 格努拉迪奥 pll
2022-02-19 03:12:57

PCM/PM/NRZ 和 PCM/PM/Bi-phase 等残余载波系统在太空应用中很常见。与 BPSK 等抑制载波系统相比,剩余载波系统的文献来源相当陈旧,可以追溯到 1970 年代。这些资料中描述的解调器是模拟的。我在使用这些模拟结构的 GNU Radio SDR 实现时遇到了一些问题,特别是使用 PLL 的载波恢复。 残留载体系统 在如上所示的剩余载波系统中,Q 信道(导频)上有一个未调制的载波,用于载波恢复。发射的信号是

s(t)=2Psin[ω0t+i=1Mθidi(t)]
其中 M 是子载波的数量,并且θ是调制指数。调制指数决定了数据载波中的功率与剩余载波中的功率之比。假设没有子载波 (M = 1),PCM/PM 信号采用以下形式:
s(t)M=1=2Pcosθ1sinω0t+2Pd1(t)sinθ1cosω0t
在 I/Q 格式中,这变为:
s(t)M=1=I(t)cosω0tQ(t)sinω0t
在哪里
I(t)=2Ps1(t)sinθ1
Q(t)=2Pcosθ1

PCM_PM 我在实现载波跟踪环路时遇到问题,特别是,我不知道要使用什么相位误差检测器。有问题的信号如上所示,其中残余载波可以看作是直流处的峰值。 对于 BPSK(抑制载波)Costa 环路,相位误差检测器非常简单,由下式给出
流程图 哥斯达黎加

e(kTs)=Q(kTs)slice(I(kTs));
PED 使用 I 和 Q 通道,如上图所示。另一方面,残余载波系统仅使用 Q 信道进行载波相位恢复。我自己尝试了不同的 PED,但没有任何运气。

float
residualPhaseRecovery_impl::phaseDetectorPM(gr_complex out) const
{
    //return imag(out)*slice(real(out)); //Costa's loop, for BPSK
    return imag(out); // Naive Residual carrier PED. Doesnt work.
}

在这种情况下,合适的 PED 是什么?

编辑 另一个可以使用的接收器结构(?)如下所示(Rice,数字通信:一种离散方法)。我只需要一个“计算相位误差”块的方程。
新的接收器结构

2个回答

我也一直面临与我的 PCM/PM/SP-L 信号相位同步的问题,并通过滤除残留载波找到了临时解决方案。

对于载波偏移校正,有两个 gnuradio 模块可以工作,即FLL Band EdgePLL Carrier Tracking,但我发现在处理带有残差的 PM 信号时,FLL Band Edge 模块与内置的 Costas Loop 模块一起工作得更好载体。不过,这完全来自轶事经验,我还没有对块的性能进行任何适当的描述。

相位同步问题的一种巧妙解决方案可能是在将信号的载波馈入科斯塔斯环路之前过滤掉信号的载波。这个滤波步骤应该在载波偏移校正之后,在 Costas Loop 之前。由于残留载波的存在使二进制 PM 信号的 IQ 星座偏离原点,因此滤除载波将使 PM 信号以原点为中心,并且 Costas Loop PLL 可以将其相位锁定到标准 BPSK 的相位。

粗流图:

PCM/PM RX -> FLL 频带边缘 -> 高通滤波器 -> PFB 时钟同步 -> Costas 环路 -> BPSK 解调器

我不熟悉 Gnu 无线电提供的功能,但在纯粹的信号处理方面,你想多了。

您只需要一个普通的老式 PLL,一个普通的老式相位检测器,将输入信号与 NCO 输出相乘,一个普通的老式环路滤波器,一个普通的老式 NCO 和一个正弦波输出。

这是您在同步 AM 无线电接收器中使用的那种 PLL。从一个非常简短的网络搜索来看,您似乎想使用 Gnu Radio 的PLL Carrier Tracking来实现这一点——这应该为您提供一个经过清理的载波版本,然后您可以使用它来进行您需要的任何进一步处理去做。