基于LabVIEW的实验教学系统的设计.doc

上传人:风**** 文档编号:975482 上传时间:2024-03-19 格式:DOC 页数:33 大小:757.50KB
下载 相关 举报
基于LabVIEW的实验教学系统的设计.doc_第1页
第1页 / 共33页
基于LabVIEW的实验教学系统的设计.doc_第2页
第2页 / 共33页
基于LabVIEW的实验教学系统的设计.doc_第3页
第3页 / 共33页
基于LabVIEW的实验教学系统的设计.doc_第4页
第4页 / 共33页
基于LabVIEW的实验教学系统的设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、基于LabVIEW的实验教学系统的设计1绪 论1. 1课题背景 在电工及电子类课程中,实验是一种重要的教学手段,学生通过做实验,可以加深对所学知识的理解,增强学习的兴趣,提高动手能力,锻炼在实践中发现问题、分析问题和解决问题的能力。 但是,近年来各大高校纷纷扩招,学生人数急剧增加,实验室的设备和规模都难以满足需要,实验室常规设备有的己经老化,有的技术上有些落后,在当前学校经费较少的情况下,如果大量增加常规仪器、仪表的配置,学校财力难以支付。又因为基础实验室是面向所有的工科专业,任务异常繁重,实验室常常只能应付学生按教学大纲要求做一些最简单的验证实验,学生很少有机会去反复熟悉常用仪器仪表的使用,

2、更很少有机会做设计性实验,这对调动学生积极性,培养创新精神,加强实践动手能力都十分不利。虚拟仪器的出现很好的解决了这个问题。美国国家仪器公司(National Instruments)在20世纪80年代最早提出虚拟仪器(Virtual Instrument)的概念,同时推出了用于虚拟仪器开发的工程软件包LabVIEW。NI公司宣称“The Software is the Instrument”,即“软件就是仪器”1。虚拟仪器利用现有的计算机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的高档低价的新型仪器。虚拟仪器是计算机技术与电子仪器相结合而产生

3、的一种新的仪器模式。它通常是由个人计算机、模块化的功能硬件与用于数据分析、过程通信及图形用户界面的应用软件有机结合构成,使计算机成为一个具有各种测量功能的数字化测量平台。它利用软件在屏幕上生成各种仪器面板,完成对数据的处理、表达、传送、存储、显示等功能。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,对科学技术的发展和工业生产的进步将产生不可估量的影响,同时对改善高校实验教学仪器设备,提高教学质量也是一个福音。在虚拟仪器系统中,用计算机灵活强大的软件代替传统仪器的某些部件,用人的智力资源代替许多物质资源,通过一组软件和硬件,形成既有普通仪器的基本功能,又有一般仪器所不具

4、备的特殊功能的新型仪器 结合数据库技术和软件技术,可以在虚拟仪器的基础上形成虚拟仪器实验室。与传统的实验室相比,虚拟仪器实验室具有以下优势: (1)为减少实验设备资金的投入。首先,在一台计算机上就可以实现诸如示波器、函数发生器、电压表、频谱分析仪等仪器的功能,大大节约了仪器成本。其次,传统仪器维护费用高,需要耗费大量的人力物力。虚拟仪器基于软件的体系结构大大节省了开发和维护费用。 (2)便于开放式管理,扩大教学规模。虚拟仪器实验室系统可以通过网络进行数据传送,指导老师通过计算机监控实验过程,可以同时管理几十甚至上百个学生做实验。 1.2虚拟仪器发展前景虚拟仪器依靠其自身的优势使它在仪器市场的竞

5、争力不断增强。许多大型仪器公司均在虚拟仪器市场上占有一席之地。1988年国际上开始有虚拟仪器产品面市,当时只有五家制造商推出的30种产品。此后,虚拟仪器产品每年成倍增加,到1994年底,虚拟仪器制造厂已达95家共生产1000多种虚拟仪器产品,销售额达2.93亿美元,占整个仪器销售额73亿的4%。目前,我国正处于科学技术和教育事业蓬勃发展的新时期,对仪器设备的需求将更加强劲。虚拟仪器赖以生存的PC计算机近几年正以迅猛的势头席卷全国,这为虚拟仪器的发展奠定了基础。虚拟仪器作为传统仪器的替代品,市场容量巨大。据统计,1998年我国进口电子测量仪器73.5台,价值32亿美元。据专家预测,到本世纪初我国

