4. 自适应均衡算法实战

在相干光通信的DSP链路中,自适应均衡器承担着补偿信道损伤、消除码间干扰(ISI)的核心任务。本节聚焦四种工程中最常用的自适应算法——LMS、RLS、CMA和DD-LMS,从代价函数出发推导其权重更新公式,讨论步长、遗忘因子等关键参数对收敛速度与稳态误差的制约关系,并给出QPSK/16QAM系统中的仿真对比方法。

4.1 从代价函数到权重更新:四种算法的推导脉络

所有自适应均衡器都遵循同一逻辑:定义一个衡量误差的代价函数 J(w),沿其负梯度方向迭代调整均衡器抽头系数 w,使 J 逐步减小。区别在于代价函数的形式和梯度的估计方式。

LMS(最小均方)采用瞬时平方误差作为代价函数:J = |e(n)|²,其中 e(n) = d(n) − wᴴ(n)x(n),d(n) 为期望信号,x(n) 为输入向量。对 w 求梯度得 ∇J = −2e*(n)x(n),于是权重更新为:

w(n+1) = w(n) + μ · e*(n) · x(n)

其中 μ 为步长。LMS的优点是每次迭代仅需 O(N) 次复数乘法(N为抽头数),实现简单;缺点是收敛速度受输入信号自相关矩阵特征值扩散度制约,且稳态误差与 μ 成正比。

RLS(递归最小二乘)则最小化加权指数窗内的累积平方误差:J = Σ λ^(n−k)|e(k)|²,λ∈(0,1] 为遗忘因子。通过矩阵求逆引理递推更新相关矩阵的逆 P(n),权重更新为:

k(n) = P(n−1)x(n) / (λ + xᴴ(n)P(n−1)x(n))
w(n) = w(n−1) + k(n) · e*(n)
P(n) = λ⁻¹[P(n−1) − k(n)xᴴ(n)P(n−1)]

RLS的收敛速度比LMS快一个数量级,且对特征值扩散不敏感,但每次迭代需 O(N²) 次运算,数值稳定性也需额外关注(通常用QR分解或平方根滤波改进)。

CMA(恒模算法)适用于盲均衡场景,不需要训练序列。它利用QPSK/16QAM信号模值恒定的统计特性,代价函数为 J = E[(|y(n)|² − R₂)²],其中 R₂ = E[|s|⁴]/E[|s|²] 为信号模值常数。权重更新为:

w(n+1) = w(n) + μ · e*(n) · x(n)
e(n) = y(n)(R₂ − |y(n)|²)

CMA的盲启动能力使其成为相干接收机冷启动阶段的首选,但存在相位模糊(QPSK有90°模糊,16QAM更严重)和收敛后残余模值波动的缺点。

DD-LMS(判决引导LMS)在CMA完成粗收敛后接管,将判决器输出 ŝ(n) 作为期望信号:e(n) = ŝ(n) − y(n)。由于判决值在信噪比足够高时接近真实符号,DD-LMS能进一步降低稳态误差,但若初始误差过大导致误判,会引发误差传播。因此工程上通常采用“CMA盲均衡 → DD-LMS精细跟踪”的级联策略。

CMA → DD-LMS 级联均衡流程与误差信号来源 接收信号 x(n) 采样序列 自适应均衡器 w(n) 抽头系数 均衡输出 y(n) 判决器 ŝ(n) 符号估计 恢复符号 QPSK/16QAM 误差信号 e(n) CMA: e = y(R₂−|y|²) DD-LMS: e = ŝ − y 权重更新 w ← w + μ·e*·x 模式切换策略 阶段1:CMA盲均衡(无需训练序列,快速收敛到稳态附近) 阶段2:DD-LMS判决引导(降低稳态误差,精细跟踪信道变化) 切换判据(示例) MSE滑动平均 < 阈值 或 迭代次数 > N_switch 关键参数 μ_CMA ≈ 1e-3 μ_DD ≈ 1e-4 N_taps = 15~31 性能指标 收敛速度 稳态MSE 计算复杂度

4.2 步长选择:收敛速度与稳态误差的权衡

LMS类算法的步长 μ 直接决定收敛行为。理论分析表明,μ 需满足 0 < μ < 2/λ_max(λ_max 为输入自相关矩阵最大特征值)才能保证收敛。工程上更实用的经验是:

  • 收敛时间常数 τ ≈ 1/(μ·λ_avg),μ 越大收敛越快;
  • 稳态失调 M ≈ (μ/2)·tr(R)·σ²_min,μ 越大稳态误差越大;
  • 典型取值:QPSK系统 μ 在 1e-3 ~ 1e-2 量级,16QAM因星座点更密集需更小步长(1e-4 ~ 1e-3)以避免误判。

实际实现中常采用变步长策略:初始阶段用较大 μ 加速收敛,当误差低于阈值后切换为小 μ 降低稳态波动。例如 μ(n) = μ₀/(1 + β·|e(n)|²),误差大时步长大,误差小时步长自动收缩。

RLS的遗忘因子 λ 扮演类似角色:λ 越接近1,记忆越长,稳态误差越小但跟踪时变信道能力越弱;λ 越小,对新数据加权越大,跟踪快但稳态误差上升。典型取值 λ = 0.99 ~ 0.999。

4.3 QPSK/16QAM仿真对比方法

仿真对比的核心是控制变量:固定信道模型(如多径衰落或残余色散)、固定信噪比、固定均衡器抽头数,仅改变算法类型或参数,观察以下指标:

算法收敛速度(迭代次数)稳态MSE(dB)复杂度适用场景
LMS~2000-18 ~ -22O(N)训练序列可用,信道缓变
RLS~200-25 ~ -30O(N²)快速收敛需求,信道时变
CMA~3000-15 ~ -20O(N)盲启动,无训练序列
DD-LMS~500(CMA后)-22 ~ -28O(N)精细跟踪,高SNR

仿真时建议绘制MSE收敛曲线(横轴迭代次数,纵轴对数MSE)和星座图(均衡前后对比)。对于16QAM,还需关注DD-LMS的误判率——当SNR低于约18dB时,判决引导可能引入误差传播,此时应延长CMA阶段或降低DD-LMS步长。

实现提示:在MATLAB或Python中,CMA的R₂常数计算为:QPSK时R₂=1,16QAM时R₂=13.2(归一化后)。DD-LMS的判决器需根据调制格式实现最近星座点搜索,16QAM的判决边界为±2d、±d(d为星座点间距的一半)。

4.4 工程实现要点

实际DSP实现中,均衡器通常工作在2倍过采样或1倍符号速率下。若采用分数间隔均衡器(FSE),可同时补偿定时相位误差。权重更新需注意数值精度:定点实现时,μ 和 w 的位宽需仔细设计,避免溢出或收敛停滞。

对于偏振复用系统,需使用2×2 MIMO均衡器结构,每个偏振态的输出是两路输入的加权组合。此时LMS的权重更新扩展为矩阵形式,CMA的代价函数需对两个偏振态分别计算。蝶形结构的初始化通常采用单位矩阵加小扰动,避免两路收敛到同一偏振态。

最后,收敛判据的设计直接影响模式切换时机。常用方法包括:误差模值的滑动平均低于阈值、连续M次判决一致、或固定迭代次数后强制切换。建议在仿真中扫描切换阈值,找到误码率最低的工作点。