王 挺,盛 文,蒋 伟,程 杨
(空军预警学院 防空预警装备系,武汉 430019)
近些年来,军用武器装备和民用大型设备发展迅速,传统测量仪器大多存在体积较大、功能单一、难以扩展、技术更新慢等缺点,无法满足当前电子设备的测试需求。以“软件即仪器”为核心理念的虚拟仪器技术VI[1],利用具有强大信息处理能力和软件兼容性能的通用计算机和外部数据采集模块,可以较好地弥补传统仪器多种缺点,该技术已成为当今仪器领域发展的重要方向[2]。
数字信号分析仪作为测试领域非常实用的虚拟测试仪器,已有多人对该仪器进行了设计和实现。文献[3]以USB总线的F24U数据采集卡作为数据采集设备,利用LabWindows/CVI实现了1台虚拟信号分析仪;文献[4]采用PCI-6251数据采集卡作为数据采集设备,基于LabVIEW完成了虚拟信号频谱分析仪的设计;文献[5]以STM32和附加电路作为数据采集设备,基于LabWindows/CVI实现虚拟信号分析仪的设计。在此,基于LabWindows/CVI软件开发平台,采用测试测量领域具有最主流的模块化仪器标准的PXI总线技术,利用NI PXI-5122高速数字化仪设计、实现了1台虚拟数字信号分析仪。该分析仪可单独作为平时实验测量仪器,也可应用于电子设备的性能测试,还可扩展为自动测试系统的一个测试模块,充分体现其广泛的适用性和可扩展性。
信号分析仪硬件模块采集设备的性能指标[6]主要包括通道数、采样率、采样精度和带宽。当前普通实验室示波器大多为双通道,采样率多为20 M/s和50 M/s,采样精度在30 mV左右,带宽大多在50 MHz左右。
结合普通实验室示波器性能特点,选用了NI公司的PXI 5122[7]数字化仪作为虚拟数字信号分析仪的信号采集模块。该数字化仪具有双通道采集能力,100 M/s单通道最高采样率和最高200 M/s的交叉采样采样率,在最大输入电压为20 V的情况下,14 b高精度分辨率可将采样精度提升至2 mV,并具有带有去噪和抗混叠滤波器的100 MHz带宽。这些性能指标均可以满足实验室的要求。
目前,可用于虚拟仪器开发的软件平台种类较多,概括起来分为以下2类[8]:①通用型软件编程开发环境, 包括 C/C++,Visual Basic,VC++,Visual Studio.net,Delphi,等;②专用型软件编程开发环境,主要有NI公司基于图形化语言的开发环境Lab-VIEW和基于C语言的文本开发环境LabWindows/CVI等。在此,采用在测试、测量领域久经验证的LabWindows/CVI作为虚拟数字信号分析仪的软件开发平台。
LabWindows/CVI是符合标准C规范的交互式软件开发系统。它不但能够把数据采集分析和测控领域中的专业工具有机地结合起来,还提供了大量与测试有关的、用于界面控制的控件,并且将仪器控制、数据采集、网络通讯、用户界面设计、数据处理与分析等功能做成函数库,嵌入到软件系统中。开发人员可直接利用该软件系统特有的与测试仪器界面控制的控件、集成化的开发环境和完善的函数库,高效地实现测控领域各种应用软件的研发。
所设计的基于LabWindows/CVI虚拟数字信号分析仪,实现被测信号采集、时域分析、加窗滤波、频谱分析、参数测量和波形显示等功能。整个软件系统由主控面板、信号采集模块、信号分析与参数测量模块和波形显示模块组成,其总体设计如图1所示。
图1 软件系统总体设计Fig.1 General design of software system
主控面板完成整个虚拟数字信号分析仪的控制、测量参数的设置、波形显示和人机交互。信号采集模块将被测模拟信号经A/D变换后转换成数字信号;信号分析与参数测量模块利用LabWindows/CVI强大的函数库实现被测信号的时域分析、加窗滤波、频域分析和时频域波形的参数测量;波形显示模块将时域波形和频域波形进行同界面显示,且为了方便用户观察波形,可以根据需求对波形的时间刻度和幅值进行调节。
主控面板利用LabWindows/CVI特有的仪器专用面板、按钮、旋钮、输入框等控件完成界面的搭建。所实现的主控面板由显示区域和控制区域组成。显示区域包括时频波形显示窗口、参数测量结果显示窗口和错误信息显示窗口;控制区域包括信号采集、加窗滤波、频谱分析、参数测量和波形调整等参数选择控件。
信号采集由PXI-5122数字化仪实现,LabWin dows/CVI需要借助驱动程序NI-SCOPE[9]实现对PXI-5122的控制。该驱动程序包含实现PXI-5122初始化、参数配置、数据采集和关闭等基本功能的函数。在使用过程中,通过主控面板直接调用这些相关函数,对PXI-5122进行初始化,设置各种属性实现对被测信号的采集。主要使用的部分函数如下:
handleErr(niScope_init(resourceName,NISCOPE_VAL_FALSE,NISCOPE_VAL_FALSE,&vi));//打开 NI-SCOPE 仪器句柄
handleErr(niScope_InitiateAcquisition(vi));//采集初始化
handleErr(niScope_ConfigureChanCharacteristics(vi,channelName,inputImpedance,maxInputFrequency));//配置通道参数
handleErr(niScope_ConfigureTriggerEdge(vi,triggerSource,trigger-Level,triggerSlope,triggerCoupling,triggerHoldoff,triggerDelay));//配置触发类型
该虚拟信号分析仪通过调用LabWindows/CVI中信号分析库和高级信号分析库中的相关函数,实现了 Flat top,Hanning,Hamming,Triangle,Blackman等 5 种窗函数和 Bessel,Butterworth,Chebishev,FIR等4种滤波器对被测信号进行预处理;利用FFT变换实现信号的幅度谱分析;调用参数测量函数实现了对处理后信号的周期、频率、幅度、占空比、上升/下降沿时间、峰值功率等参数的测量,所使用的部分函数见表1。
表1 配置函数Tab.1 Configuration function
将时域波形和频域波形分为2个显示窗口,同时显示在主控面板上,并利用了采样率=存储深度×采样时间,实现时域波形时间刻度自由调整的功能,从而便于使用人员对被测信号时、频域信息的全面了解,还可提高测试精度和效率。
波形显示主要依靠调用函数库中的PlotWaveform函数将被测信号绘制到Graph控件中。由于不同测量信号对波形显示要求不同,因此设计实现了2种显示模式:①根据niScope_AutoSetup(vi)函数自行自动配置横纵坐标刻度显示时、频域波形;②用户根据需求可自行手动旋转旋钮控件,将波形调整到自己需要的状态。其主要程序如下:
PlotWaveform (panelHandle,PANEL_acquisitionGraph,waveformPtr,wfmInfoPtr[i].actualSamples,VAL_DOUBLE,1.0,0.0,wfmInfoPtr[i].relativeInitialX,wfmInfoPtr[i].xIncrement,VAL_THIN_LINE,VAL_NO_POINT,VAL_SOLID,1,graphColors[3])
所有的功能模块实现后,利用信号发生器产生频率为1 MHz,峰峰值为5 V的正弦波和方波,对虚拟数字信号分析仪进行性能检测。分别将正弦波和方波通过“1”通道输入虚拟数字信号分析仪,经过信号采集、分析处理,所得到的测量结果如图2所示。
图2 虚拟数字信号分析仪的测量结果Fig.2 Measurement results of virtual digital signal analyzer
由图可见,正弦波、方波的时域波形和频谱波形均稳定清晰,显示正确,波形参数的测量结果准确。经过测试,该虚拟数字信号分析仪具有友好的人机交互体验,操作简便快捷。
文中基于LabWindows/CVI软件开发平台,利用PXI-5122数字化仪完成了虚拟数字信号分析仪的设计,实现了信号采集、频谱分析、波形参数测量、时频域波形显示等功能。该仪器体积小,携带便捷,既可作为日常实验室的仪器使用,也可作为特定场合的性能测试仪器。如果用户对信号分析仪的性能有更高的要求,只需更换性能更好的PXI数字化仪作为仪器采集设备,修改软件系统的部分代码,就可以实现性能更加强大的虚拟数字信号分析仪。
参考文献:
[1]刘凤,王静.基于虚拟仪器的新型VXI总线接口的设计[J].计算机测量与控制,2013,21(3):803-805.
[2]路亚峰,陈义军,温新岐,等.虚拟仪器技术研究现状与发展[J].国外电子测量技术,2010,29(11):35-37.
[3]马青亮,周伦彬,李振娜.基于Labwindows/CVI的信号分析仪的设计[J].中国测试,2009,35(6):21-27.
[4]张静.基于LabVIEW的虚拟信号频谱分析仪设计[J].海南大学学报,2011,29(2):162-165.
[5]张扬,肖世德.Labwindows/CVI平台下虚拟信号分析仪的设计[J].自动化仪表,2016,37(2):89-91.
[6]高军芳.基于LabVIEW的虚拟示波器的设计与实现[D].西安:西安理工大学,2009:1-15.
[7]National Instruments Corporation.NI Hierar-chical Waveform Storage Help[M].2016.
[8]马青亮.基于LabWindows/CVI的信号分析仪的研究[D].广州:广东工业大学,2008:21-27.
[9]National Instruments Corporation.NI-SCOPE Instrument Driver Quick Reference[M].2016:1-12.