基于 LabVIEW 的虚拟信号发生器设计 - 图文

更新时间:2023-12-13 03:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本 科 毕 业 论 文 (设 计)

题 目 基于 LabVIEW 的虚拟信号发生器设计

姓 名 学 号 专业年级 指导教师 职 称

年 月 日

湖北大学本科毕业论文设计

目 录

绪论........................................................... (1) 第1章 虚拟仪器技术............................................... (3) 1.1 虚拟仪器的产生背景........................................... (3) 1.2 虚拟仪器的概念............................................... (3) 1.3 虚拟仪器的优势............................................... (4) 1.4 虚拟仪器的发展方向........................................... (4) 1.5 图形化虚拟仪器开发平台——Labview 简介....................... (5) 1.6 本章小结..................................................... (7) 第2章 基于声卡的虚拟仪器......................................... (8) 2.1 基于声卡数据采集系统的虚拟仪器开发........................... (8) 2.2 声卡的硬件结构............................................... (8) 2.3 声卡的工作原理............................................... (9) 2.4 声卡的配置及硬件连接......................................... (9) 2.5 声卡的主要技术参数.......................................... (10) 2.6 Labview中有关声卡的控件介绍 ................................ (11) 第3章 基于声卡的虚拟信号发生器的设计............................ (12) 3.1 设计思路.................................................... (12) 3.2 函数信号发生器程序的设计.................................... (12) 3.2.1 前面板 .................................................. (12) 3.2.2 全部程序框图 ............................................ (13) 3.2.3 波形选择和指示灯显示的程序 .............................. (13) 3.2.4 频率选择的程序 .......................................... (14) 3.2.5 输出衰减程序 ............................................ (14) 3.2.6 信号产生程序 ............................................ (15) 3.2.7 基于声卡的子VI的使用 ................................... (15) 3.3 测试情况和结果分析.......................................... (15) 结论与展望....................................................... (18) 参考文献......................................................... (19) 致谢............................................................. (20)

I

湖北大学本科毕业论文设计

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

摘 要

实验室常用的信号发生器其功能完全靠硬件实现,功能单一而且用户的购置、维护费用比较高。对于传统的信号发生器,其功能一旦确定便不能更改,用户要想使用新的功能则必须重新购买新的仪器,传统信号发生器的不足是显而易见的。虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密的融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。本课题完成了“基于 LabVIEW 的虚拟信号发生器设计”的理论研究,在很大程度上解决了传统信号发生器的诸多弊端。本文主要研究虚拟仪器在信号发生器领域里的软件编程,而且对完成了对数据采集部分的调研和设计。本虚拟仪器可输出多种信号波形,信号输出频率、幅度等参数实时可调。本文研究的虚拟信号发生器主要具有如下优点:用户可自由定义其功能;系统功能升级扩充方便快捷;可以使用声卡进行模拟输出。

【关键词】: 虚拟仪器,信号发生器,声卡采集,Labview

II

湖北大学本科毕业论文设计

The Design of Virtual Signal Generator Based on Labview

Abstract

The functions of traditional signal generators are carried out solely on hardware, and at the

same time the functions of traditional signal generators are singleness and costly for purchasing and maintaining, What is more important is that the functions of traditional signal generators cannot be altered once they are fixed. Users must get new ones so long as they want new functions. Thus, the defects of traditional signal generators are obvious. Virtual instrument is formed by the instrument technology, computer technology, bus technology and software technology. Powerful digital processing’s ability of computer is used to achieve the main functions of instrument. Virtual instrument broke the framework of the traditional instruments, and built a new device model. This dissertation has accomplished the theoretical research, and made up the various shortcomings of traditional signal generators to great degree. This virtual signal generator can achieve the input and output of multi signals, and such parameters as signal output frequency and amplitude can be adjusted timely. The advantages of this virtual signal generator include the following: low cost of hardware, user custom functions, convenience of the upgrading and enlargement of systematic functions, and connectable with computers.

【Keywords】: Virtual Instrument, Signal Generator, Sound Card Collection, Labview

III

湖北大学本科毕业论文设计

绪论

信号发生器(signal generator)又称信号源或振荡器,是一种能提供各种频率、波形和输出电平电信号,常用作测试的信号源或激励源的设备。在生产实践和科技领域中有着广泛的应用。

在有关电参量的测量中,我们需要用到信号源,而信号发生器则为我们提供了在测量中所需的信号源,它可以产生不同频率的正弦信号、方波、三角波、锯齿波、正负脉冲信号、调幅信号、调频信号和随机信号等,其输出信号的幅值也可以按需要进行调节。传统信号发生器种类繁多,价格昂贵,而且仪器功能固定单一,不具备用户对仪器进行定义及编程的功能,一个传统实验室很难同时拥有多类信号发生器,然而,基于虚拟仪器技术的信号发生器则能够实现这一要求。

随着计算机技术的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到了广泛的应用,促进和推动测试系统和仪器控制的设计方法与实现技术发生了深刻的变化。“软件即是仪器”已成为测试与测量技术发展的重要标志。虚拟信号发生器就是利用高性能的模块化硬件,结合高效灵活的Labview软件来完成各种测试、测量和自动化应用。随着计算机、通信、微电子技术的日益完善,以及以Internet为代表的计算机网络时代的到来和信息化要求的不断提高,传统的通信方式突破了时空限制和地域限制,大范围通信变得越来越容易,对测控系统的组建也产生了越来越大的影响。一个大的复杂测试系统的输入、输出、结果分析往往分布在不同的地理位置,仅用一台计算机并不能胜任测试任务,需要由分布在不同地理位置的若干计算机共同完成整个测试任务。集成测试越来越不能满足复杂测试任务的需要,因此,“网络化仪器”的出现成为必然。同传统的编程语言相比,采用Labview图形化编程方式可以节省大约80%的程序开发时间,并且其运行速度几乎不受影响,其一般特征是将虚拟信号发生器、外部设备、被测点以及数据库等资源纳入网络,实现资源共享,共同完成测试任务。使用网络化虚拟信号发生器,可在任何地点、任意时刻获取测量数据。和以PC为核心的虚拟信号发生器相比,网络化将虚拟仪器的发展产生一次革命,网络化虚拟仪器将把单台虚拟仪器实现的三大功能(数据采集、数据分析、及图形化显示)分开处理,分别使用独立的基本硬件模块实现传统仪器的三大功能,以网线相连接,实现信息资源的共享。“网络就是仪器”概念的确立,使人们明确了今后仪器仪表的研发战略,促进并加速了现代测量技术手段的发展与更新。

本课题介绍了基于Labview的虚拟信号发生器的研究背景和发展动态,了解虚拟仪器的特点、现状和实现方法,探索虚拟仪器的发展方向,在Labview平台中设计了多功能信号发生器。 本项目中的虚拟信号发生器是通过Labview图形化语言,将计算机硬件资源与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过Labview实现对数据的显示、存储以及分析处理。因为虚拟信号发生器可与计算机同步发展,与网络及其他周边设备互联,用户只需改变软件程序就可以不断赋予它或扩展增强它的测量功能。这就是说,仪器的设计制造不再是厂家的专利。虚拟信号发生器开创了仪器使用者可以成为仪器设计者的时代,这将给虚拟信号发生器使用者带来无尽的利益。

1

湖北大学本科毕业论文设计

Labview作为一个图形化编程软件,是开发测试系统的一种功能强大、方便快捷的编程工具。其良好的相通性、开放性、专用性,使测试系统的开发周期短、成本低、质量高。基于Labview的虚拟函数信号发生器具有人机交互性好、易于操作等特点,能够广泛的应用与于科研、生产等领域。

本文第二章主要介绍了虚拟仪器的概念、产生发展背景、优势及发展现状以及信号发生器的概述,第三章主要阐述了LABVIEW软件的特点,并介绍了基于声卡的虚拟仪器相关知识。第四章是本文的重点,主要是论述了虚拟信号发生器的设计思路、设计过程。我查阅了有关基于声卡的虚拟仪器的设计,并且把它用在了本设计中,使得该论文具有理论和实践意义。最后对自己的设计做了相关总结并列举了所查阅到参考资料。

2

