基于FPGA的微弱信号快速采集处理方法

2014-09-06 10:50曹学友梁永烨
电子器件 2014年4期

曹学友,祖 静,田 壮,梁永烨

(中北大学电子测试技术国家重点实验室,太原 030051)



基于FPGA的微弱信号快速采集处理方法

曹学友,祖静*,田壮,梁永烨

(中北大学电子测试技术国家重点实验室,太原 030051)

摘要:针对微弱信号的采集慢,处理困难等问题,提出了一种基于FPGA的采集处理方法,以累加平均算法为基础,在FPGA内部编程设计双口RAM缓冲累加控制模块,对采集到的信号做预处理,然后与PCI模块握手通信,完成数据的传输,最终由上位机做数据处理分析。经过实验调试验证,此方法可以有效地采集微弱信号,并对其进行处理分析。为微弱信号的采集处理提供了新的方法。

关键词:微弱信号;采集处理;FPGA;累加平均

微弱信号的检测是一门新兴的、交叉的技术学科。近年来,微弱信号检测技术的研究重点是如何从强噪声中提取有用信号,探索新方法和新技术来提高检测系统输出信号的信噪比。微弱信号的检测方法有窄带滤波法、双路消噪法、锁定接收法、相关检测法、取样积分法以及累加平均法等。窄带滤波法是用窄带通滤波器滤掉大部分的噪声功率,使噪声功率很小的一部分通过,因此输出信噪比得到很大提高,此方法不能检测深埋在噪声中的信号,通常只用在对噪声特性要求不高的场合;双路消噪法不能复现信号波形,仅能检测出正弦信号存在与否;锁定接收法是一种频域分析方法,用途不够全面;相关检测法需要信号具有一致的规律,然后通过相关运算,检测到微弱信号;采样积分法需要检测信号是周期信号,并且周期必须是已知的。累加平均法就是利用信号的重复性和噪声的随机性特点,对信号进行重复多次测量,并使信号同相积累起来,此时噪声无法同相积累,以此来提高信噪比,完成微弱信号的采集处理。本文就以累加平均法为基础,提出了以FPGA为基础的微弱信号检测的方法,用于对微弱信号进行快速采集和处理。

1 方法基础

1.1累加方法原理

累加平均法是基于噪声的随机性和信号的稳定性,适用于具有随机干扰噪声的周期信号进行滤波,其数学表达式为:

(1)

设高斯白噪声nij的有效值为δn,对其单次取样xij=si+nij,其中si为有用信号,则未对其进行累加平均处理的信噪比可用式(2)表示:

SNRi=si/δi

(2)

经过N次累加后:

(3)

由于si为周期信号,经过N次累加后其幅值会增加N倍。而噪声nij为随机信号,其累加的过程需进行统计分析而不是简单的幅度相加。取样累加后噪声的均方值可由式(4)表示:

(4)

(5)

累加后噪声有效值为:

(6)

累加后信号电压值为:

生产力的乘数效应论析 ………………………………………………………………………………………………… 农华西(3/53)

(7)

累加后输出信号的信噪比为:

(8)

由式(2)和式(8)可得信噪改善比:

SNIR=SNRo/SNRi

(9)

1.2FPGA

FPGA(FieldProgrammableGateArray)即现场可编程门阵列,是一种半定制ASIC,优点是开发周期短,系统简单,高集成度、体积小、高速、通用性好。内部丰富的触发器及逻辑资源为实现各种组合和时序逻辑电路提供了保障。FPGA的内部功能模块可以设计为并行执行,相互间互不干扰,这就大大加速了算法的实现。此外FPGA的功耗比较低,可以用在对功耗要求高的场合[7]。

2 基于FPGA的技术方法

本文提出的微弱信号采集处理方法主要是在FPGA内部完成对累加平均法的编程和实现,在其内部实现控制32bit加法器和双口RAM的切换来对微弱信号进行快速采集和预处理,并通过FPGA和PCI总线握手通信,把预处理过的微弱信号传递给上位机,完成微弱信号的最后处理和存储。整体包括4部分:数据采集模块、FPGA控制模块、PCI传输模块、电源。其总体原理框图如图1所示。