6、将有50%的仪器为虚拟仪器。以上统计数字表明,虚拟仪器具有广阔的发展前景。但同时也应认识到,现在我国的科技水平还相对落后,每年需要花费大量的外汇进口电子仪器产品。如何发展我国自己的仪器产品,尤其是具有广阔发展前景的虚拟仪器,是我们应该迫切解决的问题。2虚拟仪器及LabVIEW介绍2.1虚拟仪器技术2.1.1虚拟仪器基本概念 所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果;利用计算机强大的软件功能实现信号数据的运算、分

7、析和处理;利用1/O接口设备完成信号的采集测量与调理,从而完成各种测试功能的一种计算机测试系统。使用者用鼠标或键盘操作虚拟面板,就如同使用专用测量仪器一样。因此,虚拟仪器的出现,使测量仪器与计算机的界限模糊了。虚拟仪器的“虚拟”两字主要包含以下两方面的含义:(1)虚拟仪器的面板是虚拟的虚拟仪器面板上的各种“图标”与传统仪器面板上的各种“器件”所完成的功能是相同的:由各种开关、按钮、显示器等图标实现仪器电源的“通”、“断,实现被测信号的“输入通道”、“放大倍数”等参数的设置,以及实现测量结果的“数值显示”、“波形显示”等。传统仪器面板上的器件都是“实物”,而且是由“手动”和“触摸”进行操作的:虚

8、拟仪器前面板是外形与实物相像的“图标”,每个图标的“通、“断”、“放大”等动作通过用户操作计算机鼠标或键盘来完成。因此,设计虚拟仪器前面板就是在前面板设计窗口中摆放所需的图标,然后对图标的属性进行设置。 2)虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的。 虚拟仪器是在以PC为核心组成的硬件平台支持下,通过软件编程来实现仪器的功能。因为可以通过不同测试功能软件模块的组合来实现多种测试功能,所以,在硬件平台确定后,就有“软件就是仪器”的说法。这也体现了测试技术与计算机深层次的结合。虚拟仪器技术的实质是充分利用最新的计算机技术实现和扩展传统仪器的功能。软件是虚拟仪器的关键,当硬件确定以后,

9、就可以通过不同的软件实现不同的功能。下列框图反映了常见虚拟仪器方案:信号调理数据采集卡数据处理虚拟仪器面板被测对象图2-1 常见虚拟仪器应用方案2.1.2虚拟仪器硬件平台 构成虚拟仪器的硬件平台有两大部分:(1) 计算机:一般为一台PC机或者工作站,它是硬件平台的核心。虚拟仪器使用的个人计算机中,微处理器和总线成为最重要的因素。 其中,微处理器的发展是最迅速的,它使虚拟仪器的能力得到极大地提高。80年代末制造的虚拟仪器频率分析仪完成一个1024点的快速傅立叶变换需要1秒钟的时间;今天的系统可以在1毫秒内完成同样的运算,速度提高了一千倍。这意味着,如果以前人们是用虚拟仪器来做快速傅立叶变换观察信

10、号,那么今天可以利用它进行高速的实时运算,并将之应用于过程控制和其它控制系统中。总线技术的发展也为提高虚拟仪器的处理能力提供了必要的支持。PCI总线性能比ISA总线提高了近十倍,使得微处理器能够更快地访问数据。使用ISA总线时,插在电脑中的数据采集板的采集速度最高为2MBps;使用PCI总线时,最高采集速度可提高到132MBps。由于总线速度的大大提高,现在可以同时使用数块数据采集板,甚至图象数据采集也可以和数据采集结合在一起。(2) I/O接口设备:主要完成被测信号的采集、放大、模/数转换。可根据不同情况采用不同的I/O接口硬件设备,如数据采集卡(DAQ)、GPIB总线仪器、VXI总线仪器模

11、块、串口仪器等,虚拟仪器构成方式有五种类型,如图2-2框图所示。LabVIEW提供了各种图形化驱动程序,使用者不必熟悉PCI计算机总线、GPIB总线、VXI总线、串口总线,利用LabVIEW提供的图形化驱动程序就可以驱动上述各种总线的I/O接口设备,实现对被测信号的输入、数据采集、放大与模/数转换,进而供计算机进一步分析处理。虽然这五种系统有很大的差别,但是无论那种VI系统,都是通过应用软件将仪器硬件与通用计算机相结合。被测信号PCDAQGPIB仪器串口仪器VXI模块PXI模块计算机图2-2虚拟仪器的构成方式考虑到PCDAQ/PCI插卡式虚拟仪器在五种虚拟仪器系统中,是虚拟仪器最基本最廉价的构

