内容包括源程序、毕业论文、开题报告等全套资料。
题目:基于计算机声卡的虚拟信号分析仪设计
第一章:绪论
1.1 虚拟仪器概述
1.1.1 虚拟仪器的产生
虚拟仪器技术是现在计算机系统和仪器系统相结合的产物,是当今计算机辅助测试领域的一项重要技术。它推动着传统仪器朝着数字化,智能化,模块化,网络化的方向发展。电子测量仪器发展至今,大体上可以分为四代:模拟仪器、数字化仪器、智能一起和虚拟仪器。第一代模拟仪器,这类仪器在某些实验室里还能看到,它是以电磁感应基本定律为基础的指针式仪器,如指针式万用表、晶体管电压表、指针式电流表等。第二代数字化仪器,这类仪器现在相当普遍,这类仪器将模拟信号的测量值转化为数字信号,并以数字方式输出最终结果,适用于快速响应和较高准确度的测量,如数字万用表、数字频率计等。第三代智能仪器,这类仪器内置微处理器,可以进行自动测试和数据处理功能,可能代替部分脑力老公,习惯上称为智能仪器。它的功能模块全部都是以硬件或固定软件的形式存在,无论是开发还是应用,都缺乏灵活性。第四代虚拟仪器,它是现在计算机软件技术、通信技术和测试技术高速发展孕育出的一项革命性技术,其导致了传统仪器的结构、概念和设计观点都发生了巨大的变革,它的出现使得人类的测试技术进入了一个新的发展纪元。
虚拟仪器(Virtual Instruments.简称VI)的概念,是美国国家仪器公司(National Instruments Corp.简称NI)于1986年提出的。NI公司同时也提出了“软件即仪器”的口号,彻底打破了传统仪器只能由厂家定义,用户无法改变的局面,从而引起了仪器和自动化工业的一场革命。随着现在硬件和软件技术的飞速发展,仪器的智能化和虚拟化成为各级实验室以及研究机构发展的方向。虚拟仪器,它既具有传统仪器的功能,又有别于其他传统仪器。它能够充分利用和发挥现有计算机的先进技术,使仪器的测试和测量及自动化工业的系统测试和监控变得异常方便和快捷。
1.1.2 虚拟仪器的概念
虚拟仪器是指通过应用程序将计算机、软件的功能模块和仪器硬件结合起来,用户可以通过友好的图形界面(通常叫做虚拟前面板,简称前面板)来操作这台计算机就像在操作自己定义、自己设计的一台个人仪器一样,从而完成对被测信号的采集、分析、判断、显示、数字存储等。虚拟仪器以透明的方式,通过软件对数据的分析处理、表达以及图形化用户接口,把计算机资源(如微处理器、显示器等)和仪器硬件(如A/D、D/A、数字I/O、定时器、信号调理等)的测试能力和控制能力结合起来。虚拟一起突破了传统仪器以硬件为主体的模式,实际上使用者是在操作具有测试软件的电子计算机进行测量,犹如操作一台虚设的电子仪器。
虚拟仪器技术的实质是充分利用最新的计算机技术来实现和扩展传统仪器的功能。软件是虚拟仪器的关键,当基本硬件确定以后,就可以通过不同的软件实现不同的功能。用户可以根据自己的需要,设计自己的仪器系统,满足多种多样的应用要求。利用计算机丰富的软、硬件资源,可以大大突破传统仪器的数据的分析、处理、表达、传递、存储等方面的限制,达到传统仪器无法比拟的效果。它不仅可以用于电子测量、测试、分析、计量等领域,而且还可以用于进行设备的监控以及工业过程自动化。虚拟仪器还可以广泛用于电力工程、物矿勘探、医疗、振动分析、声学分析、故障诊断及教学科研等多个方面。
1.1.3 虚拟仪器的构成
虚拟仪器从构成要素上讲,由计算机、应用软件和仪器硬件等构成;从构成分式上讲则由以DAQ板和信号调理为仪器硬件而组成的PC-DAQ测试系统,或已GPIB,VXI,Serial和Field bus等标准总线仪器为硬件组成的GPIB系统、VXI系统、串口系统和现场总线系统等多种形式。虚拟仪器的构成如图1.1所示。
图1-1 虚拟仪器的结构
目前,虚拟仪器的构成方式有以下几种:
(1) PC-DAQ插卡式的VI
这种方式用数据采集卡配以计算机平台和虚拟仪器软件,便可构成各种数据采集和虚拟仪器系统。它充分利用了计算机的总线、机箱、电源以及软件的便利,其关键在于A/D转换技术。这种方式受PC机机箱、总线限制,存在电源功率不足,机箱内噪声电平较高、无屏障,插槽数目不多、尺寸较小等缺点。随着基于PC的工业控制计算机技术的发展,PC-DAQ方式存在的缺点已经和正在被克服。因个人计算机数目非常庞大,插卡式仪器价格便宜,因此其用途广泛,特别适用于工业测控现场、各种实验室和教学部门使用。
(2) 并行口式的VI
最新发展的可连接到计算机并行口的测试装置,其硬件集成在一个采集盒里或探头上,软件装在计算机上,可以完成各种VI功能。它的最大好处是可以与笔记本计算机相连,方便野外作业,又可与台式PC相连,实现台式和便携式两用,非常方便。
(3) GPIB总线方式的VI
GPIB(General Purpose Interface Bus)技术是IEEE488标准的VI早期的发展阶段。它的出现使电子测量由独立的单台的手工操作向大规模自动测试系统发展。典型的GPIB系统由一台PC机,一块GPIB接口卡和若干台GPIB仪器通过GPIB电缆连接而成。在标准情况下,一块GPIB接口卡可带多达14台的仪器,电缆长度可达20m。
GPIB技术可以用计算机实现对仪器的操作和控制,代替传统的人工操作方式,很方便的把多台机器组合起来,形成大的自动测试系统。GPIB测试系统的结构和命令简单,造价较低,主要市场在台式仪器市场。适用于精确度要求高,但对计算机速率要求和总线控制实时性要求不高的场合应用。
(4) VXI总线方式的VI
VXI总线是VMEbus eXtension for Instrumentation的缩写,是高速计算机总线VME在VI领域的扩展,有稳定的电源,强有力的冷却能力和严格的RFI/EMI屏蔽。由于它的标准开放,且具有结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,得到广泛的应用。经过多年的发展,VXI系统的组建和使用越来越方便,有其他仪器无法比拟的优势,适用于组建大、中规模自动测量系统以及对速度、精度要求高的场合,但VXI系统要求有专用的机箱、零槽管理器及嵌入式控制器,造价比较高。
(5) PXI总线形式的VI
PXI总线是PCI eXtension for Instrumentation 的缩写,是PCI在VI领域的扩展。这种新型模块化仪器系统是在PCI总线内核技术上增加了成熟的技术规范和要求形成的,具有多板同步触发、精确定时的星形触发、相邻模块间高速通讯的局部总线以及高度的可扩展性等优点,适用于大型高精度集成系统。
(6) 网络接口方式的VI
尽管Internet 技术最初并没有考虑如何将嵌入式智能仪器设备连接在一起,不过NI等公司已经开发了通过Web浏览器观测这些嵌入式仪器设备的产品,使人们可以通过Internet 操作仪器设备。根据虚拟仪器的特性,我们能够方便的将虚拟仪器组成计算机网络。利用计算机网络将分散在不同地理位置不同功能的设备联系在一起,使昂贵的硬件设备、软件在网络上得以共享,减少了设备重复投资。现在,有关MCN(Measurement and Control Networks )方面的标准正在积极进行,并取得一定的进展。由此可见,网络化虚拟仪器将具有广泛的应用前景。
(7) USB接口方式的VI
Universal Serial Bus(USB)因为其在PC机上的广泛使用、即插即用的易用性和USB2.0高达480Mbits/s的传输速率,逐渐的成为仪器控制的主流总线技术。现在计算机上的USB接口越来越多,也使得工程师可以很方便的将基于USB的测量仪器连接到整个系统中。但是USB在仪器控制方面上亦有一些缺点。比如说USB的排线没有工业标准的规格,在恶劣的环境下,可能造成数据的丢失,此外,USB对排线的距离也有一定的限制。
无论哪种VI系统,都是将仪器硬件搭载到笔记本电脑,台式微机和工作站等各种计算机平台加上应用软件而构成的。
1.1.4 虚拟仪器的优点
一台性能优良的虚拟仪器不仅可以实现传统仪器的大部分功能,而且在许多方面有传统仪器无法比拟的优点,如使用灵活方便、功能丰富、价格低廉、可一机多用、可重复开发等。与传统仪器相比虚拟仪器主要有以下几个优点:
(1)融合了计算机强大的硬件资源,突破了传统仪器在数据处理、显示、存储等方面的限制,大大增强了传统仪器的功能。而且高性能处理器、高分辨率显示器、大容量硬盘等已成为虚拟仪器的标准配置。
(2)利用计算机丰富的软件资源,一方面,实现了部分仪器硬件的软件话,节省了物质资源,增加了系统的灵活性;一方面,通过软件技术和相应的数值算法、实时、直接的对测量数据进行各种分析和处理;另一方面,通过图形用户界面(Graph User Interface)技术,真正做到界面友好,人机交互。
(3)基于计算机总线和模块化仪器总线,使仪器的硬件实现了模块化、系列化,大大缩小了系统的尺寸,可方便的构建模块化仪器(Instrument on a Card)。
(4)基于计算机网络技术和接口技术,使VI系统具有方便、灵活的互联能力,广泛支持诸如CAN,Field Bus,PROFIBUS等各种工业总线标准。因此,利用VI技术可方便的构建自动测试系统(ATS,Automatic Test System),实现测量、控制过程的网络化。
(5)基于计算机的开放式标准体系结构。虚拟仪器的硬、软件都具有开放性、模块化、可重复使用及互换性等特点。因此,用户可以根据自己的需要选择不同厂家的产品,使仪器系统的开发更为灵活、效率更高,缩短了系统组建和维修的时间。
下表是虚拟仪器与传统仪器的比较。
表1-1 虚拟仪器与传统仪器的比较
虚拟仪器 传统仪器
开放、灵活,可与计算机技术保持同步发展 封闭性、仪器间相互配合较差
关键是软件,系统性能升级方便,通过网络下载升级程序即可。 关键是硬件,升级成本较高,且升级必须上门服务。
价格低廉,仪器间资源可重复利用率高 价格昂贵,仪器间一般无法相互利用
用户可定义仪器功能 只有厂家能定义仪器功能
可以与网络及周边设备方便互连 与其他设备仪器的连接十分有限
软件使得开发和维护费用降至最低 开发和维护开销高
技术更新周期短(1-2年) 技术更新周期长(5-10年)
数据可编辑、存储、打印 数据无法编辑
1.2 虚拟仪器的现状
1.2.1 国外虚拟仪器的现状
虚拟仪器技术目前在国外发展很快,以美国国家仪器公司(NI公司)为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。在美国虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。美国的斯福坦大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制。
近年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件,以便使用者利用这些公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件。最早和最具有影响力的开发软件,是NI公司的LABVIEW软件和Lab windows/CVI开发软件。LABVIEW采用图形化编程方案,是非常实用的开发软件。Lab windows/CVI是为熟悉C语言的开发人员准备的、在windows 环境下的标准ANSI C开发环境,除了上述优秀的开发软件之外,美国HP公司的HP-VEE和HPTIG平台软件,美国Tektronix公司的Ez-Test和Tek-TNS软件,以及美国的HEM Data公司的Snap-Master平台软件,也是国际上公认的优秀虚拟仪器开发平台软件。
当今虚拟仪器的系统开发采用的总线包括传统的RS232串行总线、GPIB通用接口总线、VXI总线,以及已经被PC机广泛采用的USB串行总线和IEEE1394总线(即Fire wire,也叫做火线)。世界各国的公司,特别是美国NI公司,为使虚拟仪器能够适应上述各种总线的配置,开发了大量的软件以及适应要求的硬件(插件),可以灵活的组建不同复杂程度的虚拟仪器自动检测系统。
虚拟仪器开发商不仅注意使虚拟仪器能够适应各种通用计算机总线系统,使之为虚拟仪器服务,而且也注意建立各种仪器专用的总线系统。美国NI公司在1997年9月1日推出模块化仪器的主流平台PXI,这是与Compact PCI 完全兼容的系统。这种虚拟仪器模块化主流平台PXI/Compact PCI的传输速度已经达到100Mb/s。是目前已经发布的最高传输速度。
虚拟仪器的开发厂家,为扩大虚拟仪器的功能,在测量结果的数据处理、表达模块及其变换方面也做了很多工作,发布了各种软件,建立了数据处理的高级分析库和开发工具库(例如测量结果的谱分析、快速傅立叶变换、各种数据滤波器、卷积处理和相关函数处理、微积分、峰值和阈值检测、波形发生噪声发生、回归分析、数值运算、时域和频域分析等),使虚拟仪器发展成为可以组建极为复杂自动检测系统的仪器系统。
1.2.2 国内虚拟仪器的现状
在国内已有部分院校的实验室引入了虚拟仪器系统,上海复旦大学、上海交通大学、广州暨南大学、华中理工大学、四川联合大学等。近一、两年来这些学校在原有的基础上,又开发了一批新的虚拟仪器系统用于教学和科研。其中,华中理工大学机械学院工程测试实验室将其开发成果在网上公开展示。四川联合大学的教师基于虚拟仪器的设计思想,研制了“航空电台二线综合测试仪”将8台仪器集成于一体,组成虚拟仪器系统,使用方便、灵活。清华大学利用虚拟仪器技术构建的汽车发动机检测系统,用于汽车发动机的出厂检验。主要检测发动机的功率特性、负荷特性等。一台发动机检测完后,就可打印出完整的检测报告。此外,国内已有几家企业在研制PC虚拟仪器,哈工大仪器王电子有限责任公司就是其中之一,它的产品已达到一定的批量。其主要产品有数字存储示波器系列、任意波形发生器及频率计系列、多通道大容量波形—记录系列。国内专家预测:未来几年内,我国将有50%的仪器为虚拟仪器。国内将有大批企业使用虚拟仪器系统对生产设备的运行状况进行实时监测。随着微型计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。虚拟仪器技术的提出和发展,标志着二十一世纪自动测试与电子测试仪器领域技术发展的一个重要方向。
1.2.3 虚拟仪器的发展趋势
虚拟仪器正在继续迅速发展。它可以取代测量技术在传统领域的各类仪器。虚拟仪器在组成和改变仪器的功能和技术性能方面具有灵活性和经济性,因而特别适应于当代科学技术迅速发展和科学研究不断深化所提出的更高跟新的测量课题和测量需要。“没有测量就没有鉴别,科学技术就不能前进。”虚拟仪器将会在科学技术的各个领域得到广泛的应用。
图形化编程平台的进一步发展和完善是虚拟仪器发展的一个重要方向。如何使用户进行少量的学习甚至不需要学习就可使用功能强大的虚拟仪器,如何使用构成简单的虚拟仪器系统并完成复杂的测试内容,如何帮助用户对测试结果进行分析和判断等内容,是虚拟仪器技术努力的方向。我国还基本处于传统仪器与计算机化仪器互相分离的状态,世界各大相关的产品商家都在向中国这个巨大的市场进军。结合我国的实际情况,我们必须走引进与自行开发相结合的道路。一方面,大力引进国外虚拟仪器方面的生产技术;另一方面,发展基于计算机的插卡式硬件模块为主的测控技术,发展图形化平台的软件产品,充分利用我们现有的计算机及测控技术硬件,缩短与国际先进水平的差距。
VXI总线将成为未来虚拟仪器的理想硬件平台,这是由VXI总线的性能决定的;另一方面,基于PCI-DAQ的虚拟仪器系统由于性价比高、灵活性好而受到大多数用户的青睐,将得到高速的发展。随着计算机硬件、软件技术的迅速发展,虚拟仪器将向高性能、多功能、集成化、网络化方向发展。
1.3本文的研究内容
虚拟仪器由通用仪器硬件平台(简称硬件平台)和应用软件两大部分构成。硬件平台主要完成对被测信号的进行调理和采集。仪器硬件可以是插入式数据采集卡及必要的外围电路(含信号调理电路、A/D转换器、数字I/O、定时器、D/A转换器等),或者是带标准总线接口的仪器,如GPIB、VXI、PXI、STD、PCI总线仪器和网络化仪器等。
目前市场上的A/D采集卡和数据采集卡以及带标准总线接口的仪器等,其价格均不菲,以毕业设计的目的来说,性价比以及实用程度显的不高。
进而考虑到计算机中的声卡本身就是一个A/D,D/A的转化装置,具有16位的量化精度、数据采集频率是44.1kHz,完成可以满足特定应用范围内数据采集的需要,个别性能指标还优于商用数据采集卡,而价格却为商用数据采集卡的十分之一或者几十分之一,在设计实验中完全可以满足要求。
因此在本设计中,数据采集装置主要基于声卡和labview模拟数据采集。利用声卡实现对数据的采集,制作成一个简易的数据采集系统,能够实现数据采集、模拟采集数据、波形显示、进行低频滤波四大功能。
虚拟仪器的发展已经具有快30年的历史,声卡采集是不可缺少的内容。本论文具体内容安排如下:
第一章,绪论:介绍虚拟仪器的概念、构成及其优势,发展的现状,和本文的研究内容。
第二章,基于计算机声卡的原理:讲述通用声卡的原理,。
第三章,声卡的设计:本章讲解了软、硬件的选取方案,详细讲述了软件选择LABVIEW,软件选择声卡的理由。
第四章,软件模块设计:本章是重点,详细讲述了各个功能模块具体的实现过程,包括数据采集和处理、波形显示、参数测量、频谱分析等模块。
第五章,程序设计显示:本章给出了虚拟示波器系统性能的具体指标,进行了系统调试,验证了虚拟示波器的实用性和优越性。
第六章,总结与展望:对设计的虚拟示波器进行了总结,并对将来的发展趋势给出了展望。
图2-8声卡采集的结构框图
第二章 数据采集系统的设计
数据采集由硬件和功能模块软件两部分组成。本章将详细讨论对数据采集时几种方案的比较。
2.1 Labview软件创建过程
创建Labview软件的过程大体分为以下五步:
(1)需求分析。需求分析是借用软件工程中的概念,其含义包括创建开发原型(明确实质要解决的问题)、分析程序的可行性(包括成本、性能、风险和技术障碍)等。在创建开发原型的过程中,开发人员要与程序的最终使用人员进行充分的交流。在此基础上,程序开发人员对所要解决的问题有了大致的了解,甚至可以画出一个系统的框图,之后还要进行程序的可行性分析,考虑选用器件的性价比、开发风险等。
(2)软、硬件的选择。程序开发人员不必担心操作系统的问题,目前的LABVIEW是一个支持多个系统平台的软件,Windows、Power Macintosh、Sun SPARCA工作站、HP工作站、Linux上都可以运行。针对一些特殊的任务,LABVIEW还提供一些附加的工具包,非常方便。选择适当的工具包将会达到事半功倍的效果。在LABVIEW的设备驱动程序库中已经包含了上千个免费的驱动程序(这些驱动程序支持NI公司的硬件产品),还包括了世界上各大仪器厂商的大部分仪器的LABVIEW驱动程序。如果没有现成的驱动程序,用户也可以自己编写。
(3)设计用户界面。 用户界面也称GUI,即graphical user interface。前面板必须简洁、易懂、设计时应该满足复杂工作要求。前面板上使用的颜色方案,要兼顾一致和鲜明。一致性包括:①一个VI程序的GUI之间要保持一致;②VI的GUI要与平时大家用的应用程序色调一致。鲜明就是说:需要强调的部分一定要用颜色加以突出,体现测控系统程序的特点,减少用户操作过程中犯错误机会。
(4)程序设计。拿到一个设计任务后,首先要分解任务,把待设计任务分割成几个大的模块,然后把大的模块再分解为一系列的功能,甚至可以分解到要用那些函数的程度;然后是寻求例程,参考例程可以避免重复前人做过的工作;接下来就是根据项目的特点选择程序设计方法,自上而下或者自下而上。
(5)程序测试。测试过程是项目开发的重要组成部分。测试应该从底层的VI开始,然后再测试较大的模块,最后进行整体测试。测试中还要特别关注全局变量对程序的影响。此外,局部变量和属性节点也要引起注意。对于高级程序员来说,还要考虑程序的性能如何,能否满足速度与响应的要求以及内存的使用情况。
2.2 设计方案的比较
2.2.1 软件比较
在给定计算机必要的仪器硬件后,构成和使用虚拟仪器的关键在于软件。软件为用户提供了集成开发环境、高水平的仪器硬件接口和用户接口。美国国家仪器公司提出的“软件即仪器”(The Software is the Instrument)形象的概况了软件在虚拟仪器技术中的重要作用。所以正确选择软硬件对程序开发和设计起着非常重要的作用。只有选择了合适的软硬件才能快速的开发出应用软件,才能事半功倍。
对于虚拟仪器应用软件的编写,大致可以分为两种方式:
(1)通用编程软件进行编写。主要有Microsoft公司的Visual Basic与Visual C++,Borland公司的Delphi,Sybase公司的Power Builder。
(2)用专业图形化编程软件开发。如HP公司的HP-VEE,NI公司的LABVIEW Lab windows/CVI等。
具体选用哪一种软件,应该由编程者根据实际情况选择。设计一个简易数据采集系统,在设计中必须考虑以下因素:开发成本低、执行效率佳、程序弹性大、开放性架构易于扩充。
LABVIEW是实验室虚拟仪器工作平台(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NI)的创新软件产品,也是目前应用最广泛、发展最快、功能最强的图形化软件开发环境。LABVIEW的前面板可以包括旋钮、刻度盘、开关、图表和其他界面工具,允许用户通过键盘或鼠标获取数据并显示结果。LABVIEW具有模块化特性,有利于程序的可重用性。LABVIEW将软件的界面设计和功能设计独立开来,修改人机界面无需对整个程序进行调整,LABVIEW是利用数据流框图接受指令,使程序简单明了,充分发挥了图形化编程环境的优点。这就大大缩短了虚拟仪器的开发周期、消除了虚拟仪器编程的复杂过程。而通用的编程软件需利用组件技术实现软面板的设计,这使程序设计变得非常麻烦。
LABVIEW虽然是为计算机测控领域开发的,但它的函数包含了一般高级计算机语言中的绝大多数程序控制功能。LABVIEW作为开发环境具有的优点总结如下所述:
(1)图形编程化,降低了对使用者编程经验的要求,易于工程师使用;
(2)采用面向对象的方法和概念,有利于软件的开发和再利用;
(3)对象、框图及其构成的虚拟仪器在Windows,Windows NT、UNIX等多平台之间和各种PC机及工作站间兼容,便于软件移植;
(4)支持550多种标准总线设备及数据采集卡,如串行接口、GPIB、VXI等;
(5)具有丰富的库函数和例子,对于大多数应用程序,用户可以从例子中取得程序框架,便于提高开发速度;
(6)具有比较完备的代码接口,可调用Windows中的动态链接库(DLL)中的函数以及C语言程序,以弥补自身的某些不足;
(7)直接支持动态数据交换(DDE)、对象联接与嵌入(OLE)、结构化查询语言(SQL)、便于与其他Windows应用程序和数据库应用程序接口;
(8)支持TCP,UDP等网络协议,网络功能强大,可遥控分布在其他微机上的虚拟仪器设备;
(9)为加强LABVIEW的功能,适应各种工业应用的需要,NI公司又开发了一系列与LABVIEW配合使用的软件包,如自动测试工具、可连接25种数据库的SQL工具、SPC分析函数工具、信号处理套件、PID控制工具、图形控制工具等。
在许多应用程序中,运行速度是至关重要的。LABVIEW是至今唯一带有可以生产最佳编码的编译器的图形化开发环境,运行速度等同于编好的C或C++程序。因此用LABVIEW来做数据采集设计是很好的选择。
2.2.2 声卡采集数据的特点
商用数据采集卡具有较大的通用性,但其价格比较昂贵,在具体的应用场合,有些功能可能并不实用。普通声卡,具有16位的量化精度、数据采集频率是44.1kHz,完全可以满足特定应用范围内数据采集的需要,个别性能指标还优于商用数据采集卡,而价格却为商用数据采集卡的十几分之一甚至几十分之一。
计算机中的声卡本身就是一个A/D,D/A的转化装置,并且造价低廉,对于设计者而言,在PC上完成数据采集的任务,成本几乎为0;性能稳定,在设计中完全可以满足要求。因此在本设计中,数据采集装置主要基于声卡和数据模拟波形。
1 声卡的作用
从数据采集的角度看,声卡是一种音频范围内的数据内数据采集卡,是计算机与外部的模拟量间环境联系的重要途径。LABVIEW提供了操作声卡的函数。
声卡的主要功能包括录制与播放、编辑与合成处理、MIDI接口三个部分。
(1)录制与播放
通过声卡,人们可将来自话筒、收录机等外部音源的声音录入计算机,并转换成数字文件进行存储和编辑等操作;人们也可以将数字文件还原成声音信号,通过扬声器回放,例如为电子游戏配音,以及播放CD、VCD、DVD、MP3和卡拉OK等。注意,在录制和回放时,不仅要进行D/A和A/D转换,还要进行压缩和解压缩处理。
(2)编辑和合成处理
通过对声音文件进行多种特技效果的处理,包括加入回声,倒放,淡入淡出,往返放音以及左右两个声道交叉放音等,可以实现对各种声源音量的控制和混合。
(3)MIDI(Musical Instrument Digital Interface 乐器数字接口)接口
通过MIDI接口和波表合成,可以记录和回放各种接近真实乐器原声的音乐。
从一般意义上来看,上述功能主要是数据采集和信号处理,很自然的就可以联想到用声卡实现示波器、信号处理器、频谱分析仪等虚拟仪器。
2 声卡的硬件结构
图2-1是一个声卡的硬件结构示意图。一般声卡有4-5个对外接口。其中,输出接口有2个,分别是Ware Out和SPK Out。Ware Out(或Line Out)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。
图2-1 声卡的硬件结构示意图
输入接口Line In 和Mic In的区别在于,后者可以接入较弱的信号,幅值大约为0.02-0.2V,显然这个信号较易受干扰,因而常使用Line In,它可以接入幅值约为不超过1.5V的信号。注意,这两个输入端口都有隔直电容,这意味着直流信号不能被声卡所接受。多数声卡的输入也是双通道的,但接入插头线往往将这两个通道短接成一个通道。另外这两个通道是共地的。
3 声卡的主要技术参数
(1)采样的位数
采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音也就越真实。声卡的位是指声卡在采集和播放声音文件时所使用的数字声音信号的二进制位数,它客观的反映了数字声音信号对输入声音信号描述的准确度。例如,8位代表 ;16位的代表 。比较之下,一段相同的音乐信息,16位声卡能把它分为64000个精度单位进行处理,而8位声卡只能处理256个精度单位,最终采样效果当然是无法相提并论的。
(2)采样频率
目前,声卡的最高采样频率为44.1kHz,少数达到48kHz。对于民用声卡,一般将采样频率设为4档,分别是44.1kHz、22.05kHz、11.025kHz、8kHz。22.05kHz只能达到FM广播的声音品质;44.1kHz是理论上的CD音质界限,48kHz则更好一些。对20kHz范围内的音频信号,最高的采样频率才48kHz,虽然理论上没有问题,但似乎余量不大。使用声卡比较大的局限在于,它不允许用户在最高采样频率之下随意设定采样频率,而只能分为4档设定。这样虽然可使制造成本降低,但却不便于使用。用户基本上不可能控制整周期采样,只能通过信号处理的方法来弥补非整周期采样带来的问题。
(3)缓冲区
与一般数据采样卡不同,声卡面临的D/A和A/D任务通常是连续状态的。为了在一个简易的结构下较好的完成某个任务,声卡缓冲区的设计有其独到之处。
为了节省CPU资源,计算机的CPU并不是每次声卡A/D或D/A结束后都要响应一次中断,而是采用了缓冲区的工作方式。在这种工作方式下,声卡的A/D、D/A都对某一缓冲区进行操作。以输入声音的A/D变换为例,每次转换完毕后,声卡控制芯片都将数据存放在缓冲区,待缓冲区满时,发出中断给CPU,CPU响应中断后一次性将缓冲区内的数据全部读走。计算机总线的数据传输速率非常高,读取缓冲区数据所用时间极短,不会影响A/D变换的连续性。缓冲区的工作方式大大降低了CPU响应中断频度,节省了系统资源。声卡输出声音是的D/A变换也是类似的。
一般声卡使用的缓冲区长度的默认值是8KB(8192字节)。这是由于对x86系列处理器来说,在保护模式(Windows等系统使用的CPU工作方式)下,内存以8KB为单位被分成很多页,对内存的任何访问都是按页进行,CPU保证了读写8KB长度的内存缓冲区时,速度足够快,并且一般不会被其他外来事件打断。设置8192字节或其整数倍(例如32768字节)大小的缓冲区,可以较好的保证声卡与CPU的协调工作。
(4)没有基准电压
声卡不提供基准电压,因此无论是D/A还是A/D在使用时,都需要用户自己参照基准电压进行标定。
4 声卡的频率范围与频率响应
人耳对频率的感觉从20Hz到20kHz之间,而声卡的频率响应上限范围在20kHz。
5 声卡用于数据采集时的一些设置
(1)声卡的设置
一般声卡主要用于输出声音,输入部分可能没有处于正常工作状态。建议首先使用耳机和MIC检查声卡的功能,特别是输入功能(录音功能)是否正常。如果不正常,需要检查声卡的设置。一般来说,这里的设置有两层含义,首先是要配置所需的功能,其次是要保证已经配置的功能不处于关闭(静音)状态。下面介绍对Line In 和Mic In的检查和设置。
按图2-2所示,在“选项”菜单下选“属性”,得到图2-2(b)图所示的对话框,在此对话框上选择“录音”,并配置列表中的选项即可。注意图3-2中的相关功能都不能处于静音状态。如图2-2(a)所示。
图2-2 (a)音量控制窗口
图3-2 (b)音量控制属性
图2-2 音量控制窗口和音量控制属性对话框
(2)硬件连接
硬件连接采用两种连接线:1 一条一头是3.5mm插孔,另一头是鳄鱼夹的连接线,2 是双头为3.5mm 插孔的音频连接线(在市场上可以买的到)。为测试声卡的频响特性,可使用测试线2将声卡的输入端与输出端连接起来,形成一个闭合的环路。连接时要注意区分Mic In 口和SPK Out口,不要把它们当作Line In 与Line Out接入。如果测试输入信号,则使用测试线1把信号源连接到声卡输入端Line In口;如果测试输出信号,就把该测试线连接到声卡输出端Line Out口。
2.3 LABVIEW 中有关声卡函数介绍
LABVIEW中提供了一系列使用Windows底层函数编写的与声卡有关的函数。这些函数集中在图2-3所示的为LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 函数。由于使用Windows底层函数(不用更高级方便的MCI函数以及DirectX接口)直接与声卡驱动程序打交道,因而封装程序低,速度快,而且可以访问,采集缓冲区中任意位置的数据,具有很大灵活性,能够满足实时不间断采集的需要。
图2-3 LABVIEW中的sound函数的Input函数
在本设计中主要运用到LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 这个子模块。表2-1是LABVIEW中Graphics & Sound 的函数中Sound 函数中的Input 中提供的函数。
表2-1 Input函数简介
函数名称 功能说明
configure
该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数,如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控制,只有3-4种固定频率可选,一般将采样频率设置为44100HZ,数据格式设置为16bit。缓冲区长度可选默认值。
start
该函数用于通知声卡开始采集外部数据。采集到的数据会被暂存在缓冲区中,这一过程无需程序干预,由声卡硬件使用MDA直接完成,保证了采集过程的连续性。
read
该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它将数据缓冲区的内容读取到用户程序的数组中,产生一个数据采样集合。若计算机的速度不够快,使得缓冲区内容被覆盖,则会产生一个错误信息。这时应调节缓冲区的大小,在采样时间和数据读取之间找到一个理想的平衡点。
stop
该函数用于通知声卡停止采集外部数据。已采集而未被读出的数据会留在缓冲区中,可以使用read函数一次读完。
clear
该函数用于完成最终的清理工作。例如关闭声卡采样通道,释放请求的一系列系统资源(包括MDA,缓冲区内存,声卡端口等)。
第三章 软件模块的设计
在本章中详细介绍各个功能模块及其生成过程。
3.1 程序的流程图
程序流程框图如图3-1所示:
图 3-1 声卡采集程序流程图
声卡采集流程图简介:
首先对设计中运用到的模块进行初始化,然后通过声卡对数据进行采集,把采集到的信号送入LABVIEW模块中,通过LABVIEW模块的程序运行下,把采集到的信号通过图形的形式,把波形显示出来。通过波形的显示,最后把波形的其他参数以数字的形式都显示出来。这里可以直接插入麦克风,通过麦克风可以输入信号。
图 3-1-1 声卡信号输出程序流程图
声卡输出程序流程图:
首先配置声卡模块,然后通过调节参数可以生成各种信号,将信号发送给声卡输出模块,可以通过耳麦听到发出波形的声音。
3.2 程序的结构图
程序的结构图如图3-2所示:
图3-2 程序的结构图
3.3 LABVIEW 简介
LABVIEW是(实验室虚拟仪器工作平台)是一个程序开发环境。它类似于Visual Basic,Visual C++。但是LABVIEW的特点在于:它使用图形化编程语言G在流程图中创建源程序,而没有使用基于的文本语言来产生源程序代码。
LABVIEW是一个多线程、最佳化的图形编译器,它能在最大程度上优化系统的性能。无论是使用基于计算机的插入式仪器设备,还是使用GPIB,VXI,Ethernet 接口或是串口的独立仪器设备,LABVIEW内置的驱动程序库和具有工业标准的设备驱动软件都可以对仪器系统进行全面的控制。LABVIEW的数据采集库包含了许多有关采集和生成数据的函数,它们与NI的插卡式或远程数据采集产品协同工作。数据采集卡是进行高速直接控制以及低速控制的理想设备。它能够为集成式测量方案提供功能强大且完备的测量分析库,这些软件库可以完成极限测试、频率分析、滤波及信号生成等任务。LABVIEW具有许多特性,能使测量和自动化应用方案完成适用于用户企业的生产经营,能将应用方案以网页的形式发表,或在互联网的应用程序间进行数据传递。LABVIEW拥有完整的Web服务器,可以随时发布测量结果。LABVIEW专业版开发系统包括应用程序生成器(Application Builder),可以创建并发布独立的可执行程序、共享库或动态连接库(DLL)。使用共享库可以使开发的应用程序代码进行重新使用。DLL提供最大的灵活性,可以将LABVIEW与其他开发工具如VB,VC和NI的Measurement Studio结合起来。LABVIEW应用程序生成器可以创建安装程序,以便在Windows环境中执行可运行程序。
3.3.1 G语言简介
LABVIEW是一个功能比较完整的软件开发环境,但它是为代替常规的BASIC和C语言设计的,它是一种编程语言而不仅仅是一个软件开发环境。它除了编程方式不同外,具有编程语言的所有特点,称之为图形化编程语言(简称G语言)。
G语言是一种适合应用于编程任务,具有扩展函数库的通用编程环境。和BASIC和C语言一样,G语言也定义了数据类型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时G语言丰富的扩展函数库还为用户编程提供了极大的方便。G语言与传统高级编程语言最大的差别在于编程方式一般高级语言采用文本编程,而G语言采用图形化编程语言。G语言是LABVIEW的核心,熟练掌握G语言的编程要素和语法规则,是开发LABVIEW应用程序的最重要的基础。
3.3.2 LABVIEW 程序组成
该环境包括三个部分:程序前面板、框图程序和图标/连接端口。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),为虚拟仪器的框图程序提供数据;输出量被称为显示(Indicators),显示虚拟仪器流程图中产生或获得的数据。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使得前面板直观易懂。
一个程序前面板都对应着一段框图程序。框图程序用LABVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由节点(Node)、数据连线(Wire)构成。节点是VI程序中的执行元素,类似于文本编程语言程序中的语句、函数或子程序。节点之间数据连线按照一定的逻辑关系相互连接,可定义框图程序内的数据流动方向。节点之间、节点与前面板对象之间是同数据端口和数据连线来传递数据的。数据端口是数据在前面板对象和框图程序之间传输的通道,是数据在框图程序内节点之间传输的接口。
LABVIEW中有三种类型的数据端口:控制端口和指示端口以及节点端口。控制端口和指示端口用于前面板对象,当VI程序运行时,从控制输入的数据通过控制端传递到框图程序,供其中的程序使用,产生的输出数据再通过指示端口传输到前面板对应的指示中显示。每个节点端口都有一个或数个数据端口用于输入或输出。
LABVIEW 采用的一种获得专利的数据流编程模式。这不同于基于文本的编程语言的线形结构,不同于执行一个传统的控制流方法。控制流执行的是指令驱动,而数据流执行的是数据流驱动或依赖数据的。
但一个虚拟仪器的图标被放置在另一个虚拟仪器的流程图中时,它就是一个子仪器。图标连接端口可以把VI变成一个Sub VI,然后象子程序一样在其他程序中调用。图标是Sub VI的直观标记,是Sub VI在其他程序框图中被调用的节点表现形式,而连接端口则表示该Sub VI与调用它的 VI之间进行数据交换的输入/输出口,就象传统编程语言子程序的参数。
3.4 数据采集和处理模块
数据采集模块是虚拟软件的硬件驱动部分,在这里主要是利用LABVIEW里面的声卡函数完成声卡的硬件参数设置、启动声卡采集数据、等待采样数据缓冲区满的消息、通知声卡停止采集等任务。
具体的数据采集流程是:(1)初始化;对声卡中与数据采集相关的一些硬件参数进行设置;(2)然后,声卡开始采集数据,并将采集到的数据暂存在先进先出的缓冲区中;(3)当缓冲区存满数据后,一方面将数据读取到用户程序的数组中,产生一个采样数据集合,并在程序中对数据进行各种处理;
如图3-3所示,为数据采集和处理模块
图3-3 声卡采集和处理模块
在LABVIEW软件中,对于声卡的声道可以分为mono 8-bit(单声道8位),mono 16-bit(单声道16位),stereo 8-bit(立体声8位)和stereo 16-bit(立体声16位)。其中,16位声道比8位声道采样信号的质量好,立体声(stereo)比单声道(mono)采样信号好,最好的采样通道形式是mono 8-bit,这样采样的波形稳定,而且干扰小。另外,用单声道采样,左右声道信号都相同,而且每个声道的幅值只有原信号幅值的1/2;采用立体声采样,左右声道互不干扰,可以采两路不同的信号,而且采样的信号幅值与原幅值相同。
图3-3-1 数据采集参数配置
这里主要采集的是mono 8-bit信号,通过一个while使程序循环运行,当tab选择采集时,执行该case里的内容,把信号采集出来,计算最大值、最小值、平均值、频率、周期;另外进行低频滤波,频谱分析。
在信号传输过程中,由于外界的干扰,经常会混入高频噪声。因此在测量信号时希望把高频噪声信号去掉。通常的做法都是采用低频滤波器将高频噪声滤掉。
本程序滤波器是可以选择是否使用的,当点击按下滤波器生效。
后面板实现模块如图:
前面板演示如图3-15,可以设定截止频率:
图3-3-2
低频滤波器配置方法如图3-16所示。
3-3-4 频谱分析模块的前面板
6)声卡参数设置如如图3-3-1
3.4.1 Sound Input Configure .VI
Sound Input Configure .Vi 的前面板如图3-4所示。
Sound Input Configure .Vi 的前面板是对声卡参数的一些设置,这些设置必须能够满足设计的需要。参数设置如图3-4所示。
图3-4 Sound Input Configure .Vi 的前面板
Sound Input Configure .Vi 的后面板如图3-5所示。
图3-5 Sound Input Configure .Vi 的后面板
程序说明:
Sound Input Configure,该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数,如采样率,数据格式,缓冲区长度等。声卡的采样率由内部时钟控制,只有3-4种固定频率可选,一般将采样频率设置为44100HZ,数据格式设置为16bit。缓冲区长度可选默认值。
主要操作说明:
在block diagram:
Functions → Graphics & Sound → Sound → Input → Configure 选择configure函数。
3.4.2 Sound Input Read .VI
Sound Input Read .VI的前面板如图4-6所示。
Sound Input Read .VI的前面板为声卡采集时的参数设置。
图3-6 Sound Input Read .VI的前面板
Sound Input Read .VI的后面板如图3-7 所示。
图4-7 Sound Input Read .VI的后面板
程序说明:
该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它将数据缓冲区的内容读取到用户程序的数组中,产生一个数据采样集合。若计算机的速度不够快,使得缓冲区内容被覆盖,则会产生一个错误信息。这时应调节缓冲区的大小,在采样时间和数据读取之间找到一个理想的平衡点。
主要操作说明:
在block diagram:
Functions → Graphics & Sound → Sound → Input → Read 选择read函数。
3.4.3 Sound Input Clear .VI
Sound Input Clear .VI 的前面板如图3-8 所示。
图3-8 Sound Input Clear .VI 的前面板
Sound Input Clear .VI 的后面板如图3-9 所示。
图3-9 Sound Input Clear .VI 的后面板
程序说明:
该函数用于完成最终的清理工作。例如关闭声卡采样通道,释放请求的一系列系统资源(包括MDA,缓冲区内存,声卡端口等)。
主要操作说明:
在block diagram:
Functions → Graphics & Sound → Sound → Input → Clear选择clear函数。
3.5 信号发生器模块
信号发生器模块是用labview自己模块模拟发出波形通过声卡发出信号。发出的波形主要有:正弦波、方波、三角波、锯齿波、高斯白噪声、Gamma。
正弦波:
公式为y=Asin(ωx+φ)A为振幅,ω周期,φ相位。
方波:
公式为y=flc1hs(sin(2*pi*f*t), eps)频率为f的值为0~1的方波。
电流的波形为矩形的电流即为方波电流。不论 t 轴上下是不对称的,只要是矩形就可叫方波,必要时,可加“对称”,“不对称”加以说明。
方波不一定是交流波。主要看该方波有没有正负交替,要一直是一个符号就是直流了,可以全是正的,也可以全是负的;如果有正有负就是交流了。
三角波:
三角波函数:
输入 f[x_]:=x /; 0<=x<1
输入 f[x_]:=2-x /; 1<=x<2
输入 f[x_]:=f[x-2] /; x>=2
锯齿波:一般主要由搭建硬件电路来实现,效果如下图:
波形方式对应的labview控件如下:有正弦波 、方波 、三角波 、锯齿波 、高斯白噪声 。
程序的主要实现模块,当选择模拟波形时,可以选择波形,可以调整幅值、频率、相位。具体实现如图3-11,控制如图3-12
图3-11 调用子文件程序发出波形
模拟波形实现模块前面板如图3-12所示。
图3-12 模拟波形实现模块前面板
信号发生器主要是通过调用子文件来实现发出各种不同的波形,如下图3-13,前面部分是通过case控件选择不同的波形,设置不同的属性,后面是通过case语句来选择是否添加白噪声,然后显示成波形。
图3-13 信号发生器子文件后面板程序
前面板程序如下图3-14
图3-14 子文件信号发生器
3.6 频谱分析模块
频谱分析主要是通过选项对波形进行频谱分析,在这里频谱分析主要有:功率谱、幅度谱两种。具体实现如下图,其中功率谱和幅度谱都是直接调用labview原有的模块!
3.8 小结
本章是设计的关键部分,主要介绍了各个功能模块具体设计和实现,包括:数据采集和处理模块、数据模拟模块、低通滤波模块、频谱分析模块、数据量计算模块、波形显示模块等。将这些模块在主VI的框图程序中按照一定的逻辑关系组合起来,就形成了一个完整的程序。这将在下一章中具体介绍。
第四章 程序设计显示
4.1 程序的使用方法
4.1.1 程序的环境
本程序是在labview 7.1环境下编写的,用高版本可以查看此程序,低版本是打不开的。程序打开后,分后面板和前面板,前面板位控制控件和显示控件,后面板为程序框图。最终使用的时候可以生成应用程序,直接在别的电脑上安装使用即可。
打开程序后,界面如图5-1,点击左上角的小箭头,程序开始运行。
图5-1 程序前面板
4.1.2 声卡配置
1 采样频率
系统能测试到的最高频率与电路所选器件的性能有关,本论文选用声卡的最高采样频率为44.1KHz,根据采样定理,所能测试模拟信号的最高频率为22KHz。考虑到声卡本身采集质量问题,实际测试的模拟信号的最高频率为2.5KHz。
2 采样精度
系统采样精度与电路所选器件的位数有关,设计中选用16位采样的声卡,采样精度为 ,分辨率约为0.0015%。
3 实时带宽:2KHz。
4.2 程序的总框图
程序的总框图如图5-2所示
图4-2 程序总框图
总框图说明:
程序主要分为声卡采集和信号通过声卡发出波形,主要是通过tab来区别走那个环。当tab位声卡采集时,程序主要走的是采集环,首先配置声卡发出和采集设置,然后通过tab和case控件进入声卡采集,采集数据进行参数计算,主要包括:最大值、最小值、频率、周期、平均值;另外可控制的进行低通滤波;然后通过频谱分析。
平均值的计算方法是把数据的所有元素相加然后,除以个数得到的就是平均值;其他参数都是直接用labview自带的控件得到,具体参看源程序。
信号输出过程是:设置好声卡属性,信号发生器模块发出波形,将波形送个声卡发出波形的模块,然后通过声卡可发出波形。
4.3 程序的调试结果
受声卡硬件条件的限制,频率范围比较窄,可以用来测量音频范围的信号(如声音、脉搏、心电、脑电和电话等)。
4.3.1声卡采集数据的结果
通过声卡可以采集波形,采集方法可以直接在电脑声卡接麦克,对着麦克说话,可以发现采集到的波形根据输入的声音变化而变化;可以得到计算的数值。
声卡采集到的波形如图4-3所示
图4-3 声卡采集到的波形显示
说明:波形分为直接声卡采集到的波形和经过低通滤波后的波形,同时可以通过右侧控件,改变波形的颜色和设置低通滤波的截止频率,效果如下图:
图4-4 加入低通滤波后
4.3.2信号输出的结果
可以选择波形,调节波形的幅值、频率、相位等发出不同波形,如图4-4,波形通过声卡输出,明显的结果是音响会有声音发出。
图4-4 正弦波波形
图4-5 白噪声的波形
4.4 小结
由调试结果可知,设计用普通低廉的声卡代替了数据采集卡,在LABVIEW图形编程语言环境下设计实现了一种方便、灵活性强,对一些应用领域是一种很好的选择。
第五章 总结与展望
设计的数据采集系统不仅具有声卡采集的功能,而且充分发挥了计算机强大的功能和软件设计的灵活性,模拟采集数据。设计的研究工作和主要研究结果总结如下:
(一)主要的优点为:
(1)用图形化编程语言LABVIEW和面向对象编程技术,软件开发效率高,可操作性和维护性好。
(2)充分利用了计算机的外设连接能力,测试结果和波形显示。
(3)在相同的硬件条件下,可以通过修改和增加软件模块,形成新的仪器功能。
(二)主要技术指标:
1 采样频率
系统能测试到的最高频率与电路所选器件的性能有关,本论文选用声卡的最高采样频率为44.1KHz,根据采样定理,所能测试模拟信号的最高频率为22KHz。考虑到声卡本身采集质量问题,实际测试的模拟信号的最高频率为2.5KHz。
2 采样精度
系统采样精度与电路所选器件的位数有关,设计中选用16位采样的声卡,采样精度为 ,分辨率约为0.0015%。
3 实时带宽:2KHz。
由于本人的水平有限和设计的条件有限,设计中尚存在许多未尽人意的地方。主要有以下几个方面需要改进和研究:
4 低通滤波器的应用
应用低通滤波器的主要目的是去除外界干扰,去掉高频噪声信号。
参考文献
[1]张健,韩薪莘,房晓溪,程学庆.LABVIEW图形化编程与实例应用.北京:中国铁道出版社,2005:159—160
[2]戴鹏飞,王胜开,王格芳,马欣.测试工程与LABVEIW应用.北京:电子工业出版社,2006:64—77
[3]路林吉,等.虚拟仪器的应用.电子技术,2006:40—46
[4]张毅,龙风乐等.测控系统中三种最新软件的比较.计算机测量与控制,2000:21—24
[5]National Instruments. LABVIEW测试与自动化的专业软件,2001:7—14
[6]贾功贤,李兵等.基于PC的虚拟仪器的发展趋势.电子技术应用,1999:4-6
[7]潘莹玉.虚拟仪器及其应用.电力自动化设备,1999:44—46
[8]Gary W Gohson. LABVIEW Graphic Programming . USA. MC Graw -Hill, 1998
[9]陈敏,汤晓安,等.虚拟仪器软件LABVEIW与数据采集.小型微型计算机系统,2001:501—503
[10]种兰祥,张首军,阎丽.基于计算机声卡的多通道数据采集系统.西北大学学报(自然科学版) .2002,32(6):629—632
[11]杨乐平,李海涛,宵相生,等.LABVIEW 程序设计与应用.北京:电子工业出版社,2001:239--245
[12]管士亮.虚拟仪器总线技术的发展以及前景.中国现代教育设备.2005:16—17
[13]严加法.虚拟仪器的发展前景.航空电子技术.2002:31—36
[14]LABVIEW Function Manual. USA:National Instruments Corporation.1998
[15]徐云峰,张世庆.基于声卡的数据采集系统设计.机械设计与制造.2006:46—47
[16]G Programming Reference Manual. USA:National Instruments Corporation.1998
[17]计算机虚拟仪器图形化编程LABVIEW实验教材.北京:中科泛华测控技术有限公司.4—14
[18]LABVIEW Uscr Manual. USA:National Instruments Corporation.1998
[19]Using External Code in LABVIEW. USA:National Instruments Corporation.2000
[20]Noel Adorno. Developing a LABVIEW Intrument Driver. USA:The Application Note of National Instruments Corporation
[21]叶胜泉.电子示波器.北京:水利电力出版社.1988:1—56
[22]赵忠义.示波器原理、维修与检定.北京:电子工业出版社.1990:8—57
[23]Noel Adorno. LABVIEW Intrument Driver Standards. USA:The Application Note of National Instruments Corporation
[24]周泌,陈华,汪乐宇,等.虚拟仪器驱动程序的功能面板文件的设计与应用.测控技术.1999:17—19
[25]温红艳,高静涛.基于PC声卡的虚拟示波器的开发实现.武汉工业学院学报.2005:24—28
[26]胡生清,幸国全,等.未来的仪器仪表——虚拟仪器.自动化与仪表.1999:5—7
[27]曾涛,侯建军,娄淑琴,等.具有示波/频谱显示功能的虚拟仪器在教学实验中的应用研究.电气电子教学学报.2001:64—66
[28]杨乐平,李海涛,赵勇,等.LABVIEW 高级程序设计.北京:电子工业出版社.2003:348—352
[29]李刚,林凌,等.LABVIEW——易学易用的计算机图形化编程语言.北京航空航天大学出版社.2001:8—23
[30]申业刚.电子测量.南京:江苏科学技术出版社.1986:115—170
致 谢
经过了一个学期的毕业设计,在设计的过程中,老师和同学给了我许多的帮助。首先谢谢我的指导老师:****。老师在我的设计过程中一直给我指导和帮助,帮我解决了许多在设计中遇到的难题,减少了我在设计中遇到的困难,并教会了我许多有关LABVIEW的知识,扩展了我的知识面。也要感谢跟我一组的**同学,许多次在我设计不知如何下手时,他都给了我许多的建议,使我大大加快了设计的进程。还有实验室的*老师,他帮我们准备着设计中需要用到的仪器设备。因为有这样的良师益友,使我在设计中减少了走弯路的次数,顺利的完成了毕业设计。