周细凤,胡晓冬,何小敏
(湖南工程学院 电气信息学院,湘潭 411101)
虚拟任意波形发生器和示波器的设计与实现
周细凤,胡晓冬,何小敏
(湖南工程学院 电气信息学院,湘潭 411101)
采用模块化的概念,在LABVIEW图形化虚拟仪器开发平台上实现虚拟任意波形发生器和示波器系统.本系统包括模拟信号发生模块,处理与分析模块,存储与读取模块以及显示模块.其中,测试对象由模拟信号发生模块产生,该模块主要由信号发生器和通道选择器组成.数据处理与分析模块由参数测量、滤波、频谱分析、波形运算构成.最后进行了系统测试,经测试可见,该虚拟示波器较为成功地实现了示波器的基本功能,实用性较强.
虚拟仪器;示波器;LABVIEW;虚拟数字示波器
随着测试系统和计算机软件技术更加密切的结合,新的测试理念、测试方法和测试理论,以及新型仪器结构不断涌现.相对传统仪器来说,它们在功能、作用、性能方面具有显著而巨大的优势.虚拟仪器是计算机与仪器的紧密的结合的一种新型仪器,它利用PC计算机强大的运算能力来模仿传统的仪器的一种新型程序仪器.因为其自身的构成特点及工作模式,使得操作者就像使用一台专用的测量仪器进行测量[1-7].传统示波器是一种显示电信号时间波形的一种仪器,它利用电子射线的偏转把人眼无法直接看到的电信号时变规律,以能见的方式显示出来.传统示波器主要包括主机、Y轴系统、X轴系统三个部分.其主要功能模块基本上都是由硬件构成.而虚拟仪器由硬件和软件组成,硬件常指PC以及外围设备.其中,GPIB系统、数据采集系统 、PXI系统、VXI系统等都是外围设备的软件包括操作系统,驱动程序和应用软件.其开发软件通常包括基于文本式编程语言开发工具 ,如VC++,VB,C++Build,LabWindows/CVI,Delphi等,和基于图形化编程语言开发工具如LabVIEW,HPVEE等,其中,LABVIEW是NI公司研制的图形编程虚拟仪器系统LABVIEW是基于G语言的虚拟仪器开发工具的一种软件,应用最广泛的图形化软件开发环境[4,6,8].
本设计了一种基于LABVIEW平台的虚拟示波器.该系统能够产生虚拟信号,并完成信号的测量、滤波、分析、存储、读取以及显示等功能.
1.1虚拟示波器主要功能
所设计的虚拟示波器主要包括数据采集、分析处理、存储读取和显示4个模块.通过这4个模块之间的数据传输与配合,实现参数测量、波形运算、频谱分析、滤波、通道选择、信号发生、信号存储与读取、偏移量控制、幅值控制、时间控制、显示等功能.其系统框图如图1所示.
其关键模块如数据采集,数据测量,数据处理与分析、信号存储与读取以及控制与显示的原理,以及具体实现方法描述如下:
(1)数据采集
数据采集模块用于产生四中波形的模拟仿真信号(方波信号,正弦信号,锯齿波信号,三角波信号)并对通道进行选择(由信号发生模块,通道选择模块构成).输入信号的频率、幅值、相位、波形类别等数据输出相应的信号,通过平铺式顺序结构将信号输送到后续模块中进行分析处理,存储,显示等操作.
(2)数据测量
数据测量模块主要测量信号电压、频率和周期等参数.其输入端连接模拟信号发生部分,调用“函数选板-信号处理-波形测量-幅值和电频测量(VI)”对信号的周期平均、周期均方方根、反峰、正峰、峰峰值进行测量;调用“函数选板-信号处理-波形测量-提取单根、周期均方根、均值(直流)、均频信息 (VI)”对信息进行频率、幅值、相位的测量;调用“函数选板-信号处理-波形测量-脉冲测量 (VI)”对信号进行周期、脉冲持续期的测量;调用“函数选板-信号处理-信号运算-交流和直流分量估计 (VI) ”对信号进行交流分量和直流分量的测量.
图1 虚拟示波器系统结构框图
(3)数据处理与分析
数据测量与分析模块需要实现的功能是利用FFT进行频谱分析、对信号进行滤波处理、以及波形运算.
(4)信号存储与读取
信号存储与读取模块将仿真出来的信号存储到文件中进行保存,以及读取保存在文件中的信号,且能保存示波器显示的波形图片.
1.2关键模块设计
本程序的主要模块有: 信号发生模块、通道选择模块、测量模块、频谱分析模块、波形运算模块、滤波模块、存取与读取模块和控制模块.
信号发生模块需要实现的功能是,仿真出四种波形类别,任意频率与幅值,受到一定干扰的信号.调用“函数选板-信号处理子(VI)-信号生成子(VI)-基于持续时间的信号发生器(VI)”仿真产生有用信号,调用“函数选板-信号处理子(VI)-信号生成子(VI)-均匀白噪声 (VI)”仿真信号干扰,通过“函数选板-编程子(VI)-条件结构(VI)”来实现波形类别的选择.
通道选择模块可以选择CH1通道、CH2通道或者CH1&CH2通道.本模块调用信号发生模块(VI)产生通道的信号,利用条件结构(VI),控制通道的接通与断开;调用“编程-数组-创建数组(VI)”将两个信号发生模块输出的信号连接起来输送到显示模块,就可以实现通道的任意选择了.通道选择模块的程序如图2所示.测量程序调用条件结构(VI)把无信号输入,与有信号输入区分开来,将有信号部分输送到幅值和电频测量(VI)中,防止无信号输入而出现错误,其实现方式如图3所示.
图2 虚拟通道选择模块 图3 测量模块
频谱分析模块需要使用FFT窗对波形分析,进行幅度和相位谱分析,LABVIEW提供了很多VI,可以直接用于信号分析,本模块调用的是“FFT频谱(幅度-相位VI)” .
波形运算模块完成的功能是CH1-CH2、CH1+CH2、CH1*CH2以及对CH1,CH2的卷积运算.本模块利用选择结构(VI)进行运算方式的选择,调用“express子(VI)-算数与比较子(VI)-公式(VI)”进行算术运算,调用“信号处理-信号运算-卷积(VI)”对波形CH1,CH2进行卷积运算.波形运算的程序如图4所示.
图4 波形运算模块
滤波器模块将被干扰的有用信号提取出来,还原出信号的真实程度.该模块调用“信号处理-滤波-巴特沃思滤波器(VI)”来实现,如图5所示.巴特沃斯滤波器(VI)有4种滤波(高通,带通,低通,带阻)可以选择,并且可以调整最大和最小的截止频率以及滤波器的阶数.
图5 巴特沃思滤波器(VI)程序
信号存储与读取部分将仿真出来的信号存储到文件中进行保存,以及读取保存在文件中的信号,且能保存示波器显示的波形图片.本模块利用选择结构(VI)进行存储、读取、与图片保存的选择控制;创建一个选择控件VI的局部变量,用来控制该模块在运行完,相应的功能(存储、读取、与图片保存)后自动结束,并返回到显示界面的运行中;调用“ExpressVI和函数-输出ExpressVI-写入测量文件 (ExpressVI)”实现信号的存储功能;调用“ExpressVI和函数-输入ExpressVI-读取测量文件 (ExpressVI)”实现信号的读取功能;创建示波形图表的“调用节点-方法-获取图像”以及调用“编程(VI)与函数-图像与声音(VI)-写入BMP文件 (VI) ”实现图片保存功能.该部分的程序如图6所示.
图6 信号存储与读取部分
控制模块运用3种控制形式,分别是幅度控制、时间控制、偏移量控制,对波形的显示进行控制调整,以求达到最佳的波形显示状态.该部分的程序如图7所示.
图7 控制模块
1.3示波器主面板及程序框图
综合以上各子模块,可得所设计的虚拟示波器主面板和程序框图分别如图8所示.该示波器由数据采集、分析处理、存储读取、显示、四大模块组成,可以实现信号发生、通道选择、波波形运算、参数测量、滤波、频谱分析、控制等主要示波器功能,同时还能进行波形的保存与读取功能.
图8 虚拟示波器前面板总图
下面按照用户使用功能(波形图、数据测量、滤波、频谱分析、波形运算、数据存储与读取、)进行测试.按照用户使用功能(波形图、数据测量、滤波、频谱分析、波形运算、数据存储与读取、)进行测试.
图9给出了波形测试界面,图10、图11分别对4种不同的波形进行滤波测试和运算分析.
另外,在运行虚拟示波器时选中保存与读取选项,右下角选择控件,用来选择将要执行的操作,选择“保存文件”选项,会弹出保存文件对话框.命名,并点击确定,这时保存指示会点亮,表示文件以及保存成功.右下角选择控件,自动弹回到“显示波形”功能.
(a) 方波与正弦波 (b) 三角波与锯齿波图9 虚拟示波器显示四种波形
图10 对4种波形进行滤波测试
图11 四种波形运算测试
然后打开,文件保存的路径文件夹,可以看到一个保存的文件.在运行虚拟示波器,选中保存与读取选项,右下角选择控件,用来选择将要执行的操作,选择“读取文件信号”选项,会弹出读取文件对话框,此时可在虚拟示波器界面中调出原保存信号,也可通过相关按钮将信号保存为图形.
由测试结果可知,该基于LABVIEW的虚拟示波器较为完整的实现了整个虚拟示波器的基本功能.
本文以LABVIEW软件平台作为软件开发环境,设计了一款虚拟示波器.主要围绕模拟信号的生成、信号的分析和信号的处理几个方面阐述了虚拟示波器的软件设计.并且自行开发了频谱分析和存储与读取功能,除了拥有传统示波器的功能以外,还对示波器的功能进行了相应的扩展.
[1]陈景波,杨放,姚定江.基于Compuscope82G型高速数据采集卡的虚拟示波器设计[J].国外电子元器件,2006(2):60-62.
[2]冯静亚,于强,吕朝晖,罗福山.虚拟示波器的软件设计与应用[J]. 计算机工程与设计. 2007,28(1):211-273.
[3]林君,谢宣松.虚拟仪器原理及应用[M].北京,科学出版社,2006.
[4]梁海泉,张逸成,杨挺,姚勇涛.基于虚拟仪器平台的多通道示波器设计[J].自动化仪表.2007,28(2):61-62.
[5]张梦麟,李念强,李萍.基于FPGA虚拟数字示波器的设计[J].仪表仪器装置.2008(2):8-11.
[6]杨乐平,吕英军.虚拟数字示波器的设计与实现[J].电子技术应用,2000(7):22-24.
[7]高月辉,姜培刚,孔凡斌.基于LabVIEW与PCI-1714的高速虚拟示波器的设计与实现[J].仪器仪表与检测技术,2006,25:60-63.
[8]周细凤,曾荣周,李贞. 基于LABVIEW的虚拟示波器的研究与应用[J]. 湖南工程学院学报(自然科学版),2014(1):1-7.
TheDesignofVirtualArbitraryWaveformGeneratorandWaveOscilloscope
ZHOUXi-feng,HUXiao-dong,HEXiao-min
(CollegeofElect.andInformationEng.,HunanInstituteofEngineering,Xiangtan411101,China)
AvirtualarbitrarywaveformgeneratorandwaveoscilloscopebasedonLab-VIEWisdesignedinthepaper.Itincludesfourblocks:arbitrarywaveformgenerator,signalanalyzingandprocessing,datacollectionandstorage,anddisplaymodule.Thetestingobjectsforthewaveoscilloscopeareproducedbythevirtualarbitrarywaveformgeneratorincludingwaveformgeneratorandchannelselector.Thesignalanalyzingandprocessingblockconsistsofparametermeasurement,filtering,spectrumanalysisandwaveformcalculating.Finally,thespecificationofthesystemissimulatedandtested.Thesimulationresultsshowreliabilityandpracticabilityofthismethod.
virtualinstrument;oscilloscope;LabVIEW;digitaloscilloscope
2015-07-15
湖南省自然科学基金资助项目(14jj6041);湖南省教育厅开放基金平台项目(14k029);湖南工程学院博士启动基金项目(Z).
周细凤(1979-),女,博士,讲师,研究方向:电子信息、CMOS数模混合成电路设计、有源滤波器设计等.
TN713
A
1671-119X(2016)01-0019-06