基于LabVIEW的信号示波分析仪的开发
0 引言
示波器不仅能直观地看到电信号随时间变化的图形,而且还能直接观察测量信号的幅度、频率、周期等基本参量,信号分析仪能完成信号的时域和频域分析,在医学、生物学、机械工程、地质学和大学实验室中得到了广泛的应用。示波器成为了时域分析最典型的仪器,也是当前测量领域中,品种最多、数量最大、最常用的一种仪器,但示波器和分析仪价格较贵,其功能固定不能根据需求变化。
随着虚拟仪器技术的发展,人们纷纷提出利用虚拟仪器软件开发建立在通用硬件和计算机技术上的、用于实验室和工程实际的虚拟仪器[1][2][3]。为了充分利用虚拟仪器的特点和计算机软件的功能,我们设计开发了一个虚拟的信号示波分析仪,该仪器不仅具备一般数字示波器的基本功能,同时还实现了信号分析仪的一些功能,以满足一般高等院校的实验和科研要求。
1 虚拟仪器与LabVIEW
1.1 LabVIEW的特点
LabVIEW是美国NI(National Instruments)公司推出的一个通用的图形化软件开发环境,它采用图形化编程代替一般高级语言采用的文本编程来创建应用程序,是一种基于数据流控制的、适合任何编程任务和具有扩展数据库的通用编程语言[4]。
LabVIEW是一个开放性的环境,它与测量硬件之间的连接简单,能很快地完成数据的采集工作,并能方便地与各种仪器相连;内置了600多个分析函数,能轻松地提取有用信息、进行测量数据分析和信号处理;而且还具有较强的数据显示、界面设计和数据管理等功能。极大地方便了测试与测量、故障诊断、过程控制和工业自动化等方面的研究工作,因此在航空航天、通讯、汽车、机械、半导体和生物医学等世界范围的众多领域内得到了广泛的应用。
1.1 虚拟仪器的简介
虚拟仪器(virtual instrument)是基于计算机的仪器,是利用现有的计算机,加上通用的硬件和专用的软件组合成的一个测试平台。虚拟仪器的最大特点就是充分发挥计算机的能力,具有强大的数据处理能力,而且用户可以根据自己的需要定义和制造各种仪器,各种仪器的差异主要是软件[5]。
虚拟仪器是当前测控领域的一个重要发展方向,而LabVIEW被认为是标准的数据采集和仪器控制软件。LabVIEW编写的程序被称为虚拟仪器 VI(Virtual Instruments),其程序面板是采用图形化的框图形式编程,简单快捷;其前面板是交互式用户接口,相当于真实物理测试仪器的仪器面板,用户操作方便。目前LabVIEW成为了开发虚拟仪器的主要软件之一,在此开发中我们选择LabVIEW 8.0作为信号示波分析仪的开发平台。
2 总体设计
图1 虚拟信号示波分析仪的结构框图
我们开发的虚拟信号示波分析仪主要是用于对电信号进行数据采集、显示、波形存储和回放、时域和频域分析,不但具有一般数字示波器的功能,还具有信号分析仪的基本功能,以便应用于实验室教学和科研中。该仪器主要由以下几个功能模块组成(图1):
(1)数据采集模块。在数据采集前面板上对通道、采样率、采样点数、电压的最大/最小值和信号的连接方式等方面进行设置,在控制面板中利用DAQmx相关函数的功能完成数据采集。
(2)信号显示及触发模块。该模块主要是通过分别调节时基和两个通道的Y坐标的值,从而控制信号的显示比例来完成信号的时域显示,并且提供了触发控制,使时域显示具有触发显示的功能。
(3)信号的基本参数测量模块。主要是对两个通道信号的一些基本统计量:幅值、峰峰值、有效值和频率等量进行计算。
(4)信号的存储与回放。主要完成对采集的信号进行存储,并将以前存储的采集结果调出进行时域显示和时域频域分析。
(5)信号的分析模块。每个通道信号的滤波及加窗选取设置,完成自相关、自功率谱、幅频以及谐波分析,和两个通道信号之间的互相关与互功率谱分析。
3 信号示波分析仪的设计
3.1 前面板的设计
VI程序的前面板是一个交互式的用户界面,它相当于真实物理测试仪器的仪器面板。在设计时应根据人机工程学的相关理论,充分考虑宜人性、一致性、关联性、反馈和简洁等方面的要求,使设计的前面板操作简单、轻松自如,较长时间使用也不会产生疲劳感。
设计本分析仪的前面板(图2)时,我们主要考虑了以下几个方面的问题:
(1) 整个面板和按扭的颜色均以深灰色为主,简单地配以一些蓝色细框线进行分割,尽量使界面清晰、简洁,符合人机工程学中的信息显示界面舒适性要求;
(2) 信号显示用Graph控件,显示区域要尽量的大,以便能清楚地观察信号的情况,并且利用Cursor Legend的游标功能,使仪器实现了对数据点的读取;
(3) 由于前面板上的内容较多,因此按照类别进行了项目的分组,并用蓝色的细线框将各类别组合在一起,使整个面板多而不乱,一目了然,符合人机工程中的显示器“功能分区”原则;
(4) 在设计前面板尽量参照现有的示波器的面板形式,使用户操作简单方便。
图2 仪器数据采集及显示前面板(运行时)
3.2 数据采集
图3 信号示波分析仪主框图程序
在LabVIEW中既可以利用MAX界面来设置数据采集任务,也可以通过数据采集DAQmx提供的数据采集助手进行任务和通道的设置,从而生成程序代码。在本设计中由于是想开发一个基于NI公司数据采集卡的通用平台,因此我们分别利用DAQmx中的Task、Channel和Timing等函数完成了任务、通道和时钟等功能的设置,并编制了一个数据采集的设置子VI。
在主程序中利用一个循环进行数据的读取,同时也可以完成数据采集和分析处理,具体的程序可参见图3主框图程序。
3.2 信号显示及触发
在信号时域显示方面上需要控制三个方面的内容:一个是时基(扫描速率),即Graph控件X轴坐标变化;另一个是幅值(量程),即Graph控件Y轴坐标变化;还有触发显示控制。利用Graph控件的属性节点,通过改变Graph的XScale.Range属性值来调节时基信号的变化。
对于单通道的虚拟信号示波分析仪来说,可以利用和时基信号相同的方法来控制幅值变化,但是由于我们是多通道分别输入,需要根据各通道信号的具体情况独立控制信号在Y轴方向的坐标变化,因此我们将信号的y分量单独提取出来,编制了一个控制Y坐标变化的子VI来完成对幅值变化的独立控制。
以LabVIEW提供的SCOPE.VI子VI为基础,编制了一个Trigger子VI,并和Y坐标变化子VI一起构成了Y显示触发子VI。
3.3 信号的存储与回放
LabVIEW数据存储一般可采用四种格式的文件:文本文件、二进制文件、数据记录文件和波形文件,文本文件是一种通用的格式,而数据记录文件和波形文件是只有LabVIEW才能够读取的文件格式。
数据记录文件和波形文件操作比较简单,在本设计中都可以应用,由于我们主要以处理波形数据为主,因此选择了波形文件作为存储与回放的文件格式。
3.4 信号的基本参数测量与分析
图4 信号分析框图程序
为了在数据采集时能清楚地看到信号的一些基本信息,因此编制了一个基本量测量模块,主要是测量信号的频率、幅值、峰峰值和有效值,并将两个通道的上述参数分别显示出来。
将前面板从数据采集切换到时域频域分析面板就可以显示出被测信号的分析结果,在此我们编制了一个信号分析子VI(图4)和一个互相关分析子VI,得到的幅频图、自相关和自功率分析结果如图5所示。
图5 通道A信号的幅频图、自相关和自功率分析
4 结束语
在程序的调试过程中,我们分别采用虚拟卡以及NI公司的PCI 6221和USB 6008卡进行了测试,其运行结果稳定,功能正常,达到数据采集、显示、波形存储和回放、时域和频域分析等设计要求,将其应用于实验室的科研和教学中,收到了较好的效果。
本文作者创新点:提出了虚拟示波分析仪的开发,将示波器和信号分析仪的功能相结合,实现了这两个仪器的基本功能;利用编程而非改变控件属性的方法实现了两通道幅值的独立显示控制,为多通道仪器的开发打下了基础。
文章版权归西部工控xbgk所有,未经许可不得转载。