数字示波器的FFT分析装置的制作方法

文档序号:15888105发布日期:2018-11-09 19:39阅读:318来源:国知局
数字示波器的FFT分析装置的制作方法

本发明属于数字示波器技术领域,更为具体地讲,涉及一种数字示波器的fft分析装置。

背景技术

在传统数字示波器中,fft分析方法是:将输入的模拟量电流电压通过ad采样环节变换成离散的数字量,然后进行快速傅立叶变换,计算获得基波和各次谐波的复数值。现有数字示波器采样率高,传统的fft用软件实现,串行处理速度慢,不能满足高速数字示波器的实时fft需求;传统示波器fft分析数据点抽取信号不能与原始采集信号同步,并且由于不能满足整周期固定点采样导致存在截断误差,因此实际精度不高;传统fft分析方法噪声频谱分量过大,影响观察被测信号的频谱,具体分析如下:

(1)传统fft分析方法耗时较长,导致波形捕获率降低:

传统fft分析是由软件实现的,高速数字示波器传输速率快且为多通道同步采样,由于软件是串行处理导致处理速度慢,信号处理需要消耗更多的时间,由数据处理时间与波形捕获率成反比,数字示波器的波形捕获率将降低。

(2)传统fft分析方法精度较低:

传统数字示波器中基于软件的fft方法,普遍采用根据适当的抽点系数抽点后将数据送入软件中,软件根据相关的fft算法计算被测信号的频谱。该抽点算法无法实现被测信号基波频率f0的2q,q∈[1,2,3…]倍抽点,并且抽点使能信号与被测信号基波频率f0相位随机,从而导致数据截断误差、相位误差降低fft的分析精度。

(3)传统fft分析方法不能有效降低通道的底噪:

传统fft分析无法抑制通道噪声,导致低信噪比的被测信号的频谱容易被噪声的频谱淹没,导致分析结果不精确,不利于复现原始信号的频谱,给原始采集信号频谱的观察带来很大的干扰。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种数字示波器的fft分析装置,通过对多通道多路并行adc采集信号进行同步固定点整数周期抽取后取平均值,提高了fft分析的精度,降低通道噪声,使输入信号的频谱更利于观测。

为了实现上述发明目的,本发明数字示波器的fft分析装置包括时钟模块、分频器模块、比较器模块、信号采集模块、相位校正模块、数据缓存模块、频率测量模块、倍频模块、同步抽取模块、fft分析模块和上位机,其中相位校正模块、数据缓存模块、频率测量模块、倍频模块、同步抽取模块和fft分析模块在fpga中实现。

时钟模块用于生成n路采集时钟ad_clkn、1路频率测量参考时钟clks和1路倍频参考时钟clk0,其中n=1,2,…,n,n表示采集模块的通道数量,将n路采集时钟ad_clkn分别输入信号采集模块的每片adc进行时钟控制,以保证n通道信号同步采集,频率测量参考时钟clks和倍频参考时钟clk0分别发送给频率测量模块和倍频模块;

比较器模块用于接收输入的n个通道模拟信号进行阈值比较,得到与n路模拟信号频率相同、占空比为50%的方波信号wn,将n路方波信号wn发送至分频器模块;

分频器模块用于将接收到的n路方波信号wn进行固定k分频,k的值需要令分频后信号的频率符合fpga信号输入的频率范围,将分频后得到的信号发送至fpga中的频率测量模块用于频率测量;

信号采集模块用于对输入的n个通道模拟信号进行采集,信号采集模块包括n个adc模块,每个adc模块包含m片交替采集的adc子模块,每个通道的模拟信号由对应adc按照接收到的采集时钟ad_clkn进行信号采集,每个adc模块并行输出m路数据和1路采集时钟ad_clkn至数据缓存模块,记第n个通道所采集的数据datan为un1,un2…,unm,其中unm表示第n个通道中第m路数据;

相位校正模块用于对信号采集模块的每片adc进行相位校正,使每个adc模块输出相位相同;

数据缓存模块包括n个fifo,第n个fifo对第n个通道的数据datan进行降速缓存,根据ad_clkn实现n个通道的数据datan同步输出;

