4. 功放行为建模
在射频数字预失真(DPD)系统中,功放行为建模是整条协同链路的“数字孪生”环节。DPD 算法要计算一个与功放非线性相反的预失真函数,前提是能够用数学模型准确描述功放从基带输入到射频输出的幅度与相位畸变。功放行为模型不追求从晶体管物理方程出发,而是用输入输出数据拟合一个黑盒或灰盒模型,从而在可接受的复杂度内复现功放的 AM-AM、AM-PM、记忆效应和宽带失真。本节围绕五类主流模型展开:无记忆模型、记忆多项式、Volterra 级数、Wiener-Hammerstein 模型和神经网络模型。
4.1 从无记忆到有记忆:模型演进的动因
无记忆模型假设功放当前输出只与当前输入有关,典型形式是 Saleh 模型或多项式模型。对于窄带、低功率回退较大的系统,无记忆模型可以描述静态 AM-AM 和 AM-PM 曲线。但当信号带宽增大到数十兆赫兹,功放偏置网络、匹配网络和热效应会引入记忆效应,输出不仅取决于当前输入,还取决于过去若干时刻的输入。此时无记忆模型在宽带 DPD 中误差显著增大,必须引入记忆项。
记忆多项式(MP)在无记忆多项式基础上增加延迟抽头,是工业界最常用的模型之一。其基带表达式为:
y(n) = Σ_{k=1}^{K} Σ_{m=0}^{M} a_{k,m} · x(n-m) · |x(n-m)|^{k-1}
其中:
K:非线性阶数,通常取 5~9
M:记忆深度,通常取 2~6
a_{k,m}:模型系数,由最小二乘或RLS辨识
记忆多项式的优势是结构简单、参数线性、易于用最小二乘求解,且能同时补偿静态非线性和一定程度的记忆效应。缺点是当记忆效应强、带宽很宽时,需要增加 K 和 M,导致系数数量快速增长,实时实现压力增大。
4.2 Volterra 级数:通用非线性记忆模型
Volterra 级数是带记忆非线性系统的通用级数展开,可以看作记忆多项式在交叉项上的推广。它包含不同延迟输入之间的乘积项,因此能描述更复杂的记忆非线性耦合。其离散形式可写为:
y(n) = h0 + Σ h1(i)x(n-i)
+ ΣΣ h2(i,j)x(n-i)x(n-j)
+ ΣΣΣ h3(i,j,k)x(n-i)x(n-j)x(n-k) + ...
核函数 h1、h2、h3… 描述各阶非线性与记忆的联合作用。
Volterra 级数的表达能力最强,但系数数量随阶数和记忆深度呈组合爆炸。例如三阶、记忆深度 4 时,核系数已相当可观。因此实际中常采用其简化形式,如记忆多项式、广义记忆多项式(GMP)或动态偏差减少(DDR)模型,在保留主要交叉项的同时控制复杂度。
4.3 Wiener-Hammerstein 模型:模块化灰盒结构
Wiener-Hammerstein 模型由线性动态模块、无记忆非线性模块和另一个线性动态模块级联而成,典型结构为“线性—非线性—线性”。它比纯黑盒多项式更具物理可解释性:前级线性模块可表示输入匹配和驱动级,中间无记忆非线性表示功放核心压缩,后级线性模块表示输出匹配和偏置网络。该模型适合描述具有明显线性记忆和静态非线性的功放,参数辨识常采用两步法或迭代法。其局限是当非线性本身也带记忆时,单一无记忆非线性块不足以覆盖。
4.4 神经网络模型:数据驱动的高精度选择
神经网络模型用多层感知机、径向基网络或循环神经网络拟合功放输入输出映射。输入通常包括当前及历史复包络的实部、虚部或幅度相位,输出为预测的复包络。神经网络的优势是拟合能力强,能同时捕捉强非线性和复杂记忆,尤其适合宽带、多频段或负载调制功放。但其训练需要大量数据,存在过拟合风险,且推理延迟和资源消耗对实时 DPD 构成挑战。实际中常用实数神经网络、LV 网络或轻量化结构来平衡精度与复杂度。
4.5 五类模型对比与选型清单
| 模型 | 核心结构 | 记忆能力 | 参数辨识 | 典型适用场景 |
|---|---|---|---|---|
| 无记忆模型 | y=f(x),仅当前输入 | 无 | 最小二乘/查表 | 窄带、大回退、静态非线性 |
| 记忆多项式 | 延迟抽头 + 非线性阶数 | 有限记忆 | LS / RLS | 宽带 DPD 主流,复杂度可控 |
| Volterra 级数 | 多延迟交叉乘积核 | 强记忆 | LS / 自适应 | 强记忆非线性,研究验证 |
| Wiener-Hammerstein | 线性-非线性-线性级联 | 线性动态记忆 | 两步法/迭代 | 模块化功放,可解释性要求高 |
| 神经网络 | 多层非线性映射 | 强记忆/长短期 | 反向传播/梯度下降 | 复杂宽带、多频段、负载调制 |
4.6 案例:宽带功放 DPD 建模流程
以一款 100 MHz 带宽、平均输出 40 dBm 的 GaN 功放为例。首先采集输入输出基带数据,使用矢量信号源发送 5G NR 信号,通过耦合器、衰减器和频谱仪/矢量接收机获取功放输出,经下变频和同步后得到 x(n) 与 y(n)。接着进行时延对齐和增益归一化,避免模型把线性时延误认为记忆。然后按以下流程建模:
- 用无记忆多项式拟合静态 AM-AM/AM-PM,观察残差是否随带宽增大而恶化。
- 若残差呈现明显频率相关,改用记忆多项式,扫描 K=5~9、M=2~6,用 NMSE 和 ACLR 改善量评估。
- 若 MP 仍不足,尝试 GMP 或 Volterra 简化模型,增加交叉项。
- 对强记忆场景,可构建 Wiener-Hammerstein 或神经网络模型,比较推理延迟与 DPD 收益。
- 将选定模型系数导出到 FPGA,在 DPD 环路中验证 ACLR、EVM 和效率提升。
4.7 常见误区与复盘
- 误区一:模型阶数越高越好。阶数和记忆深度增加会带来过拟合,尤其在训练数据覆盖不足时,DPD 反而在未训练功率段发散。
- 误区二:忽略时延对齐。输入输出之间存在采样级甚至亚采样级时延,未对齐会使记忆项被错误辨识,模型精度大幅下降。
- 误区三:用窄带数据训练宽带模型。训练信号带宽必须覆盖 DPD 工作带宽,否则模型无法学习带边记忆效应。
- 误区四:神经网络直接替代所有模型。神经网络精度高但资源消耗大,需结合定点量化、剪枝和实时性验证,不能只看离线拟合指标。
复盘时,应把模型选择视为“精度—复杂度—实时性”的三角权衡。无记忆模型适合作为基线,记忆多项式是工业 DPD 的主力,Volterra 及其简化形式用于强记忆验证,Wiener-Hammerstein 提供可解释的模块化路径,神经网络则面向复杂场景的高精度需求。只有让模型结构与功放实际记忆强度、信号带宽和硬件资源匹配,DPD 与功放协同才能获得稳定且可复现的线性化收益。