12、成形式。在经费不足或时间不充裕的情况下经常被采用,下面就对这种虚拟仪器系统做简单的介绍。它的硬件平台主要有PC计算机和数据采集卡(DAQ卡)组成。数据采集卡(DAQ卡)由以下几个部分组成:1. 多路开关。将各路信号轮流切换的放大器的输入端,实现多参数多路信号的分时采集。2. 放大器。将前一级多路开关切换进入待采集信号放大(或衰减)至采样环节的量程范围内。通常实际系统中放大器作成增益可调的放大器,设计者可根据输入信号不同的幅值选择不同的增益倍数。3. 采样保持器。取出待测信号在某一瞬时的值(即实现信号的时间离散化),并在A/D转换过程中保持信号不变,如果被测信号变化很缓慢,也可以不用采样/保持器

13、。4. A/D转换器。将输入的模拟量转化为数字量输出,并完成信号幅值的量化。随着电子技术的发展,目前通常将采样/保持器同A/D转换器集成在一块芯片上。以上四个部分都处在计算机的前向通道,是组成数据采集卡的主要环节,与其它有关电路如定时/计数器、总线接口电路等集成在一块印刷电路板上,即构成数据采集卡(DAQ卡),完成对信号数据的采集、放大及模/数转换任务。PC-DAQ/PCI插卡式虚拟仪器系统充分利用了PC计算机的机箱、总线、电源及软件资源,但是因而也受到PC计算机机箱环境和计算机总线的限制,存在诸多的不足,如电源功率不足、散热条件差等。2.1.3软件系统软件系统包括应用软件和I/O驱动软件:1

14、) 应用程序。包含两个方面的程序:l 实现虚拟面板功能的前面板软件程序。l 定义测试功能的流程图软件程序。2) I/O接口仪器驱动程序。这类程序用来完成特定外部硬件设备的扩展、驱动和通信。大部分虚拟仪器开发环境均提供一定程度的I/O设备支持。许多I/O驱动程序已经集成在开发环境中。以LabVIEW为例,他能够支持串行接口、GPIB及VXI等标准总线和多种数据采集板,LabVIEW还可以驱动许多仪器公司的仪器,如Hewlett-Packard,Philips,Tektronix,B&K,Fluke等。同时,LabVIEW还可调用Windows动态连接库和用户自定义的动态连接库中的函数,以解决对某

15、些非NI公司支持的标准硬件在使用过程中的驱动问题。2.2虚拟仪器的功能与特点2.2.1虚拟仪器的功能虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器的价格,使用户可以根据自己的需要定义仪器的功能。虚拟仪器广泛应用于信号处理、电子测量、电力工程、物矿探测、医疗、振动分析、声学分析、故障诊断及教学科研等诸多领域。其中,最广泛的应用是取代传统的台式仪器。高等学校特别是理工科学校,教学、科研需要大量的测量分析仪器设备,特别是实验教学,每种仪器都必须配置多套,而且有的仪器设

16、备价格昂贵,因此仪器设备所需投资巨大,一般学校很难满足,造成许多学校仪器设备缺乏和过时陈旧等现象,严重影响教学科研。如果运用虚拟仪器系统,情况就大不一样了。使用虚拟仪器不但可以节约大量仪器设备的经费投入,而且能够提高教学科研的质量与效率。2.2.2虚拟仪器的特点现代化生产要求电子仪器品种多、功能强、精度高、自动化程度高,而且要求测试速度快、实时性好、具有良好的人机界面。虚拟仪器正好可以满足这些要求。与传统仪器相比,虚拟仪器具有如下优点:1) 虚拟仪器具有开放性、模块化、可重复使用及互换性等特点。 在一定通用硬件模块和软件环境的支持下,用户可以根据实际情况够设自己的测试方案,以完成不同的测试任务

