基于LabVIEW虚拟数字存储示波器设计张伟军(学号:002004101751)虚拟示波器相比传统示波器具有价格低廉、功能丰富、可编程性以及显示直观等众多优势。本设计不仅仅具有示波器基本功能,更依据LabVIEW语言的特点丰富了数字滤波、信号保存以及回显等功能。不仅具有了价格低廉、界面美观等特点,而且具有传统示波器中比较高端的存储、回显以及数字滤波等功能,更可以根据需要随时灵活修改程序,增加功能以满足更个性化的要求。一、具备功能★实时显示:通过采集卡采集信号并能对输入信号实时显示在PC机终端上。★数字滤波:采用数字IIR滤波器对信号进行滤波处理并实时显示,同时可以任意设置滤波器的最佳逼近函数类型、滤波器类型、阶次、上下截止频率等参数。★截波显示:即可满足波形的瞬态显示,同时也可以将瞬态波形进行保存。★波形存储:可随时将原始信号或处理后信号以LabVIEW特有的LVM文件格式存储在本地硬盘上,便于日后分析或处理。其中瞬态信号在截波后以BMP图片格式存储在本地硬盘上供日后查看以及分析。★波形回显:随时将存储的LVM格式波形文件重新读取然后显示在PC机端。★频谱分析:对滤波后信号分别进行幅频相应分析以及相频响应分析并同时采取波形与表格方式实时显示。二、基本原理硬件上利用采集卡采集信号,软件上利用NI提供的DAQmxREAD采集信号,然后通过WaveformGraphs进行实时显示。这就实现了一个最基本的示波器,信号显示后又利用WriteToMeasurementFile将波形保存为LVM文件。这就实现了基本的“存储”功能,反之通过ReadToMeasurementFile可以将LVM读取显示,从而完成“回显”功能。由于在硬件上是以PC机以及采集卡为基础的,所以本示波器在采样极限速率,带宽,分辨力等参数上受到限制。而程序响应时间上则依赖于PC的配置以及程序的执行效率。三、主要的函数DAQmxRead、DigitalIIRFilter、WaveformGraphs、WriteToMeasurementFile、ReadToMeasurementFile等主要函数四、前面板介绍1、完整界面(截图)左边为设置滤波器,左下为IIR滤波器的部分参数设置,正中为显示区域,最上面为各种显示界面的切换按钮,下方为滤波器的相关信息显示以及通道选择和时间、幅度轴控制,右边自上而下分别为采样模式选择、采样速率以及采样点数的设置、STOP按钮以及文件保存选择按钮。图一是从函数发生器接收的原始三角波信号;图一:从函数发生器接收的原始三角波信号图二:三角波经过滤波器后的信号(类正弦)2、图二:三角波经过滤波器后的信号(类正弦)3、截波波形:截取经过滤波器后的一部分静止(瞬态)波形,这里就不进行截图。4、图三:幅频响应,滤波后进行的幅频分析图三:幅频响应,滤波后进行的幅频分析5、图四:相频响应,滤波后进行的相频分析图四:相频响应,滤波后进行的相频分析图五:波形回显6、波形回显:之前有一个保存操作,将波形保存在里面,然后回显即为读取文件。由图五可见,正是刚才采集的三角波信号。7、保存操作,可以进行类型的选择与保存图六:保存操作五、后面板介绍1、完整程序流程图图过大省略。2、通道选择,采样速率,模式,点数等参数设置图七:采样参数设置3、采样、滤波以及截波等部分图八:采样、滤波以及截波4、时间以及幅度控制部分图九:时间以及幅度控制5、波形保存部分,一个case选择结构,分别选择保存类型图十:波形保存6、波形回显部分,按钮触发,实质是一个独立的程序部分。图十一:波形回显7、幅频响应,实质是读取的IIR的响应数据,另外频率轴根据需要由采样速率控制(采样速率除以2作为频率轴的最大值),相频响应同理。图十二:幅频响应六、小结本设计根据要求完成了示波器的基本功能,并作了一些扩充,在现有条件下应该是完成了应该达到的或可以达到的功能。诚然,本设计可以进一步丰富功能,但扩充需要根据需求来添加。还是说说本设计需要改进的地方。首先是效率的提高。本设计无论是从设计的初衷还是设计的结果来看,都没有充分考虑到程序的效率以及操作的效率来。仅为功能的实现以及少量必要的优化。本设计仅用了不到一天的时间制作,还加上调试时间。效率不够高体现在以下几个方面。一是程序是流水线式设计运行,具体体现在前面板的几个界面切换后后台并没有停止运行,而是一直在运行,这样会浪费不少CPU资源,功能只是简单的增加而没有进行有效的整合。二是文件存储的效率不高。LabVIEW提供多种文件格式的存储数据,其中效率最高的是二进制文件形式,其次是文本形式。而本设计采用的是LabVIEW所特有的LVM格式,这样做的好处是调用方便,缺点是不具有通用性,其他软件将无法读取这种文件的有效波形信息。用Windows的记事本打开LVM文件后发现,其实LVM文件本质也是一种文本文件,记录了波形数据的相关信息,但利用率不够高。三是有部分调试测试过程中留下的一些函数在本设计中没有删去,只是在前模板作了隐藏处理,实际上CPU依然在为运行这部分函数消耗资源。四是这里用了六个WaveformGraphs,只是在前面板上作了叠加处理,看起来是一个“屏幕”,实际上程序作一定的优化后可以大量减少WaveformGraphs的使用。因为理论上只要不是同时显示的需要就可以公用一个“屏幕”。其次是人机界面的设计。操作的方便性有待提高。自我感觉界面除了必要的按钮外,按钮应该越少越好。例如界面切换后自动触发程序,而省去一个个的开关按钮。本设计的界面除了图形显示外,还有过多的表格显示,理想的情况是设计成可控制显隐状态的模式。再次是有一个遗憾。能设计成一个双踪或多通道的示波器将更加完美。一台高端的示波器通常具备两个通道,而一些频谱仪则有更多的通道。实际上在通道的增加并不困难,而且可以远远地超过传统高端示波器的两个通道。参考资料1.邓焱,王磊邓编著.LabVIEW7.1测试技术与仪器应用.北京:机械工业出版社,2005.082.戴鹏飞,王胜开,王格芳邓编著.测试工程与LabVIEW应用.北京:电子工业出版社,2006.05