穿越技术迷雾,指引测试之光
为电子测量仪器保驾护航,技术支持,一路相随
示波器的FFT,用好了是频谱分析,用不好就是高级摆设
去年有个做电机驱动的客户找到我们,说他们板子上的ADC采样值总是间歇性跳动,软件滤波都救不回来。硬件工程师把电源纹波测了个遍,干干净净。用万用表看电压也稳。所有人都觉得是软件问题,但写代码的兄弟打死不认。我过去之后,顺手把示波器探头勾在ADC参考电压引脚上,打开FFT,跨度设到10MHz。结果频谱上清清楚楚一根大柱子杵在800kHz,幅度还挺高。他们DC-DC的开关频率是400kHz,但布局不好,二次谐波直接窜进了参考电压。时域上你是看不出这玩意儿的,因为它在几毫伏的噪声里看起来就是一点点毛刺,但FFT一打开,频率成分直接现形。那位工程师后来跟我说,这种感觉就像原来只能看到水面有波纹,突然一下看清水底下什么东西在动。
所以很多工程师觉得FFT门槛高,其实不是功能有多复杂,是没掌握几个关键设置。一旦对了,这玩意儿在调试里能顶半个频谱仪。

做FFT之前,先想明白你要看什么
示波器FFT的原理不复杂,就是把一段采集到的时域波形做数学变换,告诉你这段波形里有哪些频率分量、每个分量有多强。但问题是,示波器FFT有个先天限制——它的动态范围只有大概48dB(因为ADC是8位的),跟专用频谱仪的100多dB没法比。所以别指望拿它测-80dBm的小信号,但你要是想找几十mV级别的干扰源、看看谐波分布、或者确认某个噪声是不是特定频率过来的,它完全够用,而且方便太多。
关键参数就三个:采样率、存储深度、时基
FFT的结果好不好看,基本上在这三个参数上决定了。采样率决定了你能看多高的频率,奈奎斯特说采样率至少是最高频率的两倍,但实际操作中我会留四五倍余量。比如想看100MHz以内的频谱,采样率我会保证在500MS/s以上,否则高频分量会折叠到低频区域,给你看一堆假峰。
频率分辨率则取决于你采了多长时间的波形。分辨率 = 1 / 采集时间。采集时间越长,两个挨得很近的频率就能分得开。比如你想分辨50kHz和52kHz的两个分量,那至少得采1/(2kHz)=500微秒的数据。这个采集时间怎么延长?要么增大存储深度,要么降低采样率(只要不低于奈奎斯特下限就行)。泰克的示波器在采集菜单里可以调存储深度,如果你发现频谱上两根峰糊在一起分不开,就往大了设,但代价是运算会变慢,得自己权衡。
窗函数这个东西,选错了一脸懵
很多人做完FFT之后发现,明明信号只有一个频率,频谱主峰旁边却像长了一排小牙齿,或者峰值幅度跟预期对不上。多半就是窗函数没选对。
示波器FFT是对截取的一段有限数据做的,相当于时域上硬生生把信号切了一刀,这会导致频谱泄漏。窗函数就是用来减轻这种泄漏的。我一般这样选:
如果你分析的是周期性信号,比如时钟、开关电源的开关频率、PWM波,直接选汉宁窗。它旁瓣抑制不错,频率分辨率也适中,是绝大多数情况下的默认选项,基本不会翻车。
如果你要精确测量某个频率的幅度,比如做谐波失真测量,平顶窗更合适。它的幅度误差很小,但代价是频率分辨率会变差,两个很近的峰可能分不开。
矩形窗很少用,除非你要分析的是暂态信号、单次脉冲,或者频率分辨率要求极其苛刻的场合。它的旁瓣泄漏最严重,一般不建议新手碰。
布莱克曼窗旁瓣抑制比汉宁更强,适合动态范围大的信号,但主瓣更宽,分辨率也最低。
你要是实在不确定,就先汉宁。大部分情况它都不会让你太失望。
实际操作就这几步
用泰克示波器(MSO/DPO系列都差不多)的时候,先把时域波形调稳,注意幅度别削顶。然后按前面板上的“Math”键,选择FFT,源通道选你要分析的那个。接着设中心频率和跨度,比如想看0~20MHz就设中心10MHz、跨度20MHz。垂直轴我习惯用dBV,因为跟时域幅度对应关系比较直观。窗函数选好,然后按Auto Set(如果有的话)让它自动调整一下显示范围,再手动微调垂直位置。
如果频谱噪声很大看不清楚,在FFT菜单里找平均功能,设个16次或32次平均。随机噪声会被平滑掉,只有稳定的频率分量会留下来。这个操作极其有用,很多时候你第一眼看到的是满屏草,平均完了就剩下两三根干净的柱子。
我见过最典型的翻车案例
有一次客户测一个通信板卡上的电源,时域纹波看着还行,但系统总是偶尔误码。我们用FFT扫了一下输出频谱,发现除了开关频率基波,还有一个很强的500kHz分量,但这个板子上没有任何500kHz的时钟。后来查了布线,发现一根数据线的谐波正好落在500kHz附近,通过地平面耦合到了电源轨上。时域上那个耦合信号被纹波盖得严严实实,根本看不出来,但FFT直接把频率成分抖了出来。这就是这玩意儿最值钱的地方——它能告诉你“这个噪声是什么频率的”,而你知道了频率,八成就能猜到是谁在捣乱。
还有一次是测音频放大器失真,用汉宁窗测出来THD大概0.3%,换了平顶窗之后变成0.08%。其实信号没变,只是窗函数对幅度的响应不一样。后来统一用平顶窗测幅度,用汉宁窗看谐波频率分布,各司其职。
示波器FFT的坑,也别忘了
动态范围有限这个事再强调一遍。如果你信号里有一个很大的基波和很小的谐波,幅度差了40dB以上,小谐波在8位ADC下基本就埋在量化噪声里了,示波器FFT是看不到的。这是硬件天花板,换什么窗都没用。
另外,探头带宽要是比你的分析频率低,高频分量直接就被衰减了。你测100MHz的频谱,探头只有60MHz带宽,那超过60MHz的部分幅度全是错的。所以探头规格得提前看一眼。
还有就是采样率不够导致的混叠。如果你在频谱上看到一个低频峰,但又觉得它不应该存在,提高采样率看看它会不会消失或者移动。如果会,就是混叠出来的假象,可以忽略。
如果你实在调不出来,或者拿不准某个频谱峰是真实的还是测量伪迹,可以联系我这边。安泰测试科技做了十八年示波器相关支持,泰克FFT设置这种事我们处理过太多。电话或微信18682985902,工程师可以在线帮你看一眼设置,不用你硬扛。很多时候就是窗函数或者时基没匹配好,一两句话的事。
最后几个常见问题,顺手答了
问:示波器FFT能替代频谱仪吗?
答:替代不了。动态范围和灵敏度差得远,但用于调试阶段定性分析、定位干扰源,非常好用,关键是不用另外搬设备。
问:FFT频谱上那个最高峰幅度怎么看?
答:用光标,把光标1放到峰顶上,读数直接显示频率和幅度。如果用的是dBV单位,0dBV就是1Vrms,负值就是小于1Vrms。
问:为啥我的FFT频谱出现“梳子”一样的密集梳状谱?
答:大概率是时域采集的信号里含有周期性重复的脉冲或突发噪声,也有可能是窗函数旁瓣泄漏,先试试换汉宁窗、加平均,看看有没有改善。
问:时基应该设多大?
答:没有固定值。先保证采样率够(至少5倍最高频率),然后尽量把时基调慢以延长采集时间,来提高分辨率。用“存储深度”配合调节会更灵活。
问:FFT结果不更新怎么办?
答:检查是否触发了“停止”采集模式,或者示波器在处理长数据时运算较慢。按一下“Run/Stop”就能恢复。
测电源也好,查干扰也好,FFT就是一个把“感觉”变成“证据”的工具。很多时候你隐约觉得某个噪声有问题,但说不出它从哪来,FFT的频谱一出来,频率数字摆在那,顺着它去找,基本八九不离十。试试看,别浪费了示波器上这个功能。