17、。2) 用户自定义性。用户可以自行定义虚拟仪器的功能,通过对软件模块的扩充,相当于购买一台新仪器。虚拟仪器使得用户能够根据自己的需要定义仪器功能,而不像传统仪器那样,受到仪器厂商的限制。2.3虚拟仪器开发平台介绍2.3.1 LabVIEW应用程序的构成所有的LabVIEW应用程序,即虚拟仪器(NI),它包括前面板(front panel)、流程图(block diagram)以及图标/连接器(icon/connector)三部分。1. 前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象

18、(indicator)。2. 流程图流程图也称为后面板,提供VI的图形化源程序。在流程图对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件和连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。3. 图标/连接器VI具有层次化和结构化的特征。一个VI可以作为子程序,这里称为子VI(SubVI),被其他VI调用。图标与连接器在这里相当于图形化的参数。2.3.2 LabVIEW的操作模板在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中

19、反映了该软件的功能与特征。1. 工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具,如图2-3所示。如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具。图2-3 LabVIEW模板光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。2. 控制模板(Controls Palette)该模板用来给前面板设置各种所需的输出显

20、示对象和输入控制对象。每个图标代表一类子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。控制模板如下图2-4所示,它包括如下所示的一些子模板。 图2-4 LabVIEW的控制模板3. 功能模板(Functions Palette)图2-5 LabVIEW的功能模板功能模板是创建流程图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在流程图程序窗口的空白处点击鼠标右键以弹

21、出功能模板,功能模板如图2-5所示。2.3.3 LabVIEW的特点LabVIEW(Laboratory Virtual Instrument Engneering Workbench)是由美国国家仪器公司(NI)在1986年推出的一种基于图形编程语言(G语言)的开发环境,它具有十分强大的功能,包括数值函数运算、数据采集、信号处理、输入/输出控制、信号生成、图象的获取、处理和传输等等。LabVIEW与C,Pascal,Basic等传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具,以及模块化的编程特点等2。但二者最大的区别在于:传统编程语言用文本语言编程;而LabVI

22、EW使用图形语言(即各种图标、图形符号、连线等)编程,界面非常直观形象,而且使用的都是测试工程师们熟悉的旋钮、开关、波形图等,因此是一种直觉式图形程序语言。用LabVIEW编程无须太多编程经验,只要以很直觉的方法建立前面板人机界面和方框图程序,便可以完成编程过程,使用户免于传统程序语言线性结构的困扰,这对于没有丰富编程经验的工程师们来说无疑是个极好的选择。同时,LabVIEW的执行顺序是依方框图间数据的传递来决定的,并不像传统文字式编程语言必须逐行地执行,因此用户能设计出可同时执行多个程序的流程图。采用LabVIEW编程,其主要特点就是将虚拟仪器分解为若干基本的功能模块(相当于硬件设计的集成电

23、路),模块的引脚代表输入/输出接口。编程者可以通过交互式手段,采用图形化框图设计的方法,完成虚拟仪器的逻辑和测量分析功能设计。LabVIEW程序设计过程与人们设计仪器的思维过程十分相似,程序框图就实现了程序代码功能,避免了一般程序设计从框图构思到程序表示的繁琐。LabVIEW编程的另一个优点是将软件的界面设计与功能设计独立开来,修改人机交互界面无须对整个程序进行调试,这对设计像仪器操作面板这样复杂的人机界面而言是十分方便的。LabVIEW还为用户提供了函数扩展功能,从而可以调用C等传统编程语言写的程序代码、调用标准动态链接库等。对于构建虚拟仪器,LabVIEW有许多特点和优势,诸如:仪器控制与

24、数据采集的图形化编程;直观明了的前面板用户界面和流程图式的编程风格;内置的编译器可加快执行速度;数据采集DAQ函数库可让用户采集测量信号或发出控制信号,适合应用于快速且直接的控制;650多种仪器驱动程序,可驱动超过50多家厂商制造的仪器;内容丰富的高级分析库,可进行信号处理、统计、曲线拟合以及复杂的分析工作;利用Activex,DDE以及TCP/IP进行网络连接和进程通信;适用于Windows NT/9X/XP,MacOS,HP2UX,Sun以及Concurrent实时计算机等等3。LabVIEW现成的人机界面工具可帮助用户很快地构成所需的图形化人机界面,包括趋势图、按钮、LED指示灯和图表等

