基于LabVIEW的虚拟仪器设计——线性微分方程曲线显示器_第1页
基于LabVIEW的虚拟仪器设计——线性微分方程曲线显示器_第2页
基于LabVIEW的虚拟仪器设计——线性微分方程曲线显示器_第3页
基于LabVIEW的虚拟仪器设计——线性微分方程曲线显示器_第4页
基于LabVIEW的虚拟仪器设计——线性微分方程曲线显示器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书 第II页基于LabVIEW的虚拟仪器设计线性微分方程曲线显示器摘 要随着计算机软、硬件的发展,计算机与外设之间的数据通信越来越频繁,也越来越便利,虚拟仪器应运而生。从本质上来说,虚拟仪器是仪器技术与计算机技术深层次结合的产物,它强调“软件是仪器”的概念,使用户能够根据自己的需要定义仪器功能,更好的组建自己所需要的测试系统。它是按照信号的处理与采集,数据的分析,结果的输出及显示的结构模式来建立通用信号处理硬件平台。 本课题就是在这个通用信号处理硬件平台,进行了基于LABVIEW的虚拟仪器设计线性微分方程曲线显示器的设计,设计基于LabWIEW软件的虚拟仪器设计线性微分方程曲线显示

2、器,能够显示实验室常用的正弦波、三角波、方波、锯齿波信号及白噪声和多频波,任意公式波,并在以设计好的虚拟显示器的基础上对所产生的信号做线性微分分析及相应的频谱分析。关键字:LabWIEW软件,虚拟仪器, 线性微分方程曲线显示器 目 录1 绪论11.1 课题描述11.2 设计任务与要求11.3 基本工作原理12 虚拟仪器技术22.1 虚拟仪器的概述22.2 虚拟仪器的发展趋势42.3 虚拟仪器系统的组成42.4 虚拟仪器的软件开发平台53 LabVIEW图形化开发环境63.1 LabVIEW简介63.2 LabVIEW的优点73.3 LabVIEW中的编程方式83 建立模型93.1 系统程序框图

3、设计93.2 系统程序运行结果11总 结12致 谢13参考文献14课程设计说明书 第14页1 绪论1.1 课题描述虚拟仪器是一种基于计算机的自动化测试仪器系统。虚拟仪器的突出优点在于能够与计算机技术结合,将计算机资源与仪器硬件,数字信号处理技术与不同功能的软件模块结合,组成不同的仪器功能。用户可根据测试的需要,自己设计所需要的仪器系统,即利用数据采集卡及计算机外围硬件进行信号的采集与检测,然后用计算机所编的软件来实现对信号的处理、计算和分析以及对测试结果进行显示。形编程方式,把复杂繁琐、费时的文本编程简化成“画流程图”的方法,与通用的文本编程语言相比,可以节省大约70一80的程序开发时间。编程

4、工作是由开发平台本身完成的,省去用户大量的编程工作。图形化软件开发平台只需用鼠标将屏幕上的各个功能图标按一定的顺序连接起来,就能方便迅速地完成程序的编写。该类软件开发平台同时支持与多种总线接口系统的通信连接,提供数据采集、仪器控制、数据分析和数据显示等与虚拟仪器系统相关的多种功能。是面向测试领域的优秀软件开发平台,受到了从事虚拟仪器系统的软件开发的广大工程技术人员的欢迎。因此,这次开发,我们将采用LABVIEW开发平台,来进行这次的虚拟显示器的开发。1.2 设计任务与要求通过对本课题的设计,要求掌握For循环结构、条件结构、信号生成控件、索引、数组控件、XY波形图、捆绑控件、矩阵、指数函数等的

5、使用。 本课题是设计一个求解4*4阶线性微分方程组设计,要求该系统能通过界面控件有选择性地改变数据数值,并观察数据的变化对曲线的的影响。 要求正确无误地完成全部软件设计,能正常运行,并写出合格的课程设计说明书,圆满完成各项任务。 1.3 基本工作原理本设计采用的是数字处理式频谱分析原理,方法为:经过采样,使连续时间信号变为离散时间信号,然后利用LabVIEW的强大的数字信号处理的功能,对采样得到的数据进行滤波、加窗、FFT 运算处理,就可得到信号的幅度谱、相位谱以及功率谱。FFT的输出都是双边的,它同时显示了正负频率的信息。通过只使用一半FFT输出采样点转换成单边FFT。FFT的采样点之间的频

