任意函数发生器AFG是什么?核心参数、应用场景与实操避坑指南

📅 2026/8/27 8:27:19
任意函数发生器AFG是什么?核心参数、应用场景与实操避坑指南
作为一个常年泡在实验室和产线测试台上的人我对任意函数发生器Arbitrary Function Generator简称 AFG的感情很复杂。爱它是因为它在模拟那些“刁钻”信号时几乎是唯一解恨它是因为我发现太多人买了 AFG却只拿它当普通函数发生器用连它最核心的“任意波形”功能都没碰过。这就像买了一台高性能单反却永远只用自动模式拍流水账。这篇文章我想认真聊聊 AFG 到底是什么、它和普通函数发生器有什么区别、在什么场景下必须用它以及我这些年用下来总结的一套实操流程和避坑经验。这篇文章适合以下几类人刚接触信号发生器的硬件工程师、测试工程师、自动化产线调试人员还有做传感器仿真的嵌入式开发者。不管你用的是哪个品牌、什么价位的机型只要理解了底层逻辑操作上基本一通百通。我会用大白话解释原理再给出能直接上手的步骤和参数建议尽量让你看完就能用起来。1. 先搞清楚任意函数发生器到底解决什么问题1.1 它和普通函数发生器的本质区别普通函数发生器英文是 Function Generator它的设计思路是“内置了几种固定的数学模型”正弦波、方波、三角波、锯齿波偶尔加个脉冲和噪声。当你按下某个按键仪器内部其实是查了一张预先算好的波形表再通过 DAC数模转换器变成模拟信号输出。这个过程很快、很标准但也很死板——你只能在这几种波形里打转。任意函数发生器就不一样了。它把“波形存储”和“波形生成”彻底分开。你可以自己定义一条波形曲线告诉仪器这条曲线上每个点的电压值是什么仪器就会利用 DDS直接数字合成或者“逐点回放”的方式把这条曲线原原本本地还原成模拟信号。你可以把它类比成音乐播放器普通函数发生器是只能播放固定曲目的老式收音机AFG 是一台能播放你自己编曲、甚至可以逐帧编辑声音数据的采样器。这意味着只要你能把一个信号拆解成“一串电压随时间变化的点”理论上就能让 AFG 把它“播放”出来。比如一个不规则的尖峰脉冲、一串叠加了噪声的心跳信号、一个带毛刺的电机启动波形这些东西在普通函数发生器上根本没法生成但在 AFG 上只是编辑多少点、怎么设置采样率的问题。1.2 什么时候必须上“任意波形”而不是标准波形很多朋友问我“我手头有普通函数发生器有没有必要换 AFG”我的答案是先看你手头的测试需求里有没有下面这几类情况。第一种情况是传感器仿真。比如你要模拟一个温度传感器的输出正常工作时它可能是线性变化的电压但你可能还需要模拟传感器断路、短路、接触不良、被干扰等异常状态。这些异常信号不是正弦波也不是方波而是带有跳变、毛刺、渐变沿的复杂波形用普通函数发生器根本做不出来但 AFG 可以。你甚至可以从真实传感器上采集一段输出直接导进 AFG 再复现出来让被测系统在实验室里就能“体验”现场故障。第二种情况是通信和编码信号模拟。比如模拟光电编码器的 A/B/Z 相输出或者模拟一个带噪声的 PWM脉宽调制控制信号。编码器信号本身是方波但它的相位关系、脉宽变化、边沿抖动才是关键。普通函数发生器能出方波但很难精确地在一个连续周期内改变占空比或者安排故障脉冲。AFG 可以把一个完整转速周期内的 A/B/Z 相波形预先编辑好一次性输出这对伺服驱动器和运动控制系统的调试非常有用。第三种情况是激励-响应测试里的“非标准激励”。比如你要测试一个滤波器在输入信号突跳、跌落、过冲情况下的输出响应你需要给一个幅度和频率随时变化的复合信号。AFG 可以生成一个带功率骤降的电网电压波形或者一个带频率跳变的音频信号精准模拟真实工况。这时候普通函数发生器的固定数学模型就显得力不从心了。所以AFG 不是“更贵的普通函数发生器”而是一个“可编程的信号播放器”。如果你只输出固定频率的正弦波普通函数发生器足够用那是浪费。如果你需要在测试中复现真实世界里的复杂信号或者更极端一点需要主动构造一个现实中很难用物理方式产生的信号那 AFG 才是正确工具。2. 读懂核心参数选型和用起来就赢了一半2.1 采样率、波形长度和垂直分辨率是怎么配合工作的AFG 有三个核心参数决定了它能输出多“真”的波形采样率、波形长度存储深度和垂直分辨率。很多人只看带宽结果买回去才发现波形失真、细节丢失原因往往就出在这三个参数上。采样率Sample Rate单位是 Sa/s每秒采样点数决定了波形在时间轴上的细腻程度。每生成一个任意波形仪器都要把波形离散成一个个点。采样率越高点与点之间的时间间隔越小输出的波形越逼近原始设计。按照奈奎斯特定理要还原一个频率为 f 的信号采样率至少需要 2f但在工程上我建议采到 4 到 10 倍。比如你要生成一个 1MHz 的正弦波采样率至少要 2MSa/s实际最好用 5MSa/s 以上这样波形经过低通滤波后的失真度才比较理想。我实测过用刚好 2 倍采样率生成的正弦波在示波器上能看到明显的阶梯感边沿也变得很生硬。波形长度波形存储深度单位是点pts决定了你一次能输出多长的波形。它和采样率是联动的一次输出波形的时间 波形长度 ÷ 采样率。举个例子如果采样率是 100MSa/s波形长度只有 1000 点那么这一个波形周期就只有 10 微秒。如果你想输出一个 1 毫秒的脉冲序列就需要至少 100000 点的存储深度。在选型的时候我强烈建议优先选大存储深度的型号别为了省几千块钱选个 4k 点的做传感器仿真时会非常痛苦。垂直分辨率Vertical Resolution单位是 bit决定了波形在幅度轴上的精细程度。常见的有 12bit、14bit、16bit。假设一个 AFG 的满量程输出是 10Vpp14bit 分辨率对应 16384 个量化等级那么理论上它能分辨的最小电压变化就是 10V / 16384 ≈ 0.61mV。这个参数决定了波形的信噪比和低电平细节。如果你要仿真一个幅度只有几十毫伏的传感器信号14bit 以下的分辨率可能会让波形看起来“一阶一阶”的不够平滑。这三个参数不是孤立的。典型的计算方法是先确定你要输出的最长时间 T 和最高频率分量 fmax再反推采样率建议 fmax 的 5 倍以上然后算出所需波形长度 T × 采样率。这个计算过程在选型时一定要走一遍否则很容易买到参数不匹配的机器。2.2 除了三大件还有哪些参数值得留意除了采样率、存储深度、垂直分辨率AFG 还有一些容易被忽略但实际很有用的参数按我的优先级排一下。首推通道数。单通道在简单地输出测试信号时够了但做差分信号、正交编码器模拟、双通道相位差测试时至少需要两通道。双通道的好处是可以通过“通道耦合”功能精确控制两路信号的相位关系。比如模拟编码器 A/B 相 90° 相位差用双通道 AFG 设置起来就很简单两边都可以单独调整。其次是最大输出幅度和偏移范围。有些 AFG 最大输出只有 ±5V但很多传感器信号有较大的直流偏置比如 0 到 12V 的供电电压你需要在输出信号上叠加一个直流偏移。选型时注意看“偏置范围”是否够大特别是做传感器仿真时这一点往往比带宽更重要。然后是调制功能。最基础的要有 AM、FM、PM调幅、调频、调相如果还支持 FSK、ASK 这些数字调制就更好了调试通信模块时直接省一个上位机。部分高端型号还有“序列模式”Sequence可以把多个波形段按顺序拼接起来每段的输出时间和重复次数可以独立设置。这个功能在做复杂业务的激励序列时非常实用模拟一次完整的设备启动-运行-故障过程只需要提前编好一个序列。最后是接口和软件生态。USB、LAN、GPIB 这是老生常谈我现在更看重的是波形编辑软件好不好用以及是否支持导入 CSV/TXT 数据。因为很多真实波形比如 ADC 采集回来的信号是十六进制或者十进制数据文件如果能直接导入到 AFG 中重新生成会节省大量手工编辑时间。3. 从应用场景入手确定你要“发生器”做什么3.1 传感器模拟与故障注入是 AFG 的拿手戏我刚开始接触 AFG 时最大的触动来自一个传感器故障注入的测试需求。当时在做一个工业仪表项目需要验证主控板在温度传感器异常时的报警逻辑。真实场景里传感器可能断路、短路、逐渐漂移、间歇性接触不良这些异常太多了如果每一次都用真实传感器去模拟费时费力不说还不容易控制边界条件。后来我去找了一台 AFG把整个过程变成了纯粹的“波形编辑”任务。正常工作时输出一个 1kHz、幅度 3.3V 的方波模拟温度传感器输出断路时让波形突然变成高阻态表现出的电平跳变短路时输出一个接近 0V 的平直线接触不良是叠加随机毛刺的断续波形。我用上位机一次编辑好这些波形段通过“序列模式”串联起来让主控板反复上电测试几个小时就把报警优先级和响应时间的边界全测出来了。这种方法最核心的一个优势是“可复现”。同样的故障波形我可以保存下来下个版本固件回归测试时再跑一遍保证了测试结果的一致性。如果靠人手去拨弄传感器根本无法做到两次故障波形完全一致。3.2 通信和编码信号模拟要注意上升时间和相位差做电机控制或者编码器调试验证时AFG 也很有用。伺服驱动器需要识别编码器反馈的 A/B/Z 信号A 相和 B 相之间必须保持严格的 90° 相位差。这个验证用双通道 AFG 来做非常方便只需要把两个通道都设为方波输出A 通道设置为 0° 相位B 通道设置为 90° 相位也就是在 A 相上升沿之后延后 1/4 周期输出再把输出幅度和电平调到编码器接口的规格就能直接“骗过”驱动器让它认为存在一个虚拟的编码器在转动。这里有个关键点很多人会忽略编码器信号的上升时间不能太差否则驱动器的整波电路可能无法准确识别。AFG 作为信号源它的输出端通常会有几十纳秒的上升沿这在实际使用中是没问题的但如果你用了一段过长的 BNC 转接线和探头去接上升沿会被拉长就可能导致边沿识别错误。所以做这类测试时线缆越短越好最好直接接到驱动器的接口板上。类似的还有 PWM 模拟。很多电机驱动板输入的 PWM 信号占了 5%~95% 的占空比范围AFG 很容易调出任何占空比并自由改变频率。更有意思的是你还可以在占空比里做小幅度的周期性扰动模拟控制环路的输出抖动用来验证电机驱动板的抗扰动能力。这个需求普通函数发生器只能用固定的方波很难做出“平滑变化的占空比”。3.3 自动化测试里的激励源AFG 是闭环里的关键一环在自动化测试系统ATE里AFG 通常扮演“激励源”的角色。举个例子一个电动汽车的电池管理系统BMS测试台需要模拟电池温度、电压采样信号给控制器然后检查控制器报警是否正确。上位机通过 LAN 接口给 AFG 发送指令AFG 立刻改变输出波形比如从正常电平跳到过温阈值同时采集仪器记录控制器的响应时间。整个测试过程是全自动化的可以连续跑上千个用例。这时候 AFG 的“可控性”就比“波形质量”更重要了。你需要关注的是指令切换速度是否够快从收到命令到输出稳定的新波形需要多长时间、两个波形段之间切换是否会产生毛刺、能否支持接收外部触发信号来同步输出。很多型号在规格书里不会明确写“切换时间”实际用起来可能有些机型的切换间隙会出现一段不确定电平这个在时序要求严格的测试里会造成麻烦。所以如果自动化测试是你的主要使用场景最好先找厂商要样机实测一下切换行为再决定买不买。教学实验也是 AFG 的一个重要应用场景。信号与系统、通信原理课程里用 AFG 可以输出调幅信号、线性调频信号、带噪声的信号让学生观察频谱仪上的变化。这里不需要太高带宽但是波形编辑软件的易用性很重要学生能快速上手画出波形、看到结果学习体验就会好很多。4. 实操从手动编辑波形到上位机导入数据4.1 面板上直接编辑一个自定义波形分步骤详解如果你手头有一台 AFG却还没用过它的任意波形功能我建议你按下面的步骤走一遍以最常见的“编辑一个带毛刺的正弦波”为例。第一步把仪器切到“任意波形”Arbitrary / Arb模式。大多数 AFG 面板上会有一个专门按键或者是通过触摸屏菜单进入。进去之后你会看到一个空白的波形编辑界面横轴是时间或点数纵轴是电压。第二步选择一个基础波形作为初始模板。别从零开始画那样效率太低。先选一个正弦波作为底座点“编辑”通常会出现“编辑波形点”“插入点”“修改点”这些子菜单。我在面板上编辑大量点的效率其实不高所以一般只用来做简单修改如果需要精细控制还是建议用上位机。第三步把波形放大找到想要的插入位置在某个坐标点上插入一个尖峰脉冲。你可以用旋钮把光标移动到波形中间然后在编辑菜单中选择“插入毛刺”或者手动修改一个点的幅值。面板上的点编辑能力有限但对于“加个毛刺”“加个直流电平偏移”这类简单修改已经足够。第四步设置波形长度和采样率。这个我前面反复强调过先确定输出时间长度再设置采样率。以编辑一个 1ms 波形、仿真传感器的一个完整周期为例我通常会设置波形长度为 10000 点、采样率为 10MSa/s这样波形时间就是 1ms而且波形细节够丰富。第五步设置输出幅度和偏移。这里注意面板上显示的 Vpp峰峰值是相对 50 欧姆负载还是高阻负载要看清。很多仪器当输出端接了 50 欧姆负载时实际幅度会变成空载时的一半如果你没注意连到示波器上会以为仪器坏了。我一般习惯在 50 欧姆负载环境下校准因为大多数示波器输入端是 1M 欧姆但信号链路上的混频器或匹配电路通常是 50 欧姆从一开始就以 50 欧姆为标准可以减少后续链路里的“惊喜”。第六步打开输出通道用示波器观察实际波形。这一步不可省略因为面板上的波形预览只是理论值线缆、负载、输出放大器都会对波形有影响实际观察后需要微调幅度和偏移。4.2 用上位机软件导入真实数据并回放编辑复杂的任意波形靠面板点坐标是不现实的。真正的生产力在于上位机软件。主流的 AFG 厂商比如 Keysight、Tektronix、Rigol、Siglent都有自己的波形编辑软件也基本都支持把标准格式的波形文件如 CSV、TXT、BIN导入到软件中生成波形。我演示一个最常用的流程把示波器采集到的真实信号回放到 AFG 中。第一步在示波器上采集一段目标信号保存成 CSV 格式。绝大多数示波器都有“保存波形数据”功能会把采样点的电压值和时间戳导出来。第二步打开波形编辑软件选择“导入文件”把 CSV 加载进去。软件通常会识别两列数据时间和电压自动生成一条波形曲线。第三步根据实际需要调整采样率和输出幅度。因为示波器采集时的采样率可能高达每秒几 GSa/s而 AFG 的采样率可能只有几百 MSa/s所以导入后需要降采样。软件一般会提供重采样工具你要确保重采样后的波形依旧保留了关键细节上升沿、毛刺等。第四步把编辑好的波形发送到 AFG。这一步通常是通过 USB 或 LAN 连接软件里有“发送到仪器”按钮发送完成后 AFG 会进入任意波形模式前面板也会显示当前波形预览。第五步接上示波器验证输出。因为输出的局限性和线缆的影响回放出来的波形和原始采集数据会有细微差别但用来复现故障波形已经足够。我之前就是靠这个流程把一台设备偶尔重启时出现的异常电流波形采集下来再在实验室里复现把问题定位到电源模块的某颗电容上。4.3 输出前的检查清单这几项让我少走了很多弯路这几条看起来基础但踩过坑的人会知道有多重要检查负载阻抗匹配。前面提到过50 欧姆和 1M 欧姆负载下的输出幅度差一倍一定要确认。检查 DC 偏移和幅度是否在电路允许范围内。接错偏移可能导致被测电路损坏不要只看 Vpp先看绝对电压范围。确认触发模式。如果你使用外部触发或手动触发仪器不会自动输出会一直停留在等待状态检测触发模式的“未触发”提示否则半天没波形容易误判仪器坏了。确认滤波器状态。AFG 输出端通常有输出滤波器有些型号可以选择“宽带模式”和“滤波模式”。宽带模式下波形更真实但噪声可能大一些滤波模式下限带更干净但峰值可能被压低。对波形边沿敏感的测量建议先用滤波模式扫一遍再对比差异。观察输出过载指示。很多 AFG 面板上会显示输出负载检测如果有“过载”提示说明负载阻抗太低了波形会很差要先解决接线问题再做测量。5. 使用中的常见问题与排查实录5.1 波形失真或噪声偏大的常见原因我遇到过最多的一个场景是波形明明是软件里画得干干净净的一接到电路里就出现明显畸变和噪声。排查下来大多数原因是地环路或接地不当。信号发生器有一个很重要的用法通常输出端子的参考地是和机箱地相连的而在实验室里示波器和被测设备往往也接在同一台电源上这样可能形成地环路。如果波形失真伴随 50Hz 工频纹波八成就是地环路如果伴随的是宽带增加需要检查线缆屏蔽层是否接地良好。还有一个常见问题是采样率设置过低。很多新手直接默认仪器的采样率比如 1k 点、1MSa/s 就输出了一个 10MHz 的信号这明显违反奈奎斯特定理出来的波形会严重混叠。遇到这种情况直接提高采样率再看波形是否改善。另外输出幅度设置得过大、超过仪器线性工作范围也会导致波形顶部变平或者失真。AFG 的输出放大器和驱动器都有最大输出电压范围超过之后进入削顶状态。我测试过一台仪器设置 10Vpp 时在 50 欧姆负载下实际上只能出 8Vpp超过部分被“削”掉了。所以做大信号输出时最好先看一下规格书中最大输出幅度是否覆盖你需要的范围。5.2 通道不同步、触发乱跳怎么办做双通道输出时如果 A/B 相之间的相位关系不对或者触发信号总是乱跳往往是触发源设置出了问题。AFG 的任意波形可以受到多种触发控制自动触发、软件触发、外部触发、总线触发。如果选了外部触发但延迟和斜率设置不对输出的每一段就会有随机相位偏移看起来好像“不同步”。有一个我常用的排查方法用示波器的两个通道同时接 AFG 的两个输出把示波器触发设为 A 通道上升沿观察 B 通道相对 A 通道的相位关系。如果每次触发的波形都不重合说明 AFG 的两个通道之间没有真正同步。这时可以尝试在 AFG 的菜单里打开“外触发输入”或“同步输出”功能甚至用“通道间锁相”功能强制两个通道使用同一个采样时钟。如果只是单通道输出但触发时波形位置不稳定常见原因是波形本身不是严格周期性的。比如你编辑了一个包含长停顿的故障序列外部触发每次都在同一位置触发但如果波形的起点和终点电压不一致示波器上看起来就会“满屏乱跳”实际不是仪器坏了而是波形本身存在不连续性。解决办法是在编辑波形时让波形首尾电平尽量一致或者开启仪器的“无缝拼接”功能。5.3 关于 50 欧姆负载和阻抗匹配那些坑阻抗匹配是信号完整性的基础但 AFG 的输出端阻抗问题让我踩过好几次坑。大多数 AFG 的输出特性标注是“输出阻抗 50 欧姆”意思是仪器的输出级等效内阻是 50 欧姆。当你用一根 50 欧姆同轴线直接接到示波器输入 1M 欧姆时信号的幅度等于源电压因为示波器高阻状态下几乎不吸取电流。但当你接一个 50 欧姆终端负载时负载和源内阻各分一半电压输出幅度就减半。这在测试中会造成麻烦如果你的被测电路输入阻抗是 1M 欧姆那问题不大但如果你的测试装置里有 50 欧姆端接电阻或者你用的是射频功分器和混频器通常端口都是 50 欧姆输出幅度就会比面板显示的小一半。有的用户看到输出变小就以为设备不好其实是阻抗匹配问题。我的习惯是在做任何幅度敏感的测试之前先拿示波器直接测量 AFG 输出端的开路电压再用一个已知的 50 欧姆负载测一次对比两次读数的比例是否大约是 2:1。如果比例不对说明线缆损耗或波形发生器的输出级有问题。另外线缆的插入损耗在高频时也不能忽视比如 100MHz 信号经过一米质量一般的 BNC 线可能已经有 0.5dB 的衰减对测试结果有影响。6. 选型建议与避坑提醒6.1 按需匹配参数矩阵AFG 型号众多价格差距从几千元到几十万元都有。我个人的选型经验是先列需求再定参数别一上来就追求“大而全”。下面是我常用的一份选型参考矩阵根据需求类型快速定位参数级别使用场景建议采样率建议波形长度垂直分辨率通道数关键优先级通用实验室教学20~50 MSa/s1k~4k 点12bit1易用性、性价比传感器仿真/故障注入50~100 MSa/s8k~32k 点14bit2存储深度、偏移范围通信基带/编码器模拟100~250 MSa/s16k~64k 点14bit2通道同步、相位精度自动化测试/ATE250 MSa/s 以上64k 点以上14~16bit2可扩展编程接口、触发、切换速度高精度模拟/生物电50 MSa/s16k 以上16bit2噪声、分辨率比如你做自动化测试重点是编程接口是否支持 SCPI 指令、波形切换速度是多少、是否支持 LAN 触发的低延迟。但如果只是教学演示或者简单传感器模拟其实没必要为了 16bit 分辨率多花好几倍的钱12bit 已经能看出效果了。6.2 预算有限时怎么取舍预算有限是最常见的现实约束。我给你的建议是存储深度不要妥协。因为后期的很多需求比如导入一段长信号都需要大存储深度而且存储深度在硬件升级上很难改你后期没法通过软件升级来弥补。采样率可以适当妥协因为如果你的信号最高频率只有几 MHz那么 20MSa/s 的采样率已经够用。但要注意如果高带宽信号和低采样率不匹配波形会很难看。垂直分辨率方面12bit 和 14bit 的差距通常在低幅度小信号上才比较明显。如果你主要输出几十到几百毫伏的传感器信号直接选 14bit 或 16bit如果只是输出标准幅度信号12bit 就能满足。通道数方面如果是资金紧张的初期阶段可以先买单通道后期通过加一台普通函数发生器或射频信号源来触发链路但代价就是难以准确控制双通道之间的相位关系。如果明确要做编码器模拟或差分信号输出建议一次到位选双通道。另外要提醒一句买仪器不只是看硬件软件授权也可能是个坑。有些厂商会把高级波形编辑软件列为收费选项基础型号附带的软件功能很弱可能无法导入 CSV。在下单之前务必确认波形软件的授权范围否则买回来发现不能导入外部数据那 AFG 的价值就少了一大半。我的个人体会是AFG 不是玩具而是一个能帮你在实验室里“重构真实世界”的工具。它的上限取决于你能不能把需求翻译成一条条波形定义。如果你经常抱怨测试复现难、故障排查效率低不妨上手一台支持任意波形功能的信号源把真实信号采集回来再一点点地编辑、回放、修改参数去逼近故障状态。这个方法论远比单台仪器本身更有价值。