频率测量模块用于从时钟控制模块接收频率测量参考时钟clks,从分频器模块接收方波信号进行频率测量,得到n个通道数据对应的k分频后的频率然后计算得到n个通道数据对应的频率将n个频率发送给同步抽取模块,将方波信号转发至倍频模块;

倍频模块用于接收倍频参考时钟clk0和n个频率信号分别对n个频率信号进行k×dn倍倍频得到倍频信号将n个倍频信号和对应的分频系数an输出至同步抽取模块,dn表示从上位机接收的对第n个通道的倍频系数;

同步抽取模块用于从上位机接收fft分析的信号周期数p,从倍频模块接收n个倍频信号然后从数据缓存模块并行读取n个通道的数据datan,分别对每个通道的m路数据unm根据对应的倍频信号进行抽取,抽取方法如下:

设置每个通道的m路数据unm的p个周期对应的闸门时间tn:

倍频信号与闸门时间tn的闸门信号边沿对齐,在闸门时间tn内对数据unm根据倍频信号进行抽取,将倍频信号每两个上升沿之间的数据作为一个数据序列提取出来,在闸门时间tn共计提取出dsum个数据序列,dsum=p×k×dn,记数据unm中提取出的第d个数据序列为datanm[d],d=1,2,…,dsum,记数据序列datanm[d]对应的分频系数为an[d];

将每个通道提取出的数据按照以下计算公式进行平均,得到第n个通道的平均数据data′n:

其中datan′[d]表示平均数据data′n的第d个数据点,datanm[d][i]表示数据序列datanm[d]中的第i个数据,i=1,2,…,an;

将得到的每个通道的平均数据data′n发送给fft分析模块;

fft分析模块包括n组fftip核和平均数据fifo缓存模块,第n个fftip核用于接收第n个通道的平均数据data′n,对其进行fft运算,得到fft运算结果fn;第n个平均数据fifo缓存模块用于对第n个通道的平均数据data′n进行缓存,缓存之后可以发送至上位机进行波形显示与fft运算结果进行对比;

上位机接收用户设置的fft分析的信号周期数p和倍频系数dn,将fft分析的信号周期数p发送给同步抽取模块,将倍频系数dn发送给倍频模块;从fft分析模块中读取每个通道的fft运算结果fn和缓存的平均数据data′n进行频谱显示。

本发明示波器的fft分析装置,对多通道adc采集的并行数据进行缓存,然后测量得到每个通道分频后的信号频率,对每个通道分频后的频率信号进行倍频得到倍频信号,对通道数据的频率进行还原,同步抽取模块从缓存的采集数据中读取各个通道的并行数据,根据倍频信号进行数据抽取,对单个通道的并行抽点数据进行平均得到每个通道的平均数据,对该平均数据进行fft运算和缓存,由上位机读取进行对应通道的频谱显示。

本发明具有以下有益效果:

1)本发明是由fpga实现,fpga对数据处理速度比软件数据处理速度快,因此能够满足高速数字示波器实时的fft功能的要求,同时极大提高了波形捕获率;

2)本发明可以实现整数周期固定点抽取,倍频模块产生的倍频信号为非等间隔信号,使用此倍频信号进行同步抽取可以实现对采集信号整数周期的固定点抽取,并且抽点信号能够与被测信号同步,减小了抽点时产生的截断误差,极大提高了fft分析的精度,使得fft分析后的频谱更接近被测信号的真实频谱;

3)本发明通过对多路并行adc采集信号抽取后的数据取平均值能够有效抑制通道噪声和毛刺信号,提高了fft分析的精度,更有利于fft分析后得到信号源的真实频谱信息。

附图说明

图1是本发明数字示波器的fft分析装置的具体实施方式结构图;

图2是本实施例中倍频模块结构图;

图3是本实施例中现有示波器fft分析装置的输出频谱图;

图4是本实施例中本发明的输出频谱图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明数字示波器的fft分析装置的具体实施方式结构图。如图1所示,本发明数字示波器的fft分析装置包括时钟模块1、分频器模块2、比较器模块3、信号采集模块4、相位校正模块5、数据缓存模块6、频率测量模块7、倍频模块8、同步抽取模块9、fft分析模块10和上位机11,其中相位校正模块5、数据缓存模块6、频率测量模块7、倍频模块8、同步抽取模块9和fft分析模块10在fpga(field-programmablegatearray,现场可编程门阵列)中实现,接下来分别对每个模块进行详细说明。

