第3章 线性均衡器简介:迫零(ZF)和最小均方误差(MMSE)均衡器

说到均衡器,线性均衡器是最基础的一种。说白了,它就是一个线性滤波器,用来补偿信道的畸变。我刚开始做通信系统时,总觉得线性均衡器太简单,不够“高级”。后来真正上手调试,才发现这东西用好了,能解决

为什么需要线性均衡器?

信号经过多径信道,会拖出尾巴——就是码间干扰(ISI)。你发一个比特,后面的比特会受到前面比特的干扰。线性均衡器的任务,就是在接收端把这个尾巴“掰直”。

数学上,均衡器的输出等于接收信号与均衡器系数的卷积。我们想找个滤波器,让它的频率响应是信道响应H(f)的倒数——这样信道和均衡器级联后,总响应就成了平直的。

迫零(ZF)均衡器

ZF均衡器的想法很直接:完全消除ISI,不管噪声。它的系数w满足w * h = δ(离散情况下)。说白了,就是解一个线性方程组,让均衡后的冲激响应在采样时刻为1,其他时刻为0。

公式速览: ZF均衡器系数w = H-1(频域),或w = (HHH)-1HH(时域最小二乘)。

但有个坑:当信道在某些频率上衰减很厉害(比如频谱零点),它的倒数会很大。这时候均衡器会拼命放大那些频率上的噪声。我在一个无线接收机项目中试过纯ZF,信噪比高的时候效果还行;一旦信号弱,噪声被放大得离谱,误码率反而上升。那一次我花了整整两天才定位到问题,后来果断换成了MMSE。

ZF的主要缺点: 没有考虑噪声增强。信道越坏,噪声放大越严重。

最小均方误差(MMSE)均衡器

MMSE均衡器换个角度:不追求完全消除ISI,而是在ISI残留和噪声放大之间找个平衡。它最小化的目标是E[|wTy - x|²],也就是输出与原始信号的均方误差。

数学推导我就不展开了,但结果很漂亮:MMSE的系数w = (HHH + σ²I)-1HH。注意看,这里多了个σ²I项——它就是噪声方差的贡献。当噪声很大时,这项会“压住”系数,不让它过度放大噪声。当噪声很小(σ²→0)时,MMSE退化为ZF。

我个人习惯在工程中优先试MMSE,因为它鲁棒性好。去年调试一个OFDM接收机,信道深度衰落时ZF直接炸了,MMSE还能维持可接受的误码率。当然,MMSE需要知道噪声方差,实际中可以通过导频估计,一般不难。

两种均衡器的对比

特性 ZF均衡器 MMSE均衡器
优化目标 完全消除ISI 最小化均方误差(ISI + 噪声)
是否需要噪声信息 不需要 需要估计噪声方差
高频噪声放大 严重(信道有零点时) 受抑制(噪声方差项限制)
低信噪比性能 差 较好
高信噪比性能 接近MMSE 略优于ZF(但差异小)
实现复杂度 低(只解线性方程) 略高(多一步噪声估计)

我的经验: 如果信道很好(比如有线、短距离),ZF够用还省事。无线信道、噪声大、有深度衰落——二话不说上MMSE。

实际操作中的注意事项

  • 训练序列长度: 估计信道冲激响应需要足够长的训练序列。太短了估计不准,均衡器反而恶化性能。有一次我图省事用了16个符号,结果均衡后ISI更大——教训:序列长度至少是信道时延扩展的2倍以上。
  • 系数更新: 如果信道时变,需要自适应。我建议用MMSE的初始系数,然后转成LMS(最小均方)算法跟踪。收敛快,抖动小。
  • 量化效应: 定点实现时,ZF的系数可能非常大,容易导致溢出。MMSE因为有噪声项“压着”,系数范围更可控。我踩过这个坑:16位定点,ZF直接溢出,调成MMSE后稳如狗。

你想想看,如果让你在ZF和MMSE之间选,你会怎么选?我的判断标准很简单:先想噪声情况,再看信道坏不坏。噪声大、信道差 → MMSE;噪声小、信道平 → ZF也OK。

线性均衡器:ZF 与 MMSE 核心逻辑对比 输入信号 信道 +噪声 ZF均衡器 MMSE均衡器 ZF输出 MMSE输出 ZF: 完全消除ISI,但会放大噪声 —— 适合高信噪比、信道零点少的场合 MMSE: 平衡ISI与噪声 —— 适合低信噪比、信道深度衰落的场合

我的选择建议

  1. 先评估噪声等级。 如果预期信噪比高于20dB,ZF够用,实现也简单。
  2. 检查信道是否有深度零陷。 有的话,别犹豫,MMSE。
  3. 如果系统对复杂度敏感(比如低功耗IoT),可以先用ZF,再在必要时切换到MMSE。我见过一个方案:平时用ZF省电,检测到误码率升高就切MMSE。
  4. 注意系数更新速率。 自适应场景下,MMSE的收敛速度通常比ZF快(因为ZF的代价函数不平坦)。

千万别以为ZF永远比MMSE差。在噪声极低、信道很好的场景下,ZF反而因为完全消除ISI,性能略优于MMSE(MMSE会留一点点ISI来压制噪声)。当然,这个优势很微弱,工程上一般不纠结。