示波器波形参数测量和FFT分析



孙灯亮博客<示波器波形参数测量和FFT分析>        http://blog.sina.com.cn/s/blog_5d713e7a0100ka7o.html


FFT了解

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

 现在圈圈就根据实际经验来说说FFT结果的具体物理意义。一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍采样得到的数字信号,就可以做FFT变换了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。

假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。

假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。
对于n=1点的信号,是直流分量,幅度即为A1/N。  由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。

总结:假设采样频率为Fs,采样点数为N,做FFT之后,一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N);该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。


数字示波器的FFT分析功能

FFT是一项很强大的分析功能,在数字示波器中普遍存在,基于先进的FFT分析,设计人员可以准确了解信号中引入的干扰信号频点,信号功率谱,信号频率构成,滤波电路截频特性等。为了更好的理解示波器FFT,下面我们不妨先来简单地回顾一下FFT中几个重要的参数和关系表达式。

 

采样率:示波器的采样频率,用Fs表示。为了让讲解内容更易于理解,下面不妨就以1GS/S这个值代替Fs作为示波器的采样率用来描述相关问题;

 

FFT点数:示波器用于FFT变换的样本数据个数,用N表示。假如示波器可执行4M点的实时FFT运算(以致远电子ZDS2022示波器为例)。显然用4M点做FFT变换,势必需要惊人的运算能力和运算效率;

 

频率分辨率:用△f 表示示波器能分辨的最小频率。假设频率分辨率为10Hz,则可分辨10Hz、20Hz、30Hz……等10Hz整数倍的频率点,但不能分辨出15Hz、25Hz、37Hz等非整数倍的频率点。

 

如果被测信号中存在15Hz这样的信号,显然经过FFT变换后,频谱上不会出现15Hz这个频率点,即无法分析出来。但该频点的能量并不会消失,而是将泄露到与之相近的10Hz 和20Hz 频点上,不仅造成15Hz的信号分辨不出来,更是连10Hz和20Hz频点的幅值也变得有错误,因为15Hz频点的能量泄露到这两个频点上去了。因此唯有进一步提高FFT的频率分辨率,比如,提高到5Hz或1Hz或更高(△f值越小越好),才能准确分辨信号频率成分。在采样率一定时,若想提高频率分辨率,则只能通过增加FFT点数来实现,但有个前提,那就是示波器必须具备足够强的运算能力和足够大的存储深度,且两者缺一不可。当然,还有另一种方法去提高频率分辨率,那就是降低信号采样率,但势必会导致无法分析高频信号,同时也面临一个现实的问题,几乎所有的示波器都是无法手动设置示波器的采样频率。

 

采样时间:在采样率Fs下,采集N个点所需要的时间,用T表示,显然T=N / Fs。注意该采样时间对应于FFT变换所用的N个点,而非整个示波器的捕获时间。而示波器捕获时间对应于整个存储深度,当做FFT变换时,并不一定需要使用全部的存储深度,因此两者不等价。

 

事实上,上述的参数构成了一个重要关系式,将贯穿整个关于FFT的阐述之中。

 

△f = Fs / N (1)

 

频率分辨率等于采样率除以FFT点数。将上述公式稍作变换:

 

△f = Fs / N =1 / (N / Fs) = 1 / T (2)

 

即频率分辨率等于采样时间的倒数。实际上公式(1)和(2)是等价的,只是从不同的角度来说明问题而已。

 

为什么示波器必须做到4M个点的实时FFT呢?常见的一些示波器,FFT最大只支持8K个点,甚至有些示波器只有1K个点。根据上面的关系表达式可以看出,在1GS/S采样率下,最高频率分辨率只有

 

Fs/N=1GS/S/ 8K点 = 125KHz

 

也就意味着,如果被测信号不是125K的整数倍,则根本无法判断信号频谱。真实世界又能有多少个被测信号正好是125KHz的整数倍呢? 因此这种示波器的FFT没有任何实用价值。这也是为什么普遍的示波器宣传资料中,几乎见不到关于FFT性能宣传的根本原因。

 

有少量的示波器厂商对FFT做了深度优化,使得其示波器最大可支持数百万点的FFT甚至更多,但高性能FFT一般都在高端示波器上,下面以周立功的ZDS2022为例来介绍(4M FFT点,售价9999元,性价比是很高的)。根据上述的关系表达式,在1GS/S采样率下,FFT的频率分辨率仍能达到1GS/S / 4M点 = 250Hz。显然,在1GS/S采样率下能够达到这样的频率分辨率,也就是说只要被测信号频率是250Hz的整数倍,ZDS2022就能准确无误地分辨出来。即便被测信号不是250Hz的整数倍,即便存在频谱泄露,但在250Hz这么小的频率分辨率下,也能较准确地分析出被测信号的大致频点。

 

假设被测信号中包含100KHz和150KHz两种频率分量,以及其它的一些更高频率的信号,对于普通示波器来说,由于最大只支持8K点FFT,即频率分辨率只有125KHz,显然无法分辨出100KHz和150KHz频点信号。为了证明这一点,我们不妨做一些测试。为了避免真实信号中本身的干扰影响到分析的准确性,则采用MATLAB构建一个纯正的信号来从数学原理上进行分析。下面设计一个信号:

 

y =0.7*sin(2*pi*100000*t) + 1.2*sin(2*pi*150000*t)

 

这是一个包含100KHz和150KHz两种频率分量的信号,幅值分别为0.7和1.2,此信号详见下图:


原始信号(包含100KHz和150KHz两种频率分量)