湖北大学本科毕业论文设计

第1章 虚拟仪器技术

1.1 虚拟仪器的产生背景

当今我们处于一个正在高度发展的信息社会,要求在有限的时空上实现大量信息的交换,必然带来信息密度的急剧增大,要求电子系统对于信息的处理速度越来越高,功能越来越强,这使得系统结构日趋复杂。对体积、耗电和价格的要求使得系统及IC的集成度越来越高,同时激烈的市场竞争使得产品价格及研制生产周期缩短,传统的测试仪器已经越来越不能满足时代的要求,主要表现在以下几个方面:

1、要求测试仪器不仅能单独测量某个电量,而且测试仪器之间必须具备控制通道和数据交换通道,以便完成对各个被测量同时进行自动分析、信息综合及准确判断,传统的测试仪器在这方面受到极大的限制。

2、微处理器和DSP技术的飞速发展及它们价格的不断降低,改变了传统的电子设计概念,原来许多由硬件完成的功能现在逐步由运行在微处理器和DSP芯片上的软件来完成,这样给产品带来了巨大的好处:自动化、程序高、可靠性高、价格低、容易升级、系统具有宽 适应范围的柔性结构、可维护性好等等。硬件软化的设计方法对当今测试仪器的设计产生了深刻的影响。

3、良好的人机界面的要求促进了传统测试仪器的改造。对于越来越复杂的被测系统,如果仍然使用传统的测试仪器必然会需要众多的仪器设备,面对各个生产厂家的不同设备,使用者需要学习不同设备的使用方法后方可使用。这样的测试仪器不仅使用效率及利用效率都很低,而且硬件存在巨大的冗余。

4、微计算机的广泛使用,给基于微计算机的测试仪器提供了巨大的市场,人们在使用计算机及测试仪器时越来越明显的感觉到测试仪器的许多功能不仅可以由已有的计算机来完成,而且需要增加某种测试功能时,只增加少量的模块化功能硬件即可,同时基于微计算机的测试仪器具有更多的优点。

可见,一方面电子技术及市场的发展从客观上要求测试仪器向自动化及柔性化的方向发展,另一方面,电子技术及市场的发展也给虚拟仪器的产生提供了可能。在这种形式下,基于微计算机的虚拟仪器逐步变得现实,它的出现和广泛使用为测试系统的设计提供一个极佳的模式,并且使工程师们在测量和控制方面得到强大功能和灵活性。

1.2 虚拟仪器的概念

虚拟仪器(Virtual Instrument,简称VI)的概念是由美国国家仪器公司(NI)在20世纪80年代最早提出的。虚拟仪器就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一种计算机仪器系统。其核心的思想是利用计算机的强大资源使本来需要硬件实现的技术软件化,以便最大限度地降低系统成本,增强系统

3

湖北大学本科毕业论文设计

功能与灵活性。虚拟仪器代表着从传统硬件为主的测试系统到以软件为中心的测试系统的根本性转变。虚拟仪器的出现是仪器发展史上的一场革命,代表着仪器发展的最新方向和潮流,对科学技术的发展和工业生产的进步将产生不可估量的影响。

虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根据自己的需要定义仪器的功能。

1.3 虚拟仪器的优势

1、性能高

虚拟仪器技术是在PC技术的基础上发展起来的,所以完全“继承”了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。

2、扩展性强

NI的软硬件工具使得我们不再受限于当前的技术中。这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。在利用最新科技的时候,我们可以把它们集成到现有的测量设备,最终以较少的成本加速产品上市的时间。

3、开发时间少

在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器 传统仪器与虚拟仪器构成比较仪表和通讯方面的最新技术结合在一起。NI设计这一软件构架的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。

4、无缝集成

虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。

1.4 虚拟仪器的发展方向

虚拟仪器作为新兴的仪器仪表,其优势在于用户可自行定义仪器的功能和结构等,且构建容易、转换灵活,它已广泛应用于电子测量、声学分析、故障诊断、航天航空、机械工程、建筑工程、铁路交通、生物医疗、教学及科研等诸多方面。

随着计算机软硬件技术、通信技术及网络技术的发展,给虚拟仪器的发展提供了广阔的天地,国内外仪器界正看中这个大市场。测控仪器将会向高效、高速、高精度和高可靠性以

4

湖北大学本科毕业论文设计

及自动化、智能化和网络化的方向发展。开放式数据采集标准将使虚拟仪器走上标准化、通用化、系列化和模块化的道路。

虚拟仪器作为教学的新手段,已慢慢地走进了电子技术的课堂和实验室,正逐渐改变着电子技术教学的传统模式,这也是现代教育技术发展的必然。在电工电子实验室的建设中,实验室常规设备有的已经老化,有的技术上有些落后,在当前学校经费较少的情况下,如果配置常规仪器、仪表,学校财力难以支付,也不符合目前学校的实际。而且,随着测试仪器的数字化、计算机化的发展趋势,传统测试仪器渐渐有被取代的趋势。如果运用虚拟仪器技术,以微机为基础,构建集成化测试平台,代替常规仪器、仪表,不但满足电工电子实验教学的需要,而且将这批微机可作为其他有关计算机课程教学用机,大大提高了设备利用率,降低了实验室建设的成本。当前应该解决的是如何使虚拟仪器和现有仪器配合,挖掘现有仪器的潜力,达到逐步淘汰和取代传统仪器的目的。

总之,虚拟仪器有很广阔的发展空间,并最终要取代大量的传统仪器成为仪器领域的主流产品,成为测量、分析、控制、自动化仪表的核心。

1.5 图形化虚拟仪器开发平台——Labview 简介

Labview是Laboratory Virtual Instrument Engineering Workbench (实验室虚拟仪器集成开发环境)的简称,是由美国国家仪器公司(National instruments, IN)创立的一个功能强大而又灵活的仪器和分析应用开发工具。Labview是一种图形化的编程语言,主要用来开发数据采集,仪器控制及数据处理分析等软件,功能强大。目前,该开发软件在国际测试、测控行业比较流行,在国内的测控领域也得到广泛应用。函数信号发生器是在科学研究和工程设计中广泛应用的一种通用仪器。本文将结合一个虚拟函数信号发生器的设计实现具体介绍基于图形化编程语言Labview的虚拟仪器编程方法与实现技术。

Labview是基于数据流的编译型图形编程环境,可以在不同操作系统下保持兼容,为数据的采集、分析、显示提供集成的开发工具,而且还可以通过DDE和TCP/TP实现共享,节约了80%的程序开发时间,而速度几乎不受影响。事实上,Labview已经成为图形化编程语言的工业标准。Labview不同于基于文本的编程语言(如Fortran和C),他是一种图形编程语言----通常称为G语言,其编程过程就是同过图形符号描述程序的运行。NI Labview使用已获取专利的数据流编程模式,他能使用户从基于文本程序语言的循序结构中解脱出来,他的执行顺序是由节点间的数据而不是由文本行的顺序决定的。并且,Labview是唯一具有编译器的图形化程序环境,所生成的优化代码的执行速率可以和C语言媲美。

LABVIEW是一种图形化的编程语言和开发环境,被公认为是标准的数据采集和仪器控制软件。它为设计者提供了一个便捷、轻松的设计环境,利用它设计者可以像搭积木一样,轻松组建一个测量系统或数据采集系统,并任意构造自己的仪器面板,而无需进行任何繁琐的计算机程序代码的编写,从而可以大大简化程序的设计。Labview与VC++, Visual Basic, Lab Windows/CVI等编程语言不同,后者采用的是基于文本语言的程序代码,而LABVIEW则是使用图形化程序设计语言G,用对话框代替了传统的程序代码。LABVIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常相

5

湖北大学本科毕业论文设计

似。用Labview设计的虚拟仪器可以脱离Labview开发环境,最终用户看一见的是和实际的硬件仪器相似的操作面板。Labview包含有专门用于设计数据采集程序和仪器控制程序的功能库和开发工具库。Labview的程序设计实质上就是设计一个个的“虚拟仪器”,即“VI(Virtual Instruments) \。在计算机显示屏幕上利用功能库和开发工具库,产生一个前面板(front panel );在后台则利用图形化编程语言编制用于控制前面板的程序。程序的前面板具有与传统仪器类似的界面,可接受用户的鼠标指令。一般来说,每一个VI都可以作为其它VI的调用对象,其功能类似于文本语言的子程序。

