1. 项目概述为ADC“美颜”低复杂度线性化器的设计突围在高速模数转换器ADC和数模转换器DAC构成的模拟-数字接口ADI中我们工程师最头疼的问题之一就是模拟电路固有的非线性失真。这玩意儿就像给高清照片加了一层难以预测的噪点和畸变滤镜直接拉低了整个系统的“有效位数”ENOB和信号质量。无论是追求极致带宽的5G/6G通信还是需要高保真度的雷达、仪器仪表非线性失真都是性能提升路上必须搬开的一块大石头。传统的解决方案比如并行Hammerstein线性化器思路很直接你系统不是会产生高次谐波失真吗那我就在数字域用一堆并行的非线性分支比如v(n)^2,v(n)^3...去建模并抵消它。这个方法有效但代价不小。每增加一个非线性阶数硬件上就需要多一组滤波器乘法运算。当信号带宽越来越宽需要的记忆深度滤波器阶数和非线性阶数同步增长时计算复杂度就会呈组合爆炸芯片面积和功耗也跟着飙升让很多对成本和功耗敏感的应用望而却步。最近几年看着深度学习在各类非线性建模任务中大放异彩不少研究者也尝试将神经网络NN引入线性化。想法很美好但现实很骨感。现有的基于神经网络的线性化方案动辄需要成百上千次乘法运算来处理一个样本这复杂度对于需要实时处理的通信或数据转换系统来说简直是灾难。那么有没有一种方法既能继承神经网络灵活建模非线性关系的能力又能把复杂度打下来甚至比传统的Hammerstein方法还要高效这就是我们今天要深入探讨的核心基于并行偏置-模Bias-Modulus与偏置-ReLU操作的低复杂度频域线性化器。它从卷积神经网络CNN中汲取了“偏置简单非线性激活”的灵感但大刀阔斧地砍掉了神经网络中复杂的多层连接和反向传播训练最终形成了一个结构清晰、参数可通过一次矩阵求逆直接确定的高效方案。实测下来在多种宽带信号场景下它能实现20-30 dB的信噪失真比SNDR提升而计算复杂度相比传统方案降低了一个数量级。2. 核心思路拆解化繁为简的设计哲学要理解这个设计的精妙之处我们得先看看它要解决的核心矛盾是什么以及它是如何巧妙地化解的。2.1 传统方法的瓶颈与神经网络的启示并行Hammerstein模型的局限其核心公式是y(n) Σ Σ dp(l) * v(n-l)^p。这里v(n)^p的计算是复杂度主要来源。计算v^3需要2次乘法v^10可能需要4次最优加法链乘法。更重要的是在硬件实现时v(n)^p的结果数值可能很大必须在进入滤波器dp(l)之前进行量化截位以防止中间数据位宽无限膨胀。这个量化噪声会被后续滤波器的能量放大从而劣化输出SNDR。为了避免这种噪声放大要么使用更长的内部字长增加成本要么限制滤波器系数的大小可能影响性能这是一个两难选择。神经网络的启发与简化CNN的成功表明即使使用非常简单的非线性函数如ReLU配合适当的线性变换卷积和偏置也能构建出强大的非线性映射能力。这启发了我们能否用一组简单的、硬件友好的非线性函数如取模|v|或 ReLUmax(0, v)来替代那些计算昂贵的幂次运算v^p新方案的核心思想答案是肯定的。新线性化器的输出公式变为y(n) c0 Σ c1(l)v(n-l) Σ Σ wm(l) * fm( v(n-l) bm )。这里的关键变化是非线性项用fm(vbm)替代了v^p。fm是|·|或 ReLU。引入偏置每个非线性分支在输入前加了一个可调的偏置bm。这至关重要它相当于在非线性函数前对输入信号进行了一个“平移”。对于ReLU偏置改变了激活阈值对于取模运算偏置改变了函数的对称中心。通过一组均匀分布的偏置bm这些简单的非线性函数在输出空间上能够张成一组丰富的基函数足以拟合或抵消由高阶多项式v^p产生的复杂非线性失真模式。2.2 复杂度优势的根源从“先非线性后滤波”到“先偏置后滤波”结构上的改变带来了两大核心优势1. 乘法运算的显著减少在Hammerstein模型中生成v^p需要额外的乘法。在新模型中|vbm|或max(0, vbm)在硬件上几乎可以无乘加实现比较器、选择器、绝对值电路。因此对于N个非线性分支新模型直接省去了生成非线性项所需的N次或更多乘法运算。复杂度从(M1)(K1) K次乘法降至(M1)(N1)次。当滤波器阶数M较小而非线性分支数N较大时节省的比例尤为可观。2. 量化噪声问题的根除这是容易被忽略但极其关键的一点。在新模型中所有的非线性操作fm(·)是作用在滤波之前的输入v(n-l)bm上。而v(n-l)和bm都是已知的有限字长数据。非线性操作后结果um(n-l)会先与滤波器系数wm(l)相乘累加最后再进行一次总的量化输出。这意味着量化只发生在整个线性化链路的最后一步。量化噪声不会被任何滤波器放大因为它是在所有线性加权求和之后才引入的。这从根本上避免了Hammerstein模型中固有的量化噪声放大问题允许我们使用更激进的滤波器系数而不用担心性能劣化或者在相同性能下使用更短的字长。实操心得这个“量化位置”的差异在芯片设计层面影响巨大。它简化了数据路径的位宽管理降低了中间存储器的面积和功耗。我们在评估一个线性化架构时不能只看乘加器数量数据路径的位宽和量化策略往往是决定最终芯片面积和能效比的隐形杀手。2.3 两种失真模型与对应的线性化器论文处理了两种不同的失真场景对应两种稍有不同的线性化器结构1. 采样后失真模型Pre-Sampling Distortion这是最直观的模型。假设失真发生在ADC采样之后或者在数字域产生。此时非线性系统与采样操作是可交换的对于静态非线性。论文第III部分提出的线性化器图3直接适用于此场景其结构就是我们上面讨论的y(n) c0 Σ c1(l)v(n-l) Σ Σ wm(l) * fm( v(n-l) bm )。2. 采样前失真模型Post-Sampling Distortion这是更符合物理现实的模型。失真发生在模拟域在ADC采样之前。这里有一个关键问题一个带宽受限的模拟信号xa(t)经过p次非线性运算后其频谱会扩展p倍可能超出奈奎斯特带宽导致采样后的数字信号v(n)中存在混叠失真。直接对v(n)进行上述线性化可能无法完全恢复原始信号x(n)。解决方案——内插论文第IV部分通过严谨的推导证明通过对输入信号v(n)先进行P倍上采样和内插再施加非线性最后滤波并下采样可以在离散时间域精确等效模拟域的采样后非线性过程。由此导出的线性化器结构图18在本质上与采样后模型一致但每个非线性分支前需要增加一个内插滤波器组多相分解实现。虽然内插滤波器增加了额外的计算但这一部分是Hammerstein和新方法都需要承担的。关键在于在新方法中我们依然用简单的fm(·)替代了昂贵的(·)^p因此其相对于Hammerstein的乘运算优势在采样前失真模型中反而更加明显因为此时Hammerstein模型需要为每个非线性阶数p实现多个内插后的(·)^p副本而不能共享计算。3. 核心设计流程从理论到参数的“一键配置”这套方案最吸引人的地方之一是它摒弃了神经网络那套黑箱式、耗时且结果不确定的梯度下降训练采用了一种确定性的、基于最小二乘的闭式求解方法。3.1 参数设计步骤详解假设我们已经有了R组训练数据理想的参考信号x_r(n)和对应的失真信号v_r(n)r1,2,...,R。设计目标是为线性化器公式(3)找到最优的系数c0,c1(l),wm(l)和偏置范围b_max。步骤一构建回归矩阵对于一组给定的b_max和由此按公式(5)计算出的均匀分布偏置bm我们可以为每一组训练数据(x_r, v_r)构建一个矩阵A_r。矩阵A_r的每一列对应一个待求的参数。前(M1)*N列是N个非线性分支在M1个抽头上的输入u_{r,m}(n-l) f_m( v_r(n-l) b_m )其中l0,...,M,m1,...,N。接着的M1列是线性分支的输入v_r(n-l)。最后一列是全1向量对应常数偏移c0。 因此A_r是一个L x [(M1)(N1) 1]的矩阵L是信号长度。步骤二构建目标向量与正则化我们希望线性化器的输出y_r(n)尽可能接近延迟对齐后的参考信号x_r(n - M/2)M/2补偿了滤波器的群延迟。定义目标向量b_r其元素为x_r(n - M/2) - v_r(n - M/2)。这里减去v_r(n - M/2)是一个小技巧目的是让待求解的线性分支系数c1(l)变成一个很小的修正量Δc1(l)使得所有待求参数在理想情况下都接近0这提高了数值稳定性。为了求解的稳定性并防止过拟合我们采用L2正则化Tikhonov正则化。最终的参数向量w包含所有wm(l),Δc1(l),c0通过以下公式求解w (λI Σ A_r^T A_r)^{-1} (Σ A_r^T b_r)其中λ是一个小的正则化参数I是单位矩阵。步骤三偏置范围的网格搜索偏置范围b_max是一个超参数。论文通过实验发现当输入信号归一化到[-1, 1]区间时b_max在[0.5, 1.5]区间内搜索效果较好。设计时我们在该区间内均匀选取S个b_max值对每一个都执行上述步骤二得到一组参数。然后在独立的验证集上评估这S个设计选择性能最好的一个作为最终设计。步骤四性能评估使用一个更大的、与训练集独立的测试信号集R_evalR_eval R来评估最终线性化器的性能计算平均SNDR提升等指标。3.2 设计中的关键技巧与考量训练信号的选择论文中使用了多音信号类似OFDM信号的实部和滤波白噪声。这覆盖了通信系统中常见的信号类型。关键在于训练信号需要足够丰富以激发待校正非线性系统的各种行为。在实际系统中可以使用已知的导频序列或专门设计的训练信号。正则化参数 λ 的选择λ 不能太大否则会过度惩罚系数导致性能下降也不能太小否则矩阵可能病态求解不稳定。论文采用线性搜索选择能使设计误差最小且保证系数合理的 λ。一个重要的观察是由于新方法没有量化噪声放大问题其对 λ 的敏感性低于Hammerstein方法。这意味着在相同硬件精度下新方法可以使用更小的 λ从而获得更接近理论最优的性能或者在同性能下新方法对系数量化更不敏感。偏置的鲁棒性实验表明线性化器性能对偏置bm的具体值并不非常敏感只要它们能均匀覆盖信号的动态范围[-b_max, b_max]。这意味着一旦针对某类信号找到一组好的bm可以复用于其他类似场景无需反复优化。注意事项这个设计流程假设我们可以获取到干净的参考信号x_r(n)。在实际的ADC线性化场景中这通常意味着需要一个“黄金”ADC或者一个已知的、高精度的测试信号源来产生x_r(n)。对于在线自适应校正可能需要借助数字预失真DPD中的间接学习架构等思想进行估计。4. 性能仿真与结果分析数据说话论文通过大量的仿真实验验证了所提方法的有效性并与传统的并行Hammerstein线性化器进行了全面对比。我们挑几个关键例子来看。4.1 采样后失真模型下的性能Example 1 3场景失真模型为6阶记忆非线性D6输入为12比特量化的64子载波OFDM-like多音信号31个活跃子载波QPSK调制。结果SNDR提升未经线性化时失真信号的SNDR约为30 dB。采用所提线性化器M6,N12SNDR提升至约62 dB提升了32 dB相当于有效位数ENOB提升了超过5比特。作为对比在相同分支数KN12和滤波器阶数M6下Hammerstein线性化器仅能将SNDR提升至约58 dB。性能差距原因这4 dB的差距主要源于L2正则化。Hammerstein模型由于存在前述的量化噪声放大问题必须使用较强的正则化较大的 λ来抑制滤波器系数幅度从而牺牲了部分性能。而所提方法无此顾虑可以使用更温和的正则化从而更逼近理论最优解。频谱对比图6清晰地展示了线性化前后的频谱。非线性失真产生的带外杂散和带内失真被显著抑制频谱变得非常“干净”。复杂度对比Example 1 3 只看SNDR vs. 分支数图7, 11可能不够直观。更公平的比较是SNDR vs. 乘法运算次数图12, 13。在Example 1D6, 需要M6中两者在达到饱和性能时复杂度相当。在Example 3D2, 需要M2中优势明显。要达到57 dB的SNDRHammerstein需要43次乘法/样本而所提方法仅需30次节省了约30%的乘法运算。关键结论在失真记忆深度较小M较小的情况下所提方法在复杂度上的优势更大。因为此时乘法运算的总数中生成非线性项v^p的乘法占比更高而省去这部分正是新方法的优势所在。4.2 采样前失真模型下的性能Example 4场景失真发生在模拟域2阶记忆D2信号为10比特量化的50载波OFDM-like信号。结果SNDR提升从30 dB提升至51 dBM12,N16提升21 dB。复杂度优势放大图22的“SNDR vs. 乘法次数”对比图极具说服力。对于任何给定性能目标所提方法总能以更少的乘法次数实现。例如要达到46 dB SNDRM4所提方法需30次乘法而Hammerstein需要76次复杂度降低了约60%。原因分析在采样前失真模型中Hammerstein的每个非线性分支(·)^p需要多个内插副本且无法跨分支共享计算导致其非线性部分的计算开销急剧增加。而所提方法中非线性部分|·|或ReLU本身几乎无乘加成本因此优势被进一步放大。4.3 鲁棒性验证Example 2 5论文还测试了线性化器在非设计信号上的表现带零子载波的多音信号模拟实际OFDM中某些子载波未使用的情况。带通滤波白噪声模拟更一般的宽带随机信号。 结果表明在这些信号上应用为“满”多音信号设计的线性化器SNDR性能下降不到1 dB。这说明所提方法具有良好的泛化能力不是仅仅对训练信号过拟合。4.4 实际电路仿真数据验证Example 6使用产业合作项目中基于Cadence仿真的真实ADC数据单音信号频率约89-138 MHz。参考信号的幅度和相位未知需通过最小二乘进行估计。结果为抑制高达11阶的非线性失真至约-75 dBFS需要滤波器阶数M22分支数N9。所提方法与Hammerstein方法取得了相近的SFDR~75 dBFS和SNDR~68 dB性能。此时由于M很大22两种方法的乘法复杂度接近但所提方法依然享有“无需内部量化”的优势在硬件实现时数据路径位宽管理更简单。5. 非线性函数选择与其他备选方案为什么选择|v|和 ReLU硬件友好绝对值运算和ReLU比较、选择在数字电路中实现成本极低不需要乘法器。性能足够仿真表明图26在相同的分支数和计算复杂度约束下使用Sigmoid、Tanh、ELU等复杂激活函数其线性化性能不如简单的|v|或 ReLU。为了达到可比的性能这些复杂函数需要更多的级数泰勒展开项反而大幅增加了计算量。与Hammerstein对比图26显示在较低复杂度区间所提方法Modulus/ReLU的性能曲线明显优于Hammerstein。Leaky ReLU性能与Hammerstein接近但无优势。其他极端方案1比特量化符号函数可以将乘法彻底简化为符号操作。但论文引用作者前期工作指出要达到中等性能8比特数据所需分支数可能是所提方法的10倍以上对于高性能可能需要100倍。这导致加法器数量暴增总体复杂度可能反而更高。虽然可通过查找表LUT实现但LUT大小随M和N指数增长在M0时不实用。结论对于追求高性价比、高能效的宽带线性化应用|v|和 ReLU 是目前已知的最优选择。6. 实现考量与常见问题6.1 硬件实现架构所提线性化器的核心是一个并行的滤波-求和结构非常适合用流水线或并行硬件实现。线性分支一个M阶的FIR滤波器。非线性分支N个并行的通道。每个通道包含一个加法器加偏置bm、一个非线性函数模块绝对值或ReLU、一个M阶的FIR滤波器。求和将所有N1个分支的输出以及常数偏移c0相加。关键路径主要在于最后的求和树。可以通过流水线寄存器打断关键路径提高系统时钟频率。6.2 系数与偏置的存储与更新存储需要存储(M1)*(N1) 1个系数wm(l),c1(l),c0和N个偏置bm。对于M6, N12的例子约需存储7*13192个系数和12个偏置内存开销很小。更新参数通过矩阵求逆离线计算。一旦确定可固化在ROM中。如果系统非线性特性随时间/温度漂移可以周期性重新采集训练数据执行一次矩阵求逆来更新系数。这个过程是确定性的、可预测的避免了神经网络训练收敛时间不确定的问题。6.3 潜在挑战与应对动态范围管理输入信号v(n)需要归一化到[-1, 1]附近以确保偏置bm的有效性和非线性函数工作在合适区间。前端可能需要一个自动增益控制AGC模块。有限字长效应尽管避免了量化噪声放大但系数和中间数据的有限字长效应仍需考虑。需要在仿真中确定满足性能要求的最小位宽。由于结构简单位宽分析相对直接。过拟合风险虽然使用了正则化但如果训练信号R太少或代表性不足仍可能过拟合。确保训练集覆盖工作信号的所有可能状态幅度、带宽、调制方式是关键。6.4 与现有方案的对比总结特性传统并行Hammerstein神经网络线性化器所提方案 (Bias-Modulus/ReLU)非线性建模能力多项式基明确极强黑箱基于简单非线性偏置灵活参数设计方法最小二乘矩阵求逆迭代训练如BP非凸优化最小二乘矩阵求逆设计复杂度/时间低确定性强高耗时不确定低确定性强实现复杂度(乘加)中等O((M1)(K1)K)非常高数百/样本低O((M1)(N1))量化噪声影响严重需谨慎处理系数通常严重需高精度可忽略量化仅在最后性能(SNDR提升)中等高理论上限高高常优于Hammerstein适用场景中低复杂度性能要求一般离线训练复杂度不敏感高性能低功耗实时处理7. 总结与展望这篇论文提出的基于并行偏置-模/ReLU的线性化器在工程上找到了一条非常巧妙的折衷路径。它没有陷入神经网络“暴力拟合”的高复杂度陷阱也没有拘泥于传统多项式模型的计算瓶颈而是通过引入可调偏置的简单非线性函数构建了一个既强大又高效的线性化结构。从我个人的工程实践角度看这个方案最大的吸引力在于其确定性和可预测性。设计过程就是解一个最小二乘问题结果唯一且最优在给定偏置下。这对于需要保证实时性和可靠性的工业产品来说比神经网络的“炼丹”过程要友好得多。同时它在性能上不仅不输于传统方法往往还能凭借更宽松的正则化条件而胜出。当然任何技术都有其边界。这套方法目前主要针对的是ADC/DAC接口中的非线性失真校正。其核心思想——“用带偏置的简单非线性组合替代复杂非线性”——是否有潜力扩展到其他非线性系统辨识和补偿领域比如功率放大器数字预失真DPD这是一个值得思考的方向。在DPD中通常处理复基带信号且主要关注奇次非线性项和带内失真模型和目标有所不同但“低复杂度拟合”的核心诉求是相通的。最后关于硬件实现论文给出了理论上的复杂度分析。下一步很自然的工作就是进行实际的ASIC或FPGA实现在真实的硅片上验证其面积、功耗和性能优势。特别是在采样前失真模型中展现出的巨大乘法运算节省~60%预示着在下一代高速、高精度数据转换系统中这种线性化器将具有强大的竞争力。
基于偏置-模/ReLU的低复杂度ADC线性化器设计:原理、优势与实现
1. 项目概述为ADC“美颜”低复杂度线性化器的设计突围在高速模数转换器ADC和数模转换器DAC构成的模拟-数字接口ADI中我们工程师最头疼的问题之一就是模拟电路固有的非线性失真。这玩意儿就像给高清照片加了一层难以预测的噪点和畸变滤镜直接拉低了整个系统的“有效位数”ENOB和信号质量。无论是追求极致带宽的5G/6G通信还是需要高保真度的雷达、仪器仪表非线性失真都是性能提升路上必须搬开的一块大石头。传统的解决方案比如并行Hammerstein线性化器思路很直接你系统不是会产生高次谐波失真吗那我就在数字域用一堆并行的非线性分支比如v(n)^2,v(n)^3...去建模并抵消它。这个方法有效但代价不小。每增加一个非线性阶数硬件上就需要多一组滤波器乘法运算。当信号带宽越来越宽需要的记忆深度滤波器阶数和非线性阶数同步增长时计算复杂度就会呈组合爆炸芯片面积和功耗也跟着飙升让很多对成本和功耗敏感的应用望而却步。最近几年看着深度学习在各类非线性建模任务中大放异彩不少研究者也尝试将神经网络NN引入线性化。想法很美好但现实很骨感。现有的基于神经网络的线性化方案动辄需要成百上千次乘法运算来处理一个样本这复杂度对于需要实时处理的通信或数据转换系统来说简直是灾难。那么有没有一种方法既能继承神经网络灵活建模非线性关系的能力又能把复杂度打下来甚至比传统的Hammerstein方法还要高效这就是我们今天要深入探讨的核心基于并行偏置-模Bias-Modulus与偏置-ReLU操作的低复杂度频域线性化器。它从卷积神经网络CNN中汲取了“偏置简单非线性激活”的灵感但大刀阔斧地砍掉了神经网络中复杂的多层连接和反向传播训练最终形成了一个结构清晰、参数可通过一次矩阵求逆直接确定的高效方案。实测下来在多种宽带信号场景下它能实现20-30 dB的信噪失真比SNDR提升而计算复杂度相比传统方案降低了一个数量级。2. 核心思路拆解化繁为简的设计哲学要理解这个设计的精妙之处我们得先看看它要解决的核心矛盾是什么以及它是如何巧妙地化解的。2.1 传统方法的瓶颈与神经网络的启示并行Hammerstein模型的局限其核心公式是y(n) Σ Σ dp(l) * v(n-l)^p。这里v(n)^p的计算是复杂度主要来源。计算v^3需要2次乘法v^10可能需要4次最优加法链乘法。更重要的是在硬件实现时v(n)^p的结果数值可能很大必须在进入滤波器dp(l)之前进行量化截位以防止中间数据位宽无限膨胀。这个量化噪声会被后续滤波器的能量放大从而劣化输出SNDR。为了避免这种噪声放大要么使用更长的内部字长增加成本要么限制滤波器系数的大小可能影响性能这是一个两难选择。神经网络的启发与简化CNN的成功表明即使使用非常简单的非线性函数如ReLU配合适当的线性变换卷积和偏置也能构建出强大的非线性映射能力。这启发了我们能否用一组简单的、硬件友好的非线性函数如取模|v|或 ReLUmax(0, v)来替代那些计算昂贵的幂次运算v^p新方案的核心思想答案是肯定的。新线性化器的输出公式变为y(n) c0 Σ c1(l)v(n-l) Σ Σ wm(l) * fm( v(n-l) bm )。这里的关键变化是非线性项用fm(vbm)替代了v^p。fm是|·|或 ReLU。引入偏置每个非线性分支在输入前加了一个可调的偏置bm。这至关重要它相当于在非线性函数前对输入信号进行了一个“平移”。对于ReLU偏置改变了激活阈值对于取模运算偏置改变了函数的对称中心。通过一组均匀分布的偏置bm这些简单的非线性函数在输出空间上能够张成一组丰富的基函数足以拟合或抵消由高阶多项式v^p产生的复杂非线性失真模式。2.2 复杂度优势的根源从“先非线性后滤波”到“先偏置后滤波”结构上的改变带来了两大核心优势1. 乘法运算的显著减少在Hammerstein模型中生成v^p需要额外的乘法。在新模型中|vbm|或max(0, vbm)在硬件上几乎可以无乘加实现比较器、选择器、绝对值电路。因此对于N个非线性分支新模型直接省去了生成非线性项所需的N次或更多乘法运算。复杂度从(M1)(K1) K次乘法降至(M1)(N1)次。当滤波器阶数M较小而非线性分支数N较大时节省的比例尤为可观。2. 量化噪声问题的根除这是容易被忽略但极其关键的一点。在新模型中所有的非线性操作fm(·)是作用在滤波之前的输入v(n-l)bm上。而v(n-l)和bm都是已知的有限字长数据。非线性操作后结果um(n-l)会先与滤波器系数wm(l)相乘累加最后再进行一次总的量化输出。这意味着量化只发生在整个线性化链路的最后一步。量化噪声不会被任何滤波器放大因为它是在所有线性加权求和之后才引入的。这从根本上避免了Hammerstein模型中固有的量化噪声放大问题允许我们使用更激进的滤波器系数而不用担心性能劣化或者在相同性能下使用更短的字长。实操心得这个“量化位置”的差异在芯片设计层面影响巨大。它简化了数据路径的位宽管理降低了中间存储器的面积和功耗。我们在评估一个线性化架构时不能只看乘加器数量数据路径的位宽和量化策略往往是决定最终芯片面积和能效比的隐形杀手。2.3 两种失真模型与对应的线性化器论文处理了两种不同的失真场景对应两种稍有不同的线性化器结构1. 采样后失真模型Pre-Sampling Distortion这是最直观的模型。假设失真发生在ADC采样之后或者在数字域产生。此时非线性系统与采样操作是可交换的对于静态非线性。论文第III部分提出的线性化器图3直接适用于此场景其结构就是我们上面讨论的y(n) c0 Σ c1(l)v(n-l) Σ Σ wm(l) * fm( v(n-l) bm )。2. 采样前失真模型Post-Sampling Distortion这是更符合物理现实的模型。失真发生在模拟域在ADC采样之前。这里有一个关键问题一个带宽受限的模拟信号xa(t)经过p次非线性运算后其频谱会扩展p倍可能超出奈奎斯特带宽导致采样后的数字信号v(n)中存在混叠失真。直接对v(n)进行上述线性化可能无法完全恢复原始信号x(n)。解决方案——内插论文第IV部分通过严谨的推导证明通过对输入信号v(n)先进行P倍上采样和内插再施加非线性最后滤波并下采样可以在离散时间域精确等效模拟域的采样后非线性过程。由此导出的线性化器结构图18在本质上与采样后模型一致但每个非线性分支前需要增加一个内插滤波器组多相分解实现。虽然内插滤波器增加了额外的计算但这一部分是Hammerstein和新方法都需要承担的。关键在于在新方法中我们依然用简单的fm(·)替代了昂贵的(·)^p因此其相对于Hammerstein的乘运算优势在采样前失真模型中反而更加明显因为此时Hammerstein模型需要为每个非线性阶数p实现多个内插后的(·)^p副本而不能共享计算。3. 核心设计流程从理论到参数的“一键配置”这套方案最吸引人的地方之一是它摒弃了神经网络那套黑箱式、耗时且结果不确定的梯度下降训练采用了一种确定性的、基于最小二乘的闭式求解方法。3.1 参数设计步骤详解假设我们已经有了R组训练数据理想的参考信号x_r(n)和对应的失真信号v_r(n)r1,2,...,R。设计目标是为线性化器公式(3)找到最优的系数c0,c1(l),wm(l)和偏置范围b_max。步骤一构建回归矩阵对于一组给定的b_max和由此按公式(5)计算出的均匀分布偏置bm我们可以为每一组训练数据(x_r, v_r)构建一个矩阵A_r。矩阵A_r的每一列对应一个待求的参数。前(M1)*N列是N个非线性分支在M1个抽头上的输入u_{r,m}(n-l) f_m( v_r(n-l) b_m )其中l0,...,M,m1,...,N。接着的M1列是线性分支的输入v_r(n-l)。最后一列是全1向量对应常数偏移c0。 因此A_r是一个L x [(M1)(N1) 1]的矩阵L是信号长度。步骤二构建目标向量与正则化我们希望线性化器的输出y_r(n)尽可能接近延迟对齐后的参考信号x_r(n - M/2)M/2补偿了滤波器的群延迟。定义目标向量b_r其元素为x_r(n - M/2) - v_r(n - M/2)。这里减去v_r(n - M/2)是一个小技巧目的是让待求解的线性分支系数c1(l)变成一个很小的修正量Δc1(l)使得所有待求参数在理想情况下都接近0这提高了数值稳定性。为了求解的稳定性并防止过拟合我们采用L2正则化Tikhonov正则化。最终的参数向量w包含所有wm(l),Δc1(l),c0通过以下公式求解w (λI Σ A_r^T A_r)^{-1} (Σ A_r^T b_r)其中λ是一个小的正则化参数I是单位矩阵。步骤三偏置范围的网格搜索偏置范围b_max是一个超参数。论文通过实验发现当输入信号归一化到[-1, 1]区间时b_max在[0.5, 1.5]区间内搜索效果较好。设计时我们在该区间内均匀选取S个b_max值对每一个都执行上述步骤二得到一组参数。然后在独立的验证集上评估这S个设计选择性能最好的一个作为最终设计。步骤四性能评估使用一个更大的、与训练集独立的测试信号集R_evalR_eval R来评估最终线性化器的性能计算平均SNDR提升等指标。3.2 设计中的关键技巧与考量训练信号的选择论文中使用了多音信号类似OFDM信号的实部和滤波白噪声。这覆盖了通信系统中常见的信号类型。关键在于训练信号需要足够丰富以激发待校正非线性系统的各种行为。在实际系统中可以使用已知的导频序列或专门设计的训练信号。正则化参数 λ 的选择λ 不能太大否则会过度惩罚系数导致性能下降也不能太小否则矩阵可能病态求解不稳定。论文采用线性搜索选择能使设计误差最小且保证系数合理的 λ。一个重要的观察是由于新方法没有量化噪声放大问题其对 λ 的敏感性低于Hammerstein方法。这意味着在相同硬件精度下新方法可以使用更小的 λ从而获得更接近理论最优的性能或者在同性能下新方法对系数量化更不敏感。偏置的鲁棒性实验表明线性化器性能对偏置bm的具体值并不非常敏感只要它们能均匀覆盖信号的动态范围[-b_max, b_max]。这意味着一旦针对某类信号找到一组好的bm可以复用于其他类似场景无需反复优化。注意事项这个设计流程假设我们可以获取到干净的参考信号x_r(n)。在实际的ADC线性化场景中这通常意味着需要一个“黄金”ADC或者一个已知的、高精度的测试信号源来产生x_r(n)。对于在线自适应校正可能需要借助数字预失真DPD中的间接学习架构等思想进行估计。4. 性能仿真与结果分析数据说话论文通过大量的仿真实验验证了所提方法的有效性并与传统的并行Hammerstein线性化器进行了全面对比。我们挑几个关键例子来看。4.1 采样后失真模型下的性能Example 1 3场景失真模型为6阶记忆非线性D6输入为12比特量化的64子载波OFDM-like多音信号31个活跃子载波QPSK调制。结果SNDR提升未经线性化时失真信号的SNDR约为30 dB。采用所提线性化器M6,N12SNDR提升至约62 dB提升了32 dB相当于有效位数ENOB提升了超过5比特。作为对比在相同分支数KN12和滤波器阶数M6下Hammerstein线性化器仅能将SNDR提升至约58 dB。性能差距原因这4 dB的差距主要源于L2正则化。Hammerstein模型由于存在前述的量化噪声放大问题必须使用较强的正则化较大的 λ来抑制滤波器系数幅度从而牺牲了部分性能。而所提方法无此顾虑可以使用更温和的正则化从而更逼近理论最优解。频谱对比图6清晰地展示了线性化前后的频谱。非线性失真产生的带外杂散和带内失真被显著抑制频谱变得非常“干净”。复杂度对比Example 1 3 只看SNDR vs. 分支数图7, 11可能不够直观。更公平的比较是SNDR vs. 乘法运算次数图12, 13。在Example 1D6, 需要M6中两者在达到饱和性能时复杂度相当。在Example 3D2, 需要M2中优势明显。要达到57 dB的SNDRHammerstein需要43次乘法/样本而所提方法仅需30次节省了约30%的乘法运算。关键结论在失真记忆深度较小M较小的情况下所提方法在复杂度上的优势更大。因为此时乘法运算的总数中生成非线性项v^p的乘法占比更高而省去这部分正是新方法的优势所在。4.2 采样前失真模型下的性能Example 4场景失真发生在模拟域2阶记忆D2信号为10比特量化的50载波OFDM-like信号。结果SNDR提升从30 dB提升至51 dBM12,N16提升21 dB。复杂度优势放大图22的“SNDR vs. 乘法次数”对比图极具说服力。对于任何给定性能目标所提方法总能以更少的乘法次数实现。例如要达到46 dB SNDRM4所提方法需30次乘法而Hammerstein需要76次复杂度降低了约60%。原因分析在采样前失真模型中Hammerstein的每个非线性分支(·)^p需要多个内插副本且无法跨分支共享计算导致其非线性部分的计算开销急剧增加。而所提方法中非线性部分|·|或ReLU本身几乎无乘加成本因此优势被进一步放大。4.3 鲁棒性验证Example 2 5论文还测试了线性化器在非设计信号上的表现带零子载波的多音信号模拟实际OFDM中某些子载波未使用的情况。带通滤波白噪声模拟更一般的宽带随机信号。 结果表明在这些信号上应用为“满”多音信号设计的线性化器SNDR性能下降不到1 dB。这说明所提方法具有良好的泛化能力不是仅仅对训练信号过拟合。4.4 实际电路仿真数据验证Example 6使用产业合作项目中基于Cadence仿真的真实ADC数据单音信号频率约89-138 MHz。参考信号的幅度和相位未知需通过最小二乘进行估计。结果为抑制高达11阶的非线性失真至约-75 dBFS需要滤波器阶数M22分支数N9。所提方法与Hammerstein方法取得了相近的SFDR~75 dBFS和SNDR~68 dB性能。此时由于M很大22两种方法的乘法复杂度接近但所提方法依然享有“无需内部量化”的优势在硬件实现时数据路径位宽管理更简单。5. 非线性函数选择与其他备选方案为什么选择|v|和 ReLU硬件友好绝对值运算和ReLU比较、选择在数字电路中实现成本极低不需要乘法器。性能足够仿真表明图26在相同的分支数和计算复杂度约束下使用Sigmoid、Tanh、ELU等复杂激活函数其线性化性能不如简单的|v|或 ReLU。为了达到可比的性能这些复杂函数需要更多的级数泰勒展开项反而大幅增加了计算量。与Hammerstein对比图26显示在较低复杂度区间所提方法Modulus/ReLU的性能曲线明显优于Hammerstein。Leaky ReLU性能与Hammerstein接近但无优势。其他极端方案1比特量化符号函数可以将乘法彻底简化为符号操作。但论文引用作者前期工作指出要达到中等性能8比特数据所需分支数可能是所提方法的10倍以上对于高性能可能需要100倍。这导致加法器数量暴增总体复杂度可能反而更高。虽然可通过查找表LUT实现但LUT大小随M和N指数增长在M0时不实用。结论对于追求高性价比、高能效的宽带线性化应用|v|和 ReLU 是目前已知的最优选择。6. 实现考量与常见问题6.1 硬件实现架构所提线性化器的核心是一个并行的滤波-求和结构非常适合用流水线或并行硬件实现。线性分支一个M阶的FIR滤波器。非线性分支N个并行的通道。每个通道包含一个加法器加偏置bm、一个非线性函数模块绝对值或ReLU、一个M阶的FIR滤波器。求和将所有N1个分支的输出以及常数偏移c0相加。关键路径主要在于最后的求和树。可以通过流水线寄存器打断关键路径提高系统时钟频率。6.2 系数与偏置的存储与更新存储需要存储(M1)*(N1) 1个系数wm(l),c1(l),c0和N个偏置bm。对于M6, N12的例子约需存储7*13192个系数和12个偏置内存开销很小。更新参数通过矩阵求逆离线计算。一旦确定可固化在ROM中。如果系统非线性特性随时间/温度漂移可以周期性重新采集训练数据执行一次矩阵求逆来更新系数。这个过程是确定性的、可预测的避免了神经网络训练收敛时间不确定的问题。6.3 潜在挑战与应对动态范围管理输入信号v(n)需要归一化到[-1, 1]附近以确保偏置bm的有效性和非线性函数工作在合适区间。前端可能需要一个自动增益控制AGC模块。有限字长效应尽管避免了量化噪声放大但系数和中间数据的有限字长效应仍需考虑。需要在仿真中确定满足性能要求的最小位宽。由于结构简单位宽分析相对直接。过拟合风险虽然使用了正则化但如果训练信号R太少或代表性不足仍可能过拟合。确保训练集覆盖工作信号的所有可能状态幅度、带宽、调制方式是关键。6.4 与现有方案的对比总结特性传统并行Hammerstein神经网络线性化器所提方案 (Bias-Modulus/ReLU)非线性建模能力多项式基明确极强黑箱基于简单非线性偏置灵活参数设计方法最小二乘矩阵求逆迭代训练如BP非凸优化最小二乘矩阵求逆设计复杂度/时间低确定性强高耗时不确定低确定性强实现复杂度(乘加)中等O((M1)(K1)K)非常高数百/样本低O((M1)(N1))量化噪声影响严重需谨慎处理系数通常严重需高精度可忽略量化仅在最后性能(SNDR提升)中等高理论上限高高常优于Hammerstein适用场景中低复杂度性能要求一般离线训练复杂度不敏感高性能低功耗实时处理7. 总结与展望这篇论文提出的基于并行偏置-模/ReLU的线性化器在工程上找到了一条非常巧妙的折衷路径。它没有陷入神经网络“暴力拟合”的高复杂度陷阱也没有拘泥于传统多项式模型的计算瓶颈而是通过引入可调偏置的简单非线性函数构建了一个既强大又高效的线性化结构。从我个人的工程实践角度看这个方案最大的吸引力在于其确定性和可预测性。设计过程就是解一个最小二乘问题结果唯一且最优在给定偏置下。这对于需要保证实时性和可靠性的工业产品来说比神经网络的“炼丹”过程要友好得多。同时它在性能上不仅不输于传统方法往往还能凭借更宽松的正则化条件而胜出。当然任何技术都有其边界。这套方法目前主要针对的是ADC/DAC接口中的非线性失真校正。其核心思想——“用带偏置的简单非线性组合替代复杂非线性”——是否有潜力扩展到其他非线性系统辨识和补偿领域比如功率放大器数字预失真DPD这是一个值得思考的方向。在DPD中通常处理复基带信号且主要关注奇次非线性项和带内失真模型和目标有所不同但“低复杂度拟合”的核心诉求是相通的。最后关于硬件实现论文给出了理论上的复杂度分析。下一步很自然的工作就是进行实际的ASIC或FPGA实现在真实的硅片上验证其面积、功耗和性能优势。特别是在采样前失真模型中展现出的巨大乘法运算节省~60%预示着在下一代高速、高精度数据转换系统中这种线性化器将具有强大的竞争力。