基于labview的虚拟信号发生器的设计.docx

上传人:b****2 文档编号:17756741 上传时间:2023-08-03 格式:DOCX 页数:13 大小:281.46KB
下载 相关 举报
基于labview的虚拟信号发生器的设计.docx_第1页
第1页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第2页
第2页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第3页
第3页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第4页
第4页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第5页
第5页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第6页
第6页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第7页
第7页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第8页
第8页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第9页
第9页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第10页
第10页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第11页
第11页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第12页
第12页 / 共13页
基于labview的虚拟信号发生器的设计.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于labview的虚拟信号发生器的设计.docx

《基于labview的虚拟信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《基于labview的虚拟信号发生器的设计.docx(13页珍藏版)》请在冰点文库上搜索。

基于labview的虚拟信号发生器的设计.docx

基于labview的虚拟信号发生器的设计

基于labview的虚拟信号发生器的设计

 

信息工程学院

自动化2班

王孟哲

0967106209

基于labview的虚拟信号发生器的设计

 

Labview虚拟仪器

LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器集成环境)是一种图形化的编程语言,简称G语言,它是由美国NI公司推出的虚拟仪器开发平台应用LabVIEW开发平台编制的程序称为虚拟仪器,其核心概念就是“软件即是仪器”LabVIEW提供了测控仪器图形化编程环境,在这个环境中提供了一种像数据流一样的编程模式,用户只需连接各个逻辑框即可构成程序。

它集成了与满足GPIB、VXI、RS.232和RS.485协议的硬件及数据采集卡通讯的全部功能,同时,它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数,利用它可以方便地建立自己的虚拟仪器。

本文介绍一种自行开发的基于LabVIEW的虚拟函数信号发生器,该仪器界面设计友好,功能强大,操作方便

自从1986年美国NI(NationalInstrument)公司提出虚拟仪器的概念以来,随着计算机技术和测量技术的发展,虚拟仪器技术也得到很快的发展。

虚拟仪器是指:

利用现有的PC机。

加上特殊设计的仪器硬件和专用软件。

形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。

与传统的仪器相比其特点主要有:

具有更好的测量精度和可重复性:

测量速度快;系统组建时间短;由用户定义仪器功能;可扩展性强;技术更新快等。

虚拟仪器以软件为核心,其软件又以美国NI公司的Labview虚拟仪器软件开发平台最为常用。

Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。

目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。

函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。

下面结合一个虚拟函数信号发生器设计开发具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。

LabVIEW特点

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:

其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。

LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。

LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。

虚拟仪器(virtualinstrumention)是基于计算机的仪器。

计算机和仪器的密切结合是目前仪器发展的一个重要方向。

粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。

随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。

另一种方式是将仪器装入计算机。

以通用的计算机硬件及操作系统为依托,实现各种仪器功能。

虚拟仪器主要是指这种方式。

下面的框图反映了常见的虚拟仪器方案。

虚拟仪器的主要特点有:

尽可能采用了通用的硬件,各种仪器的差异主要是软件。

可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。

用户可以根据自己的需要定义和制造各种仪器。

虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。

虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。

目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。

虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。

PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。

对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。

普通的PC有一些不可避免的弱点。

用它构建的虚拟仪器或计算机测试系统性能不可能太高。

目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。

每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。

这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。

VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。

虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。

目前使用较多的是IEEE488或GPIB协议。

未来的仪器也应当是网络化的。

LabVIEW(LaboratoryVirtualinstrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。

它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。

这是一个功能强大且灵活的软件。

利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。

图形化的程序语言,又称为“G”语言。

使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。

它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。

它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。

使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。

LabVIEW8.0版本增加的Express技术,简化了测试测量应用系统的开发进程,其灵活的交互式VI易与各种范围的I/O信号连接,用户甚至只需点击鼠标配置应用系统,即可完成搭建工作并开始运行。

通过简单地修改ExpressVI的配置,可以快速反复地修改应用程序以适应新的测试测量需求。

LabView软件是美国NI公司研制的具有革命性的虚拟仪器开发环境,主要应用于仪器控制、数据采集、数据分析、数据显示等领域,适用于多种不同的操作系统平台。

与传统程序语言不同,LabView采用强大的图形化语言编程,面向测试工程师而非专业程序员,编程非常方便,人机交互界面直观友好,具有强大的数据可视化分析和仪器控制能力等特点[1]。

“软件就是仪器”反映了虚拟仪器技术的本质特征。

声卡作为数据采集卡,其A/D转换功能已经成熟,而且计算机无需添加额外配件便能完成采集功能,具有价格低廉、采样精度高,与LabView软件结合编程简单的优点,可以构成一个较高采样精度、中等采样频率、灵活性好的数据采集系统。

基于以上,本文设计了种基于LabView的声卡数据采集系统,实现数据采集、信号分析及信号发生等功能,在工程测量与实验室应用中具有广阔的前景。

LabIEW软件的特点

LabIEW是一种程序开发环境,类似于BASIC开发环境;但LabIEW与其它计算机语言相比,有一个特别重要的不同点:

其它计算机语言都是采用基于文本的语言产生代码行;而LabIEW使用图形化编程语言G编写程序,产生的程序是框图的形式。

像C或BASIC一样,LabIEW也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。

LabIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。

LabIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序(子I)的结果、单步执行等,便于程序的调试。

LabIEW易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用,可在很短的时间内掌握并应用到实践中去。

LabIEW在包括航空、航天、通信、汽车、半导体和生物医学等世界范围的众多领域内得到了广泛应用,从简单的仪器控制、数据采集到尖端的测试和工业自动化,从大学实验室到工厂,从探索研究到技术集成,都可以发现应用LabIEW的成果和开发产品。

1.具有图形化的编程方式,设计者无需写任何文本格式的代码,是真正的工程师的语言。

②.提高丰富的数据采集、分析及存储的库函数。

③.提高传统的程序调试手段,如设置断点、单步运行,同时提供独具特色的执行工具,使程序动画式运行,利用设计者观察到程序运行的细节,使程序的调试和开发更为便捷。

④.32位的编译器生成32位的编译程序,保证用户数据采集、测试和测量方案的高速运行。

⑤.囊括了PCI,GPIB,PXI,XI,RS-232/485,USB等各种仪器通信总线标准的所有功能函数,使得不懂的总线标准的开发者也能够驱动不同总线标准接口设备与仪器。

⑥.提供大量与外部代码或软件运行链接的机制,如DLL,DDE,ActieX等。

⑦.具有强大的Internet功能,支持常用的网络协议,方便网络、远程测控仪器的开发。

虚拟仪器软件平台——LabVIEW

讲到虚拟仪器,不能不提革命先锋美国国家仪器公司(NationalInstruments,以下简称NI),NI提出“软件就是仪器”的口号,彻底打破了传统仪器由厂家定义,用户无法改变的模式,该公司已研究及制作数以百计的综合软件与硬件产品,在配合标准电脑使用时,即可取代传统仪器(或与之连接通讯),及监控工序流程。

NI目前正致力于发扬新的解决方案,协助工程师、科学家以更快、更好、更低于预算达到他们的目标。

这里提出介绍的都是NI研制的虚拟仪器产品,让各位深入认识其优点。

软件是虚拟仪器系统的关键。

所以,提高软件编程效率也就成了一个非常现实的问题。

根据微软件及其他电脑应用软件工业家的观点,在当今这个信息时代,提高软件编程效率的关键是采用面向对象的编程技术,但是,仅有面向对象的编程技术还是不够的,因为不可能让所有人都去学习复杂的C/C++语言,同时成为行业专家和编程专家。

为此,在这里特地为你推荐两种虚拟仪器的开发平台LabIEW和LabIEWRT,这两种编程语言以简单直观的编程方式,配合众多的设备驳动程序,把复杂、烦琐、费时、难学的语言编程简化成用功能方框图、或实体图形,通过简单的连线方式,这样便完成程式设计。

并设有自动除错及测试功能,令程式开发时间大为缩短。

虚拟信号发生器的结构与组成

首先打开虚拟仪器软件界面

虚拟函数信号发生器的前面板

本虚拟信号发生器主要由一块PCI总线的多功能数据采集卡和相应的软件组成。

将它们安装在一台运行Windowsxp的PC机上。

即构成一台功能强大的函数信号发生器。

本虚拟信号发生器的设计参考了SG1645功率函数信号发生器。

本函数信号发生器的前面板主要由以下几个部分构成:

仪器控制按钮,输出频率控制窗口(包括频率显示单位),频率倍成控制,波形选择,频率微调按钮,直流偏置,方波占空比节,输出波形幅度控制按钮。

频率微调范围:

O.1—1Hz;直流偏置:

一10—10V;方波占空比:

0—100%;输出波形幅度:

0—10V。

此外还增加了许多修饰性的元件如面板上的压控输入、记数输入、同步输出、电压输出等。

使用这些修饰性的元件的目的是为了增加仪器的美观性,并尽量与真实仪器的使用界面相一致。

图3-1函数信号发生器的前面板

虚拟函数信号发生器的硬件构成

本虚拟信号发生器的输入输出的硬件部分为一数据采集卡和具有一定配置要求的PC机,数据的输入输出靠对数据采集卡输出输入口的定义来实现。

本设计采用的PCI一1200数据采集卡是一块性价比较好的产品,具备数/模转换的功能。

能将产生的数字信号转换成模拟信号且数模转换精度高,而且还具备滤波功能,从而使输出波形光滑。

它支持单极和双极性模拟信号输入,信号输入范围分别为一5一+5V和0—10V。

提供l6路单端,8路差动模拟输入通道、2路独立的DA输出通道、24线的TTL型数字Ⅳ0、3个l6位的定时计数器等多种功能。

硬件接口部分用于数据输入或输出时的通道设置。

硬件接口部分程序框图如图3-2所示:

图3-2硬件接口程序图

Device用于指定所用的设备号.该设备号通过MeasurmentandAutomationExptorer工具配置。

WaveformLength用于设定数据采集卡的缓冲区的大小。

Channel用于指定使用的设备的通道号(一般的数据采集卡具备多个输人输出通道)。

虚拟函数信号发生器的软件设计与实现

软件部分采用专业的LabVIEW6i图形化虚拟仪器开发工具。

虚拟函数信号发生器主要由软件完成输出波形信号的产生和输出信号频率的显示。

输出波形频率的变化的具体实现是将波形数据写入数据采集卡的缓冲区当中.通过设置缓冲区的更新频率(改变内部的时钟频率)来实现输出数据频率的变化。

该过程主要运用了Labview中的数据采集子模块中的AOSTART功能模块从实现功能的角度来说.本次设计的虚拟函数信号发生器的功能结构主要包括两大功能模块:

波形产生模块(FG模块)和频率单位变化控制(DISPLAY)模块。

波形产生模块又调用FGEN模块。

FGEN模块为数字波形产生模块

数字波形产生模块

波形产生模块是虚拟函数信号发生器软件的核心。

利用该模块可实现正弦波、方波、锯齿波、三角波等波形。

正弦波的产生原理是通过调用sinfx1函数来实现。

在本次设计,设计每一正弦波周期由1000点组成,利用类似C语言中的For循环为x赋值,这样执行一次For循环,便可以产生生成一个周期正弦波所需的数据,然后利用While循环,使程序反复执行,就可以连续输出正弦波形。

方波、锯齿波、三角波的产生原理与正弦波产生原理相近,都是通过数学运算来实现代表波形的数字序列。

与模拟信号相比,利用软件的方法产生的波形数字序列虽然存在着一定的误差,但只要一个周期内选的点数足够的多。

就可以使误差降到最低,对结果的影响最小。

利用软件产生波形的一个最大的优点是使仪器的成本大大降低,而且使仪器小型化,智能化。

其正弦波源程序如下图3-3所示正

图3-3正弦波源程序

可以通过界面的频率选型修改频率大小,通过幅值修改输出幅值大小,加入了停止按钮,其运行程序如图3-4所示可以通过Knob调整频率。

图3-4正弦波显示程序

其调整界面的如下图3-5所示,可以通过信号调整输种类,可以通过频率设定频率大小,同时,可以设计噪声等等项。

3-6调整界面

其方波源程序如图3-7所示

图3-8方波源程序

其方波显示程序如下图3-9所示

图3-9方波显示程序

其三角波源程序如图3-10所示

图3-11三角波源程序

 

其三角波显示程序如下图3-11所示

图3-12三角波显示程序

 

LabVIEW图形化语言将计算机硬件资源与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在仪器,大大缩小了仪器硬件的成本和体积,并通过LabVIEW实现对数据的显示、存储以及分析处理。

因为虚拟信号发生器可与计算机同步发展,与网络及其他周边设备互联,用户只需改变软件程序就可以不断赋予它或扩展增强它的测量功能。

这就是说,一起的设计制造不再是厂家的专利。

虚拟信号发生器开创了仪器使用者可以成为一起设计者的时代,这将给虚拟信号发生器使用者带来无尽的利益。

Labview作为一个图形化编程软件,是开发测试系统的一种功能强大、方便快捷的编程工具。

其良好的相通性、开放性、专用性,使测试系统的开发周期短、成本低、质量高。

基于Labview的虚拟函数信号发生器具有机交互性好、易于操作等特点,能够广泛的应用与于科研、生产等领域.

参考文献

[1]胡仁喜等编著.LabVIEW8.2.1虚拟仪器实例指导教程.北京:

机械工业出版社,2007.11.

[2]张凯等编著.LabVIEW虚拟仪器工程设计与开发.北京:

国防工业出版社,2004.6.

[3]张毅等编著.虚拟仪器技术分析与应用.北京:

机械工业出版社,2004.2.

[4]余成波,冯丽辉等编著.虚拟仪器技术与设计.重庆:

重庆大学出版社,2006.7.

[5]刘全心,南建平.基于LabVIEW的虚拟函数信号发生器的设计[J].2007年5月第31期.

[6]NationalInstruments.UsingLabVIEWtoCreateMultithreadedVIs[M].Texas:

NationalInstruments,2000.

[7]张雄伟,陈亮,杨吉斌.现代语音处理技术及其应用[M].北京:

机械工业出版社,2003.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2