6、率间隔是fs/N,这里fs是采样频率。FFT和能量频谱可以用于测量静止或者动态信号的频率信息。FFT提供了信号在整个采样期间的平均频率信息。因此,FFT主要用于固定信号的分析(即信号在采样期间的频率变化不大)或者只需要求取每个频率分量的平均能量。在采样过程中,为了满足采样定理,对不同的频率信号,选用合适的采样速率,从而防止频率混叠。实际中,我们只能对有限长的信号进行分析与处理,而进行傅立叶变换的数据理论上应为无限长的离散数据序列,所以必须对无限长离散序列截断,只取采样时间内有限数据。这样就导致频谱泄漏的存在。所以利用用加窗的方法来减少频谱泄漏。由于取样信号中混叠有噪声信号,为了消除干扰,在进行

7、FFT 变换之前,要先进行滤波处理。本设计采用了巴特沃斯(Butterworth)、切比雪夫(Chebyshev)、椭圆(Ellipse)、贝塞尔(Bessel)等滤波器。以下说明时域分析与频域分析的功能1)信号的时域分析主要是测量测试信号经滤波处理后的特征值,这些特征值以一个数值的方式来表示信号的某些时域特征,是对测试信号最简单直观的时域描述。将测试信号采集到计算机后,在测试VI中进行信号特征值处理,并在测试VI前面板上直观地表示出信号的特征值,可以给测试VI的使用者提供一个了解测试信号变化的快速途径。信号的特征值分为幅值特征值、时间特征值和相位特征值。2)信号的频域分析就是根据信号的频域描

8、述来估计和分析信号的组成和特征量。测量时采集到的是时域波形,但是由于时域分析工具较少,往往把问题转换到频域来处理。频域分析包括频谱分析、功率谱分析、相干函数分析以及频率响应函数分析。通过信号的频域分析,可以确定信号中含有的频率组成成分和频率分布范围;还可以确定信号中的各频率成分的幅值和能量;同时还能分析各信号之间的相互关系1。2 虚拟仪器技术2.1 虚拟仪器的概述虚拟仪器的概念是由美国国家仪器公司最先提出的。所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等,可集成于自动控制、工业控制系统之中,可自由构建成专有仪器系统。虚拟仪器是智

9、能仪器之后的新一代测量仪器。虚拟仪器的核心技术思想就是“软件即是仪器”。该技术把仪器分为计算机、仪器硬件和应用软件三部分。虚拟仪器以通用计算机和配备标准数字接口的测量仪器为基础,将仪器硬件连接到各种计算机平台上,直接利用计算机丰富的软硬件资源,将计算机硬件和测量仪器等硬件资源与计算机软件资源有机的结合起来。虚拟仪器是基于计算机的功能化硬件模块和计算机软件构成的电子测试仪器,而软件是虚拟仪器的核心,如图1所示,其中软件的基础部分是设备驱动软件,而这些标准的仪器驱动软件使得系统的开发与仪器的硬件变化无关。这是虚拟仪器最大的优点之一,有了这一点,仪器的开发和换代时间将大大缩短。虚拟仪器中应用程序将可

10、选硬件和可重复用库函数等软件结合在一起,实现了仪器模块间的通信、定时与触发。由于VI的模块化、开放性和灵活性,以及软件是关键的特点,当用户的测试要求变化时可以方便地由用户自己来增减硬、软件模块,或重新配置现有系统以满足新的测试要求。这样,当用户从一个项目转向另一个项目时,就能简单地构造出新的VI系统而不丢失己有的硬件和软件资源。图1 硬件模块虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。虚拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,因而常被称作“软件仪器”。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部

