基于LabVIEW的数据采集系统设计_第1页
基于LabVIEW的数据采集系统设计_第2页
基于LabVIEW的数据采集系统设计_第3页
基于LabVIEW的数据采集系统设计_第4页
基于LabVIEW的数据采集系统设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学本科生毕业设计(论文)-i-基于LabVIEW的数据采集系统设计【摘要】:采用计算机自带的声卡,并基于LabVIEW完成一个数据采集系统设计。本设计分两部分:数据采集部分和数据处理部分。数据采集部分就是LabVIEW的驱动程序对声卡进行设置并使其按照设置进行工作;数据处理部分是将采集的数据发送到计算机中用写好的软件处理。这一部分可通过LabVIEW中有的集成的函数模块来设计,也就是VI。只需对每个VI的输入输出设置正确就好。当系统完成后,各项功能正常,稳定运行。【关键词】:声卡;LabVIEW;数据采集;数据处理苏州大学本科生毕业设计(论文)-ii-Abstract:Built-insoundcard,withacomputerandcompleteadataacquisitionsystemisdesignedbasedonLabVIEW.Thisdesignisdividedintotwoparts:dataacquisitionanddataprocessingpart.DataacquisitionistheLabVIEWdriversetandmakeitsoundworkcarriedoutinaccordancewiththeset;Dataprocessingistosenddatatoacomputerthroughthesoftwareprocessing.Ifocusondataprocessingpartofthesoftwareisdesigned.InthissectioncanbefixedbytheLabVIEWhasintegratedfunctionmoduledesign,VI,aslongastheinputofeachVIoutputSettingsright.Whenthesystemiscompleted,eachfunctionisnormal,stableoperation.Keywords:Soundcard;LabVIEW;Dataacquisition;Dataprocessing苏州大学本科生毕业设计(论文)第1页目录前言.1第1章绪论.2第1.1节课题研究的目的与意义.2第1.1节现状及趋势.2第2章虚拟仪器和LabVIEW的简介.3第2.1节虚拟仪器概述.3第2.2节LabVIEW简介.4第2.3节LabVIEW程序设计中用到的关键技术.4第3章数据采集系统的设计方案.8第3.1节数据采集系统的整体设计构思.8第3.2节数据采集系统的硬件平台.8第3.3节数据采集系统的软件平台.8第3.4节数据采集系统软件的详细设计方案.9第4章采用声卡的LabVIEW数据采集系统.11第4.1节系统说明.11第4.2节软件设计过程.11第4.3节前面板设计与分析.12第4.4节程序框图设计与分析.13第4.5节系统的失真测试.16结论.18苏州大学本科生毕业设计(论文)第2页参考文献.19致谢.20苏州大学本科生毕业设计(论文)第3页前言在飞速发展的今天,人们对采集技术的要求越来越严苛。在对一些恶劣信号的采集处理中,传统仪器显得越来越力不从心。而以计算机为依托,操纵装入的仪器系统,实现各种仪器功能的虚拟仪器(VirtualInstrument,VI)却开始在测控领域越来越吃香。虚拟仪器就是计算机和测量仪器的结合产物,在现今的测量领域应用宽广。无论多么恶劣的信号,虚拟仪器都处理得得心应手。在如今计算机使用广泛的年代,基于PC平台的LabVIEW因为它简洁易懂的图形化语言,更便于大家开发设计使用,所以掌握LabVIEW的设计对电子学习者也显得很重要。数据采集是LabVIEW的主要功能之一。在虚拟仪器技术不断进步的今天,LabVIEW在测控领域可是有着广阔的运用。且基于LabVIEW开发的数据采集系统使用灵活、界面友好、功能齐全,而且由于其较小的模块,具有精度高,处理的数据分析能力强,已被广泛用于测量和自动化。所以设计基于LabVIEW的数据采集系统是很便捷的。本数据采集系统在硬件方面我选用声卡作为数据采集卡。因为当下PC机的普遍,而每台电脑都有声卡。这样在设计成本方面得到了大大的降低。声卡的配置简单易懂,且不易损坏。采用声卡的另一好处就是不需要外接电路,软件设计完成的程序可直接在电脑上操作,且可靠,干扰小。苏州大学本科生毕业设计(论文)第4页第1章绪论第1.1节课题研究的目的与意义现在计算机技术与智能仪器仪表技术发展越来越快,数据采集技术作为前期工作就显得越来越重要了。本课题是在虚拟仪器技术,数据库技术以及软件开发技术的基础上,在LabVIEW平台上实现数据采集,建立一个数据采集系统。近些年,以计算机为中心,通过网络的控制与测试系统技术在各个领域得到越来越多的应用。例如刚刚成功发射“嫦娥”号登月飞船这样的航空航天方面。同样,虚拟仪器的数据采集系统在电子测量方面同样发挥举足轻重的作用。而LABVIEW在测试测量领域获得了广泛的承认。随着个人计算机的高速发展与广泛应用,现在很多测控终端的位置可以由个人计算机代替。基于LABVIEW的数据采集系统,在各个方面都有应用,并形成了一套完整的应用理论。第1.2节现状及趋势LabVIEW作为第一个借助虚拟面板用户界面和G语言(方框图)建立虚拟仪器的图形程序设计系统,被广泛地用于工业界和学术界,被视为一个标准的数据采集仪器和仪器控制仪器。目前LabVIEW主要用在测试行业,当然其他的功能也正在慢慢做大。基本上很多的测试工作都适应,包括图像处理,电机控制,各类参数的测量等待。但是有一个问题,就是这个对硬件的驱动不好处理。不像C+之类的,基本上有一个SDK就可以直接开发,LV软件要用其它软件开发成相应的DLL之类的驱动,才可以调用,这为各类的硬件控制带来了极大不便。现今社会正处于一个正在高速发展的状态中,要在有限的时空内实现大量的信息交换,随之而来的是信息密度急剧增大,因而在研究和生产过程中要求数据采集系统对信息的处理速度越来越高,功能越来越强。先进的数据采集系统,不仅希望设备能够单独进行数据采集,还希望他们之间能够互相通信,构成数据采集系统,甚至是测试网络系统,实现信息共享,以便对众多的被测信号进行对比、综合和自动分析、从而得出准确的判断。然而传统的数据采集仪器在此方面受到很大的限制。基于虚拟仪器技术的数据采集系统的提出在一定程度上解决了传统数据采集所面临的问题,虚拟仪器数据采集系统成为当今数据采集系统发展的重要方向。本文正是在虚拟仪器技术的基础上对多通道数据采集系统进行了设计,实现多路信号的采集,并对实验数据进行实时显示、记录、分析处理。虚拟仪器的出现是仪器发展史上的一场革命,苏州大学本科生毕业设计(论文)第5页代表着仪器发展的最新趋势和新方向,并且是信息技术的重要领域扩充。苏州大学本科生毕业设计(论文)第6页第2章虚拟仪器和LabVIEW的简介第2.1节虚拟仪器概述虚拟仪器通过其高性能的模块化硬件,基于计算机操作系统并能根据客户需求结合软件高效灵活地完成各种应用。在用户可通过鼠标或键盘来操作虚拟面板,就好像在使用一台专业测试设备一样。所谓虚拟仪器,其实有两方面的含义:(1)仪器面板是虚拟的有各种图标的虚拟面板,如布尔开关按钮,波形显示,可比传统仪器各个真实组件。传统的仪器是通过手动按钮来设置参数,而鼠标通过虚拟仪器的图标属性进行设置也可以达到相同的效果。(2)虚拟仪器的各种功能靠编程获得虚拟仪器理念是把软件变成仪器。使得传统仪器在表达、分析、存储、传输取得了重大的突破。虚拟仪器因为其图形化数据语言和程序框图使得界面十分友好,让用户能清楚直观查看数据,方便处理数据。而且同其他技术相比,虚拟仪器技术具有三大优势:(1)性能高虚拟仪器技术是基于计算机技术的,所以它具有计算机技术的特点,既功能强大的处理器和文件I/O,让我们可以一边高速采集数据一边进行复杂的分析。另外,现在计算机网络的快速发展更使虚拟仪器发挥它的优势和特点。(2)节约时间因为NI软件的灵活性,我们在改进系统时只需要极少的硬件资源和最少甚至不需要升级软件。这使得我们不用受困于当前的技术,只要利用最新科技,集成现有的测量设备,加快产品上市时间。(3)无缝集成虚拟仪器技术本质上说是一个集成的软件和硬件概念。现在产品在功能要求上越来越复杂,工程师们往往要花费大量时间集成多个不同测量设备。为了解决这个问题,NI的虚拟仪器平台在所有的I/O设备上都提供了标准接口,使得设计更加简单方便。第2.2节LabVIEW简介苏州大学本科生毕业设计(论文)第7页LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图形化编程语言的通用的编程系统,和C,BASIC一样有一个庞大的数据库来完成各种编程任务。与传统文本编程语言不同,LabVIEW是采用数据流编程方式,即程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,就是LabVIEW的程序模块。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!(图2-1是LabVIEW的标志)图2-1LabVIEW的标志第2.3节LabVIEW程序设计中用到的关键技术在LabVIEW中有几项关键技术是在虚拟仪器设计中至关重要的:(1)LabVIEW项目管理器在LabVIEW8发布之前,管理LabVIEW中的大量文件是非常困难的,因为LabVIEW用户只能通过文件夹和LLB来动手管理项目的相关文件,其中就可能包括VI文件、项目文档、支持文件、外部代码和硬件配置等。针对这些困难,NI公司推出了一个新的概念:LabVIEW项目(Project),并且提供了强大易用的项目管理工具项目管理器(ProjectExplorer),从而使用户从繁琐的文件管理中解脱出来。本系统的建立的项目管理文件如图2-2所示:苏州大学本科生毕业设计(论文)第8页图2-2数据采集系统项目管理窗口(2)子VILabVIEW中子VI是程序中的重要组成,就如函数是文本语言中不可缺少的一部分。在文本编程语言中通过使用函数来构造大规模的程序,同理在LabVIEW环境下通过使用子VI来编辑复杂高级程序。但是各种图标的连线会占据屏幕很大的空间,对编辑程序,查看程序造成不必要的困难。无论编程人员的逻辑性和规划能力有多强,也不可能把程序所有要实现的功能在同一个VI中完成。并且根据软件设计的思想,模块化编程会使得程序简洁可读性强。这样的话就要用到子VI。事实上,只要图表和终端被定义,任何VI本身就可以作为子VI被调用。有两种方法可以调用子VI。第一种方法是在从函数选板中选择“选择VI”这一项,然后在路径找到需要加载的子VI,通过直接点击可以将该子VI放置在程序框图中。第二种方法就是通过动态载入的方式调用子VI。如图2-3所示:图2-3通过VI引用调用子VI(3)用户事件在LabVIEW7.1之前,LabVIEW是没有用户操作的,While循环和Case选择结构这两个程序框架经常进行“空转”,浪费了大量CPU资源,并且常常忽略这些结构当事件发生太快。后来LabVIEW提出事件结构来解决此类问题,即当事件发生时程序才做出响应。这样就节省了CPU得资源,也使程序变得简单。如果有多个事件要发生时,就会形成事件队列,一直到执行每个事件的代码后,因此避免了出现事件被漏掉的状况。在系统中,事件结构主要用来实现用户的各种操作,比如:点击按钮,输入数据,关闭界面等等。但是除了由于用户操作而引发的事件外,有的时候编程也能产生事件,有的情况下一个循环或者传递事件数据都能影响其他的事件程序,这就需要用到用户事件功能。在LabVIEW事件驱动编程中用户事件是需要使用事件结构。但是不同的点是在使用用户事件以前。首先必须创建一个函数CreatUserEvent用户事件,紧接着要通过RegisterForEvent节点注册事件。将注册事件的句柄(Refnum)和事件结构的Dynamic苏州大学本科生毕业设计(论文)第9页EventTerminals(动态事件端子)连接在一起当注册完成后。所以你可以看到,在事件的编辑对话框的事件结构的用户事件。如图2-4所示:图2-4注册VI(4)文件I/O在一个完整的数据采集系统,我们需要通过一定的格式写入数据文件的数据采集硬件的配置信息。而LabVIEW中可以使用文件I/O函数来满足操作不同类型文件的要求。此函数的功能十分强大,只要在文件对话框中输入对应的信息,就能创建文件的目录和新位置。如图2-5所示。图2-5文件对话框采集到的数据再写入文件过程中一定要在指定写入位置,否则就有可能会旧数据被新数据覆盖掉了。从而导致了整个测试数据出错,为了避免这种错误发生LabVIEW编程环境提供通过设置文件位置的函数来正确的将文件写入到规定的位置。此函数如图2-6所示。图2-6设置文件位置函数苏州大学本科生毕业设计(论文)第10页然后介绍了几种文件存储格式是一种二进制文件,首先,它是最有效的文件存储格式,在数据中的二进制文件的功能的输入可以是任何类型,如:阵列,集群和复杂的数据,但是在读数据时必须给出对应的参考。给出的参考必须和写入时的数据格式保持一致,不然的话程序将不知道该如何翻译读出来的数据。二进制文件的写、读函数如图2-7所示。图2-7二进制文件的读写函数LabVIEW中还有将不同的数据类型进行转换的功能,当将二进制文件转换为文本文件时,常常会使用换行符合Tab符有序的排列数据。所以可以将转换后的文本文件看做是电子表格文件。事实上,电子表格文件便是文本文件。这两种类型的文件如图2-8和2-9所示。图2-8读取电子表格文件图2-9写入文本文(5)属性节点和方法节点类中定义的数据在面向对象的编程中叫做属性,类中定义的函数叫做方法。控件的很多高级功能都可以通过使用属性节点和方法节点来实现,属性节点的使用例子如图2-10所示。图2-10程序设计中使用属性节点苏州大学本科生毕业设计(论文)第11页获取控件的属性和进行编程设置都可以达到使用属性节点的功能。两种方法可以用来创建属性节点:第一种在程序面板中右击控件选择CreateProperty项,在弹出的菜单中可以看到该控件所有的属性,可以选择自己想要获取或者设置的属性,这样在程序框图中就创建了属性节点。另一种方法是选择的编程控制和应用/属性节点的选项在调色板面板功能,然后右击这个节点选择Linkto连接至面板上的任何一个想要获取属性的控件。方法节点和属性节点的使用方式类似。(6)LabVIEW中的显示控件与其它软件相比,LabVIEW有一个很大的优势:它提供了应有尽有,易于使用的图形数据显示控件。二维图形显示控件为代表,主要包含:趋势图(Graph)和图表(Chart)。两者的区别在于,前者是一次性绘制现有数据的图形,在绘制图形之前,要自动将图中的数据清空,它不会将新绘制的数据加在之前的数据末端,也就是说趋势图,是对已经收集到的数据结果的后处理,它不是实时显示,但它的形式是很丰富的。而后者反映的是实时数据变化的趋势,很多测试系统的人机界面都要求实时的采集、显示数据,这时就可以用波形图表来实现。本系统中采用了XY趋势图和波形图表,分别在控件选板的Modern-Graph-WaveformGraph和Modern-Graph-XYGraph这两个位置可以找到他们。这两个波形控件本身自带了一些常用的小工具,这些小工具会对编程工作起很大的作用,如图2-11所示。图中的游标图例小工具可以让使用者在图形显示的区域中添加小游标。要想显示游标当前的位置只需要拖动游标即可。默认情况下,在小面板,波形图的工具,当第一个十字符号键光标的图形区域的选择后,可以自由移动,点击放大镜标志按钮就可以对图表中的波形进行六种方式的缩放;当需要任意在显示区域拖动图形时可以选择手形标志。图2-11波形图表工具的小面板苏州大学本科生毕业设计(论文)第12页第3章数据采集系统的设计方案第3.1节数据采集系统的整体设计构思虚拟数据采集系统是有硬件和软件两部分。本文所涉及的虚拟采集系统主要由数据采集部分和虚拟界面组成。具体可划分为声卡和测控软件两部分。硬件电路完成数据采集、信号预处理、A/D转换。其中,LabVIEW软件是本次数据采集系统所选用的开发工具。虚拟数据采集系统总体的设计方案可概述为:模拟信号进入声集卡,由基本硬件负责数据的预处理,将信号处理成可供A/D转换器处理的标准信号,ADC采样后送入FPGA电路处理,转化成数字信号,控制数字信号循环采集,采集到的数据被传输到计算机的内存中,由测控软件控制指令发送、数据采集,完成对数据信号的显示、处理、存储和回放等。第3.2节数据采集系统的硬件平台3.2.1声卡的工作原理声音由物体振动产生,以波的形式传播。通过频率、振幅、相位等物理量的变化来表现。每台计算机都有声卡。声卡是把声波/数字信号相互转换的一种硬件。声卡的基本功能是把通过外设采集到的原始声音信号转换为数字信号,然后经过DSP音效芯片的处理转换成模拟信号,通过声响设备输出。现在一般的声卡,最高采样频率可达96千赫;抽样位数为16或32;有2个声道,就是立体声双声道,可以同时采集两路信号,如有必要我们还可选用多路输入声卡或同时配置多块声卡;高达22千赫左右,最高频率的每个输入信号,输出16位的数字音频信号,信号噪声比为96分贝。3.2.2硬件的实现本系统的硬件是常见的计算机声卡。声卡主要有Speaker,Micin,Linein,Lineout4个标准接口,其中两个是输入接口是Linein和Micin。两个输出接口是Lineout和Speaker。由于Micin和Speaker接口有前置放大器,容易引起噪声,产生非线性误差,对系统性能有影响。所以本系统用Linein接口采集信号,用Lineout接口输出信号。测量信号时声卡要用隔声装置降低噪声干扰。而且要在声卡输入端和被测信号之间安装一个衰减器,衰减所测信号以防止输入信号电平超过声卡规定的最大输入电平。苏州大学本科生毕业设计(论文)第13页本次设计所使用的是最普通的声卡,LabVIEW是基于其所处操作系统默认设置来采集声音信号的。而且需要注意噪声的干扰,避免影响测量结果的真实性。第3.3节数据采集系统的软件平台LabVIEW2012是NI公司2012年8月发布。本次设计的系统就是用该软件完成的。LabVIEW其实是一个软件开发环境,有一个大的函数库。LabVIEW与其他软件开发环境不同的是它使用的是图形化语言(G语言)编辑,写的程序是框图。所以LabVIEW很容易上手。熟练运用LabVIEW能快熟帮助我们构建所需工具来解决问题、提高效率。我在用LabVIEW写程序注重了程序的灵活性、可维护性、可重用性和可读性。因为一个程序的灵活性、可维护性、可重用性、可读性以及扩张性能展现该程序的优劣。适应未来需求的一个好软件的一定拥有好的灵活性和扩展性。尽管前期的需求分析做得很详尽,但是软件编写完成后可能会遇到许多不可避免的新要求。如果编写好的软件没有较好的扩展能力,那么随便一个改动都会变的很困难。因此,软件的设计必须有方便的扩展方法和功能。在软件的设计过程中,采用模块化设计方式,层次结构清晰,采用通用的接口和组件等方法来增加整个系统的灵活性和扩展性。可重用性是指在编写程序过程中,有些代码、文档或组件稍加修改或者不做修改就可以重复使用。一些好的软件组件就像是硬件中标准的螺母、封装好的芯片、螺钉一样可以直接拿来使用。这样在编写过程中就要借用通用的功能和实现方法。程序代码的重用性好,就能大大缩短软件开发周期。第3.4节数据采集系统的详细设计方案声卡数据采集系统结构框图如下图3-1所示。它主要由声音信号源、信号的处理模块、声卡和安装在计算机机上的LabVIEW软件等几部分组成。原始信号信号处理A/D声卡D/AMicinLineinLineout计算机LabVIEW声音播放苏州大学本科生毕业设计(论文)第14页图3-1系统结构工作过程:当测试信号输入,首先通过信号调理电路,使用声卡的micin或linein成为信号的输入端口。将采集到的模拟声音信号通过双声道后进行A/D转换后送入计算机,然后在编写好的LabVIEW数据采集系统中进行各种处理;当处理信号输出,要将处理的数字信号进行D/A转换,从lineout端口通过播放外设把我们处理完成的模拟声音信号播放出来。信号处理电路:声卡在采集信号之前必须进行信号处理,主要包括信号的放大、滤波、隔离和线性化处理,以使其能够被声卡正确的识别。前文说过micin的弊端,所以要选择linein作为输入端,输入电平应为-1+1V。声卡:采用计算机的声卡作为数据采集卡,是因为其A/D转换功能十分成熟,而且不需添加其他配件计算机就能完成所有声音信号的采集功能。拥有价格便宜、采样精度高,结合LabView编程简单等好处。所以,单单通过声卡就可以构成一个采样精度较高、采样频率不低、灵活性好的数据采集系统。声卡数据采集流程如图3-2基于LabVIEW的声音信号采集系统主要完成信号采集,存储功能,播放和频域分析。设计过程中的前面板简单清晰,功能齐全,用户操作方便。图3-2采集流程信号样本缓冲样本转换初始化声卡采样结束苏州大学本科生毕业设计(论文)第15页第4章采用声卡的LabVIEW数据采集系统第4.1节系统说明4.1.1设计原理和内容本采集系统采集的是声音,而声音是一种波,连续变化的振幅,频率,相位和其他物理量是声音的表现。声卡是计算机的基本组成部分,它主要功能就是将捕获的模拟音频信号进行A/D转换后变为数字信号,经过DSP音效芯片的处理,再进行D/A转换将数字信号变为模拟信号输出。这是系统的硬件结构。系统的软件结构分三部分“超时”,“信号采集”,“信号回放”。各部分互相独立,可完成音频信号的采集、处理、显示、储存、分析的功能。系统采用LabVIEW开发环境,设计基于声卡的虚拟仪器对信号进行采集、分析、处理。用一块普通的计算机声卡代替专业的数据采集卡,根据声卡的DSP技术和LabVIEW的多线程及模块化技术实现信号的数据采集,开发出基于PC机声卡的虚拟仪器,能实现对音频信号进行采集,信号分析,信号储存,信号回放,信号输出多种功能。4.1.2功能1.本程序可通过声卡采集到micin或linein的输入信号,或计算机内部产生的信号,并显示实时波形。声音的格式可通过调节声卡采集数据时的参数来改变,本次设计我们采用采样频率为44.1kHz,采样位16位的WAV格式;有一个用来停止采集的控制按键。2.对采样信号进行频谱分析和功率谱分析。3.点击回放按键。面板上把回放存储数据的波形显示出来,或通过计算机内部产生的信号波形(需要控件选择),另一边声卡完成DA转换输出信号,电脑连接线输出接口和实时示波器的波形,波形比较传统的示波器显示虚拟仪器的显示面板。4.设计的界面要友好简洁,程序可读性好。用户前面板要合理排版,具有良好的人机人程序交互界面。第4.2节软件设计过程本设计的要求内容比较多,所以要先做一个前面板的框架设计。完成后再对程序框苏州大学本科生毕业设计(论文)第16页图进行设计。而且程序还需要放入一个事件结构选项卡控件链接,因为前面板需要一个大的选项卡。然后在不同的事件选项卡中放入不同的程序。需要用声音的程序打开的文件,文件对话框,关掉声音文件VI,语音输出的子VI的子VI写声音输出等,分别对各种输入信号进行输入、读取和写入的操作通过循环结构。首先输入信号要被实验程序记录并保存。该输入信号包括信号线输入,内部的语音输入和计算机生成的,根据不同的信号,外部信号作为一个单独的标签,内部信号有一个标签。下一步是输入数据回放信号,将打开的文件播放,并显示文字信息的信号。最后,分析了信号。分析,包括幅值谱,相位谱,功率谱。这是总体设计方案。第4.3节前面板设计与分析采用声卡的LabVIEW的数据采集系统。由于计算机界面有限,所以本次设计“信号采集”和“信号回放”两个界面。图4-1所示的是第一部分“信号采集”界面。左上角第一个路径输入框是波形的存储路径和波形名称。下面的设备输入框是声卡地址和声卡的ID名。如果我们要改变声音的格式,就可以在声音格式的输入框内通过对采样频率,声道数和比特数的修改来打到目的。此框是一个簇的格式,我们定义为声音的格式。采样到的声音是有噪声的,我们需要对其进行滤波。滤波器可以选择低通、高通、带通和带阻等滤波器。此处我们选择的是带通滤波器,设置的频率为低截至100赫兹,高截至20000赫兹,其余频率的信号就会被滤掉。此外,对信号进行频谱分析还需要加窗,所以有一个加窗选项(为了减小泄漏此处选用hanning窗)。最下两个按钮“采集开始”和“采集停止”就是控制对声音采集的启停。图4-1的右边部分分为4个显示屏。“原始波形”屏是对采集波形的实时显示;“滤波后波形”屏则是显示滤波后的音频信号。底下两个是滤波的频谱分析结果显示和功率谱分析结果显示。苏州大学本科生毕业设计(论文)第17页图4-1信号采集的前面板图4-2就是前面板的“信号回放”部分。同样左边部分和“信号采集”部分一样不加赘叙。唯一不同的是“数据回放”的按钮,当按下该按钮将读取此前采集保存的音频信号。同样右边也是图形显示快,跟“信号采集”部分一致。当按下采集停止按钮,再按下数据回放按钮,我们就能看到从文件当中读取的波形,回放的原始波形,滤波后的波形以及它的频谱分析仪和功率谱分析。以上就是前面板的分析。图4-2信号回放的前面板第4.4节程序框图与分析点击“窗口”中的“显示程序框图”,切换到该程序界面。为了让程序可以不断的执行指令,我采用了while循环结构,这个while它会一直运行,直到用户按下while循环的停止控件,既停止按钮。为了响应在前面板之中“采集开始”、“采集停止”、“数据回放”等等按键动作,这里采用了事件结构。事件结构一共有三个分支:超时,开始采集,数据回放。超时:用户打开前面板,不做任何动作的时候,系统无响应既没有任何操作。图4-3和图4-4就是超时的程序框图界面(因计算机界面有限,故需两截图才能完全显示,下文图片也是如此)。苏州大学本科生毕业设计(论文)第18页图4-3超时程序框图图4-4超时程序框图当用户按下前面板中的“采集开始”按键,系统就会响应“开始采集”该事件的程序代码(见图4-5和图4-6)。第一个VI是写入并打开声音文件(见图4-5)。此处是打开一个声音的文件,并对其进行配置,配置的格式包括存储路径(绿色按键)和数据类型(红色按键)。配置好声音后,我们就需要对声卡进行配置了,比如设备地址,采样模式(采用默认的连续采样,直到用户停止)等。配置好声卡后,我们就要采集信号了。图4-6中的读取声音输入VI就是从配置好的声卡中读出波形,并将波形送入到波形图标显示出来,这里对应的事前面板中“信号采集”的“原始波形”。其次,我们还需要对波形进行滤波。所以讲读出的波形送入一个滤波器VI中。这个VI是一个快速VI。双击打开该滤波器,我们可对其进行配置如图4-7。我们将滤波后的波形也送入到一个波形图标,既前面板中的“滤波后波形”。接着,我们还需对滤波后的波形进行频谱分析。首先,我们将滤波信号接入一个FFTVI中进行频谱分析,得到一个频谱分析图,再将得到的频谱分析图送到“采集信号的频谱分析”框中。我们也对滤波进行了功率谱分析,此VI也是一个快速VI。我们也可以双击打开这个VI进行配置如图4-8。最后将功率谱输出到“采集信号的功率谱分析”。图4-5信号采集程序框图苏州大学本科生毕业设计(论文)第19页图4-6信号采集程序框图图4-7滤波器VI配置苏州大学本科生毕业设计(论文)第20页图4-8功率谱配置我们在“开始采集”事件中,除了对原始信号进行上面的操作外,也将原始信号送入一个写入声音文件VI中来将声音波形写入到一个WAV文件中并保存(见图4-6,另外这条黄线类型是errorout既能通过VI把错误信号以对话框显示出来)。这样,系统的信号采集部分完成了。当用户按下前面板中的“数据回放”的按键,我们就能触发“数据回放事”件中的VI。首先,第一个VI是读取保存的声音文件。前面的绿色按键是读取路径,要与“开始采集”中的存储路径一致。读取的波形放入“波形回放”的波形图,既前面板“回放波形”显示屏。然后将读取波形进行滤波。这个滤波器VI与前面的滤波器VI是一样的。滤波后再进行图形显示。滤波也要进行频谱分析和功率谱分析,并且相应地显示出波形图,这与前面也是一样的,如图4-9和4-10。图4-9数据回放程序框图苏州大学本科生毕业设计(论文)第21页图4-10数据回放程序框图第4.5节系统的失真测试什么是失真?失真对音质是有很大的伤害的,还可能损坏音响设备。我们常说的波形失真是指非线性失真,指一个系统中输出信号和输入信号不成线性关系。也是本系统需要检测的。由于系统的电子原件性质使输出信号产生新的谐波,改变了原信号频谱。非按波形失真的不同情况,可分为幅度失真、频率失真、相位失真三种。对幅度不同的信号放大量不同称为幅度失真。对频率不同的信号放大量不同称为频率失真。对频率不同的信号,经放大后产生的时间延迟不同称为相位失真(或时延失真)。我们一般所说的失真度是指非线性失真系数。所谓的非线性失真是指信号波形发生了变化产生新的频率分量。它的定义是:谐波总功率与基波功率之比的平方根。苏州大学本科生毕业设计(论文)第22页图4-11失真检测图图4-11是失真检测结果THD曲线(总谐波失真曲线)。从图片中我们能看出100hz以下时采集的音频信号失真度较高,低频性能差。500hz至6khz信号失真抖动,说明这一段频率采集系统不稳定。过了大约7kHz则,系统THD趋于稳定,失真度也比较小。产生这一现象,我认为主要是因为自带声卡的问题。普通声卡的局限性使其在采集低频信号时捉襟见肘。且该系统还无法摒除采集时可能发生的其他噪音。经过测试表明我的设计是基本满足了设计要求,较好地实现了基于LabVIEW的数据集系统的功能。该设计也具有一定的实用性,可作为录音器或音乐处理器。苏州大学本科生毕业设计(论文)第23页结论虚拟仪器技术是将测试技术、通信技术、计算机技术结合起来突破了传统仪器的局限性的新技术,具有成本低,周期短,结构简洁,程序易扩展等特点。本文通过对国内外数据采集系统相关文献的查阅,最终确定了数据采集系统的设计方案。在软件工程思想的指导下利用LabVIEW2012开发平台,结合具体的试验项目编写了加速度数据采集系统,完成了微小电容加速度计动态性能测试试验。在整个系统开发过程中,严格按照软件工程理论的开发步骤来编写程序,避免了程序的杂乱无章和臃肿庞大。在论文中对程序编写时用到的关键技术、LabVIEW程序与第三方数据采集卡通信的原理和知识、软件的界面结构以及各模块算法和设计都做了详细的介绍。最后对微小电容加速度计的加速度信号进行了实时采集;回读采集到的加速度信号进行数据处理,包括数字滤波、FFT变换;完成了对其动态性能测试的任务。试验结果表明本数据采集系统可靠、稳定,本测试软件的设计与实现在一定程度上为实验室的进一步试验研究做了技术储备,但是由于时间仓促再加上本人自身水平有限,本测试系统还存在一定的欠缺和不足之处有待于改进。通过进一步研究可将本测试系统应用于通常测试环境下的数据采集和处理。(一)在本测试软件中,由于笔者对LabVIEW编程经验不足,对开发平台本身了解不够全面,导致对系统的纠错能力考虑不周全,未能完全发挥LabVIEW完善的信息提示功能。初始化模块的程序代码不够简洁,对软件的运行速度造成了一定的影响。(二)在数据处理模块,LabVIEW程序对一般的数据处理非常强大,但是在处理大量数据的复杂运算时就显得有些

温馨提示

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

评论

0/150

提交评论