资源描述
三江学院毕业设计(论文)摘 要 随着微型计算机和软件技术的发展,虚拟仪器在智能化程序、处理能力、性能价格化、可操作性等方面与传统仪器相比都具有明显的技术优势,将虚拟仪器引入用于信号产生与分析上不但可以提高测试效率,而且为降低生产仪器成本提供了有效的途径和方法。 本文选用LabVIEW图形化编程语言为开发软件,在实际开发设计过程中,本文主要对模块化设计方法进行了介绍,详细描述了信号产生、数据分析处理、数据读取和存储、显示模块等软件开发的全过程,分析、解决了设计及实现过程中出现的问题。本文设计的系统主要功能是利用该软件进行波形的产生、时域参数的测量、频谱的分析、波形存储、波形回放等,此软件用于教学大大提高了学生的学习兴趣,达到了提高教学质量的目的。此外,还可以用于基础性科研。关键词:虚拟仪器;LabVIEW;信号发生器;频谱分析;时域分析- 23 -Abstract Along with the development of the microcomputer ,compare with traditional instruement ,the virtual instruement have the obvious technical advantage in knowledge ware ,processing capability ,the ratio between function and price ,and Maneuver ability .The introduction of the virtual instrument in a system of generation and analysis can not only increase the efficiency and quantity of testing ,but also provide the effective method to reduce the cost of producing the instrument .It has the peculiarity of low cost ,high performance and gradually perfect test means . In the paper ,using the LabVIEW(Laboratory Virtual Instrument Engineering Workbench) GUI as the developing platform .It uses the design method of module to describe the whole building Process of the typical signal generation module for example:signal creating module,date handling module,data reading and writing module,result demonstrate module.The function of generating signal ,measuring the parameters in the domain,analyzing the signal in frequency domain ,recording data ,returning data ,returning data play back ,ect all have been realized .After used in teaching ,it is proved that the system has greatly enhanced the students interest in learning and achieves the goal of improving the teaching quality .In addition ,the system also can be used in the fundamental scientific research .Keywords:virtual instrumention ;signal generator ;spectrum analysis ;time domain analysis 目 录摘 要IAbstractII第一章 绪论- 1 -1.1 虚拟仪器国内外研究现状- 1 -1.2 高校实验教学的现状- 2 -1.3 研究意义- 2 -1.4本文主要工作- 3 -第二章 虚拟仪器与LabVIEW- 4 -2.1虚拟仪器简介- 4 -2.1.1虚拟仪器概念- 4 -2.1.2虚拟仪器系统组成- 5 -2.2 虚拟仪器与传统仪器的比较- 6 -2.3 虚拟仪器在实验室中的应用- 7 -2.4 LabVIEW简介- 7 -2.5 LabVIEW创建虚拟仪器过程- 8 -第三章 系统整体方案的设计- 10 -3.1软件设计方案- 10 -3.2 硬件的选择- 11 -3.3 设计程序图的基本方法- 11 -第四章 信号发生分析仪的具体实现- 13 -4.1 信号发生器模块- 13 -4.2 波形显示模块- 13 -4.3 电压和频率测量模块- 14 -4.4 频域分析模块- 14 -4.5 信号滤波模块- 15 -4.6窗体函数模块- 15 -4.7 波形存储和回放模块- 15 -4.8 程序的集成与调试与结果显示模块- 16 -4.8.1 程序的集成与调试- 16 -4.8.2 结果显示模块- 17 -第五章 结束语- 18 -致 谢- 19 -参考文献- 20 -附 录- 21 -附录1 信号产生分析仪的前面板- 21 -附录2 信号产生分析仪的程序框图- 22 -第一章 绪论 本文所设计的用于电子实验教学的虚拟仪器是在虚拟仪器技术高速发展的背景下,利用美国M公司的虚拟仪器开发平台LabVIEW软件实现的。虚拟仪器技术是测试技术和计算机技术综合集成的产物,虚拟仪器是用户在通用计算机平台上,根据需求定义和设计仪器的测试功能,使用者在操作这台计算机时,就像是在操作一台他自己设计的测试仪器一样。虚拟仪器从二十世纪八十年代初产生一直到现在,技术发展逐步成熟,在工业自动化、仪器制造和实验室方面应用较为广泛。1.1 虚拟仪器国内外研究现状 虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,使用户可以根据自己的需要定义仪器的功能。虚拟仪器概念最早是美国国家仪器公司在1986年提出的,但其雏形可以追溯到1981年由美国西北仪器系统公司推出Apple II为基础的数字存储示波器,但是由于当时计算机软件开发水平的限制,编写个人仪器的驱动程序和人机交互接口是一项专门的技术工作,必须由专业厂商才能完成,这种状况使得个人仪器的推广和应用没有形成工业标准。从20世纪80年代中期开始,微软公司Windows操作系统的出现,使得计算机操作系统的图形支持功能得到很大提高。1986年,美国国家仪器公司推出了图形化的虚拟仪器编程环境LabVIEW,标志着虚拟仪器设计软件平台基本成型。国际上从1988年陆续有虚拟仪器产品面市,当时有五家制造商推出30种产品。此后,虚拟仪器产品每年成倍增加,到1994年底,虚拟仪器制造厂已达95家共生产1000多种虚拟仪器产品,销售额达2. 93亿美元,占整个仪器销售额73亿的4%。美国是虚拟仪器的诞生地,也是全球最大的虚拟仪器制造国,生产虚拟仪器的主要厂家有HP公司目前生产100多种型号的虚拟仪器,Tektronix公司目前生产约80多种型号的拟仪器,此外还有N工公司、Keithely公司等。 LabVIEW作为虚拟仪器开发系统的杰出代表,在我国虽然引进的时间不长,但是现在己经被认识和推广、应用,它促进了中国测试领域的技术革命,在科研及教育领域都得到了迅速推广。它在许多企业、科研单位被用一于产品测试和测控系统,另外,包括一些著名高校在内的许多学校不仅建立了基于虚拟仪器的实验室,而且还开设了LabVIEW编程的课程。例如:清华大学汽车系利用虚拟仪器技术构建的汽车发动机检测系统,它用于汽车发动机的出厂检验,主要检测发动机的功率特性、负荷特性等;华中理工大学机械学院工程测试实验室将其虚拟实验室成果在网上公开展示,供远程教育使用;四川联合大学基于虚拟仪器的设计思路,研制了“航空电台二线综合测试仪”,将8台仪器集成于一体,组成虚拟仪器系统;复旦大学、上海交通大学、广州暨南大学等一批高校,也开发了一批新的虚拟仪器系统用于教学和科研。 国内专家预测:未来的几年内,我国将有50%的仪器为虚拟仪器。国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时检测。随着微型计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。1.2 高校实验教学的现状 目前高等工科院校仍然沿用传统的实验教学方法,主要表现在以下几个方面: (1)实验内容和实验设备依附于理论课程进行划分,各实验室和实验内容没有形成一个有机的整体,缺乏系统的观念。 (2)实验设备重复建设,沉积较多。 (3)实验设备层次不齐,大部分设备落后于课程建设的需要。 (4)实验的内容侧重于理论的验证和模仿训练,每个学生的实验内容千篇一律,将学生的思维限定在一个狭窄的范围内,缺乏对学生创新意识的培养和综合能力的提高。 (5)滞后的实验设备和死板的实验模式难以调动学生的主动性和创造性,实验教学处于应试教育。 这些在很大程度上制约了实验教学的发展和人才培养质量的提高。究其原因,不能不说在科技迅猛发展的今天,以教育有限的投入无法满足实验设备价格昂贵、更新速度快的要求,是其最根的原因。这就要求从事实验教学研究的工作者,开发能够满足现代实验教学要求、物美价廉的实验教学仪器,以提高实验教学水平,培养高素质的适应时代要求的合格人才。本文正是在这种背景下进行的。1.3 研究意义 目前, 由于实验不仅能够让学生在巩固理论知识的基础上联系实际, 而且能够培养学生解决实际问题的能力与创新思想, 对于培养高素质的专业人才和科技人才起到很重要的作用, 所以在高校尤其是在电子类课程的学习中越来越受到重视。而信号产生与分析是电子信息工程、通讯等电子类专业实验的重要组成部分, 其用到的传统的仪器, 如信号发生器、示波器、频谱分析仪等, 但是传统仪器体积笨重、价格昂贵等缺点, 而且一些信号处理的新理论、新方法无法进行实践。本文设计的基于LabVIEW信号的发生与分析系统软件, 将虚拟仪器应用到学生实验中去, 不仅具有传统意义上的仪器功能, 包括数据采集、数据分析和数据显示, 都可以在计算机上来实现, 此外还能够通过软件学生自己动手创建自己仪器, 这样可以更好地培养学生的动手能力和创新思想。1.4本文主要工作 本文主要阐述如何在LabVIEW环境下设计信号产生与分析系统。 第一章主要介绍了虚拟仪器开发的背景和发展状况,说明了本课题的背景、意义以及本文的主要工作。 第二章详细叙述了虚拟仪器的概念、组成与应用,同时介绍了开发软件LabVIEW的起源、特点、程序的设计流程。 第三章主要确定了系统方案的实现。 第四章主要确定了系统的具体实现方法,包括系统中的各个模块设计过程。 第五章结论主要回顾了论文的主要工作以及有待解决的问题。第二章 虚拟仪器与LabVIEW2.1虚拟仪器简介2.1.1虚拟仪器概念 随着电子技术的发展,电子测量仪器经历了由模拟仪器、分立组件式仪器、集成式仪器、数字化仪器、带GPIB接口的智能化仪器到全部可编程虚拟仪器的发展历程。近些年来,计算机科学和微电子技术,以及网络技术的迅速发展和普及,有力地推动了多年来发展相对缓慢的仪器技术的革新和进步。与此同时,仪器的远程控制、实验信息的远程获取和传输也越来越重要,于是一种新型的,基于计算机技术所形成的仪器种类-一虚拟仪器(Virtual Instrument. VI)技术出现。它不仅被广泛地应用在科学研究领域,而且使得新型远程教育模式的实现成为可能。 虚拟仪器技术将计算机应用于测试仪器之中.利用良好的虚拟仪器软件平台.充分发挥计算机强大的数据处理功能和丰富的图形显示功能.在屏幕上虚拟出与传统仪器相似的显示面板.用户通过键盘和鼠标操纵面板上的虚拟开关、旋钮、按键等.控制仪器的运行、了解仪器的状态、读取打印测试结果。虚拟仪器以特定的软件支持取代相应的电子线路.充分利用计算机硬件资源.完成传统仪器硬件的部分以至于全部功能。虚拟仪器技术是传统仪器功能和外形的模块化和软件化。 虚拟仪器主要包含两方面的含义:虚拟仪器的面板是虚拟的;虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的。它的主要特点有: (1)用户可以根据自己的需要定义和制造各种仪器。虚拟仪器通过提供给用户组建自己仪器的可重用源代码库,可以修改仪器功能和面板,设计仪器功能,实现与外设、网络及其它连接。 (2)虚拟仪器尽可能采用通用的硬件,各种仪器的差异主要是软件,突出了“软件就是仪器”的新概念。 (3)虚拟仪器充分利用了计算机强大的数据处理、传输和发布功能,可以创造出功能强的的仪器,使得组建系统变得更加灵活、简单,便于构成复杂的测试系统。 (4)虚拟仪器硬件和软件都制定了开放的工业标准,用户可以将仪器的设计、使用和管理统一到虚拟仪器标准,使得功能更易于扩展,生产、维护和开发费用降低。2.1.2虚拟仪器系统组成 虚拟仪器由通用仪器硬件平台和应用软件两大部分构成: (1)虚拟仪器的硬件平台 计算机 它一般为一台PC机或者工作站,是硬件平台的核心。 I/O接口设备 I/O接口设备主要完成被测输入信号的采集、放大、模/数转换。不同的总线有其相应的I/O接口硬设备,如利用PC机总线的数据采集卡/板(简称为数采卡/板,DAQ),GPIB总线仪器、VX工总线仪器模块、串口总线仪器等。虚拟仪器的构成方式主要有5种类型,如图2.1所示:图2.1 虚拟仪器构成方式 PC-DAQ系统是以数据采集板、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统,这种系统采用PCI或计算机本身的工SA总线,将数据采集卡/板(DAQ)插入计算机的空槽中即可。 GPIB系统是以GPIB标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。 VXI系统是以VXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。 PXl系统是以PXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。 串口系统是以Serial标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。 (2)虚拟仪器的软件 文本式编程语言:如Visual C+, Visual Basic, LabWINDOWS/CVI等; 图形化编程语言:如LabVIEW, HPVEE等; 实现虚拟面板功能的软件程序; 定义测试功能的流程图软件程序。2.2 虚拟仪器与传统仪器的比较虚拟仪器与传统仪器比较,具有许多优点,如图表2.1所示:表2.1 虚拟仪器与传统仪器比较 通过比较发现,虚拟仪器在智能化程序、处理能力、性能价格比、可操作性等方面都具有明显的技术优势,具体表现为: (1)智能化程度高,处理能力强。虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。 (2)复用性强,系统费用低。应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等四种仪器。这样形成的测试仪器系统功能更灵活、系统费用更低。通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的使用价值。 (3)可操作性强。虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示接口。使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发送。测量完后还可打印,显示所需的报表曲线,这些都使得仪器的可操作性大大提高。2.3 虚拟仪器在实验室中的应用 电子仪器与测试实验室是高等工科院校必备的教学实验条件。为了提供一定的实验规模,保证每个学生得到实际动手能力的训练,传统的教学实验室一般需购置大量的基础测量仪器,如示波器、万用表、信号源等,投资大、技术更新快、维护困难;另外,像数字示波器、频谱分析仪和逻辑分析仪等中高档仪器存在价格昂贵等方面的困难,实验室只能有少数仪器,不能满足实际教学需求。虚拟仪器解决了实验室在这方面的难题。利用虚拟仪器技术,可以设计出与实际仪器在原理、功能和操作等方面完全一样的全软件虚拟仪器。利用这些虚拟仪器,学生在计算机上可以学习、掌握仪器原理、功能与操作,并通过仪器与仪器,仪器与电路的相互配合,完成实际测试过程,达到与用实际仪器教学相同的效果。虚拟仪器的应用从根本上改变了传统教学方法,降低实验室建设与管理成本,实现远程实验教学具有重要参考价值。通过这种实验方式,可以培养学生的求知兴趣和创新能力。2.4 LabVIEW简介 LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS,简称NI)的创新软件产品。 数据采集、仪器控制、过程监控和自动测试是实验室研究和工业自动化领域广泛存在的实际任务。在20世纪80年代个人计算机出现之前,几乎所有拥有程控仪器的实验室都采用贵重的仪器控制器测试系统,这些功能单一、价格昂贵的仪器控制器通过一个集成通信口来控制IEEE-488总线仪器(GPIB程控仪器)。后来随着PC的出现,工程师和科学家们找到了一种通过性能价格比高的通用PC控制台式仪器的方法,由此NI公司也应运而生。 I,abVIEW的概念雏形来源于NI公司的特鲁查德和柯德斯凯20世纪70年代末期在ARL (Applied Research Laboratory,应用研究实验室)完成的一个大型测试系统。该系统主要用于测试美国海军的声呐探测器。通过几年的时间,柯德斯凯把从该测试系统得到的启示发展到测试系统软件由多层虚拟仪器(Virtual Instruments,简称VI)构成的新概念。一个VI可以由更低层的多个VI组成,就像真实仪器由印制电路板组成,而印制电路板又由集成电路(IC)组成一样。底层VI代表了最基本的软件功能一计算与输入/输出操作。虚拟仪器模型的另一个主要特征是每一个VI都有一个用户接口组件(VI前面板)。同时,在分析比较了几种框图编程方法的优劣后,柯德斯凯决定采用数据流程图作为编程工具。柯德斯凯领导的开发小组于1986年5月推出LabVIEW Beta测试版,又经过几个月的反馈修改,于1986年10月正式发布了LabVIEW1. 0版。1988年的LabVIEW2. 0采用了面向对象编程技术。1992年8月LabVIEW 2. 5实现了从Macintosh平台到Windows平台的移植,从LabVIEW 3.0版本开始,LabVIEW作为一个完整优异的图形化软件开发环境得到了工业界和学术界的认可,并开始迅速占领市场,赢得了广大用户的青睐。 它的基本特点是: (1)具有良好的用户接口其用户接口类似于传统仪器的面板,包括按钮、旋钮、图形显示组件、控制组件等。通过鼠标和键盘向程序输入数据,操作结果由软件在计算机屏幕上生成。 (2)编程方式简单、直观采用图形语言(G语言)、图标和联机代替文本形式编写程序,是对具体编程问题的图形化解决方案。 (3)具有层次结构和模块化的特点每一个VI可以作为顶层程序,也可以作为其它程序的子程序。 (4)提供程序调试功能程序调试工具包括在源代码中可以设置断点,可以单步执行,也可以连续执行。2.5 LabVIEW创建虚拟仪器过程 创建虚拟仪器的过程分为四步: (1)创建前面板。前面板是图形化用户界面,用于设置输入数值和观察输出量。它模仿了实际仪器的面板。前面板包含了旋钮、按钮、图形和其他控制与显示对象。通过鼠标和键盘输入数据、控制按钮,也可在计算机显示器上直接观看结果。若想要在数字控制中输入或修改数值,只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。 (2)创建框图程序。在前面板窗口的主菜单Windows中选择Show Diagram将前面板窗口切换到框图程序窗口,此时会看到与前面板对象对应的端口。根据需要在功能模板中找到所需的节点,并将节点图标放置到框图程序窗口。用数据连线将这些端口和节点的图标连接起来,形成一个完整的框图程序。 (3)创建图标。一个虚拟仪器的图标/连接端口就像一个图形(表示某一虚拟仪器)的参数列表。这样,其它的虚拟仪器才能将数据传输给一个子仪器。图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序的子程序。 (4)运行和调试程序。运行和调试程序是任何一门编程语言编程的最重要的一步。在LabVIEW中,用户可以通过两种方式来运行程序:运行和连续运行。如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。调试程序时可以利用单步执行、设置断点、设置探针来显示数据流动方向。第三章 系统整体方案的设计 一个完整的LabVIEW程序主要包括前面板、框图程序、图标和连接器窗格3部分。前面板是交互式图形化用户界面, 用于设置输入数值和观察输出量框图是定义VI功能的图形化源代码, 利用图形语言对前面板的控制量和指示量进行控制图标和连接器窗格是用于把程序定义成一个子程序, 以便在其他程序中加以调用。本系统包括信号发生器模块、时域分析模块、频谱分析模块。图3.1是信号产生与分析系统框图。图3.1 信号产生与分析系统框图3.1软件设计方案 本课题中所开发的虚拟示波器是采用基于计算机的虚拟技术,用以模拟通用示波器的面板操作和处理功能,也就是使用个人计算机及其接口电路来采集现场或实验室信一号,并通过图形用户界面(GUI)来模仿示波器的操作面板,完成信号采集、调理、分析处理和显示输出等功能。 本课题开发的虚拟示波器,是在数据采集硬件的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。一般测试仪器由信号采集、信号处理和结果显示三大部分组成,这三部分均由硬件构成。虚拟示波器也是由这三大部分组成,但是除了信号采集部分是由硬件实现之外,其它两部分都是由软件实现。 虚拟示波器总体上包括数据采集、波形显示、参数测量、频谱分析、波形存储和回放以及打印模块等六大模块组成,其结构框图如图3.2所示: 图3.2 虚拟示波器结构框图3.2 硬件的选择计算机与数据采集卡组成了虚拟示波器的硬件平台的基础。数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响着虚拟示波器的采样速率、精度等主要指标的因素。CPU的速度及计算机的内存影响着示波器处理数据的速度;计算机的硬盘决定它的存储数据的容量。3.3 设计程序图的基本方法从函数库选取所需的函数图标,并按照数据在程序中传送的顺序把它们和控件图标的位置统一编排好,再用连线工具将图标都连接起来。本系统采用的是LabV1Ew 编程。LabVIEW 以其集成的开发平台、交互式编程方法、简单直观的用户图形设计、功能强大的函数库等特点,使用户能够很容易地生成各种应用程序。 本程序采用while loop循环结构和Case选择结构非常简单方便地实现了波形的转换,以及周期波和非周期波的混合。并且程序中巧妙地采用两种case选择结构的组合,实现了在同一个波形显示器的面板上可显示相关分析和窗函数等不同的分析结果。使程序看起来比较简洁,却功能强大。同时巧妙地应用Sub ,所谓的SubVI即相当于文本编程语言的子程序,而且LabVIEW 中的subVI可以用LabVIEW所特有的连接器把它连成一个小小的图标,在主程序中调用,不但使用起来极其方便,而且使程序看起来简洁美观,这是其它编程语言无法比拟的。本系统在滤波、窗函数分析中采用了这一技巧。 本系统具有多个功能各异的SubVI:信号选择SubVI 采用虚拟波形发生subVI。数据虚拟波形发生subVI可以模拟产生正弦信号、方波信号、三角波信号、白噪声信号,以及正弦信号、方波信号、三角波信号被白噪声干扰的信号,而且各种波形的频率、振幅、相位可以进行任意的调控,这是传统仪器很难做到的,即使可以做到也是价格昂贵,而本系统只需调节面板上的几个按钮就可以实现。数据分析subV1支持单通道和多通道的信号分析。在对信号进行各种分析之前,本系统提供软件滤波方法,以消除混在被测信号中的噪声信号。由于信号的时间历程是无限的,而用计算机处理数据时,只能截取信号的一部分进行分析,本软件在信号的截取过程中设置5种窗函数以供选择,这5种窗函数为Hanning window、Hamming window、Triangle window、General cosine window、blackman window在各种分析算法的支持下,通过软件编程,对信号进行时域、频域的各种分析,完成信号分析仪基本功能。第四章 信号发生分析仪的具体实现4.1 信号发生器模块 该模块可以产生能够用公式进行描述的信号与常规的几种通用类型的波形如正弦波、方波等, 同时还可以在波形上叠加各种噪声如统一白噪声、高斯白噪声、周期随意噪声等常见的几种类型的噪声。信号的参数可以由自己设置, 并且可以实现通道的选择, 前面板的控件包括控制波形及噪声的频率控件、初始相位控件、幅值控件、总采样点与采样频率控件、通道选择控件、公式编辑控件、波形显示控件。4.2 波形显示模块 波形显示通过切换信道选择按钮,任意显示某一信道或两个信道输入信号的波形。通道设置为信号1和信号2,实现信号1或信号2的单信道显示以及信号1和信号2的双信道显示。其程序框图如图4.1所示:图4.1 信号发生器波形显示模块4.3 电压和频率测量模块 (1)电压测量模块 该模块可以测量直流和交流两种电压信号,对于交流信号主要完成对电压波形的有效值、最大值、最小值、峰一峰值和平均值、均方值等参数的测量,并且能够显示测量值。 (2)频率测量模块 频率和周期是周期性信号的基本参数,本文中设计的虚拟示波器不仅可以测量频率与周期,而且还可以测量波形的上升时间、下降时间、正脉宽、负脉宽、占空比等参数。4.4 频域分析模块 频谱分析模块采用快速傅立叶FFT算法,完成频域信号分析,可以获得对应的频谱图。Labview提供了与信号分析有关的大量函数可以直接使用,在本文中采用FFT Power Spectrum作为主要数据处理子VI进行功率谱分析。 本文中可以实现的频谱分析控制包括:(1)窗口选择:提供多种频谱分析窗口。(2)单位选择:有多种单位如Vrms, Upk, Urms等供选择。(3)坐标模式选择:Log/Linear两种坐标显示模式可以选择。 根据用户选择的不同,该子模块可以在幅值(Magnitude)和相应(Phase)之间进行转换;可以在不同的纵坐标单位之间进行转换;还能够根据用户选用的分析功能的不同自动显示适当的横坐标。其频谱分析模块如图4.2所示:图4.2 频域分析模块程序框图4.5 信号滤波模块 滤波器类型有None 、Butterworth 、Chebyshev 3 种,这些都可以在前面板上进行选择,最低截止频率可以根据需要在功率谱图中用鼠标拖动红竖线来进行修改。4.6窗体函数模块 本软件在信号的截取过程中设置5种窗函数以供选择,这5种窗函数为Hanning window、Hamming window、Triangle、window、General cosine window、blackman window在各种分析算法的支持下,通过软件编程,对信号进行时域、频域的各种分析,完成信号分析仪基本功能。4.7 波形存储和回放模块 波形存储功能主要适用于因特殊原因不能实时处理数据,或者是数据对以后的研究具有重要的参考价值的场合,我们在实际实验中,需要先把数据保存下来,日后再将原保存的数据文件读取出来,此时读出的数据就和实时采集的数据一样,也能进行自动参数测量,频谱分析等。在本文用LabVIEW实现的虚拟示波器中,当用软件完成数据采集、处理等工作后,可以将采集到的数据以及处理后的数据回放出来,以便继续研究。这样的功能就依靠波形存储回放显示模块来实现。我们之所以将它称作为“模块”,主要是因为它在整个程序中举足轻重,如果没有它,开发出来的程序不能称为“虚拟仪器”,只是一个“信号处理内存”。 在这个模块中,基本模块是读、写盘模块,写盘模块主要实现将波形资料写入到文件中;读盘模块则是读取文件中的数据。设定文件名输入口作为信号波动数据文件名输入口这文件名输入口由写盘功能和读盘功能共享。在此虚拟示波器中,波动文件存储一个二维数组(N*2 )。 write:是向硬盘或软盘存储数据。将Mechanical Action设定为Latch When Released,当按下“write”键,放开后,键自动复位,同时向后发出一个驱动信号,执行写盘功能,在下一次循环中,写盘功能又处于等待状态。 read:是从硬盘或软盘上读取存储数据。在同一循环中,读盘功能处于工作状态。读盘后,对读入的数据自动进行波形显示和参数测量,也可以进行频谱分析。 “read”键按下之后,都会自动执行测量功能,并显示测量结果;显示双信道测量结果; 数据波形存储与回放的程序框图分别如图4.3 (a)、(b)所示: (a) (b)图4.3 数据波形存储与回放的程序框图4.8 程序的集成与调试与结果显示模块4.8.1 程序的集成与调试 在组建好各个功能模块的基础上,就可以集成到一起,形成功能完善的虚拟示波器。在程序集成时需要注意的问题有: (1)数据流向问题 由于LabVIEW是数据流驱动式编程语言,因此在将各个功能模块集成时,更应注意数据流向的问题。必要时,应使用Sequence结构控制数据流向,使它按照设计者的意愿传递数据。 (2)数据“可见度”问题 数据的“可见度”问题与其它模块化编程语言类似,LabVIEW同样存在着数据(或变量)“可见度”的问题。即参数为“内部可用”的,以加强程序的可维护性。在使用循环结构时,更应注意变量的“可见度”问题,即在何种情况下循环内部的变量才可以被外部引用。有时,为了交换参数的方便,使用“Local Variable,这样使用的结果虽然简化了程序的开发,却给程序的维护和可读性带来了负面的影响。在程序调试中根据出现的问题,找到以下几种解决方法: 找出语法错误 如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。 设置执行程序高亮 在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流在线的数据值。这样,你就可以在根据数据的流动状态跟踪程序的执行。 断点与单步执行 为了查找程序中的逻辑错误,希望框图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于联机表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。也可以点击暂停按钮,这样程序将连续执行直到下一个断点。 探针 可以用探针工具来查看当框图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左键点击探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或框图窗口的上面。在框图中使用选择工具或联机工具,在联机上点击鼠标右键,在联机的弹出式菜单中选择“探针”命令,同样可以为该联机加上一个探针。 LabVIEW虽然为我们提供了功能完善的调试工具,但仍然存在着许多隐含在程序内部的错误无法发现。这就要求设计者在开发程序的过程中一定要仔细地把好每一关,在模块内部将错误清除,才能减轻最终程序调试的难度。4.8.2 结果显示模块结果显示模块的主要功能是将测试、采集或者数据处理后的数据送到示波器上显示,供使用者分析和研究。实质上显示模块还包括许多附属的显示项,如:坐标单位显示、最大值及其相应位置显示等许多内容。实际上它并不是完整意义上的模块,它是分散于各个模块之间的,很难分析它的组成结构,在本文中之所以提及主要是它起着举足轻重的作用。附录1与附录2分别是信号产生分析仪的前面板与程序框图第五章 结束语 数字信号处理技术和教学仪器技术的发展是本文理论知识的基础,而虚拟仪器的基本思想和LabVIEW开发平台则是程序开发设计过程中有力的工具。通过基础性的理论知识,从而很好地运用开发工具,并解决了在开发过程中所遇到的问题,开发出具有实用价值的虚拟仪器综合实验:通过功能强大的开发平台,将理论知识转化为有效的、实用的教学工具。 通过对课题的研究与开发,可以得出以下结论: (1)本文中开发的虚拟实验仪器对数据进行分析处理、并生动直观地显示出运行数据、同时可进行波形回放、存储结果。将这些虚拟仪器应用到实验教学中去,以取代常规仪器,实际教学中可根据实验要求,自行设计各种软面板,定义仪器的功能并可以各种形式表达输出检测结果,进行实时仿真分析。 (2)本文中采用面向对象的图形化编程语言LabVIEW,大大提高了软件的开发速度和效率,缩短了软件开发周期,使用面向对象技术使程序的复用性达到最佳。 (3)运用虚拟仪器技术设计虚拟仪器系统实验,能充分发挥计算机性能,打破了以往由教学仪器限定实验的模式,使用者能够根据自己的需要更改和重新定义仪器的功能。 (4)本系统虽然是在LabVIEW平台上开发的教学虚拟实验仪器,但由于采用模块化设计思想和面向对象的设计方法,使该系统具有良好的移植性;在此基础上,进一步构建基于虚拟仪器系统的网络虚拟实验室。所以可以很容易地将该系统移植到网络虚拟实验室系统中。 由于利用LabVIEW软件开发与研究虚拟仪器所涉及的内容比较广泛,目前,本课题所完成的工作还不是十分完整。本人认为,以下问题还有待进这一步研究和发展。 (1)本课题将信号的分析与处理、现代仪器仪表、虚拟仪器与LabVIEW的开发功能做了有机的结合。但是由于时间的关系,LabVIEW所具有的强大功能还有许多是本人未曾开发和加以很好利用的,如Call Library Function和Code Interface Node等,这需要通过不断的实践和仪器开发来熟悉。(2)虚拟仪器系统具有良好的移植性,进一步构建基于虚拟仪器系统的网络虚拟实验室,将基于虚拟仪器系统实际应用于远程实验教学是今后的发展方向。致 谢 本文的研究工作是在康广荃老师的精心指导下完成的,从论文选题、方案制定、工作实施到论文撰写无不渗透着导师的心血和汗水,凝结着导师对学生无微不至的关怀。康广荃老师对于我在理论上、技术上的难点给予耐心细致的解答,提出了很多宝贵的建议,并多次审阅论文。她认真严谨的治学态度、渊博的知识、勤奋求实的工作作风和不懈的学术追求是我学习的榜样。 特别感谢我的父母和亲人,父母给予了我生命,他们用最简朴的生活为我创造了最好的条件。父母不仅在经济上极大的支持我,还在精神上一直鼓励着我,正是他们多年来无微不至的关怀和支持,才使我顺利完成学业。 同时,借此机会我向所有帮助、关心、支持过我的老师、同学表示最衷心的感谢! 最后,我要感谢百忙之中抽出时间审阅此文的专家们!参考文献1.刘君华,郭会军,赵向阳,贾蕙芹.基于LabVIEW的虚拟仪器设计M.北京:电子工业出版社,20032.程学庆,房晓溪,韩薪萃,张健.LabVIEW图形化编程与实例应用M.北京:中国铁道出版社,20053.杨乐平,李海涛.虚拟仪器技术概论M.北京:电子工业出版社,20034.管致中,信号与线性系统M.北京:高等教育出版社.20045.侯国屏,王砷,叶齐鑫. LabVIEW7.1编程与虚拟仪器设计M.北京:清华大学出版社,20056.邓众,王磊.LabVIEW7.1测试技术与仪器应用M.北京:机械工业出版社,20047.刘君华.基于LabVIEW的虚拟仪器设计G.北京:电子工业出版社,20038.袁渊,古军虚拟仪器基础教程M成都:电子科技大学出版社,20029.National Instruments Corporation. Virtual instrumentation ineducation,199710.National Instruments Co,LabVIEW Programmer Reference ManualZ,1998 附 录附录1 信号产生分析仪的前面板附录2 信号产生分析仪的程序框图
展开阅读全文