11、功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据,它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户经简单培训即可迅速掌握操作规程2。2.2 虚拟仪器的发展趋势现代仪器仪表技术是计算机技术和多种基础学科紧密结合的产物。随着微电子技术、计算机技术、软件技术、网络技术的飞速发展,新的测试理论、测试方法、测试领域以及新的仪器结构不断出现,在许多方面已经冲破了传统仪器的概念,电子测量仪器的功能和作用发生了质的变化。在此背景下,1986年美国国家仪器公司(National Instruments,NI)提出了虚拟仪器(V

12、irtual Instrument,VI)的概念。尽管迄今为止虚拟仪器还没有一个统一的定义,但是一般认为:虚拟仪器是在PC基础上通过增加相关硬件和软件构建而成的、具有可视化界面的可重用测试仪器系统2。作为一种以计算机软件为核心的新型仪器系统,虚拟仪器具有功能强、测试精度高、测试速度快、自动化程度高、人机界面优异、灵活性强等优点,通常被认为是第三代自动测试系统的同义语3。使用虚拟仪器系统可以避免仪器编程过程中的大量重复性劳动,从而大大缩短复杂程序的开发时间,并且客户可以用不同的模块来构造自己的虚拟仪器系统,选择统一的测试策略。由于虚拟仪器的功能和性能已被不断提高,如今在许多应用中它已成为传统仪器

13、的主要替代方式。而虚拟仪器的各种优点让用户可放心地舍弃旧的传统测量设备,接受更新型、以计算机为基础的虚拟仪器系统。由于计算机的性能价格比不断改进,使虚拟仪器的价格更为大众化,用户不必再受限于传统仪器的使用限制和昂贵的价格,进一步降低了使用成本,减少了系统的开发费用和系统的维护费用4。此外,新型笔记本电脑又把虚拟仪器的便携性和强大功能推向一个新的水平。所有这些必将加快虚拟仪器的发展,使它的功能和应用领域不断增强和扩大。在测量、检测、电信、监控、教育等方面的应用已广泛开展。2.3 虚拟仪器系统的组成虚拟仪器是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。这种结合基本有两种方

14、式,一种是将计算机装入仪器,其典型的例子就是智能化仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机,以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要是指这种方式。虚拟仪器的组成与传统仪器一样,主要由数据采集与控制、数据分析和处理、结果显示三部分组成。电源电路图如图2所示:图2 电源电路图2.4 虚拟仪器的软件开发平台应用软件开发平台是设计虚拟仪器所必须的软件工具。在确定的硬件基础条件下,构造和使用虚拟仪器的关键就是应用不同的软件实现不同的功能。虚拟仪器的应用软件主要包括:集成的开发环境、

15、与仪器硬件的高级接口和虚拟仪器的用户界面。应用软件开发平台的选择,可因开发人员的喜好不同而不同,但最终都必须提供给用户一个界面友好,功能强大的应用程序。目前较流行的虚拟仪器软件开发平台大致可以分为两类:一类是图形化的编程语言,代表性的有惠普的HPVEE,NI公司的LabVIEW等;另一类是文本式的编程语言,如C,Labwindows/CVI,VC等。文本式编程语言和图形化编程语言相比,语言灵活性较好,用户可以灵活的添加功能;而图形化编程语言具有编程简单、直观、开发效率高的特点。近年来,基于PC机和工作站基础上的图形接口标准和计算机计算能力的提高,促进了图形开发软件包和图形开发环境的迅速普及,图

16、形开发方式为每一个虚拟仪器提供了可重用的代码模块,并允许用户从其它代码模块中分级调用。这些重用部分是一些封装良好的、原子性的程序代码;理想情况下,重用部分应与硬件IC一样,可以不经过任何修改而被直接“插接”到其它程序中去。典型的重用部分包括函数库、过程程序包、宏、类、库等,它们通过各自的接口被组装在一起,每一部分完成特定的功能6。在虚拟仪器图形软件开发平台研究方面,近年来国际上许多公司都做了大量的工作,其中NI公司的LabVIEW和惠普公司的VEE虚拟仪器软件开发平台最具代表性。下面简单的介绍一些常用的虚拟仪器软件开发平台各自的特点:(1)Microsoft Visual C+,Borland

17、 C+Builder,Borland Delphi易学、使用简单,面向对象可视化编程软件;它的图形控件工具能生成复杂的多窗口用户界面不必编写复杂的代码;可创建自己ActiveX控件或组件,以及多线程和安全的ActiveX控件。(2)Data Translation,HP VEE with DT VP,DTxEZTM用于Windows操作系统的数据采集和产品开发的可视化编程语言;灵活,便于应用编程,以及和用户程序接口;ActiveX控件系列,VB和VC+下,可以设计和配置Data Translation数据采集板;可以和其他ActiveX控件组合创建应用程序。(3)Hewlett-Packed

