基于虚拟仪器LabVIEW的虚拟相位差计的设计
一、图形化软件开发平台LabVIEW
LabVIEW(Laboratory Virtual Instrument Engineering workbench)是一个图形化程序 开发环境,主要用于数据采集、数据分析、测试和仪器控制等领域。它与传统编程语言有着 诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具,以及层次化、模块化 的编程特点等。但二者最大的区别在于:传统编程语言用文本语言编程;而LabVIEW使用图 形语言(即各种图标、图形符号、连线等),以框图的形式编写程序。[2]
一个LabVIEW程序包括三个主要部分:前面板、框图程序、图标路线端口。前面板是 LabVIEW程序的交互式图形化用户界面,用于设置用户输入和显示程序输出,目的是仿真真 实仪器的前面板。框图程序则是利用图形语言对前面板上的控制量和指示量进行控制。图标 路线端口用于把LabVIEW程序定义成一个子程序,以便在其它程序中加以调用,这使LabVIEW 得以实现层次化、模块化编程。
二、虚拟相位差计的设计
1、系统组成与功能
本虚拟仪器采用美国 NI 公司的Lab-PC-1200 型数据采集卡,将其直接插入到计算机相 应标准的总线扩展插槽内构成PC-DAQ(Data Acquisition)插卡式虚拟仪器。主要测量两个 同频正弦信号的幅值、频率、相位差等。系统组成框图如图1 所示:
2、面板设计
软面板程序为用户提供一个友好的图形化界面,面板中的所有对象基本上可分为控制量 和显示量,控制量用来模拟传统仪器上的开关和旋钮;显示量用于显示测量和处理的结果。
LabVIEW 提供了非常丰富的界面控件对象,可以快捷地设计出生动、直观、操作方便的用户 界面。本文设计的虚拟相位差计软面板如图2 所示。
该软面板左边为实时波形显示,可显示从0 通道和1 通道实时采样的两个波形;右边为 李沙育图形,下面是波形调整、波形选择和频率、幅值、相位、相位差的测量结果。另外, 在运行该虚拟仪器时会弹出一个存储窗口,可把程序运行结束之前所有的历史测量记录保存 在所指定的文件中,以备观察分析和做进一步的处理。
3、程序框图结构设计
虚拟相位差计的框图程序如图 3 所示,它采用的是图形化编程语言,非常直观。该框图 包含了波形采集、波形显示和调整、波形测量、数据存储四部分。
(1)波形采集:本虚拟仪器采用的是美国NI 公司的 Lab-PC-1200 型数据采集卡,最高 采样频率为100KHz,输入信号范围为-5V~+5V,设置了1,0 两个采样通道。该部分由AIConfig、AI Start、AI Read、AI Single Scan 和AI Clear 组成。其中用了Max&Min 与一个移 位寄存器控制对采样数据的读取速度。
(2)波形显示和调整:首先将数据采集子程序采集到的两个模拟输入信号(二维数组) 按采集通道的不同用Index Array 函数分成两个一维数组,再将它们分别用Bundle 函数组成 起点x0 = 0,时间间隔Δx = 0.001的簇,最后用Build Array函数将两个簇组成簇数组送入 波形图可观察到两列实时波形。若直接将两个一维数组用Bundle 函数组成簇送入波形图可 观察两列正弦波的李沙育图形。框图中的三个Case 结构的作用是控制软面板上幅基调节、 时基调节、波形选择,通过鼠标调节这些旋钮和垂直指针滑动条可调整实时波形在屏幕上的 显示效果。
(3)波形测量:主要测量两列正弦波的频率、振幅和相差,其中着重研究了相差的测量 方法。本文采用的是谱分析法测相位,其原理是通过Amplitude and Phase Spectrum 子程序 求取两个正弦信号的频域特性,取两信号相频特性曲线中对应于信号各频率分量的相位值, 再根据采样信号的周期数用Index Array 函数确定两个信号主频分量的相位,将其相减即得 相位差[4]。框图程序如图4 所示。
(4)数据存储:数据存储部分由Open/Creat/Replace File、Write File 、Close File 和Simple Error Handler 组成,另外采用了Format into S
虚拟仪器LabVIEW虚拟相位差 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)