加窗技术与频谱测试实战系列《从原理到实测ADC 测试技术深度解析》第四篇难度进阶关键词加窗、Nuttall 窗、Hann 窗、旁瓣抑制、频谱泄漏、整数周期法对比一、回顾整数周期法的局限上一篇中我们介绍了消除频谱泄漏的整数周期法通过将信号频率严格设置为fxM⋅fs/Nf_x M \cdot f_s / Nfx​M⋅fs​/N保证观测窗口内恰好包含整数个信号周期从而彻底消除块边界处的不连续性。这种方法在仿真中表现完美——信号能量完全集中在单一 DFT bin噪声均匀分布各项指标可被精确计算。然而在实际测量场景中整数周期法面临一个严峻的工程挑战需要将信号发生器的频率精确锁定到采样时钟。这通常意味着测试系统中必须有一个 PLL锁相环将两个时钟源同步。在实验室环境或定制化 ATE自动测试设备中这是可行的但在许多场景下信号发生器和采样时钟来自两个独立的晶振无法直接锁定被测系统DUT的采样时钟由内部振荡器产生外部无法直接控制输入信号不是单一正弦波而是非周期性的真实信号这些情况下整数周期法无法使用我们需要**加窗Windowing**技术。二、加窗的基本原理2.1 核心思想频谱泄漏的根本原因是在NNN个样本的边界处信号出现了幅度/相位的突变。加窗的思路是在执行 DFT 之前将信号样本乘以一个窗函数使序列在两端平滑地渐变为零从而消除边界处的不连续性。xw[k]x[k]⋅w[k],k0,1,…,N−1x_w[k] x[k] \cdot w[k], \quad k 0, 1, \ldots, N-1xw​[k]x[k]⋅w[k],k0,1,…,N−1其中w[k]w[k]w[k]是窗函数其特点是在序列两端平滑地归零在中间段接近 1。2.2 时域相乘 频域卷积根据卷积定理时域的乘法等价于频域的卷积Xw[m]X[m]∗W[m]X_w[m] X[m] * W[m]Xw​[m]X[m]∗W[m]其中W[m]W[m]W[m]是窗函数的 DFT。这意味着加窗后的频谱是原始频谱与窗函数频谱的卷积结果。窗函数的频域响应决定了主瓣宽度Main Lobe Width信号频率被展宽到多少个 bin旁瓣衰减Sidelobe Attenuation远离信号频率的泄漏被抑制了多少 dB这两者之间存在天然的权衡Trade-off旁瓣抑制越强的窗主瓣越宽即信号能量展宽到更多 bin。2.3 加窗的直观效果以一段非整数周期的正弦波为例加窗前信号在块边界处出现明显的幅度不连续加窗后信号在两端平滑趋近于零边界处的不连续消失对应到频域加窗将旁瓣sidelobe从−13-13−13dB矩形窗即不加窗的情况压低到−60-60−60dB 乃至−100-100−100dB 以下极大地改善了频谱的干净程度。三、常用窗函数对比Nuttall 与 Hann3.1 矩形窗不加窗不对数据做任何处理等效于乘以全 1 的矩形窗。主瓣宽度1 个 bin旁瓣峰值约−13-13−13dBFS相对于主瓣旁瓣衰减仅 13 dB非常差这就是为什么非整数周期信号的 DFT 看起来乱的原因——矩形窗的旁瓣几乎没有衰减。3.2 Hann 窗汉宁窗Hann 窗的时域表达式wHann[k]0.5(1−cos⁡(2πkN−1))w_{Hann}[k] 0.5 \left(1 - \cos\left(\frac{2\pi k}{N-1}\right)\right)wHann​[k]0.5(1−cos(N−12πk​))主瓣宽度约 4 个 bin旁瓣峰值约−32-32−32dBFS旁瓣衰减以−18-18−18dB/倍频程滚降Hann 窗的旁瓣衰减比矩形窗好很多但对于高精度 ADC 测试SFDR 80 dB来说仍然不够。3.3 Nuttall 窗Nuttall 窗是四项余弦叠加窗系数经过精心优化wNuttall[k]a0−a1cos⁡(2πkN)a2cos⁡(4πkN)−a3cos⁡(6πkN)w_{Nuttall}[k] a_0 - a_1\cos\left(\frac{2\pi k}{N}\right) a_2\cos\left(\frac{4\pi k}{N}\right) - a_3\cos\left(\frac{6\pi k}{N}\right)wNuttall​[k]a0​−a1​cos(N2πk​)a2​cos(N4πk​)−a3​cos(N6πk​)其中a00.3635819a_00.3635819a0​0.3635819a10.4891775a_10.4891775a1​0.4891775a20.1365995a_20.1365995a2​0.1365995a30.0106411a_30.0106411a3​0.0106411。主瓣宽度约 810 个 bin旁瓣峰值约−93-93−93dBFS5 个 bin 以外的旁瓣衰减−120-120−120dB 以上Nuttall 窗的旁瓣抑制极强非常适合需要测量−80-80−80dBFS 以下谐波的高精度 ADC 测试场景。3.4 MATLAB 对比N64;% 生成两种窗函数并可视化wvtool(nuttallwin(N),hann(N));从频域对比图可以清楚看到窗类型主瓣宽度旁瓣峰值适用场景矩形窗1 bin-13 dB仅用于整数周期法Hann 窗~4 bin-32 dB中等精度 ADC 14 bitNuttall 窗~8 bin-93 dB高精度 ADC≥ 14 bit四、加窗的实际效果量化分析4.1 旁瓣抑制以 Nuttall 窗为例对一个非整数周期的正弦信号进行加窗处理对比加窗前后的频谱加窗前矩形窗信号主峰约 0 dBFS周围旁瓣高达约−20-20−20dBFS噪声基底被旁瓣抬高SFDR 受到严重影响加窗后Nuttall 窗旁瓣被压低约100 dB远离信号的噪声基底恢复正常SFDR 测量不再受泄漏干扰4.2 信号能量展宽的代价加窗最显著的代价是信号能量不再集中在单一 bin而是展宽到周围约 810 个 bin 中。这带来两个后果后果一计算功率时必须对多个 bin 求和在计算 SNR、SDR、SFDR 等指标时不能只取信号所在 bin 的功率而需要对信号及其谐波所在的多个 bin 进行功率求和。实际操作中通常取信号 bin 附近±5\pm 5±5个 bin 的总功率作为信号功率。后果二需要更多样本保证精度由于信号能量分散到更多 bin信号峰值与噪声基底的视觉距离减小相同分辨率需要更大的NNN。4.3 MATLAB 加窗示例N1024;fs1e6;fx137.7e3;% 非整数比频率故意制造泄漏t(0:N-1)/fs;ycos(2*pi*fx*t);% 不加窗s_rect20*log10(abs(fft(y))/N*2);% Nuttall 窗wnuttallwin(N);ywy.*w;% 窗函数会降低总能量需要补偿s_nuttall20*log10(abs(fft(yw))/sum(w)*2);% 绘图对比f(0:N/2-1)/N;subplot(2,1,1);plot(f,s_rect(1:N/2));title(无加窗矩形窗);ylabel(Amplitude [dBFS]);subplot(2,1,2);plot(f,s_nuttall(1:N/2));title(Nuttall 加窗);ylabel(Amplitude [dBFS]);xlabel(Frequency [f/fs]);五、整数周期法 vs. 加窗法全面对比维度整数周期法加窗法泄漏消除完全消除大幅抑制不完全信号能量分布单一 bin多个 bin~8-10 个频率约束fxf_xfx​必须精确等于M⋅fs/NM \cdot f_s/NM⋅fs​/N无约束fxf_xfx​可以任意硬件要求需要 PLL 锁频无需锁频量化噪声统计需选质数周期避免相关性无额外要求所需样本数较少较多相同精度下计算复杂度低单 bin 读取中多 bin 求和适用场景仿真、有 PLL 的测试系统实验室测量、无法锁频的场景一个常被忽视的等价关系不加任何窗 加矩形窗矩形窗就是频域中最差的窗函数旁瓣衰减仅 13 dB。因此“不加窗并不是没有窗效应”而是使用了最差的窗。六、增大 N 对频谱测试的影响增大采样点数NNN是提升频谱测试分辨率的最直接手段效果主要体现在两方面6.1 更低的噪声基底视觉效果如前所述DFT 噪声基底低于实际噪底10log⁡10(N/2)10\log_{10}(N/2)10log10​(N/2)dB。NNN越大每个 bin 接收的噪声功率越小噪声基底越低。NNN噪声基底降低量1,024-27 dB4,096-33 dB16,384-39 dB65,536-45 dB6.2 谐波从噪声中浮现以一个真实的 10 位 ADC 为例N4096N 4096N4096时3 次谐波HD3勉强可见刚刚从噪声基底中冒出N65536N 65536N65536时HD3 清晰可见SFDR 从 77.3 dB 提升到 78.5 dB测量更准确注意增大NNN不会改变 ADC 的实际 SNR只是降低了每个 bin 的噪声功率使频谱图在视觉上更干净有助于发现被噪声掩盖的弱谐波。6.3NNN的选择建议快速验证N1024N 1024N1024或204820482048速度快足够看到主要问题SNR/SNDR 精确测量N4096N 4096N4096平衡速度与精度SFDR 精确测量 / 寻找弱谐波N16384N 16384N16384以上牺牲测试时间换取更低噪声基底七、小结要点内容加窗的目的抑制频谱泄漏使信号在块边界处平滑归零时域乘法 频域卷积窗函数频域响应决定主瓣宽度和旁瓣抑制能力Hann vs NuttallNuttall 旁瓣抑制更强-93 dB但主瓣更宽加窗的代价信号能量扩散到多 bin需要对多 bin 求和不加窗 矩形窗矩形窗旁瓣最差非整数周期信号必须加窗增大 N降低噪声基底视觉有助于揭示弱谐波下一篇《ADC 性能指标体系——SNR、SFDR、SNDR、ENOB 全解》频谱测试的最终目的是提取 ADC 的性能指标。最后一篇我们将系统梳理 SNR、SDR、SNDR、SFDR 的定义与区别推导 INL→SFDR 和 DNL→SNR 的量化关系并用 ENOB 将一切归结到最直观的等效位数评估体系。