25、,完全无须从头开始去设计这些元件。并可更进一步以LabVIEW的PC工具箱或其它绘图软件来订制人机界面元件,藉以呈现仪控符号和系统流程图。LabVIEW的特色还在于拥有功能超强大且庞大的分析函数库,足以与专业数学分析套装软件相匹敌。2.4 设计本虚拟仪器系统所采用的方法LabVIEW的图形化程序设计是基于现代软件的面向对象技术和数据流技术而发展起来的。数据流程序设计表示只有在所有输入都有效时,一个对象才开始执行,同样,只有当对象的功能完成以后,对象输出才有效。这样的话,互相在对象间的数据流控制执行顺序,执行顺序不局限于来自文本式程序设计的线性顺序,它可以不受其限制。用户能够通过连接模块来快速开

26、发自己的应用程序,甚至能够使用多路数据通道,实现同步操作。与传统的文本式程序设计一样,LabVIEW也有控制流程图功能执行的部分,它们包括Sequence Case Statement,For Loop,While Loop,它们被图形化地描述成边界结构,像在传统的线形化程序设计中可以插入代码段一样,可以把图标放在LabVIEW图形结构的界限内部。LabVIEW有一个图形编辑器来产生最优化的编辑代码,虚拟仪器执行他们相当编译C的速度。利用应用程序生成器,用户能够产生虚拟仪器,就像独立的执行程序一样。下面按步骤说明进行图形化的程序设计。1. 建立方案:选用LabVIEW软件,可以构建虚拟仪器而不

27、是编写程序。有了交互式控制的软件系统,用户可以很方便地建立其前面板窗口。为了实现具体的功能,用户利用向导把流程图结合在一起。2. 建立前面板:从控制模板上选择你需要的对象,放在虚拟仪器的前面板上。控制模板上的对象包括数字显示、表头、压力计、热敏计外壳、表、图片等。当你的虚拟仪器完成以后,就能在虚拟仪器工作十利用前面板去控制整个系统,如移动滑动片、在图象中变向、从键盘输入等。3. 构建图形化的流程图:对虚拟仪器进行程序设计,你不必担心很多传统设计所需的语法细节,而可自己构建流程图。从功能模板上选择对象(用图标表示),并用线将它们连接起来以便数据进行传递。功能模块上的对象包括简单的数学运算、高级数

28、据采集和分析方法、以及网络和文件输入输出操作。4. 数据流程序设计:LabVIEW用一种精巧的数据流程序设计模式把用户从文本式语言的线形化方式构建程序的方法中解放出来。因为在LabVIEW软件中程序的执行顺序由各方块中的数据流决定。你也可以建立同步操作的流程图。LabVIEW软件是一个多任务系统具有多线程功能并运行多个虚拟仪器。5. 模块化和层次:LabVIEW虚拟仪器实行模块化设计,因而任何虚拟仪器既能独立运行,又能被用作其他虚拟仪器的一部分。甚至可以创建自己的虚拟仪器图标,因而可以设计由虚拟仪器构成的多层系统,并可以改变它,同其他虚拟仪器交换和连接以满足不断变化的应用需要。6. 图形编辑器

29、:在许多场合,程序运行速度都很关键。LabVIEW软件是唯一的带有编辑器的图形化编程环境,可以产生最优化的代码,其运行速度与编译C的速度相当。利用内置的绘图器,甚至能够对时间很关键的代码部分进行分析和优化。因而,不会因为图形化编程降低了效率。图形化程序设计编程简单、直观、开发效率高。3基于LabVIEW的虚拟仪器实验教学系统的设计在LabVIEW这个高效的虚拟仪器开发平台上,学生自己可以利用图形化语言开发出各种仪器,综合应用所学过的各学科知识,像搭积木一样,在普通的计算机上构建一个个人实验室,完成机械工程测试实验。这样教师和学生摆脱了功能单一、固定的现成仪器的束缚,可以充分发挥自己的积极性和创

30、造性,有利于培养学生的创造性思维和工程实践能力。这样做还能够充分利用现有技术资源,降低实验成本,有利于实验设备更新。3.1基于LabVIEW的虚拟信号发生器的设计3.1.1实验原理和功能虚拟信号发生器可以提供各种波形的周期信号函数,函数值为离散序列值。该离散值通过(D/A)转换,以模拟电压信号输出,波形呈现台阶状,对模拟信号进行滤波就能得到光滑的波形。因为LabVIEW中的所有仿真信号用函数生成的离散时间数列,其输入参数频率均为数字频率,因此要特别注意归一化频率的问题。数字频率f等于一个周期内采样点数的倒数,它是仿真信号fx与采样频率fs之比,即:归一化频率=仿真信号频率/采样频率 此虚拟仪器

