虚拟示波器的设计报告.docx
- 文档编号:28078385
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:18
- 大小:903.87KB
虚拟示波器的设计报告.docx
《虚拟示波器的设计报告.docx》由会员分享,可在线阅读,更多相关《虚拟示波器的设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
虚拟示波器的设计报告
基于LabVIEW的虚拟示波器的设计
TheDesignofOscillograph
1设计目的与内容
1、掌握利用A/D转换和计算机资源实现示波器的设计方法。
2、设计虚拟示波器。
3、建立NI-DAQmx仿真设备,选择E系列中的NIPCI-6071E数据采集卡的仿真模块,通过DAQmx物理通道识别,产生模拟信号,然后基于LabVIEW开发平台设计实现虚拟示波器。
基本可以实现仪器的性能与可靠性,可以方便的对其编程,实现对数据的采集、实时显示、数字滤波、截波显示、波形存储、波形回显、频谱分析等多种功能。
2虚拟示波器的软件设计
虚拟仪器的软件设计由两部分组成:
前面板和流程图。
在前面板,输入用输入控件(Control)来实现,程序运行的结果由输出控件(Indicator)来完成。
流程图是完成程序功能的图形化源代码,通过它对信号数据的输入和输出进行指定,完成对信号采集及分析处理功能的控制。
2.1虚拟示波器的原理及功能
虚拟示波器是在传统示波器体系结构的基础上,借鉴其功能原理设计的。
基本原理为:
硬件上利用采集卡采集信号,软件上利用NI提供的DAQmxREAD采集信号,然后通过‘波形图’进行实时显示。
这就实现了一个最基本的示波器,信号显示后又利用‘写入测量文件’将波形保存为LVM文件。
这就实现了基本的“存储”功能,反之通过‘读取测量文件’可以将LVM读取显示,从而完成“回显”功能。
由于在硬件上是以PC机以及采集卡为基础的,所以本示波器在采样极限速率,带宽,分辨力等参数上受到限制。
而程序响应时间上则依赖于PC的配置以及程序的执行效率。
本次设计的虚拟示波器所包含的功能主要有以下几个方面。
实时显示:
通过采集卡采集信号并能对输入信号实时显示在PC机终端上。
数字滤波:
采用数字IIR滤波器对信号进行滤波处理并实时显示,同时可以任意设置滤波器的最佳逼近函数类型、滤波器类型、阶次、上下截止频率等参数。
截波显示:
即可满足波形的瞬态显示,同时也可以将瞬态波形进行保存。
波形存储:
可随时将原始信号或处理后信号以LabVIEW特有的LVM文件格式存储在本地硬盘上,便于日后分析或处理。
其中瞬态信号在截波后以BMP图片格式存储在本地硬盘上供日后查看以及分析。
波形回显:
随时将存储的LVM格式波形文件重新读取然后显示在PC机端。
频谱分析:
对滤波后信号分别进行幅频相应分析以及相频响应分析并同时采取波形与表格方式实时显示。
2.2程序前面板设计
虚拟示波器的控制界面如下图所示。
图1虚拟数字示波器的控制界面
其中左边为滤波器设置,左中为可选IIR滤波器参数设置,左下为滤波器的相关信息显示,正中为显示区域(这里用到了‘容器’里的‘选项卡控件’),最上面为各种显示界面的切换按钮。
右下分别有物理通道的选择,时间、幅度轴控制,采样模式选择,采样速率,采样点数的设置,文件保存选择按钮以及停止按钮。
前面板中的滤波器设置、可选IIR滤波器参数设置和滤波器信息显示是三个簇组件。
簇是LabVIEW中比较独特的一个概念,但实际上它就对应于C语言等文本编程语言中的结构体变量。
它能够包含任意数目任意类型的元素,包括数组和簇。
很多情况下当显示控件繁多而又单一的时候,若用簇来排版界面而用数组来编程会是程序非常简洁漂亮。
在本次前面板的设计中,就利用了簇控件,是前面板更简洁漂亮。
2.3虚拟示波器的程序框图设计
程序由一个大的while循环构成,主要包括7个主要的部分,分别为:
①通道选择、采样速率、模式、点数等参数设置部分;
②数据采集模块;
③数字滤波器设置模块;
④波形显示、滤波以及截波等部分;
⑤时间以及幅度控制部分;
⑥波形保存部分;
⑦波形回显部分;
⑧幅频响应以及相频响应部分。
下面介绍各部分的框图设计。
2.3.1通道选择、采样速率、模式、点数等参数设置部分
图2采样参数设置
2.3.2数据采集模块
数据采集模块是动态测试中的重要部分,可以进行采集方式相关参数的设置,它直接影响到后面数分析的结果及其他功能的实现。
该模块工作状态的好快直接影响到整个系统工作的正常与否,主要完成数据采集的控制,通道控制和时基控制等。
LABVIEW集成了功能强大的数据采集函数库DataAcquisition。
在本模块选用DAQmx-DataAcquisition函数库来实现数据采集程序的设计。
我们也可以通过DAQAssistant函数来实现对采集卡输入输出类型、采集数据类型以及聚集所用通道选择等进行设置,也可以通过DAQmxTaskNameConstant函数和DAQmxGlobalChannelConstant函数来实现。
通过DAQmxCreateVirtualChannel.Vi创建虚拟物理通道:
通过DAQmxReadvilltllDAQmxwrite.Vi来执行数据的读写操作;通过DAQmxStart.Vi和DAQmxStop.Vi执行数据采集的开始与结束;通过DAQmxAdvancedTaskOptions函数库中的DAQmxConfigureInputBuffer.Vi和DAQmxConfigureOutputBuffer.Vi来配置采集过程中计算机缓存。
对于模拟信号的输入部分,设计的流程图如图3所示。
数据采集模块如图4所示。
图3数据采集模块流程图
图4数据采集模块
2.3.3数字滤波器设置模块
在测试领域中,信号的频域处理主要指滤波,即把信号中感兴趣的部分(有效信号)提取出来,抑制(削弱或滤除)不感兴趣的部分(干扰或噪声)的一种处理。
滤波器分为模拟滤波器和数字滤波器,分别处理模拟信号和数字信号,本系统使用数字滤波器,数字滤波器的基本工作原理是利用离散系统特性去改变输入数字信号的波形或频谱,使有用信号频率分量通过,抑制无用信号分量输出。
数字滤波的优点是:
①数字滤波只是一个计算过程,无需硬件,因此可靠性高,并且不存在阻抗匹配问题,尤其是对频率很高或很低的信号进行滤波,这是模拟滤波器所不能比的。
②数字滤波是用软件算法实现的,因此,在多个输入通道的应用场合可以避免使用多个硬件滤波器,从而降低硬件成本;
③只要适当改变软件滤波的滤波程序或运算参数,就能方便地改变滤波特性,这对于抑制低频干扰、脉冲干扰、随机噪声等特别有效。
本设计中的IIR滤波器设置模块如图5所示。
图5IIR滤波器设置
2.3.4波形显示、滤波以及截波等部分
下图包含波形显示、滤波以及截波部分。
图6波形显示、滤波以及截波
2.3.5时间以及幅度控制部分
下图为通过幅度以及时间转轴控制显示的时间以及幅度。
图7时间以及幅度控制
2.3.6波形保存部分
这里用到一个Case结构,分别选择保存类型。
信号显示后利用‘写入测量文件’将波形保存为LVM文件。
图8波形保存
图9生成BMP文件
此模块用到了‘下拉列表常量’,‘保存’按钮的局部变量,‘写入测量文件’控件,提取截波波形属性节点,‘写入BMP文件’控件,‘errorout’簇。
这里用到的errorout簇和errorin簇是LabVIEW编程中经常遇到的两个预定义簇。
在LabVIEW编写大型项目时经常会调用子VI,因此大型项目表现为一种层状结构,为了将底层发生的错误信息原封不动地传递到顶层VI,LabVIEW利用errorin和errorout这两个预定义簇作为传递错误信息的载体。
下图为errorout簇的格式。
Errorout簇中包含一个status布尔量代表是否有错,code代表错误带代码;source包含了错误的具体信息。
图10errorout簇的格式
2.3.7波形回显部分
图11波形回显
这个条件结构中用到按钮触发,实质是一个独立的程序部分。
读取已保存的lvm文件。
2.3.8幅频响应以及相频响应部分
幅频响应实质是读取的IIR的响应数据,另外频率轴根据需要由采样速率控制(采样速率除以2作为频率轴的最大值),相频响应同理。
图12幅频响应和相频响应
2.4总的程序框图
图13虚拟示波器的后面板设计
3数据采集及示波器的实现
本文所设计虚拟示波器,通过NIPCI-6071E数据采集卡采集数据,由于硬件上无法满足要求,在这里采用NI-DAQmx仿真设备中的NIPCI-6071E数据采集卡的仿真模块得到示波器的输入信号。
3.1数据采集(DAQ)设置
下图为NIPCI-6071E数据采集卡的仿真模块的设置。
双击Measurement&Automation图标,打开MAX,展开设备和接口,然后展开NI-DAQmx设备,点击右键创建新NI-DAQmx设备,然后点击NI-DAQmx仿真设备,打开NI-DAQ仿真设备选项卡,选择NIPCI-6071E,如图15所示。
同时在示波器的前面板中,可以得到Dev1物理通道,如图16所示。
图14NI-DAQmx仿真设备
图15NIPCI-6071E数据卡的仿真模块的建立
图16前面板的物理通道选择
3.2虚拟示波器的实现
通过NIPCI-6071E数据采集卡的仿真模块产生的物理通道得到输入信号,再设置IIR示波器各项参数,得到的示波器波形显示及其他响应如下。
1、得到的原始信号波形,如图17。
图17原始信号波形显示
2、滤波后的信号
图18滤波后的信号
3、截波波形显示。
截取经过滤波器后的一部分静止(瞬态)波形。
图19截波波形显示
4、幅频响应。
滤波后进行的幅频分析,如图20。
图20幅频分析显示
5、相频响应。
滤波后进行的相频分析,如图21所示。
图21相频响应显示
6、采样模式选择和保存操作。
以上显示的波形是在有限采样模式情况下采集的。
而保存文件操作用来将原始信号保存到LVM文件中,从而可以在波形回显中显示。
保存图形选项用来将波形保存为BMP文件。
图22采样模式及保存文件格式
7、波形回显。
上面提到的波形保存操作,将波形保存在LVM文件中,波形回显即将LVM文件中的波形重新显示。
图23波形回显
4小结
本设计根据要求完成了示波器的基本功能,并作了一些扩充,在现有条件下应该是完成了应该达到的或可以达到的功能。
不过本设计可以进一步丰富功能,但扩充需要根据需求来添加。
通过本次虚拟示波器的设计,对LabVIEW的应用有了很大程度的提高,比如IIR滤波器、局部变量、各种循环结构的应用下拉菜单常量和属性节点的创建都是前几个设计所没有涉及的,所以虚拟示波器的设计使我对LabVIEW的应用有了提高的同时,也提醒了自己还有很多需要学习的地方,想更好的利用好这个软件,就要在以后多做这方面的工作,多设计一些常用的虚拟仪器,这对以后的工作和生活都有很大的帮助。
在本设计进行的过程中,就已经知道还有需要改进的地方。
但由于知识储备不足和其他一些方面的限制未能完成这些方面的工作。
以下是几个可以改进的地方。
1)程序是流水线式设计运行,具体体现在前面板的几个界面切换后后台并没有停止运行,而是一直在运行,这样会浪费不少CPU资源,功能只是简单的增加而没有进行有效的整合。
2)这里用了六个波形图控件(WaveformGraphs),只是在前面板使用了选项卡控件,看起来是一个“屏幕”,实际上程序作一定的优化后可以大量减少波形图控件的使用。
因为理论上只要不是同时显示的需要就可以公用一个“屏幕”。
3)人机界面的设计。
操作的方便性有待提高。
自我感觉界面除了必要的按钮外,按钮应该越少越好。
例如界面切换后自动触发程序,而省去一个个的开关按钮。
本设计的界面除了图形显示外,还有过多的表格显示,理想的情况是设计成可控制显隐状态的模式。
4)未设计成一个双踪或多通道的示波器。
一台高端的示波器通常具备两个通道,而一些频谱仪则有更多的通道。
实际上在通道的增加并不困难,而且可以远远地超过传统高端示波器的两个通道。
我看到过一个四通道的虚拟示波器,它的设计给了我很大的启发,在以后的学习中,我会更好的学习LabVIEW的各种应用,现阶段的我只是学了一些基本知识而已,还是需要继续努力的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 示波器 设计 报告