18、HP VEE不必编写代码就可以进行数据采集与分析;提供数据、处理控制、提供测量过程和测试报告。(4)National Instruments,LabVIEW,LabWindows/CVI具有用于数据采集、仪器、网络和分析的完全集成化的库的图形化环境;可编译性能强;自动化的测试对接软件;SQL数据库连接性SPC分析工具。用于仪器控制和数据采集分析的交互式编译软件包;用于GUI的拖拉用户界面编程器;用于快速样机开发的代码产生工具和内部编译器;用于GPIB,VXI、串行、DAQ, TCP和用户控制界面的集成库;可用于Win2000/XP、Sun Solaris I.x/2.x和HP-ux。3 Lab

19、VIEW图形化开发环境3.1 LabVIEW简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是实验室虚拟仪器集成开发平台的简称,它是目前国际上应用最广泛的虚拟仪器开发环境之一,它是主要用于开发数据检测、数据测量采集系统、工业自动控制系统合数据分析系统等领域的专用软件开发平台。LabVIEW的最大特色是采用编译型图形化编程语言G语(GraphProgramming),它与C,Pascal,Basic等传统语言有着相似之处,如:相似的数据类型、数据流控制结构、程序调试工具,以及模块化的编程特点。但二者最大的区别在于:传统编

20、程语言用文本语言编程,程序的执行依赖于文本所描述的指令;而LabVIEW使用图形语言(即,各种图标、图形符号、连线等)以框图的形式编写程序。用LabVIEW编程无需具备太多编程经验,因为LabVIEW使用的都是测试工程师们熟悉的术语和图标,如各种按钮、开关、波形图等,界面非常直观形象,因此,LabVIEW对于没有丰富编程经验的测试工程师们来说无疑是个极好的选择。LabVIEW语言具有丰富的扩展函数库,集成了大量的生成图形界面的模板,如各种表头、旋钮、开关、LED指示灯、图表等,界面直观、形象,相对于传统的编程方式而言,它简单易学而且执行效率高。与传统的编程方式相比,使用LabVIEW设计的虚拟

21、仪器,可以提高效率4-10倍。LabVIEW的图形环境内置丰富的函数库,提供了多种网络的接口,支持先进的流动数据传输等先进技术,使系统的开发更加方便,其中基于TCP/IP协议的网络实时数据交换编程技术数据套接字(DataSocket)技术便是一特色。这种技术是一种开放的技术,与人们已习惯采用的TCP/IP编程接口、DDE等网络环境下的数据共享技术比较,使用起来更方便,开发效率更高,而且不需要大量的编程工作量。数据套接提供统一的API编程接口,从数据共享的角度,它是对WinSock的高级封装,允许用户与各种服务器进行交互并在应用之间交换信息,比如LabVIEW以及一些不同的数据源或目标,源和目标

22、包括其他的应用、文件、OPC (OLE For Process Control)服务器、Web服务器以及FTP服务器。使用DataSocket类和统一资源定位器(Uniform Resource Locator,简称URL),就可建立数据套接的源与目标的连接,用户可以像使用LabVIEW中的其他数据类型一样用DataSocket读写数据,实现测量数据的实时共享3。3.2 LabVIEW的优点LabVIEW从被推出到现在,20年的实践证明LabVIEW确实是一个使用方便却又功能非常强大的开发平台,LabVIEW具有以下优点:(1)使用“所见即所得”的可视化技术建立人机界面,提供了大量仪器面板中的

23、控制对象简单的方案即使没有多少编程经验,仍可以很方便的使用LabVIEW。(2)先进的ActiveX技术融合了简单的拖放编程方法,仪器控制和数据采集变得非常简单,使用户非常容易地开发自己的系统,并将其立即投入使用。(3)LabVIEW完整地集成了与GPIB,VXI,RS-232,RS485和内插式数据采集卡等硬件的通讯,而且,LabVIEW使得它们的驱动程序具有模块化,可以重复使用,最大限度地减少软件开发的工作量。(3)LabVIEW拥有丰富的分析模块,可以满足用户从统计过程控制到数字信号处理(DSP)等方面的要求。(4)LabVIEW也拥有大量NI公司或第三方公司提供的、非常实用的支持软件,