31、发生器完全可以代替目前实验室广泛使用的传统的信号发生器3.1.2虚拟信号发生器前面板和流程图的设计前面板由一个Enum控件、Waveform Graph控件、五个Numeric Controls控件、File Path Controls控件和OK Button 控件组成。Enum控件用来进行波形选择,可选择生成正弦波、方波、三角波和锯齿波。Waveform Graph控件用来显示生成的波形。Numeric Controls控件用来对波形的频率、采样频率、幅值、相位、采样点数参数进行设置。File Path Controls控件中输入保存路径,可以把生产波形的特征值输出到指定的文件中。OK Bu

32、tton 控件用来控制是否保存波形的特征值。完整的虚拟信号发生器前面板如图3-1所示。图3-1 虚拟信号发生器前面板LabVIEW的All functionAnalyzeSignal ProcessingSignal Generation子模板下有丰富的仿真信号子VI,如正弦波序列发生器、方波序列发生器、三角波序列发生器、锯齿波序列发生器等。我们只需将需要的各个子VI放入一个Case结构即可构成典型信号发生器系统。下面就对后面板的各个单元加以介绍。1. 正弦波序列发生器子VI如图3-2所示,它有五个输入端口和三个输出端口,前面板上的波形参数控件在后面板上自动生成的框图的端口分别与正弦波序列发生

33、器子VI的相应输入端口相连,正弦波序列发生器子VI的Sine Wave输出端口与Waveform Graph端口相连,即可生成指定参数的正弦波形。方波、三角波、锯齿波序列发生器都与此类似。2. Case结构如图3-3所示,它就类似于C语言中的Switch结构,是一个多分支选择结构,它根据输入值决定程序进入不同的分支流。图框的左边数据端口是条件选择端口,选择结构通过连接到这个端口中的值来选择到底哪个子图形代码框中的程序被执行。这个只值可以是整型、字符串型、布尔型,默认的是布尔型。选择结构图框的顶端是选择条件标识框,里面盛放了所有可以被选择的条件,并显示当前子图形代码框中代码被执行的条件4。 图3

34、-2 正弦波序列发生器子VI 图3-3 Case结构 图3-4 虚拟信号发生器后面板流程图完整的虚拟信号发生器后面板流程图如图3-4所示。3. 为了将仿真信号的波形的横轴起点、横轴分度值和幅值合成一个整体,后面板中还使用了簇结构,在Cluster子模板上选择Bundle,它有三个输入量:横轴起点,设为0;横轴分度值,由采样频率的倒数,即采样间隔决定;输入信号幅值。4. Write to spreadsheet 子VI:该子VI可以实现将波形的特征值存储到指定的文件中3.1.3 调试和运行在运行之前,应先在前面板中对信号控件参数进行设置。采样频率fs、数字频率f、一个周期采样点数n与总点数N=s

35、amples的关系为:fs=nfx所以,fs的最大值应是仿真信号频率fx的n倍,且Nn。只要合理的设置才会生成另人满意的信号波形。如果想保存信号特征值,可以在File Path Controls控件中输入路径,点击OK控件即可保存。3.2 虚拟信号频谱分析仪的设计3.2.1 实验原理和功能信号的频谱描述是以频率f(或w=2f)为横坐标变量来描述信号幅值、相位的变化规律。信号的频谱分析是研究信号的频率结构,即求取其分量的幅值、相位按频率的分布规律,并建立以频率为横轴的各种“谱”。1、周期信号与离散频率在有限的区间上满足狄里赫利条件的周期函数x(t)可以展开成傅立叶级数。傅立叶级数有两种表达式1.

36、 傅立叶级数的三角函数展开式: 式中 : =是直流分量; =是余弦分量的幅值; =是正弦分量的幅值; =是各频率分量的幅值; =arctan是各频率分量的相位; =是角频率5;以角频率n为横轴,幅值或相角为横轴作图,则分别得到幅频谱图和相频谱图,它们是单边谱,n由0。2. 傅立叶级数的复指数函数展开式:x(t)=(m=0,1,2) (3-1)式中为傅立叶系数。 =+=| (3-2)又=+j=|根据欧拉公式= cosmt-j sinmt,代入式(3-2)可得=|=arctan=-m=0,常值分量=以|-m和-m作图分别为幅频谱图和相频谱图,它们都是双边谱,m从-+。3. 周期信号频谱的特点l 离