图1 总体工作原理框图

FPGA控制模块主要实现的功能是控制数据采集,对采集信号进行预处理,并通过PCI接口芯片实时快速的传输到上位机中。其主要由主控制模块,2个双口RAM,DCM时钟管理模块,32 bit加法器模块,以及多路选择开关组成。FPGA内部逻辑框图如图2所示。

图2 FPGA内部逻辑框图

FPGA主控制模块主要实现时钟控制、A/D采样控制、内部缓存、PCI读数控制、累加次数控制、双口RAM控制、以及加法器控制等。时钟控制是对外部时钟进行倍频和控制,外部时钟是40 MHz,倍2.5倍频,产生100 MHz频率,用于控制A/D采样,实现A/D的快速采集;累加次数控制的次数由PCI写控制时序完成,通过上位机软件发出,因为系统中的数据宽度为32 bit,A/D分辨率为14 bit,所以最大累加次数可达218次;双口RAM和加法器控制是为了实现将其中一个双口RAM在上一次循环中存储的数据的实时读出,并通过32 bit加法器模块与A/D实时采集的数据相加后再写入另一个双口RAM中;非门的作用就是实现2个双口RAM的交替读写功能;图中2个多路选择开关MUX分别用于实现A口与B口地址、采样时钟与PCI读数时钟,以及2个双口RAM输出的切换操作。

2.1.1FPGA内部双口RAM缓冲累加控制模块原理

双口RAM缓存累加模块主要由一个32 bit的加法器,2个DRAM存储器和地址选择模块组成。当系统检测到采集触发信号有效时,逻辑控制器件FPGA控制A/D工作,同时将采集到的数据送入双口RAM缓存累加模块,为了满足本系统对数据叠加的特殊要求,需在模拟信号采集通道后加入大容量“乒乓”缓存部分,同时根据实际情况设定累加次数N,一旦检测到N计满,则结束程序。其流程图如图3所示。

图3 FPGA累加平均过程流程图

A/D转换的数据是14 bit,系统所需的是32 bit,则要求将14 bit的数据整合为32 bit的,这里将采集到的14 bit数据作为32 bit数据的低位,高18 bit补零。当数据要进行叠加操作时,将采集到的数据与缓存的数据不断相加,直到完成设置的叠加次数。

A/D的采样频率为100 MHz,采集数据的时间很短。为了避免发生数据丢失的状况,在数据到来前,要求上一循环的数据累加操作必须完成。在本系统中A/D采集端的速度与PCI总线的速度不同,需要用缓存器使得数据匹配。当触发信号到来,为了完成数据累加功能,FPGA需要把采集部件输出的数据缓存到数据缓存模块的相应地址上。每采集完设定的点为一次循环;当再次检测到采集触发信号有效时,采集到的数据将与上一次循环采集的数据对应相加。由于系统对数据读写操作的特殊需求,缓存器需采用“乒乓”缓存方式实现数据的高速传输。通过对逻辑器件FPGA进行控制程序的设计,数据累加过程时序仿真如图4所示。

由图4中的仿真结果可以看出,在累加的第1个周期不做加法运算,而直接将A/D结果写入其中一个双口RAM中,因为另一片的双口RAM的值在第1个周期或上电复位后不为零,这样设计可以避免不必要的清零过程。图中addrabus为写地址,在触发信号有效后,开始累加采集,采到设定的存储容量后停止,该宽度在采样频率及缓冲容量一定的条件下保持不变,但触发周期可由上位机来选择设定。

图4 FPGA累加过程仿真时序图

2.1.2FPGA与PCI通信累加原理

微弱信号的累加次数是由上位机软件给出,FPGA控制PCI写控制时序完成的,因为系统中的数据宽度为32 bit,A/D分辨率为14 bit,所以累加次数必须都是2的幂级数,最大可以累加218次幂。下面给出了PCI读数仿真过程:

由图5的仿真结果可以看出,PCI读出的数据相差4,即实现了A/D数据的4次累加功能。

图5 PCI读数过程时序仿真图