时钟模块1用于生成n路采集时钟ad_clkn、1路频率测量参考时钟clks和1路倍频参考时钟clk0,其中n=1,2,…,n,n表示信号采集模块2的通道数量,将n路采集时钟ad_clkn分别输入信号采集模块2的每片adc进行时钟控制,以保证n通道信号同步采集,频率测量参考时钟clks和倍频参考时钟clk0分别发送给频率测量模块5和倍频模块6。本实施例中采集通道数量n=2,设置采集时钟ad_clkn频率为2.5ghz,频率测量参考时钟clks频率为100mhz,倍频参考时钟clk0频率为10mhz。

比较器模块3用于输入的n个通道模拟信号进行阈值比较,输出与比较器模块输入信号频率相同占空比为50%的方波信号wn,将方波信号wn发送至分频器模块。

分频器模块2用于将接收到的n路方波信号wn进行固定k分频,k的值需要令分频后信号的频率符合fpga信号输入的频率范围,将分频器模块输出信号发送至fpga中的频率测量模块用于频率测量。一般来说k设置为奇数,本实施例中k=9。

信号采集模块4用于对输入的n个通道模拟信号进行采集,信号采集模块2包括n个adc模块,每个adc模块包含m片交替采集的adc子模块,每个通道的模拟信号由对应adc按照接收到的采集时钟ad_clkn进行信号采集,每个adc模块并行输出m路数据和1路采集时钟ad_clkn至数据缓存模块4,记第n个通道所采集的m路数据datan为un1,un2…,unm,其中unm表示第n个通道中第m路数据。

本实施例中信号采集模块2采用2个数据采集通道包含两个adc模块,本实施例中采用的adc芯片有3种采集模式,单通道1.25gsps采样率采集(使用1个adc子模块)、双通道2.5gsps采样率交替采集(使用2个adc子模块)、4通道5gsps采样率交替采集(使用4个adc子模块),此处将adc配置为4通道5gsps采样率交替采集模式,即每个通道有4路并行数据,在本实施例中采用fft分析装置测量开关电源的频谱。

相位校正模块5用于对信号采集模块的每片adc进行相位校正,使每个adc模块输出相位相同。本实施例中相位校正模块3的相位校正方法如下:

1)n个adc模块同时对一个正弦信号源进行采集。

2)判断n个adc模块的输出数据是否相同,如果相同则记载当前对每个adc模块的相位调整值,相位校正完全,否则进入步骤3)。

3)以某一个adc模块(一般选择第1个)的输出数据为基准,控制另外n-1个adc模块的相位调整值,调节输出信号相位,返回步骤2)。

本实施例中n=2。

数据缓存模块6包括n个fifo,第n个fifo对第n个通道的数据datan进行降速缓存,根据ad_clkn实现n个通道的数据datan同步输出。本实施例中包括2个fifo,由于每个数据datan为4路并行数据,那么经过fifo缓存后仍为4路并行数据。

频率测量模块7用于从时钟控制模块1接收频率测量参考时钟clks,从分频器模块接收方波信号进行频率测量,得到n个通道数据对应的k分频后的频率然后计算得到n个通道数据对应的频率将n个频率发送给同步抽取模块9,将方波信号转发至倍频模块8。本实施例中采用的频率测量方法如下:

由频率测量参考时钟clks计数产生一个预设闸门信号,然后用方波信号同步预设闸门信号产生实际闸门信号,频率测量参考时钟clks和方波信号在实际闸门内计数,记频率测量参考时钟clks的频率为fs,实际闸门信号的时间内对标准时钟计数为nums,对方波信号的计数值为则方波信号频率的计算公式如下:

倍频模块8用于接收倍频参考时钟clk0和n个频率信号分别对n个频率信号进行k×dn倍倍频得到倍频信号将n个倍频信号和对应的分频系数an输出至同步抽取模块9,其中dn表示从上位机11接收的对第n个通道的倍频系数,即每个基波周期抽取的数据点的个数。

图2是本实施例中倍频模块结构图。如图2所示,本实施例中倍频模块8包括n组周期计数器81和小数分频器82,其中第n个周期计数器81用于采用倍频参考时钟clk0对频率信号进行周期计数,记频率信号一个周期内对倍频参考时钟clk0的计数值为cn,即f0表示倍频参考时钟clk0的频率。周期计数器81将得到的计数值cn发送给第n个小数分频器。

