我们做音频产品研发和产测的,手里要是没一台像样的音频分析仪,很多活儿根本没法干。APx500 这款分析仪在行业内用得挺广,尤其是它把信号发生器和分析功能整合在同一个软件界面里,操作逻辑和传统的分离式仪器(比如一台模拟发生器加一台 audio analyzer)差别很大。最近在带新人调试一个 Class-D 功放项目时,发现很多同学对“信号发生器”这一块的调节逻辑理解得比较模糊,总是习惯性地去扭硬件旋钮或者翻硬件面板——但在 APx500 里,信号发生器不靠物理旋钮,而是靠软件里的一套参数联动体系。这篇就把常规测量里信号发生器调节的实操经验拆开聊一聊,给正在从传统仪器切换过来的工程师做个参考。
1. 信号发生器在 APx500 里的定位与核心逻辑
1.1 不只是一个“发正弦波”的模块
很多工程师对音频分析仪里的信号发生器有一个刻板印象——它就是个输出正弦波、方波、白噪声的源头。但在 APx500 里,信号发生器这一块承担的职责远不止“出声”,它要配合分析仪完成一整套闭环测量。所谓闭环,就是发生器的输出信号送给被测设备,被测设备处理后的输出再回到分析仪的输入通道,分析仪基于输入信号做各类计算,得出电平、失真、信噪比等指标。
有意思的地方在于,APx500 的信号发生器设计目标之一是“减少测量配置的割裂感”。你在传统仪器上做频响测试,需要分别在信号发生器端设置频率和电平,再到分析仪端设置测量带宽和检波方式,两边各自独立,很容易出现“发生器设置了 +4 dBu,分析仪那边却把参考电平设在 +20 dBu,导致测量结果动态范围变差”这类低级错误。APx500 里,信号发生器调节和测量参数之间是联动的。
举个最典型的例子:在 Signal Path 设置里,当你在发生器面板把输出电平设为 +4 dBu,分析仪的输入范围并不会自动跳到某个匹配档位,但软件会实时计算当前发生器设置下的信号峰值,并在测量配置里给出参考——如果你打开的是 Signal Generator 的“Level”页面,它旁边就有输入电平表的实时显示,配合 Overload 指示,基本可以避免输入饱和。这看起来是小事,但对产线上的快速切换很有帮助。
1.2 软件化调节的核心优势
硬件面板时代,调节信号发生器靠旋钮和按键,精度和重复性很大程度依赖操作员的手感。APx500 把这一切变成了数值输入、滑块和下拉菜单。带来的直接好处是:别人在实验室调好的测试序列,你拿到产线上打开 .apx 文件,所有发生器参数原封不动,不存在“上次谁多拧了半圈旋钮导致测试结果漂移”的玄学问题。
软件化调节还有一个容易被忽略的点,就是可控性。APx500 的信号发生器支持很多与测量场景深度绑定的特殊模式,比如 Chirp 信号、周期噪声、MLS 序列、自定义波形文件等。你可以在同一个窗口里把这些信号源切换来切换去,还可以把信号发生器和分析仪内部的时钟同步起来。这点对于做数字音频接口测试尤其重要——如果待测设备是 USB 声卡或 HDMI 接收器,信号发生器的时钟基准与分析仪的数字输入时钟必须保持一致,否则测量结果里会出现难以解释的抖动误差。在传统方案里,这种同步通常要外接时钟线,而 APx500 在软件层已经把这类联动做好了。
2. 发生器调节的几个关键参数与场景匹配
2.1 输出波形选择不只是“波形形状”的选择
APx500 的发生器面板上,你可以选择 Sine、Square、Swept-Sine、Chirp、Noise、MLS 等波形。传统理解中,方波是用于测瞬态响应或摆率,正弦波是测频响和失真,而 Noise 是测信噪比。这个理解是对的,但在 APx500 里,波形选择还会影响后面分析仪的 FFT 计算方式。
比如你选择了周期噪声或 MLS,分析仪的测量算法会自动切换到对应的相关分析(correlation-based)模式。如果你只是手动调一个高斯白噪声来分析房间的混响时间,分析仪会选用 Welch 平均法来估算功率谱。同样的输出电平、同样的频率范围,不同波形背后对应的是不同的数学处理路径。这一点在做自动化测试序列时特别关键——如果你在测试序列里切换了波形类型,记得检查后级测量模块的单位或带宽设置是否还匹配,否则容易得到一套“能跑完但结果无意义”的数据。
我在调试一个蓝牙音箱的消声室频响测试序列时,曾把信号源从 Sine 切换成了 Chirp,但忘了同步调整分析仪的 FFT 窗函数,导致低频段数据出现异常波动。后来排查发现,Chirp 信号在这种模式下的 FFT 处理需要特殊的窗函数设置,默认的 Hann 窗虽然也能出图,但在 200Hz 以下的响应精度明显变差。
2.2 输出电平调节的“隐藏”学问
电平调节是所有信号发生器最基础的功能,不外乎设置一个模拟电压或数字满幅百分比。APx500 用起来也一样,你可以把输出设为 dBu、dBV、dBm(指定阻抗下)或者直接设数字 FS 百分比。但结合不同的待测设备类型,有几个细节值得单独拎出来。
第一,平衡与非平衡输出。APx500 的模拟输出口通常同时提供了平衡和非平衡接口。很多工程师在测单端输入设备时,习惯直接从平衡口接一根大三芯转莲花线。这种接法不是不行,但要注意输出电平的参考方式——平衡输出的标称电平通常 +4 dBu,非平衡输出则常为 -10 dBV(约 -7.8 dBu)。如果你在发生器里设的是 +4 dBu,实际输出到非平衡设备时可能已经接近设备的输入极限,导致头端削波,但分析仪面板上还看不出任何异常,因为你设置的是平衡口的输出电平。APx500 在输出接口切换时有软提示,但工程上还是建议在 Sequence 开始前先用万用表或示波器验证一下实际加到 DUT 输入端的电压。
第二,负载影响。信号发生器面板上的电平默认是端接在特定阻抗负载(如 600Ω、10kΩ)下的理论输出。如果 DUT 的输入阻抗明显低于设定值,实际加载到 DUT 上的电压会小于面板显示值。我在测某些低成本耳机功放板时遇到过失真数据偏大的情况,查到最后其实是 DUT 输入阻抗只有 8kΩ,而 APx500 默认把输出端接当成了 100kΩ 来处理,导致实际输入电平比设定值低了将近 1.2 dB。用高阻抗探头复查才确认是阻抗匹配的问题。
2.3 频率设置与扫频模式的选择逻辑
常规测量里,频率设置无非两种:固定单频点和扫频。APx500 里支持 Stepped Sweep(步进扫频)和 Continuous Sweep(连续扫频)。这两种扫频的差异不只是“快慢”问题,它对后级测量结果的影响非常大。
Stepped Sweep 本质上是“逐点测量”,发生器输出一个频率并停留一段稳定时间(dwell time),分析仪测量完该频率点后再切到下一个频率。它的优势是每一个频点都有充分的时间达到稳态,失真测量、噪声测量都比较准确,适合测 THD+N、频率响应这类对幅度精度要求高的项目。缺点是测量时间长,如果设置 200 个频点,每点驻留 500ms,一共就是 100 秒,再加上分析仪计算时间,整个测试跑下来论分钟计。
Continuous Sweep 则是频率连续变化,分析仪同步跟踪测量。它的优势是快,适合做预扫描看看大概趋势,但瞬时测量精度不如步进模式。特别是在低频段,如果扫速太快,发生器输出频率和测量窗口之间会有对不齐的风险,测出来的低频曲线可能平滑过头了,把一些小细节失真给掩盖掉。
我自己在产测项目里,一般会用 Continuous Sweep 做快速 PASS/FAIL 粗筛,再用 Stepped Sweep 对可疑频段做精确复测。这种两步走的策略既保住产线节拍,又不牺牲质量数据。APx500 的 Sequence 功能里可以把两种测量串在同一个测试计划里,不需要人工干预。
3. 实际操作:从信号发生器到测量流程的配置要点
3.1 模拟通道输出配置
讲完原理,用一次实际操作来还原场景。假设我们要测一台立体声功放的频率响应和 THD+N,DUT 是平衡输入、平衡输出,输入灵敏度 1.4Vrms(约 +5.2 dBu)。按下面的步骤配置信号发生器:
打开 APx500 软件后,在 Signal Path 窗口选择 Analog Output(模拟输出)并加上 Balanced 模式,Output Port 选对应的物理通道(通常 CH1/CH2)。
在 Signal Generator 面板中,把 Waveform 设为 Sine,Output Level 设为 +5.2 dBu(这里要留意,如果你用的是实际连接的非平衡口或者转接线,这个值要按实际接口重新算)。此时观察下方的 Level Meter,确保 Output Level 没有触发 Overload 警告。
进入 Sweep 设置:初始频率 20 Hz,结束频率 20 kHz,对数扫频,密度设为每倍频程 12 步(如果你只需要看大趋势,6 步也够;如果要做精确的频响曲线,建议 12 步以上)。打开 Settling Time 选项,默认给的 100ms 一般够了,但在测带反馈的 D 类功放时,建议提高到 300ms 以上,等环路稳定再测量。
在 Measurement 面板中勾选 Frequency Response 和 THD+N Ratio,测量带宽设为 22 Hz ~ 22 kHz。如果待测设备是纯模拟功放,带宽可以放宽到 80 kHz,以便捕获高频开关噪声引起的失真分量;但如果 DUT 输出端有低通滤波,带宽设得太宽反而会把滤波器带外的噪声算进 THD+N,导致数据偏差。
运行测量。这里想提醒一点:APx500 跑 sweep 时,默认会生成一张完整的 Frequency Response 图,但如果你的需求和标准模板不同,记得在 Graph 设置里把横轴改成对数、纵轴单位设置成你习惯的 dBu 或 dBr,否则看数据时会拉升认知成本。
3.2 数字音频接口下的发生器调节差异
很多工程师在测数字音频设备时,会把信号发生器直接设为数字输出(Digital Output),这时“波形”与“电平”的设置逻辑会发生质变。
数字输出的波形同样是正弦波,但电平不再是电压概念,而是数字满幅的百分比。APx500 里可以用 dBFS(分贝相对满刻度)来设置,如 -20 dBFS、-1 dBFS 等。这里最常见的一个坑:测试 DUT 的信噪比时,需要把信号源设为 -20 dBFS 或更低,但如果信号源设的是 -20 dBFS,而 DUT 内部模拟通路的最大输入能力只到 -12 dBFS(即 1.4Vrms),那么 DUT 内部的数字音量控制或 ADC 前级会先饱和,产生奇怪的谐波。这时再好的分析仪也救不了你,因为错误发生在 DUT 内部。
数字输出还有一个模拟域没有的参数——采样率。APx500 的信号发生器可以选择用工程设置的采样率(如 48 kHz)或跟随外部时钟。当 DUT 是异步 USB 音频设备时,建议把发生器设为外部时钟同步,并检查 DUT 报告的 Sample Rate 是否与分析仪一致。我之前测一块 USB DAC,APx500 设为 44.1 kHz 输出,但 DUT 由于驱动问题实际工作在 48 kHz,导致发生器播放的是经过 SRC 重采样的信号,测出的 THD+N 数据比标称值差了近 15 dB。后来把发生器时钟跟随 DUT 的 USB 时钟才恢复真实水平。
3.3 用 Sequence 固化信号发生器参数
APx500 的 Sequence(测量序列)功能非常强大,它允许你把信号发生器的所有调节参数连同测量项目打包成一个可重复执行的脚本。这是产线和实验室批量测量的核心工具。
在 Sequence 里添加一个“Measure Frequency Response”步骤时,需要注意:信号发生器的输出电平和频率扫描范围会被固化在这个步骤中。如果你在 Sequence 后半段还想测一个不同电平下的 THD+N,例如一半步骤用 0 dBu、另一半步骤用 -10 dBu,那么你需要在 Sequence 里分别创建两个不相干的步骤,并单独指定各自的 Signal Generator 配置,而不是手动在界面里改电平再重新跑一遍——那样 Sequence 的自动化意义就没了。
在实战中,我习惯把“信号发生器调节”的要点拆成两个层次:一是测量前的全局配置(输出接口、参考阻抗、时钟源),二是在每个测量步骤内部的局部配置(波形、电平、频率区间、扫频模式)。全局配置在 Sequence 的属性栏中设置一次,局部配置则细化到每一步。这样整个测试计划清晰、可追溯,出问题也方便定位。
4. 常见问题与排查技巧实录
4.1 为什么信号发生器设了 +4 dBu,DUT 输出却早早削波
这个问题我在现场评审时被问过不下十次。最常见的原因是:DUT 的增益设计不是 0 dB,而是 +20 dB 或更高。比如你测一个前级放大器,输入灵敏度很高,+4 dBu 已经对应到它的额定输入上限,输出端削波自然不可避免。这时除了降低发生器输出,还应检查 APx500 分析仪输入通道的增益配置,确保反馈到分析仪的输入电平不会过载。
另一个隐蔽原因在接线上。有些工程师自制的 XLR 转 RCA 线并没有按照平衡转非平衡的规范接法(将冷端与屏蔽层并联),导致实际到 DUT 输入端的信号比设置值高出 6 dB(也就是平衡转换为非平衡时,如果冷端悬空不加衰减,电平值会翻倍)。用 APx500 的输入电平表对比一下输出设置和输入读数,就能快速发现问题。
4.2 测频响时低频段出现随机性起伏
如果低频段 20 Hz ~ 100 Hz 的频响曲线每次测量都有差异,且趋势不稳定,第一个要怀疑的不是发生器,而是测量环境的驻波或电源地的干扰。但有时问题也确实出在信号发生器端——特别是使用了 Continuous Sweep 时,低频区间扫速过快,分析仪的滤波器没跟上。
我的建议是:改用 Stepped Sweep,并把 Sempling Rate(分析仪的采样率)适当提高,让每个频点有足够多的数据块参与平均。还有一个小技巧:在 APx500 里打开信号发生器的 Phase Continuous(相位连续)选项,这样切换频率时波形相位不会突变,能显著减少低频扫频时的“咔嗒”声和瞬态冲击,这一点对低频段重复性很有帮助。
4.3 数字接口输出无信号
数字输出没有信号,原因通常很直接:采样率不匹配、时钟源未锁定、播放通道选错。APx500 的数字输出接口如果是走 HDMI ARC 或 SPDIF,有时物理连接正常但信号源路由里没有启用该接口——在 Signal Path 中,数字输出和模拟输出是独立配置的,你不能在 Analog 模式下期待数字口有信号。
遇到无输出,我一般按以下流程排查:
在 Signal Path 中确认 Output 类型是 Digital 且 Format(如 PCM、I2S?)与 DUT 支持的格式一致;
确认 Sample Rate 设置没有超出 DUT 或 APx500 数字接口的支持范围;
使用 APx500 自带的 Output Monitor 或外部示波器在物理接口处检查信号是否存在(有些“无信号”其实是接口定义差异,需要确认 Pin 定义是否对齐);
检查时序配置,特别是使用外部时钟时,PLL 锁定指示是否为绿色——如果闪烁或红色,说明没有同步成功。
4.4 发生器调节参数正确,但测量结果偏离预期
这类情况大多不是发生器的问题,而是测量链路上的参考点放错了。APx500 里有一个很实用的功能叫 Output Calibration(输出校准),它能基于外部参考仪表的读数对信号发生器的实际输出电平进行补偿。如果你发现每次测量结果都系统性偏高或偏低,可以考虑用一台经过计量的万用表或标准声压计做一次输出校准。
不过这里有一个大前提:校准只对当前接口和负载有效。你在 600Ω 负载下校准好的输出,换到 10kΩ 负载时,读数很可能是偏的。所以别偷懒,换了测试环境或连接方式后要及时重新校准。
5. 信号发生器调节的进阶建议
5.1 把“发生器调节”当作测量方案设计的一部分
信号发生器调节在 APx500 里说到底不是一个孤立操作。你调节输出电平,实际上在决定 DUT 工作点;你调节扫频范围和模式,实际上在设定测量分辨率;你选数字输出还是模拟输出,实际上在定义一条完整的信号链路。所以我的建议是:不要只把“调节”当成一个旋转参数的动作,而是把它当作整个测试方案的一环来设计。调试时多花一分钟想清楚“DUT 在这个信号下应该工作在什么状态”,往往比反复试错效率更高。
5.2 利用模板与预设提高重复性
APx500 支持保存信号发生器的配置为预设模板(Preset),在切换不同 DUT 型号时可以快速载入。我通常按照产品类型维护几套预设:Class-D 功放测频响一套、DAC 数字输入测失真一套、模拟前级测噪声一套。每套预设里不仅包含信号发生器参数,还包括对应的分析仪带宽、加窗方式、平均次数等。这样一来,即使换一个人来操作,只要加载预设,整个测量逻辑就锁定住了,不容易出现“每个人测得都不一样”的问题。
5.3 多通道同步输出的场景处理
如果被测设备是多声道 AV 功放或汽车音响系统,APx500 也可以同时为多个输出通道配置独立信号。此时要注意通道间的相位一致性,特别是在测低音炮的分频点附近,如果左右声道或主声道与低音通道的信号相位不对齐,测出的总频响曲线会出现明显的陷波。
我一般在多通道测量时,会先把所有通道的信号发生器设为同波形、同电平、同频率,然后用分析仪的 Dual Channel / Multi Channel 功能检查通道间相位差。如果发现偏差来源于 APx500 输出端(理论上不太可能,因为数字生成信号天然同步),再排查外部功放或 DSP 的延时设置。实际上,90% 的情况问题出在 DUT 的 DSP 延时上,而不是分析仪。
5.4 结合脚本来做更复杂的信号控制
APx500 有对应的 API 接口,可以用 C#、Python 等语言编写脚本控制信号发生器的参数变化。这在做自动化验证测试时很实用。比如需要测试不同电平下的失真曲线,传统方式是手动改设置、跑测量、记录数据,用脚本则可以在几分钟内循环 20 个电平点,逐一完成测量并导出结果。
初次上手的话,建议先通过软件自带的 Macro Recorder 录制一段手动操作,然后查看生成的脚本代码,理解信号发生器对象模型的调用逻辑。熟悉之后,你就能在自己的自动化框架里灵活地调用 Signal Generator 相关接口,把调节逻辑嵌入到更复杂的测试场景里。
6. 关于信号发生器调节的一些常见误区
6.1 误区一:输出电平设得越高,测量越准
高电平测试确实可以把失真底噪压低,但如果 DUT 因此进入非线性区,测出的 THD+N 反而飙升。更合理的做法是参考 DUT 的额定工作条件,通常选在额定输入电平附近,或者按照产品规格书的要求设定。想单独评估 DUT 的底噪特性,则用低电平甚至零电平输入,配合分析仪的高灵敏度测量档位。
6.2 误区二:分析仪电平表显示正常,DUT 就一定没过载
APx500 的输入电平表是代表分析仪内部 ADC 上的信号状态,它不能代表 DUT 内部各个节点的状态。DUT 内部可能已经失真,但由于经过了增益级或滤波器,到输出端时信号看起来又“正常”了。要判断 DUT 是否过载,最直接的方法是观察 THD+N 曲线的形状——如果失真随电平增大的斜率突然加速,大概率已经过载。
6.3 误区三:每倍频程步数越多越好
扫频步数越多,频率分辨率越高,但测量时间也线性增加。正常情况下每倍频程 12 步已经能覆盖绝大多数扬声器和功放的频响测量需求。对于纯模拟设备,在 20 Hz ~ 20 kHz 区间内每倍频程 24 步也够用了。再往上增加,收益非常有限,纯粹浪费时间。
6.4 误区四:信号发生器的时钟不用管
在数字音频测试里,时钟就是一切。Jitter、SRC 引入的失真等问题,往往不是 DUT 硬件本身的问题,而是测试链路中的时钟连接不当。APx500 的数字输出如果由内部时钟驱动,而 DUT 作为信宿在 PLL 锁定过程中引入了额外的抖动,测出的 Jitter 或失真数据可能比 DUT 真实水平差。实际测试时建议将分析仪时钟和 DUT 设置成同源(都锁 APx500 的数字输出时钟),或者让 APx500 跟随 DUT 输出的时钟(比如 DUT 是 USB Audio 设备时,让它作为主设备提供时钟)。
7. 最后分享一个小技巧
我通常在每次测量结束后,习惯性看一眼信号发生器面板里的 Output Level 和 Analysis 面板里的 Input Level 之间的差值。如果差值基本等于 DUT 增益且全程稳定,说明链路状态健康;如果低频段差值变化明显,就要留意是不是耦合电容和直流偏置的问题。这个习惯帮我提前发现过不止一次 DUT 故障和测试线缆老化。信号发生器调节看似是最基础的操作,但它往往能反映出一整套测量链路的健康状况,值得每一次测试都认真对待。