对微弱信号的采集频率100 MHz,能够实现微弱信号的快速采集。采集到的数据经过FPGA内部的预处理,与PCI模块进行握手指令通信,把数据由PCI模块传输到PC机,对数据做运算和后处理,完成对微弱信号的采集和存储。

3 实验调试结果

为了验证本方法的快速性和可靠性,进行了实际实验,图6为上位机软件显示的采集系统采集到的混合微弱信号,里面存在着有效的微弱信号和噪声信号。图7是上位机传输256次累加平均命令之后采集到的微弱信号,可以明显地看出,噪声信号被滤掉大部分。图8则是经过51次累加平均之后的结果,可以看出噪声信号基本上被全部滤掉,比256次累加平均之后的效果更好。从图6我们还可以看出,PCI数据采集卡采集速率达到74.3MB/s,能够有效快速的采集微弱信号。通过实验验证,本文设计的基于FPGA的微弱信号采集方法是可行和可靠的。

图6 原始信号波形

图7 累加平均256次

图8 累加平均512次

4 结论

本文以累加平均法原理为基础,在FPGA内部编程累加平均法,设计双口RAM缓冲累加模块,倍频A/D的采样频率,与PCI握手通信,传递数据到上位机,完成微弱信号的快速采集处理。经过实验验证,此方法可行可靠,完全可以用于微弱信号的采集处理。为以后微弱信号的采集处理提供了新的方法。但还没进行实地测验,不知道所设计的方法应用在恶劣环境下怎么样,下一步扩大此方法的应用范围。

参考文献:

[1]李方方.微弱信号检测与采集技术的研究[D].哈尔滨:哈尔滨工业大学,2006.

[2]章克来,朱海明.微弱信号检测技术[J].航空电子技术,2009(2):30-36.

[3]陈正涛.微弱信号相关检测技术综述[J].科技广场,2006(7):111-112.

[4]熊松.基于PCI总线的数据采集卡的实现[D].南京:东南大学,2006.

[5]Dempster A G,Murphy N P.Efficient Interpolators and Filter Banks Using Multiplier Blocks[J].IEEE Transactions on Signal Processing,2000,48(1):257-261

[6]黄身锞.PCI总线接口芯片9054及其应用[J].世界电子元器件,2006(6):57-59.

[7]楮振勇,齐亮.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002:40-52.

[8]王雅曼.弱信号检测技术研究[J].科技创新导报,2011(7):13.

[9]程耀林.FPGA的系统设计方法解析[J].微型电脑应用,2007(1):48-51.

[10]杨健鸷,刘霖.基于FPGA的面阵CCD图像采集系统[J].电子器件,2012,36(1):49-51

曹学友(1989-)男,汉族,山东济宁人,硕士,中北大学电子测试技术国家重点实验室,从事动态测试与智能仪器及冲击波超压测试研究,caoxueyou0808@yeah.net;

祖静(1933-)男,汉族,山西太原人,中北大学电子测试技术国家重点实验室,教授,博导,从事动态测试与智能仪器研究,zujing@nuc.edu.cn。

WeakSignalProcessingMethodsofFastAcquisitionBasedonFPGA

CAOXueyou,ZUJing*,TIANZhuang,LIANGYongye

(Science and Technology on Electronic Test and Measurement Laboratory North University of China,Taiyuan 030051,China)

Abstract:In view of slow acquisition of the weak signals,processing difficulties and other related issues,based on FPGA,an acquisition processing method is presented.The method is founded on the paris of the cumulative average algorithm.In order to be pretreated the collected signal a dual port RAM buffer accumulation control module is designed inside the FPGA programming.It completes the data transmission under shaking hands with PCI module.The PC can analyse the final signal data.Proven by debugged experiments,this method can collect the weak signal effectively,and analyse the signal data.

Key words:weak signal;collection and processing;FPGA;cumulative average

doi:EEACC:7210G10.3969/j.issn.1005-9490.2014.04.016

中图分类号:TP334

文献标识码:A

文章编号:1005-9490(2014)04-0654-04

收稿日期:2013-08-02修改日期:2013-08-24