每个小数分频器82包括除法器821、加法器822、比较器823和分频器824,其中第n个小数分频器82中的除法器821用于接收计数值cn,计算cn/(kdn),记商为sn、余数为yn,将商sn发送给分频器824,将余数yn发送给加法器822;

加法器822用于计算和值sumn=sumn+yn,sumn的初始值为0,将得到的和值sumn发送给比较器823;

比较器823用于将和值sumn与倍频系数kdn进行比较,当sumn>kdn时,令sumn=sumn-kdn,返回给加法器822,且令标识flagn=1,当sumn≤kdn时,令标识flagn=0;比较器823将标识flagn发送给分频器824。

分频器824用于接收商sn和标识flagn,根据标识flagn确定分频系数,当flagn=1时分频系数为sn-1,当flagn=0时分频系数为sn,根据分频系数对倍频参考时钟clk0进行分频,得到倍频信号和分频系数an,可见,分频系数an可以采用如下表达式表示:

由于倍频信号的频率由此可以实现将频率信号进行kdn倍倍频。根据分频器824的操作可知,本实施例中倍频模块8输出的倍频信号为非等间隔周期信号,同步抽取模块9基于此倍频信号进行抽取。

同步抽取模块9用于从上位机11接收fft分析的信号周期数p,从倍频模块8接收n个倍频信号然后从数据缓存模块6并行读取n个通道的数据datan,分别对每个通道的m路数据unm根据对应的倍频信号进行抽取,抽取方法如下:

设置每个通道的m路数据unm的p个周期对应的闸门时间tn:

倍频信号与闸门时间tn的闸门信号边沿对齐,在闸门时间tn内对数据unm根据倍频信号进行抽取,将倍频信号每两个上升沿之间的数据作为一个数据序列提取出来。根据倍频信号的生成过程可知,对于同一通道的每路数据,在闸门时间tn共计提取出dsum个数据序列,dsum=p×dn,记数据unm中提取出的第d个数据序列为datanm[d],d=1,2,…,dsum。根据倍频信号的生成过程和抽点过程可知,在两个上升沿之间的数据点数即为其分频系数大小,因此记数据序列datanm[d]对应的分频系数为an[d],an[d]即为数据序列datanm[d]中的数据点数。

将每个通道提取出的数据按照以下计算公式进行平均,得到第n个通道的平均数据data′n:

其中datan′[d]表示平均数据data′n的第d个数据点,datanm[d][i]表示数据序列datanm[d]中的第i个数据,i=1,2,…,an。

将得到的每个通道的平均数据data′n发送给fft分析模块。将得到的每个通道的平均数据datan′发送给fft分析模块10。

fft分析模块10包括n组fftip核101和平均数据fifo缓存模块102,第n个fftip核101用于接收第n个通道的平均数据datan′,对其进行fft运算,得到fft运算结果fn;第n个平均数据fifo缓存模块102用于对第n个通道的平均数据datan′进行缓存,缓存之后可以发送至上位机进行波形显示与fft运算结果进行对比。

本实施例中信号周期数p=8,倍频系数dn=1024,因此最终抽取得到的数据点数dsum=8192。

上位机11将fft分析的信号周期数p和数据点数q发送给同步抽取模块9,将抽取系数dn发送给倍频模块8;从fft分析模块10中读取每个通道的fft运算结果fn和缓存的平均数据datan′并进行频谱显示。

为了更好地说明本发明的技术效果,采用matlab软件对现有示波器fft分析装置和本发明进行仿真对比。本次仿真对比的输入信号为:

u=1+sin(2π×104×t)+0.7×sin(2π×2×104×t)+0.6×sin(2π×3×104×t)

+0.5×sin(2π×4×104×t)+0.4×sin(2π×5×104×t)+0.3×sin(2π×6×104×t)

在信号u中叠加信噪比为1的高斯噪声。

图3是本实施例中现有示波器fft分析装置的输出频谱图。图4是本实施例中本发明的输出频谱图。对比图3和图4可知,本发明所得到的输出频谱中信号频率更加精确,并且对噪声有很好的抑制作用,使输入信号的频谱更利于观测。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1