Labview是带有可扩展功能库和子程序库的通用程序设计系统。它提供了用于GPIB设备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块。Labview可调用Windows动态链接库和用户自定义的动态链接库中的函数。Labview的CIN节点使用户可以使用由其它语言,如ANSIC编译的程序模块,使Labview成为一个开放的开发平台。Labview还直接支持动态数据交换(DDE)、结构化查询语言(SQL) , TCP和UDP网络协议等。此外,Labview还提供了专门用于程序开发的工具箱,使得用户能够设置断点,动态执行程序来观察数据的传输过程,以及进行方便的调试。Labview的运行机制就宏观上讲已经不再是传统上的冯·诺依曼计算机体系结构的执行方式。传统的计算机语言(如C语言)中的顺序执行结构在Labview中被并行机制所代替:从本质上讲,它是一种带有图形控制流结构的数据流模式,这种方式确保程序中的节点只有在获得它的全部数据后才能执行。也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计算机等因素的影响。Labview程序是数据流驱动的。数据流程序设计规定,一个目标只有当它的所有输入有效时才能执行;而目标的输出,只有当它的功能完全时才是有效的。这样,Labview中被连接的对话框之间的数据流 控制着 程序的执行次序,而不像文本程序受到行顺序执行的约束。从而可以通过相互连接功能对话框快速简洁地开发应用程序,甚至还可以有多个数据通道同步运行。