下面分别以1GS/S采样率对该信号采样,做8K点和4M点的FFT变换,直接给出结果,其相应的代码详见程序清单。

程序清单 MATLAB代码

按理说FFT可以直接分析出100KHz和150KHz频率信号,真的是这样?如下图所示为8K点FFT结果,为何没有看到100KHz和150KHz这两个信号呢?而屏幕上只有一个125KHz的信号,且幅值既不是0.7,也不是1.2,却是毫不相干的1.464。因为在8K点时,频率分辨率只有Fs/N=1GS/S / 8K = 125KHz,导致无法分辨100KHz和150KHz频点,又由于频谱泄露,250KHz频点处都能看到幅值为0.2249,直流分量(0Hz)也有幅值0.2062,显然给出的信号中并无这两个分量。那么8K点FFT给了用户正确结果吗?显然没有。不单是幅值不正确,就连那些最基本的频率分量都是错的,这样的FFT有何意义?


下面我们再来看一下4M点FFT得出的结果将会是怎样,详见下图。由于4M点FFT时频率分辨率高达250Hz,因此可以准确无误地分辨出100KHz和150KHz频点信号,且无频谱泄露,100KHz信号幅值为0.7,150KHz信号幅值为1.2,准确无误地给出了最真实的结果,4M点相对8K点的FFT优势就在于此,可准确有效地分析出信号频谱成分,为用户提供真正有用的频谱结果。


假设要经常分析电路中存在的噪声,又遇上示波器频率分辨率不够好,则无论如何都不能准确定位出噪声来源。若采用带4M点FFT分析的示波器(例如ZDS2022示波器)进行分析则会截然不同,因为有4M点FFT,即使在1GS/S采样率下,频率分辨率仍能达到250Hz,所以在FFT变换后能准确发现20KHz的噪声。联想到所用的DC-DC电源,其开关频率正好是20KHz,于是迅速定位到了噪声来源。

 

ZLG ZDS2022示波器-最强FFT分析功能

综上所述,客户遇到的问题就是我们的机会所在,当在200MHz带宽示波器上实现了4M点的FFT运算时,就可以在1GS/s采样率下保证FFT的频率分辨率达到250Hz水平,让示波器真正成为信号分析利器。


  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数字示波器因具有波形触发、存储、显示、测量波形数据分析处理等独特优点,数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。 数字示波器的工作方式是通过模拟转换器(ADC)把被测电压转换为数字信息。数字示波器捕获的是波形的一系列样值,并对样值进行存储,存储限度是判断累计的样值是否能描绘出波形为止,随后,数字示波器重构波形。数字示波器可以分为数字存储示波器(DSO),数字荧光示波器(DPO)和采样示波器。 通过数字示波器的原理框图可以知道,模拟信号必须先经过信号调理电路,将模拟信号进行适当的衰减或者放大,使信号能够较理想的输入到 ADC 中进行模数转换。经过调理的信号送到 ADC 中,经过控制器控制 ADC 进行信号的采样,同时经过调理的信号可以送到触发电路。经过 ADC 转换后的信号为数字信号,保存到存储器中,随后利用软件对这些数据进行处理,比如采用正弦内插算法进行波形的重建,重建后的波形可以进行各种各样的参数测量、信号运算和分析等,最终的结果可以直接显示到屏幕上。 本资料资料齐全,包括全部设计工程源码,原理图PCB设计,给出不同示波器的设计方案,以及放大器和数据转换器的指南,内有混合信号示波器方案,数字信号示波器方案,简易逻辑分析仪制作,可方便移植或进行二次开发。 设计任务:设计制作一台实时采集的模拟通道数字信号示波器。 1、基本要求 (1) 输入电压量程:0~±50V,电压测量精度≤±5%; (2) 输入信号频率:0~1MHz,频率测量精度≤±5% 。 (3) 输入阻抗≥1MΩ,显示屏的刻度为 8div×10div,垂直分辨≥8bits。 (4) 最高实时采样速率≥10MSa/s,扫描速度包含1s/div-1us/div等水平档位,波形周期测量误差≤±5%。 (5) 支持自动、边沿、电平、单次四种触发方式,触发位置显示,触发电平可调,可选触发类型。 (6) 垂直灵敏度为 5V/div -10mV/div档,按1-2-5步进,电压测量误差≤5%。 (7) 输入耦合方式可选:直流、交流和接地(DC、AC或GND)。 (8) 无需手动拨档,具有自动档位自动量程切换功能。 (9) 内置输入保护,自动滚轮设计,辅助快速完成波形调整与测量。 (10) 支持波形的运行和暂停,波形显示参考位置调节,波形放大,缩放。 (11)可选测量参数,包括频率、占空比、脉宽、上升沿、下降沿脉冲数、幅值、峰峰值、最大最小值、上升时间、下降时间等。 (12)可一键AUTO设置所有参数,秒出波形。 (13)可一键居中设置波形和触发位置居中,快速归位波形。 (14) 可手动移动的幅度和时间标志线,可利用标志线完成幅度和时间的测量。 (15)可选带宽范围(低频,高频抑制) 2、可选部分 (1)支持浮点FFT计算的幅频显示。 (2)支持各通道波形显示和测量值窗口的隐藏。 (3) 提高输入信号频率范围至10MHz (4) 进一步提高测量范围与精度。 (5) 可保存波形原始数据,方便电脑分析。 (6) 可简单给出当前测量数据的与实际值的符合度分析(比如:输入信号频率超出能测的范围给出提示)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值