37、散性。只在n离散值上取值或只在m离散点上取值。l 谐波性。每条谱线只出现在基波频率的整数倍的频率上,基波频率是主分量频率的公约数,相邻谱线间隔为。l 收敛性。常见的周期信号幅值总的趋势是随谐波次数的增高而减小。由于这种收敛性,实际测量中可以在一定误差允许范围内忽略次数过高的谐波分量5。2 、非周期信号与连续频谱1. 频谱密度函数X(w)对于非周期信号,可以看作周期T为无穷大的周期信号。当周期趋近无穷大时,则基波谱线及谱线间隔=2/T趋近无穷小,从而离散的频谱就变成了连续的,所以非周期信号的频谱是连续的。傅立叶级数的复指数函数展开式为: x(t)= (3-3)傅立叶系数 = (3-4)当周期T,

38、谱线间隔=2/T趋近无穷小,离散量m( m=0,1,2,)变为连续量,傅立叶系数的模|趋于无穷小,故作不出|-m的幅频图,但各条谱线比例保持不变。将它放大T倍,则(3-4)变为:=因为有d,所以有=由于时间T是积分变量,故上式积分后,仅是的函数,并记作X()或,即X()=dt= X()或X(f)表示单位频段的频率分量,是复数,称为x(t)的频率密度函数。2. 非周期信号的傅立叶积分表示作为周期T为无穷大的非周期信号,当周期T时,频谱谱线间隔d,T,离散变量m变为连续变量,求和运算就变成求积分运算。于是(3-3)就变为:x(t)= =这就是傅立叶积分。记为x(t)=。于是就有=dtx(t)= d

39、将=2f带入以上两式,得 x(t)= dfX(f)= X()=2X(f)作| X()-|或|X(f)-f|图,就称为非周期信号的幅值谱密度6。非周期信号用傅立叶级数来表示,其频谱为连续的,它由无限多个频率无限接近的频率成分组成。各频率上谱线幅值趋于无穷小,故用频谱密度表示,它在数值上相当于将分量放大T=2/d倍,同时保持各频率分量幅值相对分布规律不变。3、 离散时间信号的频谱在以计算机为中心的测试系统中,模拟信号x(t)进入计算机前先经过数据采集卡(DAQ)中的采样器,将连续时间信号变为离散时间信号,成为采样信号后再经A/D转换器在幅值上量化为离散的数字信号。这样,就会引起频域上的一些变化。1

40、. 采样定理连续时间信号x(t)被数据采集卡(DAQ)中的采样器以等时间间隔T采样,则采样时刻0、T、2T、所得信号x(t)的瞬时值,就构成了连续信号x(t)的离散时间序列,(i=0、1、2)。采样信号的频谱在幅值上比信号x(t)的频谱X()放大了1/T倍,并呈现周期行,周期为。采样是把连续时间信号变为离散时间序列的过程。这一过程相当于在连续时间信号上“抽取”许多离散时刻iT(i=0、1、2)上的信号瞬时值。其中T是采样间隔,=2/T为采样角频率,它们的取值是个很重要的问题。即采样频率,必须满足关系:2式中为信号的最高频率分量。当时,也就是采样频率=2/T2时,可以通过加一理想低通滤波器提取主

41、分量,滤除全部m1的高频分量,从而由X()恢复原信号x(t)在理论上无误差。但是在实际工程中的低通滤波器不可能有理想的低通特性,故采样频率需要更高,通常为=(420) 。如果采样频率不满足采样定理,谱线就会重叠,即使采用理想低通滤波器也不可能将混入的高频主分量滤除。2. 离散傅立叶变换当采样点i=0、1、2N,共有N个,即无限长信号截断后变为周期信号,频谱由连续谱变为离散谱,即=K(K=0、1、2、N-1),于是有离散傅立叶变换(DFT)的定义式如下: X(K)=x(iT)= x(i) (3-5)x(t)= X(K)=X(K) (3-6)式中=是复数因子。欲对连续时间信号x(t)用计算机进行离