Labview的核心是VI。VI有一个人机对话的用户界面——前面板((front panel)以及类似于源代码功能的对话框(diagram)。前面板 接受来自对话框的指令。在VI的前面板中,控制器(controls)模拟了仪器的输入装置并把数据提供给VI的对话框;而指示器(indicators)则模拟了仪器的输出装置并显示由对话框获得或产生的数据。当把一个控件或指示器放置到前面板上时,Labview在对话框中相应地放置了一个端口(terminals),这个从属于控件或指示器的端口不能随意删除,只有删除它对应的控件或指示器时它才随之一起被删除。用Labview编制对话框程序时,不必受常规程序设计语法细节的限制。首先,从功能菜单中选择需要的功能方框,将之置于面板上适当的位置;然后用导线(wires)连接各功能方框在对话框中的端口,用来在功能方框之间传输数据。这些方框包括了简单的算术功能,高级的采集和分析VI以及用来存储和检索数据的文件输入输出功能和网络功能。 用LABVIEW编制出的图形化VI是分层次和模块化的。可以将之用于顶 层(top level)程序,也可用作其它程序或子程序的子程序。一个VI用在其它VI工中,称之为子VI(sub VI)。 sub VI在调用它的程序中同样是以一个图标的形式出现的。LABVIEW依附并发展了模块化程序设计的概念。用户可以把一个应用题目分解为一系列的子任务,每个子任务还可以进一步分解成许多更低一级的子任务,直到把一个复杂的题目分解为许多子 任务的组合。首先设计sub VI完成每个子任务,然后将之逐步组合成能够解决最终问题的VI 。

6

湖北大学本科毕业论文设计

归纳起来Labview软件开发平台具有以下优点:

1、图形化的编程方式,设计者无需 写任何文本格式的代码,是真正的工程师的语言。 2、提供了丰富的数据采集、分析及存储的库函数。

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

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

5、囊括了DAQ, GPIB, PXI, VXI, RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂总线标准的开发者也能够驱动不同总线标准接口设备与仪器。

6、提供大量与外部代码或软件进行连接的机制,诸如DLL(动态连接库)、DDE(共享库)、ActiveX等。

7、强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。 图形化程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最流行的发展趋势。

1.6 本章小结

本章主要讲述了虚拟仪器的基本概念、虚拟仪器的组成以及信号发生器的简单介绍。虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根据自己的需要定义仪器的功能。虚拟仪器可广泛应用于电子测量、电力工程、矿物勘探、医疗、振动分析、声学分析、故障诊断及教学科研等诸多领域。

7

湖北大学本科毕业论文设计

第2章 基于声卡的虚拟仪器

2.1 基于声卡数据采集系统的虚拟仪器开发

在虚拟仪器系统中,信号的输入环节一般采用数据采集卡实现。商用的数据采集卡具有完整的数据采集电路和计算机借口电路,但一般比较昂贵,计算机自带声卡是一个优秀的数据采集系统,它具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、通用性强,软件特别是驱动程序升级方便。如被测对象的频率在音频范围内,同时对采样频率要求不是太高,则可考虑利用声卡构建一个数据采集系统。

从数据采集的角度来看,声卡是一种音频范围内的数据采集卡,是计算机与外部的模拟量 环境联系的重要途径。声卡的主要功能包括录制与播放、编辑和处理、MIDI接口三个部分。

2.2 声卡的硬件结构

图2.1是一个声卡的硬件结构示意图。一般声卡有4到5个对外接口。

图2.1 声卡的硬件结构

声卡一般有Line In 和Mic In 两个信号输入,其中Line In为双通道输入,Mic In仅作为单通道输入。后者可以接入 较弱信号,幅值大约为0.02~0.2V。声音传感器(采用通用的麦克风)信号可通过这个插孔连接到声卡。若由Mic In 输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,故推荐使用Line In ,其噪声干扰小且动态特性良好,可接入幅值约不超过1.5V的信号。另外,输出接口有2个,分别是Wave Out和SPK Out。Wave Out(或Line Out)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。

8

湖北大学本科毕业论文设计

2.3 声卡的工作原理

声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,将该数字信号转换为模拟信号输出。输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到音箱等设备转换为声波。

2.4 声卡的配置及硬件连接

使用声卡采集数据之前,首先要检查Line In 和Mic In的设置。如图2.2,打开“音量控制”面板,在“选项”的下拉菜单中选择“属性”,得到如图2.3的对话框,在此对话框上选择“录音”,并配置列表中的选项即可。可以通过控制线路输入的音量来调节输入的信号的幅度。

图2.2 音量控制面板

图2.3 音量控制面板属性更改及录音控制面板

声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干扰。若输入信号电平高于声卡所规定的最大输入电平,则应该在声卡输入插孔和被测信号之间配置一个衰减器,将被测信号衰减至不大于声卡最大允许输入电平。一般采用两种连接线:a.一条一头是3.5mm的

9

湖北大学本科毕业论文设计

插孔,另一头是鳄鱼夹的连接线;b.一条双头为3.5mm插孔的音频连接线。我们也可以使用坏的立体耳机做一个双通道的输入线,剪去耳机,保留线和插头即可。

2.5 声卡的主要技术参数

采样位数

采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。声卡的位是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。声卡的位 客观地反映了数字声音信号对输入声音信号描述的准确程度。8位代表2的8次方——256,16位则代表2的16次方——64?103。比较一下,一段相同的音乐信息,16位声卡能把它分为64?103个精度单位进行处理,而8位声卡只能处理256个精度单位,造成了较大的信号损失,最终的采样效果自然是无法相提并论的。位数越高,在定域内能表示的声波振幅的数目越多,记录的音质也就越高。

采样频率

每秒钟采集声音样本的数量。采集频率越高,记录的声音波形就越准确,保真度就越高。但采样数据量相应变大,要求的存储空间也越多。目前,声卡的最高采样频率是44.1KHz,有些能达96KHz。一般将采样频率设为4挡,分别是44.1KHz、22.05KHz、11.025KHz、8KHz,这个频率也是DAC输出信号的采样频率。对于20KHz 范围内的音频信号,如果最高采样48KHz,虽然理论上没有问题,但效果已经不是很好。因而使用声卡的局限性在,它不允许用户在最高采样率下随意设定采样频率。

缓冲区

与一般数据采集卡不同,声卡面临的D/A和A/D任务通常是连续的。为了在一个简洁的结构下较好地完成某个任务,声卡缓冲区的设计有其独到之处。为了节省CPU资源,计算机的CPU采用了缓冲区的工作方式。在这种工作方式下,声卡的A/D、D/A都是对某一缓冲区进行操作。一般声卡使用的缓冲区长度的默认值是8192字节,也可以设置成8192字节或其整数倍大小的缓冲区,这样可以较好地保证声卡与CPU的协调工作。声卡一般只对20到20kHz的音频信号有较好的响应,这个频率响应范围已经满足了音频信号测量的要求。

基准电压

声卡不提供基准电压,因此无论是A/D还是D/A,在使用时,都需要用户参照基准电压进行标定。

声卡的频率范围和频率响应

以声卡作为虚拟测试仪器的硬件设备必需对其频率特性有所了解。一个性能良好的测试设备应在其使用频率范围内有良好的频率响应特性,即幅频特性近似为常数,相位特性近似为线性。对于虚拟信号发生器,如果是按给定频率输出,则直接相关的是其幅频特性。在使用中具体表现为当设定输出幅值为常数时,在不同的频率下其输出波形的幅值应该保持常数。通常声卡在设计上主要保证20~20000Hz 的音频范围内有较好的品质,即在该频带内幅频特性曲线应平直。

目前一般的声卡最高采样频率可达96KHz;采样位数可达13位甚至32位;声道数为2,即立体声双声道,可同时采集两路信号;每路输入信号的最高频率可达22.05KHz,输出16位的数字音频信号,而16位数字系统的信噪比可达96dB。

10

湖北大学本科毕业论文设计

2.6 Labview中有关声卡的控件介绍

利用声卡作为声音信号的数据采集卡,可以方便快捷地连接一个采集声音信号的VI。与声音信号相关的函数节点位于程序框图下【函数】选板下【编程】函数选板的【图形与声音】函数子选板的【声音】函数选板的各子选板,如图2.4所示

图2.4 Labview中声卡控件

用Labview处理声卡的操作步骤如下:

(1)打开释放声卡。在使用声卡之前,必须先对其进行初始化。一般声音输出设备不可共享,若在某个程序运行之前,设备已被其他应用程序占用,则此应用程序不能再使用该设备。所以,在程序中一旦对声卡使用完毕,应立即释放它。函数Sound Output Configure. vi用于配置和开启声卡;Sound Output Clear. vi用于释放已经打开的声卡。

(2)数据写入。音频输出函数播放声音时,底层音频函数需要应用程序分配内存块,并传给波形输出设备,而且所分配的内存块还必须有相应的结构。但实际编程时,不需要具体组织内存以使它具有特定的格式。一旦数据准备好,就可以调用Sound Output Write. vi将其传给声卡驱动程序进行播放输出。

(3)音量控制。函数Sound Output Volume. vi用于设定波形输出设备的音量。数字化的声音数据使用PCM(脉冲编码调制)波形音频格式。Labview 中的声音格式分为mono 8-bit(单声道8位)、mono 16-bit(单声道16位)、stereo 8-bit(立体声8位)和stereo 16-bit(立体声16位)。若用单声道采样,左右声道信号都相同,而且幅值为原信号的一半;若用立体声采样,左右声道互不干扰,可以采集两路不同的信号,而且幅值与原信号相同;声卡播放数据的刷新速率(update rate) 有4种,即8000Hz、11025Hz、22050Hz 和44100Hz ,速率不同,输出波形的质量也不同,应视具体情况选择合适的速率。本文根据主流声卡的性能指标,默认设置刷新速率为44100Hz ,采样位数为16bit,输出方式为单声道,这样采样的波形稳定,而且干扰小。声卡输出信号的频率范围与声卡的型号有关,其正弦波频率一般在20Hz~20kHz之间。

11

湖北大学本科毕业论文设计

第3章 基于声卡的虚拟信号发生器的设计

3.1 设计思路

1. 先参考一些别人发表的论文,明确自己的设计目的,构思信号发生器的大致结构。 2.上网搜索有关函数信号发生器的清晰图片以及该函数信号发生器的详细资料。按照该函数发生器布置相应器件到前面板上面,大致与图片一致。

3.在程序面板编写程序,先编写波形主程序,大致实现该函数发生器的功能 4.实现任务要求,尽量使得程序通俗易懂,最后逐步完善和美化该程序。

3.2 函数信号发生器程序的设计

3.2.1 前面板

虚拟信号发生器的前面板是根据实际中的仪器面板以及该仪器所要实现的各种功能进行设计的程序交互式图形化用户界面。前面板的右半部分是输出波形的显示和频率、幅度、相位等参数的设置,信号类型选择包括正弦波、三角波、方波、锯齿波以及自定义公式波。根据计算机声卡的实际特性,将声卡设置为双通道、44.1kHz采样频率、16位采样比特数、连续采样等,如图3.1所示:

图 3.1

12

湖北大学本科毕业论文设计

3.2.2 全部程序框图

虚拟信号发生器的程序框图和前面板是相对应的,只有创建了框图程序该程序才能正常运行。程序主要是将产生的波形信号通过声卡输出,其程序框图主要使用while循环结构和case条件结构实现波形数据实时显示和实时输出。如图3.2所示。

在框图程序产生波形数据部分有仿真信号子VI,仿真信号子VI 主要用于基本周期信号(正弦波、方波、三角波和锯齿波)和公式波形数据的生成。有时在实际测试中,需要输出非周期信号或者是测试领域中的特殊信号,利用公式波形VI输入节点,通过编辑波形的数学表达式,来生成用户指定的特殊信号。应该注意的是,为了确保输出信号频率和前面板中设定的一致,必须使声卡的采样率和仿真信号的采样率相同。为了使输出信号连续和整周期采样,仿真信号采样点数和采样率设置一致。此外要说明的是,前面板信号的幅值并不确定,这要由具体计算机声卡硬件参数而定。

图 3.2

3.2.3 波形选择和指示灯显示的程序

该模块利用条件结构实现下拉框 控制信号灯,并显示输出波形的选择状态,如图3.3所示:

13

湖北大学本科毕业论文设计

图 3.3

3.2.4 频率选择的程序

频率的选择不仅要亮灯显示档位,还要让该档位与频率的细调相乘才能实现所要输出的频率(输出波形频率=档位×旋钮频率),该部分也是利用了条件结构实现的。如图3.4所示:

图 3.4

3.2.5 输出衰减程序

利用条件结构来实现不同情况下的输出衰减倍数。其中衰减20dB就是将电压幅度衰减为原来的十分之一,衰减40dB就是将电压幅度衰减为原来的百分之一,60dB就是将电压衰减为原来的千分之一。如图3.5所示:

14

湖北大学本科毕业论文设计

图3.5

3.2.6 信号产生程序

信号产生是仪器系统的重要组成部分,要评价任意一个网络或系统的特性,必须外加一定的测试信号,其性能方能显示出来。最常用的测试信号有正弦波、三角波、方波、锯齿波、噪声波及多频波(由不同频率的正弦波叠加而形成的波形)等。如图3.6所示:

图3.6

该模块是利用LABVIEW自带的常见信号波形生成子VI产生信号,并用示波器输出显示,来验证输出是否达到要求。通过调节前面板的旋钮和下拉框可以改变输出信号的参数。

3.2.7 基于声卡的子VI的使用

该程序做的是基于声卡的信号发生器,其中利用了几个跟声卡相关的VI,如Sound Output Configure. vi(配置生成数据的声音输出设备,使用写入声音输出VI使数据写入设备),Sound Output Set Volume. vi(设置声音输出设备的播放音量),Sound Output Write. vi(使数据写入声音输出设备,如需连续写入,必须使用配置声音输出VI配置设备)和Sound Output Clear. vi(使设备停止播放音频,清空缓存,任务返回至默认状态,并清除与任务相关的资源,任务变为无效),具体连接情况见总程序框图。需要指出的是经声卡输出的信号是比较弱的,一般在1.5V以下,需要外部电路进行调理才能使用。

3.3 测试情况和结果分析

该程序可产生正弦波、方波、三角波、锯齿波以及公式波(可设置任意公式),频率20~20000Hz连续可调,幅度范围为-1.5~1.5V,并且信号的相位、偏移量和方波占空比可以自己设置。在产生波形的同时,电脑声卡放出该波形的声音,当调整信号的频率时,播放声音的音调也跟随着变化。调整前面板的音量滚动条可以控制播放声音的大小。 软件模拟波形如图3.7至图3.11所示:

15

湖北大学本科毕业论文设计

图3.7 正弦波 图3.8 三角波

图3.9 方波 图3.10 锯齿波

图3.11 某一公示波

通过实验室示波器检测发现测得的正弦波信号和电脑模拟的信号频率基本一致(示波器显示为580Hz,电脑显示为571.4Hz,波形正常)

如图3.12和图3.13所示:

16

湖北大学本科毕业论文设计

图3.12 图3.13

但是其他基本波形都有误差,测试时显示的频率与电脑模拟的波形频率有较大的误差,并且波形也有失真。其原因是方波、三角波等波形表达式经傅立叶级数展开可分成许多频率的波形,从电脑产生的波形经声卡转换输出后可能会有较大的误差,从而造成测试出现误差。而正弦波频率单一,就没有出现这种情况。

每个电脑的声卡型号也不一样,模拟输出的信号也会有误差,需要外接辅助电路加以改善。使用声卡作为数据采集卡有许多优点,但它的局限性也很明显。声卡输出的频率一般在20-20kHz,幅度在1.5V左右,超过这个范围就会有很大的误差,也可能会对声卡硬件造成损害。而且声卡输出的信号受外界干扰较大,在进行精密测量时需要考虑采用其他硬件。 市场上多种类型的数据采集卡可供选择,它们可以通过USB、PXI、PCI等总线接入个人计算机。这些数据采集卡的通道数、采样频率、精度、量程、分辨率等参数比较好,可用于测量许多范围的信号。

17

湖北大学本科毕业论文设计

结论与展望

经过几周的Labview毕业设计让我学到了许多东西,将自己平时自学的东西都融合起来,真正的学以致用,虽然这个设计题很简单,但是当我独立设计的时候还是遇到了许多问题。

在设计过程中开始的时候用了许多等号来判断下拉框的选择又和条件结构相结合走了很多弯路,花了不少的时间,后来参考别人的资料,才发现条件结构不仅仅只有 真 和假的选项的,还可以直接和输入的下拉框相结合,不需要用等号来判断,简单方便许多。总的来说,该程序在软件模拟方面比较成功,但在做与硬件结合的过程中发现了许多问题。测试结果很大误差,但没有很好地解决,希望在今后学习中能够找出原因加以改善。

在设计中还发现修饰的用法有许多小技巧,在这次的设计中学会了颜色的修饰,字体的调节,而且尝试着生成exe可执行文件,虽然都与这个课程设计无关,但是对我以后的学习很有帮助,也提升了我对Labview的兴趣。

在这次设计中仍然花了很多的精力到处收集资料,在不懂的时候就上网查阅资料,借阅别人的程序,逐渐的实现自己需要的功能。如果在这个设计上进一步研究信号发生器,

在波形的类型上应该有更多的变化,更迅速的响应时间,更准确的调节过程。对于信号波形的参数,如频率、幅值、相位、占空比等的设定有更好更精确的方式,而且在波形失真和噪声方面有更好的解决方法,在面板美化方面也可以做得更好更漂亮。

通过本设计我认识到,利用计算机声卡代替昂贵的数据采集卡采集数据,以图形化编程语言的虚拟仪器软件LabVIEW为开发工具,充分利用计算机强大的信息处理能力和LabVIEW模块化编程技术,实现常见音频信号的实时采集、显示、存储,回放以及分析等功能,有效的利用了计算机资源,节约了数据采集成本,易于构建和升级,并且界面友好,操作简单,成本较低,易于实现,不仅可以应用于科研试验,而且可以应用于检测车辆等方面,具有比较广阔的应用前景。

18

湖北大学本科毕业论文设计

参考文献

[1] 张桐,陈国顺,王正林.精通Labview程序设计[M].北京:电子工业出版社,2008 [2] 吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:人民邮电出版社,2008

[3] 杨乐平,李海涛,杨磊.Labview程序设计与应用(第2版)[M].北京:电子工业出版社,2006.

[4] 张爱平.Labview入门与虚拟仪器[M].北京:电子工业出版社,2004

[5] 丁硕.基于Labview的虚拟函数信号发生器的研究[J].计算机与现代化,2008,5:107-110

[6] 王红,萍魏,玉宾,袁艺,王东来.基于虚拟仪器的数字信号发生器设计[J].抚顺石油学院学报,2002年04期:66-68

[7] 马海瑞,田树森,周爱军.基于声卡的Labview虚拟信号发生器设计[J].国外电子测量技术,2005,4:27-29

[8] 朱磊. 基于LabVIEW和DDS的USB接口虚拟信号发生器设计[J].科学技术与工程,2008,4;1851-1855

[9 ]李 震,柯旭贵,汪云祥.虚拟仪器的发展历史,研究现状与展望[J].2003,18(4):1-4

[10] 李广才,聂东.一种新型多功能虚拟信号发生器的设计[J].肇庆学院学报,2008,3:25-28

[11] 贺良华,王洪亮,王洪雷.基于Labview的虚拟信号发生器的研究与实现[J].计算机测量与控制,2009,3:1866-1868

[12] 徐继宁, 程志强.基于声卡的虚拟信号发生器设计与实现[J].工业控制与计算

机,2007,20(2):72-73

[13] 于洁,钟佩思.基于虚拟仪器界面的信号发生器的设计与实现[J].机械电子,2004,9:65-67

[14] 尚秋峰,陈于扬.基于虚拟仪器的多功能信号发生器的设计[J].电气电子教学学报,2010,8:44-48

[15]黄云江.基于Labview的数据采集的实现[J].福建电脑,2008,4:98-99 [16] 胡容,李进,范寿康.基于Labview实现虚拟信号发生器[J].中困电子学会第十四届信息论学术年会,2007,12:790-792

[17] 邓玉芬,向风红,张雪飞.一种虚拟数字示波器的实现方案研究[J].现代电子技术,2006(18),36-38

[18] [美]Robert H.Bishop.Labview 7实用教程[M].乔瑞萍,林欣,译.北京:电子工业出版社,2005,28-30.

[19] Rahman Jamal. Graphical object-oriented programming with LabVIEW [J]. Nuclear Instruments and Methods in Physics Research, 1994 p.438.

[20] G.Heinrichs, H.Rongen and R.Jamal. Using LabVIEW for the design and control of digital signal processing systems [J]. Nuclear Instruments and Methods in Physics Research, 1994 p.44

19

湖北大学本科毕业论文设计

致谢

本文的研究工作是在彭菊红老师的悉心指导和严格要求下完成的。彭老师在学习方法、工作方法和研究思路等方面给予了许多有益的启迪;同时,她对我的研究工作提出了宝贵的建议和意见,使我在研究工作中不断取得新的进展。彭老师深厚的专业知识、严谨的治学精神和求实创新的工作作风深深的影响着我。在此,谨向彭老师致以我最崇高的敬意和真挚的感谢!

感谢我的家人和朋友对我生活上的关心,学习和工作的支持,这些使得我能够安心的完成我的研究工作。

最后,对在我的学习和成长道路上给予帮助的所有老师和朋友们表示深深地感谢,对评阅该论文的所有老师表示最崇高的敬意和真挚的感谢!

20

湖北大学本科毕业论文外文翻译

LabVIEW : 一个可用来做数据采集、数据分析和仪器控制的

软件系统

原文来源:Journal of Clinical Monitoring and Computing Volume 11, Number 1 (1995), 51-58,

DOI: 10.1007/BF01627421

译文正文:

摘要:在临床监测和开发新的监测工具中基于计算机数据采集系统发挥了重要作用。LabVIEW软件(美国国家仪器公司,美国德克萨斯州奥斯汀)提供了一个数据采集和编程环境,能够对模拟和数字数据进行灵活的采集和处理。LabVIEW软件区别于其他数据采集程序的主要特征是其高度模块化的图形化编程语言——“G语言”,而且拥有大型的数学和统计功能的库函数。图形化编程的优点是该代码是灵活、可重用和自我记录的。子程序可以被保存在库中并且无需修改地在其他程序中重用。这大大缩短开发时间,使研究人员能够开发或修改自己的程序。LabVIEW中使用了大量的处理机能和计算机内存,因此需要一个功能强大的计算机。开发大型应用程序时,一个大屏幕显示器是非常可取的。 LabVIEW是非常适用于测试新式监测方法是否可行、分析算法优劣或者用户界面的好坏。典型的LabVIEW用户是要开发一个新的监测技术。通过整合现有几个病人监护仪,生理变量的闭环控制,或生理模拟器形成一套新的或派生的技术。

介绍:虽然基于计算机的数据采集系统本身难以被归类为“监视器”,但他们在临床研究和新的监测技术的发展中发挥着重要作用。市售病人监护仪和数据采集系统中有许多共同的组成部分:传感器(将现实世界的信号转换成电压),放大器,模数转换(在计算机内存中将模拟电压转换成数字量),微处理器(运行数据并显示用户当前得到的数据和波形)。事实上,许多病人监护仪执行的功能,可以用具有强大的数据采集的系统来模拟。因为数据采集系统开放式的,他们能够最大的灵活性提供给用户确定的方式进行数据处理、存储和显示。在这种方式中,数据采集系统为监测应用提供程序块,而不是准备运行集成软件和硬件。

在临床监测数据采集系统的主要应用是记录和整合现有的病人监护仪,开发和测试新的监控模式或算法。某些系统可能会根据能力,也可以用于模拟和过程控制。例如,肌肉松弛剂或血管活性药物的闭环控制。本文介绍了LabVIEW(美国国家仪器公司,美国德克萨斯州奥斯汀)软件系统的数据采集、数据处理和控制部分的神经电生理监测系统,用于研究和术中监测患者。

LabVIEW 软件系统

LabVIEW系统是一个用于数据采集和控制。最初设想并在Macintosh电脑上(Cupertino的苹果电脑,CA)开发,直到在1986年推出软件环境。 LabVIEW是实验室虚拟仪器工程工作台的缩写,它已经从一个程序,可以发送、接收和整合数据并与GPIB(通用接口总线,符合IEEE-488标准)配备实验室仪器到一个可以接受模拟和数字数据格式,并进行数据分析和仪器控制系统。这是第一个图形化编程标志性的编程技术,使编程更加透明而且用户可以看见处理过程。LabVIEW的最新版本(3.0版)适用于三个计算平台:苹果Macintosh ,DOS / Windows 3.1和Sun工作站。其中一个平台上开发的应用程序不需要或只有轻微的修改就可以运行在其他平台上。LabVIEW区别于其他数据采集程序的主要特征是它是用图

21

湖北大学本科毕业论文外文翻译

形化编程语言(“G”)进行的。它配备了一个巨大的数学、统计和数字信号处理(DSP)功能库。图形化编程意味着声明、变量和函数都可通过图标和“线”在屏幕上显示,而不是由文本代码表示。在LabVIEW程序中,执行过程并不是由源代码的顺序(线性程序)来控制的,相反,是由所产生的数据(数据流导向)控制的。例如,子程序并不执行A / D转换板程序,直到作为输入的原始数据全部获取。

LabVIEW的开发人员一直使用这样一个比喻,使用虚拟仪器(VI)模仿真实世界的测量仪器。 LabVIEW虚拟仪器的前面板(用户界面),可以同时接受来自用户的输入(推子,旋钮,从键盘输入的值,按钮,选择开关)和输出给用户的信号(指标,发光二极管组成,图,带状图,声音)。一个LabVIEW程序(框图)有点像电子电路的原理图。线代表保存数据的变量,各种变量处理的控件由图标(小图形对象,控制他们执行的操作)代表。传统的编程语言的所有基本要素都有贯彻和落实。例如,条件分支(IF ... THEN ... ELSE)代表一个CASE结构。重复操作可以用FOR... NEXT或WHILE循环。在LabVIEW中,循环的直接意思就是循环运行在边界内的所有图形化元素。

创建一个LabVIEW程序

创建一个LabVIEW程序(虚拟仪器VI)从确定哪些变量作为输入并把它们作为控件放在前面板上开始。有许多可供选择的图形化元素代表数字控件、文本(字符串)控件、下拉菜单控件、声音控件或布尔控制。同样,程序的输出控件也放置在前面板上。再次,输出量可能是数值量、文本或者图形波形。然后程序员切换到底层程序框图放置的前面板矩形框表示的控件和指标。矩形框内的颜色和数字表示的数据类型和精度(整数或浮点数)。程序员从下拉菜单选择函数或子程序(子VI),当鼠标变为一种特殊的光标,程序员使用布线工具的功能连接输入和输出端子。颜色和线条粗细的连线代表的数据类型的信息。蓝色的线代表整数表示,而橙色表示浮点数,粗线代表数组,平行线代表多维数组。重复操作被适当地放置在一个WHILE或FOR-NEXT循环中。条件分支由CASE结构实现,但需要在条件结构框内设置条件(一个布尔值TRUE或FALSE,或整数),它使用一个绿色的问号作为输入连接。在CASE结构中,每一种情况可以填充适当的操作或子程序(子VI)。因为它是不可能将所有可能情况在同一时间内显示,在CASE结构的顶部边界,允许程序员遍历,检查各种情况下的内容。打印一个文档中的图表时,每个CASE条件的内容可以单独打印。调试非常便利,因为程序中的每个VI或者子VI是一个独立的程序,当前面板或主程序需要调用他们时,他们可以单独运行,而且可以检查结果。

对屏幕对象的排列将变得非常容易,而连线也是以一个合乎逻辑的方式进行的。程序员可以通过减少画面杂乱和避免连线交叉来提高程序框图的可读性,而不是减少一些函数或子VI。一些绘图工具,如对齐和分布,可用来帮助简化程序框图和前面板的外观。

LabVIEW程序例子:一个简单的信号平均器

图1是一个基本信号平均器虚拟仪器的程序框图。信号平均器是许多项目的核心,用于获取诱发电位(EPS)。EPS是一个1?2个数量级大小命令,小于他们必须提取的脑电图(EEG)。体感EP电压的峰-峰值幅度可能小于1uV。信号平均器依赖于一个事实,即时间锁定唤起刺激诱发电位。通过总结和平均几百段紧随刺激脑电背景活动(“噪音”),可以消除,而保存感兴趣的信号。

程序使用一个while循环,直到指定的扫描数量已获得。一个移位寄存器在循环的边界位置,持有求和波形阵列。使用移位寄存器来记住先前的循环获得或计算的数据值是一种方

22

湖北大学本科毕业论文外文翻译

便的方式。数据输入移位寄存器右侧循环,并可用于左端寄存器用于下一次迭代。在图1的例子中,每个EP扫描加入到求和波形,以获取平均的EP,求和波形除以获取的扫描数值。两个计数器更新每次扫描:第一个计数器持有平均扫描次数;另一个计数器持有拒绝扫描的次数。一个CASE结构是用于条件检测算法的一部分。一个专门的子VI测试每个传入的扫描,以确定是否符合一个或多个条件标准。输出结果是一个布尔变量(TRUE或FALSE)。只有当条件不符合标准(案例选择= FALSE),才会将最近获取的最扫添加到求和波形,否则扫描被拒绝,并拒绝扫描计数器递增。

图1 信号平均器的程序框图

易于编程和生成文档

LabVIEW代码相当灵活并可重复使用,VIS几乎可以无限地嵌套使用。程序员可以为每个VI或子VI设计图标,而且可以判断前面板控件和显示器件将被用于为终端接收或提供数据。可以只对子VI设置计算功能或在调用时,打开前面板。 VI可以在许多应用共享。例如,一个数字滤波器VI可能使用一个整数数组,截止频率,坡度作为输入,并提供数字滤波输出的数据。这个VI只需要编写一次,然后它可以在若干项目中被重用。 LabVIEW的另一个重要方面是,许多操作显示了多态性“加法,减法,乘法,除法;甚至一些更复杂的操作可以接受任何数据类型上的输入。例如,可以用一个单一的数字乘以数字阵列,或两个数组可以彼此相乘,他们使用相同的乘法函数图标连线。

面向行的程序语言的一个常见的问题是,除非认真记录每一个语句和函数,否则不仅是别人,一段时间后,即使是设计该LabVIEW程序的程序员,对该程序可能也会迅速变得难以理解。LabVIEW图形化编程语法的性质,几乎提供了自我记录的代码;也就是说,人们通常可以依据连线之间的各种函数和子VI推导程序的功能。此外可以不用搞乱整个程序框图的情况下对每一个控件、显示器件、连线或者函数进行单独注释。可以通过点击函数显示注

23

湖北大学本科毕业论文外文翻译

释。 LabVIEW不允许收集和索引列表中的个人意见。前面板、程序框图和子程序的层次结构可以打印。另外各种条件结构的内容可以单独打印。

时序注意事项和实时应用

有几个选项用于控制操作的时间或更新显示。因为一个LabVIEW程序的事件序列是由数据驱动的,在处理时,使用连续数据采集的速度应当与产生数据的速度相匹配,并将这个速度作为支配抽样硬件时钟。只要电脑是能够保持处理速度,显示和存储结果,该程序将同步采集。为了保留计算机内存中的缓冲区空间,程序员可以运行一些常见的需要大量的处理器时间任务。缓冲区将保持未处理的数据段(积压),直到电脑再继续处理。该处理器将尝试,以弥补失去的时间。当缓冲区溢出时,出现错误,数据采集就会停止。在实践中,大多数用于临床监测、更新屏幕彩色图形对象的计算机平台由于采样率的原因,数据采集性能会有所限制。减少屏幕显示指标和图表的更新率可能是必要的。或者经过每一个循环的第n次迭代 只更新他们一次,或通过使用LabVIEW的伪并行处理机制。这涉及到要显示一个全局变量的值写入,读取和显示这个全局变量,以低得多的速度在一个单独的WHILE循环中运行。一个while循环重复操作的速度包括软件延时功能(等待NN毫秒)可以控制采集硬件。

LabVIEW在临床监控上的典型应用

LabVIEW可用来以各种方式接收现实世界的数据。在同一个A / D转换器面板,模拟信号可以被获取、处理和显示或写入到磁盘。一个例子是记录手术室的病人监护仪上的模拟信号或屏幕上的趋势记录用于未来分析。作为一个简单的数据记录,在线信号处理可能会对将要到来的信号进行操作,例如,频谱分析脑电图,心电图分析,分析血压波形,计算心率变异性,压力/容积的延伸或流量/容积循环。这些计算的结果可以存储在磁盘和显示在屏幕上。

在EP监测中,触发采集用于定长采样。一个板上的时钟产生脉冲同时触发刺激(触觉,听觉,视觉,或脑运动)和神经电生理信号的采集。常见的例子包括神经肌肉阻滞监测,触觉EPs,听觉EPs和 脑运动EPs。当信号信噪比太小不足以对单扫描波形进行评估,可以采用信号平均器。

LabVIEW还包含一个丰富的库函数,使电脑能够与拥有RS-232串口或IEEE-488接口的外部设备进行通信。这意味着,除了模拟信号的采集,程序可以与无创血压监测器、脉搏血氧仪或一些更深奥的监测器,如无创心输出量监测,经颅近红外光谱仪,经颅多普勒超声显示器进行通信。 LabVIEW的这些功能设置可以使用模拟和数字(串行/并行)通信同时获得来自不同信号源的数据,并可以整合计算得出数值并且向用户展示这些有意义的值。

LabVIEW的库函数

无论是使用串口或者国家仪器的某一个模拟或者数字输入板,LabVIEW丰富的库函数都可以对数据采集提供帮助。这些库中的许多VI包含源代码(框图),用户可以任意修改。各种窗口函数、频谱分析和大量的数字滤波器可用来检查或改变采集到的波形数据内容。此外,大量作为统计的库函数可用于基本的数据统计、假设检验和曲线拟合。对于字符串操作的支持便于基于RS-232或IEEE-488协议的设备的通信。为了有助于用户对LabVIEW程序的交互使用,屏幕上大量的控件和指标可从下拉菜单中获取。这些控件和指标,包括数字

24

湖北大学本科毕业论文外文翻译

显示或数值输入、推子、旋钮、仪表、表盘、指针和温度计。这些图形元素可以设置为控制器件或显示器件。常见的布尔控件和指标按钮有旋钮、开关和LED。以图形的形式显示数据已直接列入到可调整大小的图表中并且可以放置在在屏幕上的任何地方。可以在程序中使用属性节点设置控件的能见度、缩放大小、标记、网格线、颜色和指标。

LabVIEW的应用实例:感觉诱发电位监测项目

这个计划的目的是对连续单个或多通道监测神经皮层感觉诱发电位(PTNSEPs)进行测量。它采用传统的信号平均单脑电图扫描(100至200毫秒)应用于脚踝后的神经体感刺激。图2显示了前面板SEP监测程序。左边的图形窗口上跟踪显示目前的平均进度。在它下面,在同一个窗口,显示以前的SEP波形。一个简单的算法决定第一次正负峰值的位置。这些峰值的范围是由用户设置的。为了帮助调整这些范围,他们用不同颜色表示SEP波形不同的区域。这个简单的算法只在子域的局部极小和极大范围内寻找低通滤波器的副本的SEP波形的副本,并返回发现峰的指标。LabVIEW最具吸引力的一个方面是,该算法包含在一个单独的VI里,它接受的SEP波形和搜索领域的界限,输出峰值指数。这个VI可以很容易地替换更加复杂和强大的算法是程序有更大的用途。峰潜伏期和振幅值连同采集时间和用户输入的意见被写入到一个ASCII文本文件。如果有的话,可以用单独的潜伏期和振幅图显示潜伏期和振幅的趋势。用户可以设置峰值上限,如果超过接受的范围就会提醒用户。最后,SEP波形使用瀑布式显示方式绘制在“历史”窗口中,类似用于处理脑电压缩谱阵列。每个完成的SEP波形的数据点和附加数据(采集参数,采集的开始和结束时间,拒绝扫描的数量,注释字符串)相结合,它会自动写入磁盘。

25

湖北大学本科毕业论文外文翻译

图2 SEP监测器程序的前面板

汽车诱发电位程序

这个程序是以上所述的SEP监测程序修改而成的。用户可以设置传递的经颅刺激器的数据。为了安全起见,经颅刺激器是由操作员手动触发,同时观察手术室的操作情况。这消除了病人不当或危险的移动操作在手术期间不慎引发刺激的机会。该程序获取了1-8个通道的EMG信号,然后在两个波形图里面显示。每个后续的运动诱发电位(MEP)波形叠加超过先前的波形。每个刺激后,平均波形也被计算和显示出来。使用简单的寻找峰值算法描述上述现象,在相关子区间波形的最大和最小的振幅转化为最大峰峰值。这些值被显示并写入一个ASCII文本文件。原始波形、采集时间、采集参数和注释评论被写入到一个二进制文件。使用屏幕上的光标手动确定延迟,自动测定潜伏期可能会在稍后阶段实施。

讨论

当几个方面开始发挥作用可以确定哪一个数据采集系统用于临床监测。如果唯一的目标是获得现实世界的数据,并以数字信号形式存储那么许多选项可供选择。许多市售系统非常适用于从各种渠道获得数据,并结合用户输入的数据。例如,麻醉“记录者”可以预先设定接口和病人监护仪广泛阵列从而接受用户输入。这些程序并不是设计用来对在线数据进行分析的,通常情况下,他们都是可配置的,但是不可以编程。各种电脑程序可允许用户为特定应用程序和获取连续数据或者用户有特定事件发生时配置PC的数据采集板。这些程序包括分析函数和各级可编程函数。在频谱的另一端,由一个独立的计算机数据采集/监控应用程序使用一个传统的编程语言和数据采集硬件构成。当一个数据采集系统被用于特定的监控函数,例如,获取MEPs数据,其他几个方面也应该加以考虑。市售的显示器是否可以执行所需的功能?许多开发商制造神经电生理监测器用于手术室或监测,这个也可能用于专门开发设计手术室术中的监控软件。市售监测器已经对硬件和软件进行过测试,并纳入了许多安全功能。当现存和产生的技术投入使用时,这样一个系统可能是最好的选择。然而,在设计新的监测案例或评估新技术时,市售监测器的软件架构可能太过严格。除非商业监测器的设计是开放式和可编程的,否则它是很难实现和测试新的技术或算法。

传统的编程语言LabVIEW的主要优势是其发展时间短。一些作者公布了开发时间,只需要传统开发语言的四分之一。 LabVIEW框图结构程序的另一个重要方面是,它可以很容易做出修改,例如,为前面板上添加指示灯。这种修改通常可以在几分钟内完成。当程序在开发实验装置或新的监测技术的过程中需要不断更新和修改,这个特点将成为一个特别重要的优势。更重要的因素是LabVIEW的商业认可度,它允许普通人或者非专业程序员写他们自己的数据采集和处理程序,并且不用担心乏味的底层数据采集硬件编程。 LabVIEW支持所有NI硬件:A / D转换,数模(A / D)转换器,输入/输出(I / O的)板,数字信号处理板。LabVIEW允许使用第三方硬件制造商的驱动软件,而美国国家仪器公司也拥有支持GPIB实验测量仪器通信的驱动程序的大型数据库。

易于编程和建立曲线

即使以往计算机编程的经验是有限的,掌握LabVIEW编程还是比较容易的。只需几个星期到几个月的学习就可以逐渐对这个系统感到适应,而且能够建立涉及超过最基本应用的数据采集系统,处理数据和文件的输入输出。这使得LabVIEW的不太适合使用数据采集系

26

湖北大学本科毕业论文外文翻译

统比较随意的用户,他们可能会觉得壳式数据采集系统更轻松。这种方式的数据采集可通过设置菜单和脚本语言链接可用命令。相反,一个精心设计完成的LabVIEW应用程序,即使对于非技术用户/操作员,也应当是是用户友好型的。

LabVIEW的局限性

LabVIEW是一个功能强大的编程环境,但是,这种强大功能是要付出代价的。屏幕上的软件控件和显示指标必须使用大量的计算机开销。因为电脑显示器供应控制中心和数据显示区,所以大屏幕彩色显示器是必须的。此外,需要一个强大的计算机。一个良好的LabVIEW编程“风格”是将一个大型的LabVIEW程序分割成许多子VI,最终组合在一起,LabVIEW程序可以迅速变得相当大。大型显示器加长了编程时间,因为更多的框图在任何给定的时间是可见的并不经常需要来回滚动。幸运的是,电脑和彩色显示器的价格已经大幅下降,能够适应这种计算密集的环境,这些系统现在可能许多学术机构都能够获取。一些专业的程序员重视执行速度超过执行的灵活性,因此都不愿意从线性编程语言(C,PASCAL)改变到LabVIEW。

验证和质量控制

使用像LabVIEW这样的编程系统设计监测应用数据采集应用意味着用户或者程序员应该完全负责自己的软件控制和调试质量。此外,美国国家仪器公司并不赞同在临床研究或护理病人使用LabVIEW或任何其他硬件组件的使用。这意味着, LabVIEW程序员或者用户也要对硬件和软件中的任何可能危及病人的安全的错误负责。对在病人身上的传感器或执行器和计算机(需要光隔离)之间的任何连接尤其如此。由非程序员和非工程师开发功能齐全的数据采集处理应用程序的速度和容易性有一个潜在的缺点。数据采集基础知识,如抽样定理(奈奎斯特频率)的知识不足,在计算机程序中因为概念错误可能会导致不稳定的结果。一些出版物和用户组可以帮助LabVIEW程序员新手设计和实施他们的应用程序。NI以各种样式的用户手册的形式为用户提供各种优秀的文档、免费的技术笔记和BBS服务支持,可以通过电话((512)794-5422)或互联网(ftp.natinst.COM)解决。在互联网上有一个LabVIEW 邮件地址(info-labview@pica.army.mil)。订阅的请求应发送到info-labview-request@pica.army.mil。在许多国家,有许多LabVIEW用户组定期举行会议交换信息。

监测环境中的潜在的危险只会在错误的假设和临床决定依靠没有根据的数据或者产生硬件和软件错误时才会存在。当研究员决定使用LabVIEW来实现闭环控制生理过程(例如,根据病人的反应调整扩血管治疗[5])存在着潜在的重大风险。首先血压传感系统和传感器一直到有电脑控制的输液泵存在许多潜在的错误,可能会危害病人的健康。病人护理中使用的软件质量控制的讨论最近才聚集力量[6-9]。这将变得越来越重要,因为制造商之间目前把软件控制投入实际中一切用于医疗的仪器,从维持血液温度的仪器到通风机和输液泵。

总结

LabVIEW拥有一种独特的数据采集编程、分析和控制环境,使研究人员能够编写自己的复杂的应用(监测)。虽然用户期望能够在编写一个中等复杂的LabVIEW应用程序之前几个月的学习,这样的好处是大大减少了开发独立计算机平台的图形监测应用的时间,而且最大限度地增加了数据采集和显示的灵活性。

27

湖北大学本科毕业论文外文翻译

词汇表

条件分支:在计算机程序中的一个节点,有两个不同的可能性,选择那一个依赖比较的结果。 调试:一个计算机程序通过检测和纠正语法或概念错误解决问题的过程。

浮点数:小数。

IEEE-488:实验室许多配备了GPIB接口的仪器上使用的电气和电子工程师学会设计的通信协议。

输入/输出(I / O的):计算机硬件和软件处理与外界通信的接口,例如磁盘驱动器等 整数:所有整数。

多态性:LabVIEW中的函数端口接收不同数据的类型,例如,加函数将接受两个整数、一个实(浮点)数和一个整数、一个数组和一个整数或两个数组。

RS-232:微处理仪器之间串行数据通信的协议。例如计算机之间的通信、监测器和计算机之间的通信和计算机与输液泵之间的通信。

子VI:一个LabVIEW程序中使用的另外一个LabVIEW程序。 虚拟仪器(VI):一种LabVIEW图形化语言编写的计算机程序,由前面板控件(输入)和显示器件(输出)组成

参考文献

1. Ellis WS, Jones RT. Using LabVIEW to facilitate calibration and verification for respiratory impedance plethysmography. Comput Meth Prog Biomed 1991; 36:169-175 2. Lim I, Walkup R, Vannier MW. Rapid prototyping of interactive software for automated instrumentation in rehabilitative therapy. Biomed Instrum Technol 1992; 26:209-214

3. Reinking RM, Nordstrom MA, Stuart DG. Simplifying biomedical data-acquisition and instrument control with a modern computer language. In: Nagle H, Tompkins WJ, eds. Case studies in medical instrument design. New York: IEEE, 1991:65-81

4. Anderson M. Implementation of a real-time QRS detector with a graphical programming language. In: Nagle H, Tompkins WJ, eds. Case studies in medical instrument design. New York: IEEE, 1991:111-126

5. Colvin JR, Kenny GN. Microcomputer-controlled administration of vasodilators following cardiac surgery: Technical considerations. J Cardiothorac Anesth 1989; 3:10-15

6. Beatty PC. Software safety considerations in the use of closed-loop, patient-connected control systems (Correspondence). Br J Anaesth 1993;71:461-462

7. Brannigan VM. Software quality regulation under the Safe Medical Devices Act of 1990: Hospitals are now the canaries in the software mine. Proc Annu Symp Comput Appl Med Care 1991:238-242

8. Martin JF, Schneider AM, Quinn ML, Smith NT. Improved safety and efficacy in adaptive control of arterial blood pressure through the use of a supervisor. IEEE Trans Biomed Eng 1992; 39:381-388

9. Littlewood B, Strigini L. The risks of software. Sci Am 1992; November: 38-43

28

湖北大学本科毕业论文外文翻译

原文正文:

29

湖北大学本科毕业论文外文翻译

30

湖北大学本科毕业论文外文翻译

31

湖北大学本科毕业论文外文翻译

32

湖北大学本科毕业论文外文翻译

33

湖北大学本科毕业论文外文翻译

34

湖北大学本科毕业论文外文翻译

35

湖北大学本科毕业论文外文翻译

36

本文来源:https://www.bwwdw.com/article/xeq5.html

Top