24、如,Application Builder(用于产生可执行文件)、SQLToolkit(用于将LabVIEW程序与本地或远程数据库相连)等,这些特性为LabVIEW环境下应用程序的开发提供了方便(5)LabVIEW提供了先进的网络技术,如,TCP/IP函数库、数据套接字技术,可以很容易地实现测控网络的体系结构,并且提高了系统的开放性、稳定性、可靠性。(6)使用LabVIEW开发环境,用户可以创建32位的编译速度,从而为常规的数据采集、测试等任务提供了更快的执行速度。3.3 LabVIEW中的编程方式一个完整的LabVIEW开发环境包括基本模块和扩展模块两部分,引擎部分是整个图形化开发环境的核心

25、,它包括编辑模块、运行模块和调试模块。LabVIEW环境下开发的程序称为虚拟仪器VI,因为它的外形与操作方式可以模拟实际的仪器。实际上,VI类似于传统编程语言的函数或子程序。程序VI由一个前面板(即用户界面)、程序流程图(图标代码)和一个接口板组成。接口面板用于上层的VI调用该VI。前面板(front panel)类似于仪器的面板,由控件和指示元件组成。控件集成了旋钮、开关等用户输入控制对象,可以为程序输入数据。指示元件类似仪器的输出装置可以显示输出值以及实现图表和文字显示。软件前面板其实是自动化的拓展,它保持了传统直观的视觉和感觉效果,同时软件前面板创建了一个真正的接口,无论用户使用什么类型

26、的硬件,软件前面板只包含了对于一个应用场合很重要的参数,用户很容易地从一个单一的前面板控制多台仪器,并把整个系统作为一台虚拟仪器看待。流程图使用图标连线方式的图形,VI用图标代码和连线来完成算术和逻辑运算。图标代码是对具体编程问题的图形化解决方案。图标代码即VI的源代码。工作指令由G语言编制的图标式流程图获得,模块的程序由连线把数据的输入输出端连接起来。由于流程图与传统程序设计语言的语法细节无关,构建和测试程序就可以少费时间,使用方框图方法可以实现内部的自我复制。VI具有层次结构和模块化的特点。它们可以作为顶层程序,也可以作为其它程序的子程序。VI代码内含的VI叫子程序subVI。VI程序使用

27、接口板来替代文本编程语言的函数参数表,每个输入和输出的参数都有自己的连接端口,其他的VIs可以由此向subVI传递数据。LabVIEW有一个图形编辑器来产生最优化编辑代码,虚拟仪器执行他们相当编译C的速度。利用应用程序生成器,用户能够产生虚拟仪器,就像独立的可执行程序一样。3 建立模型 本设计中用LabVIEW中的信号发生控件来代替信号采集部分产生信号。整个系统的设计均由软件来仿真实现。本设计的虚拟频谱分析仪由两个软件模块组成:信号发生器模块和频谱分析模块。处理过程如下:首先将信号发生模块产生的测试信号送数字滤波器处理,滤除干扰噪声,然后分别进行时域分析、频域分析和谐波分析。在对信号进行各种分

28、析之前,要进行加窗处理,得到有限长的序列信号。以下具体介绍各个模块。1)信号发生器模块主要是用来产生所需的各种测试信号。它可以完成以下功能:可产生任意标准周期信号,包括正弦波、方波、三角波、锯齿波。其中产生的周期信号的输入参数如频率、幅值、相位、占空比、噪声幅值、偏移量等均可一调节。2)频谱分析模块主要是对信号发生器模块产生的测试信号进行分析以及处理。它可以完成以下的功能:测试信号经滤波、加窗处理后,进行时域分析、频域分析以及谐波分析。可以进行各种参数设置,包括采样设置、滤波器类型选择及其参数设置、窗函数类型选择等4。3.1 系统程序框图设计程序框图的设计如图3、4、5、6所示:图3图4图5图63.2 系统程序运行结果设置好各项参数值,运行得到的曲线如图7所示:图7 程序运行结果总 结基于LabVIEW编程环境下的虚拟频谱分析仪主要实现了时域分析和频域分析两个功能。信号的时域分析主要是测量测试信号经滤波处理后的特征值,这些特征值以一个数值表示信号的某些时域特征,是对测试信号最简单直观的时域描述。将测试信号采集到计算机后,在测试VI中进行信号特征值处理,并在测试VI前面板上直观地表示出信号的特征值,可以给测试VI的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论