42、散傅立叶变换,首先经采样器对它进行采样,满足采样频率为=2/T(T为采样间隔),从而获得时间离散的信号(t),它是一个无限长的离散的时间序列 (i=0,1,2,)。实际上,只能对有限长的信号进行分析与处理,所以必须对无限长离散序列截断,只取有限长时间=NT中的N个有限数据 (i=0,1,2,)。这样,无限长时间信号x(t)就变成有限长时间信号=NT的周期信号。因此,其频谱的特点是具有离散性、谐波性、周期性。当对信号x(t)进行采样 ,共N个采样点,得离散时间序列x(i) (i=0,1,2,,N-1),代入式(3-5)可得离散时间序列的频谱X(K) (k=0,1,2,,N-1),共N条谱线,其中

43、有效谱线N/2条;反之,将N条谱线代入式(3-6),则可得i=0,1,2,,N-1共N个离散时间序列x(i)。当N=4时,总计需+N(N-1)=28次运算;当N=1024时,则需要进行2096068次运算。如此多的计算次数使DFT不可能在实际工程中得到应用,因而出现了各种用于减少DFT计算次数的算法。如基2时间奇偶分解算法等。那些能够减少计算次数,缩短计算时间,能在工程实际中用来实现DFT计算的快速算法就称为快速傅立叶变换,简称FFT。在许多软件的工具箱中,已有各种实用函数或功能模板可供使用。LabVIEW就提供了这样的功能模块7。虚拟信号频谱分析仪的功能主要是用来对生成的仿真信号进行FFT变

44、换,获得该时域信号的频谱图。4、软件开发虚拟信号频谱分析仪器应实现典型实验信号-的产生,对典型实验信号进行FFT变换,分析其频谱,并显示计算结果。概括起来其主要功能应包括:信号的产生、信号分析和处理、数据文件存储和读取。由于LabVIEW是基于模块化程序设计思想,在总体方案确定后,根据所需的不同功能分别组建各种,后再集成和调试。下面将对各个功能模块简要介绍。根据该虚拟仪器功能的需要,程序至少应包含以下几个模块:1、 典型信号生成模块2、 数据处理模块3、 数据读取存储模块4、 结果显示模块各个模块之间的数据流关系如图3-5所示:典型信号生成模块数据处理模块数据读取存储模块结果显示模块 图3-5

45、 各个模块之间的数据流关系1典型信号生成模块LabVIEW的Signal Generation子模块下有丰富的仿真信号产生子VI,如正弦波序列发生器、方波序列发生器、三角波序列放生器、单位脉冲序列发生器、锯齿波序列发生器等。我们只需将需要的各个子VI放入一个case结构即可构成典型信号生成模块,应注意的问题和流程图在上节3.1虚拟信号发生器中已说明。2数据处理模块 信号频谱分析仪所要做的主要数据处理工作就是对待分析信号进行傅立叶变换,以获得它的频率图。可幸是LabVIEW在频域分析子模块中提供了与信号分析有关的大量函数供设计者使用,在此我们调用了计算输入序列的实数FFT作为信号频谱分析仪的主要

46、数据处理子VI。 图3-7 数据处理模块程序流程3 数据存储模块为了解决前文提到的“栅栏效应”和“泄露”问题我们将LabVIEW在Windows. Vi子模块与窗函数中提供的海宁窗、汉明窗、三角窗、Blackman、Exact Blackman、flat Top等子VI放在一个Case结构中形成了“窗函数选择”。 由FFT和“窗函数选择”及其它运算部件组成的数据处理模块如图3-7LabVIEW有丰富的文件操作函数库,可以方便进行的读写(I/O)操作。LabVIEW在向一个新的或已存在的文件读写数据是一个三部的过程:首先打开或创建一个文件,然后按一定格式读写数据到文件,最后关闭文件。LabVIEW可以读写文本文件(txt)、数据表文件(spreadsheets)和二进制文件(dat)。由于本信号频谱分析仪的数据量不是很大,而且为了学生在实验后进行实验数据分析方便,本模块采用数据表文件的形式对实验数据进行读写操作8。 LabVIEW的function模板下的file I/O子模板中放置了Spreadsheet文件I/O,当到磁盘上读取数据或写数据到磁盘时它将数字数组转换成Spreadsheet字符串格式或反向转换。本文选用Write to spreadsheet子VI作为数据存储,它将一个单精度二维数组组成一个文本字符串,并把这

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922