论文关键词:声卡数据采集matlab信号处理
论文摘要:利用数据采集卡构建的数据采集系统一般价格昂贵且难以与实际需求完全匹配。声卡作为数据采集卡具有价格低廉、开发容易和系统灵活等优点。本文详细介绍了系统的开发背景,软件结构和特点,系统地分析了数据采集硬件和软件设计技术,在此基础上以声卡为数据采集卡,以matlab为开发平台设计了数据采集与分析系统。
本文介绍了matlab及其数据采集工具箱,利用声卡的a/d、d/a技术和matlab的方便编程及可视化功能,提出了一种基于声卡的数据采集与分析方案,该方案具有实现简单、性价比和灵活度高的优点。用matlab语言编制了相应软件,实现了该系统。该软件有着简洁的人机交互工作界面,操作方便,并且可以根据用户的需求进行功能扩充。最后给出了应用该系统采集数据的应用实例。
1绪论
1.1课题背景
数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据采集,又称数据获取,就是将系统需要管理的所有对象的原始数据收集、归类、整理、录入到系统当中去。数据采集是计算机管理系统使用前的一个数据初始化过程。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。
数据采集(dataacquisition)是将被测对象(外部世界、现场)的各种参量(可以是物理量,也可以是化学量、生物量等)通过各种传感元件作适当转换后,再经信号调理、采样、量化、编码、传输等步骤,最后送到控制器进行数据处理或存储记录的过程。wWw.133229.cOM
被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据测量是数据采集的基础。数据测量方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,都以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包括对连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量数据。
在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测量与控制问题,常常需要对外部的温度、压力、流量、位移等模拟量进行采集。数据采集技术是一种流行且实用的电子技术。它广泛应用于信号检测、信号处理、仪器仪表等领域。近年来,随着数字化技术的不断发展,数据采集技术也呈现出速度更高、通道更多、数据量更大的发展态势。
数据采集系统是一种应用极为广泛的模拟量测量设备,其基本任务是把信号送入计算机或相应的信号处理系统,根据不同的需要进行相应的计算和处理。它将模拟量采集、转换成数字量后,再经过计算机处理得出所需的数据。同时,还可以用计算机将得到的数据进行储存、显示和打印,以实现对某些物理量的监视,其中一部分数据还将被用作生产过程中的反馈控制量。
数据采集系统是计算机测控系统中非常重要的环节,目前,有各种数据采集卡或采集系统可供选择,以满足生产和科研试验等各方面的不同需要,但由于数据源以及用户需求的多样性,有时并不能满足要求。特别是在某些应用中,需要同时高速采集多个通道的数据,而且为了分析比较各通道信号间的相互关系,常常要求所有通道的采集必须同步。现有的数据采集系统能够满足上述要求的比较少,且价格十分昂贵,体积较大,分量较重,使用十分不方便。
一般模拟量是通过各种数据采集卡进行数据采集。目前常用的是具有isa总线、pci总线等接口形式的a/d采集卡,虽然数据传输率很高,但是还存在整个系统笨重,缺乏灵活性,不能实现即插即用,不适合小型、便携设备采用等缺点。另外这些类型的采集卡在计算机上安装比较麻烦,而且由于受计算机插槽数量、地址、中断资源的限制不可能挂接很多设备。因此,工程师们往往需要花费大量的时间和资源用于系统搭建。
随着现代工业技术的迅猛发展,生产规模的不断壮大,生产过程和制作工艺的日趋复杂,对自动测试和各种信息集成的要求也就越来越高。数据采集系统的好坏将直接影响自动测试系统的可靠性和稳定性,为了满足不同的测试需求,以及减少对资源的浪费,在系统的设计上应该尽量满足通用性和可扩展性。在高度发展的当今社会中,科学技术的突飞猛进和生产过程的高度自动化已成为人所共知的必然趋势,而它们的共同要求是必须建立在有着不断发展与提高的信息工业基础上。人们只有从外界获取大量准确、可靠的信息经过一系列的科学分析、处理、加工与判断,进而认识和掌握自然界与科学技术中的各种现象与其相关的变化规律,并通过相应的系统和方法实现科学实验研究与生产过程的高度自动化。换言之,生产过程的自动化面临的第一个问题就是必须根据从各种传感器得到的数据来检测、监视现场,以保证现场设备的正常工作。所以对现场进行数据采集是重要的前期基础工作,然后再对现场数据进行传输和相应的处理工作,以满足不同的需要。
数据采集卡是中低端数据采集系统设计的必选产品。基于isa、pci的插卡式数据采集设备存在以下缺陷:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。而现代工业生产和科学研究的发展要求数据采集卡具有更好的数据采集、处理能力,传统的cpu已经不能满足这一要求。针对以上要求,本文将论述一种基于pc机的声卡技术,它安装容易,成本较低。只需利用计算机本身的软硬件资源,而不需添加其他任何设备即可构成数据采集与分析系统,使用matiab语言编制简洁的图形用户界面,该界面操作方便,并且可以根据用户的需求进行功能扩充。
数据分析在整个科研工作中是个重要的必不可少的环节,它的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。数据分析是组织有目的地收集数据、分析数据,使之成为信息的过程。这一过程是质量管理体系的支持过程。在产品的整个寿命周期,包括从市场调研到售后服务和最终处置的各个过程都需要适当运用数据分析过程,以提升有效性。例如,一个企业的领导人要通过市场调查,分析所得数据以判定市场动向,从而制定合适的生产及销售计划。因此数据分析有极其广泛的应用范围。数据分析系统工作的质量和速度如何,对整个科研工作的影响也是很大的。因此研究一种质量性能高的通用数据采集平台具有很大的意义。
在近几十年来ic技术和计算机技术的高速发展,为数据采集与分析提供了非常良好与可靠的科学技术基础,也提出了更高的要求和强有力的推动。如今面临着先进的计算机技术和信息技术与落后的信息采集与分析技术的现实差距,那将大大影响科学技术的高度发展和生产过程的高度自动化。所以,近几十年来世界各国都大量投入进行信息采集与分析的工作,尤其是在经济发达的美、英、德、法日等国与我国,都对这一技术高度重视。
1.2国内外研究动态
数据采集是获取信息的基本手段,数据采集技术作为信息科学的一个重要分支,与传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,它研究信息数据的采集、存储、处理及控制等作业,具有很强的实用性。随着科学技术的发展,数据采集系统得到了越来越广泛得应用,同时人们对数据采集系统的各项技术指标,如:采样率、线性度、精度、输入范围、控制方法以及抗干扰能力等提出了越来越高的要求,特别是精度和采样率更是使用者和设计者所共同关注的重要问题,于是,高速及超高速数据采集系统应运而生并且得到了快速发展。今天,数据采集技术己经在雷达、通信、水声、振动工程、无损监测、智能仪器、工业自动控制以及生物医学工程等众多领域得到广泛的应用并且收到了良好的效果。高速数据采集系统在国防、航天、边缘科学研究中及国民经济的各个领域的成功的应用,进一步引起了各方的关注,推动了它的研制和发展。随着科学技术的发展,数据采集系统得到了越来越广泛的应用。目前,国外很多公司与厂商都投入巨资进行数据采集系统的研制开发与生产销售,其中比较著名的有neff,ni、hp,tek等。
从数据采集系统产品来看,各大公司提供的系列产品都包括了完成数据采集的诸如信号放大、滤波、多路开关、模数转换和接口等各种模块。现有的高速数据采集器件和开发的产品中,目前还没有完全实现高速、高分辨率。在雷达、通信、谱分析、瞬态分析、电视等应用领域,为满足实时检测和高速采集的日益更新的需要,实现数据采集的高速、高分辨率已成为数据采集系统的一个发展方向。现有的高速adc器件和产品价格都比较昂贵,有些高速、高分辨率的器件本身还存在着不稳定性,因此,在数据采集系统向高速、高分辨率发展的同时,开发和研制的器件和产品应不断地提高可靠性,降低成本,提高性价比,以便使之得到更广泛的应用。在国内,由于历史、技术等原因,我们的产品普遍存在:通用性差、用途单一、测点少、测量距离小、环境适应性差等缺点,远没有形成系列化、模块化、标准化的通用产品,根本无法满足国内用户不断增长的需要,也远远不能与国外产品抗衡,正因此使得价格高昂的国外产品占有了相当大的市场份额。
1.3数据采集系统的现状及发展
数据采集与分析一直是生产实践研究与应用领域的一个热点和难点。随着微电子制造工艺水平的飞速提高及数据分析理论的进一步完善与成熟,目前国内外对数据采集系统的高性能方面的研究上取得了很大的成就。就a/d转换的精度、速度和通道数来说,采样通道从单通道发展到双通道、多通道,采样频率、分辨率、精度逐步提高,为分析功能的加强提供了前提条件。而在数据分析的微处理器上,最初的数据采集系统以8位单片机为核心,随着微电子技术的不断发展,新兴单片机的不断问世,十六位、三十二位单片机也为数据采集系统研制厂家所采用,近年来采用具有dsp功能的数据采集系统也己投入市场。同时,通用pc机的cpu用于数据处理也较为常见。总之,伴随着高性能微处理器的采用和用户技术要求的不断提高,数据采集系统的功能也越来越完善。数据采集系统的发展主要体现在以下几个趋势:
首先,在专业测控方面,基于pc计算机的数据采集系统越来越成熟和智能化。在过去的二十年中,开放式架构pc机的处理能力平均每十八个月就增强一倍。为了充分利用处理器速度的发展,现代开放式测量平台结合了高速总线接口,如pci和pxi/compactpci,以便获得性能的进一步提升。计算机的性能提升和由此引起的基于计算机的测量技术的创新,正在持续不断地模糊着传统仪器和基于计算机的测量仪器之间的界线。
其次,在通用测控方面,采用嵌入式微处理器的方案也由早期的采用a/d器件和标准单片机组成应用系统发展到在单芯片上实现完整的数据采集与分析,即目前极为热门的soc(systemonchip)。通常在一块芯片上会集成一个,可以采样多路模拟信号的a/d转换子系统和一个硬cpu核(比如增强型80_52内核),而且其cpu的运算处理速度和性能也较早期的标准cpu内核提高了数倍,而且有着极低的功耗。这种单芯片解决方案降低了系统的成本和设计的复杂性。
此外,为了解决soc方案中数据处理性能的不足,采用dsp作为数据采集系统的cpu的研究与应用目前也逐渐引起业内重视。但是这类产品目前仅仅处于发展的初级阶段,在精度、速度或其它性能指标上并不能很好的满足要求。因此,国内外以dsp作为数据采集系统的采样控制和分析运算的研究与应用正在展开。
近年来随着芯片技术、计算机技术和网络技术的发展,数据采集技术取得了许多新的技术成果,市场上推出了繁多的新产品。高速数据采集技术的发展一方面是提高采集速率,另一方面不断向两端延伸。一端是输入的信号调理,另一端是采集后的数字化信号的实时处理与事后处理。20世纪90年代末,随着数字技术快速发展,数据采集技术已向着并行、高速、大量存储、实时分析处理、集成化等方向发展。
(1)采样方式
①过采样(oversampling)。采样方式中最早是过采样,根据采样定理,采样频率fs必须高于被采信号最高频率fch的两倍,才不致产生频率混叠现象。例如信号最高频率为10khz,采样频率必须高于20khz。
②欠采样(undersampling)。在通信和动态数据的采集中,发展了一种欠采样技术,即采样频率fs可以低于信号频率fch,但信号的频带宽度不得大于0.5fs,利用采样信号产生的高次谐波,将采样后的信号移至第二或者更高的奈奎斯特区。例如采样频率fs为10khz,可对频带fch落于11~14khz的信号(频带宽度为3khz,低于0.5fs=5khz)进行欠采样。于是在采样频率2次谐波两边产生的采样后的信号频带为f2ch=2fs±fch=20khz±(11~14khz)=31~34khz,或9~6khz
③等效时间采样(equivalenttimesampling)。主要是对于重复的周期波形进行等效时间采样。例如美国泰克公司的tds784d数字存储示波器,其实际的采样频率为1gs/s(1ghz),对于重复的周期信号,采取周期微差法,可以达到250gs/s(250ghz)的等效时间采样。例如对于1ghz的方波,进行周期微差法采样,每个周期的采样只有微小的时差,将若干个周期中的样点集中排列,即可测出方波上升沿和下降沿的波形。对于单次瞬态信号,这种方法是无效的。
④变速率变分辨率采样。
(2)采集方式的发展
①扫描式采集(scanningacquisition):时分制、多通道巡回采集。
②并行式采集(parallelacquisition):多个通道同步并行采集,每个通道采用一个独立的a/d转换器,通道采集速率只取决于a/d的转换速率,与通道数无关。
③交替采集(internativeacquisition):一个通道由多个a/d转换器交替采集,使每个通道采样速率等于多个a/d的转换速率之和,可以高于单个a/d的转换速率。
(3)采集数据的实时分析与处理软件
目前国外的测试仪器或系统生产厂家,在生产硬件的同时,推出其相应的支持软件或软件开发平台,如为产品开发者提供的软件工具;为系统集成者提供系统应用软件的集成的环境;为终端用户提供编写自己的用户应用程序的手段。
1.4本文主要内容和章节安排
本文完成了一种基于matlab的数据采集系统的方案的设计,实现了在matlab环境下利用声卡和matlab数据采集工具箱进行的数据采集与分析。
全文的结构安排如下:
第一章绪论,说明了研究背景、意义、国内外现状,以及系统的发展现状。
第二章主要介绍了系统结构特点及性能
第三章主要介绍了声卡、matlab软件及其工具箱的使用
第四章主要讨论了系统结构功能设计与实现,以及数据采集与分析的具体过程
第五章主要对数据采集进行了举例
2数据采集系统结构特点
2.1系统组成结构
数据采集系统主要由两部分组成:采集子系统和计算机子系统,即下位机智能数据采集系统和上位机hmi(humanmachineinterface)系统。采集子系统实现将客观世界被测对象信号采集和转换为能被计算机处理的数字信号的功能等;计算机子系统实现对采集数据的控制、存储和处理等功能,计算机起着对采集数据的存储和处理、统计分析、提供人机接口与其他计算机的数据通信和交换的功能。
数据采集系统涉及多学科,所研究的对象是物理或生物等各种非电或电信号。根据各种非电或电信号的特征,利用相应的归一化技术,将其转换为可真实反映事物特征的电信号后,经a/d转换器转换为计算机可识别的有限长二进制数字编码,以此作为研究自然科学和实现工业实时控制的重要依据,实现对宏观和微观自然科学的量化认识,典型的数据采集系统组成如图2-1所示。
图2-1典型数据采集系统的组成
而一般的外置式数据采集系统结构如图2-2所示。模拟信号由传感器采得经过信号调理模块送入数据采集硬件设备。在数据采集设备中完成a/d转换,包括采样、量化、编码,转化成数字信号后送入与之相连的pc机中。根据不同的要求,在pc机上利用matlab以及二次编程实现数据的实时分析与处理。用户可以通过人机交互界面修改、设定各项参数来控制数据采集硬件设备的工作状态,同时可以得到数据的采集与分析结果,从而实现数据采集与分析的自动化。
图2-2一般的外置式数据采集系统结构
利用声卡在windows环境下开发数据采集系统时,由于受编程语言的限制,其数据分析与处理的功能非常有限。例如,为了对所采集的数据进行功率谱分析,则需要用户以vb或c语言来编写功率谱分析的子程序,这显然增加了开发的难度,并且也极不利于分析功能的进一步扩展。
而利用声卡作为a/d转换工具,经过衰减和取样电路得到的模拟信号送至声卡的线路输入端linein,并利用matlab中提供的数据采集工具箱,可满足控制声卡进行数据采集的要求。用户通过调用matlab命令,可对采集的数据进行分析和处理。
整个系统可分为数据采集和数据分析两大部分,以友好的图形界面与用户进行交互沟通。数据采集部分实现数据采集功能,根据用户选择的采样频率和预设的采样时间,从声卡获得用户需要的数据;数据分析部分对采集到的数据进行频谱分析。全部数据的时域和频域波形以图形方式直观地呈现于用户面前。此外,还提供保存数据以及回放数据的功能。
图2-3给出了基于matlab的数据采集系统的简图,主要部件数据采集工具箱提供了硬件驱动程序和matlab环境之间“对话”所需的硬件驱动程序适配器、数据采集引擎和m-文件函数.
图2-3基于matlab的数据采集系统简图
硬件驱动程序适配器在硬件驱动程序和数据采集引擎之间交换属性数值、数据和事件;数据采集引擎用来存储各个设备对象,以及每个设备对象的属性值;对采集到的数据进行存储并且使不同事件同步;m-文件用来创建设备对象、采集或输出数据、配置属性值和检测数据采集状态和数据采集设备。
2.2系统的特点和性能指标
现代数据采集系统发展到今天,一般来说具有如下主要特点:
(1)现代采集系统一般都由计算机控制,使得数据采集的质量和效率等大为提高,也节省了硬件投资。
(2)软件在数据采集系统中的作用越来越大,增加了系统设计的灵活性。
(3)数据采集与数据处理相互结合的日益紧密,形成数据采集与处理系统,可实现从数据采集、处理到控制的全部工作。
(4)数据采集过程一般都具有“实时”特性,实时的标准是能满足实际需要;对于通用采集系统一般希望有尽可能高的速度,以满足更多的应用环境。
(5)随着电子技术的发展,电路集成度的提高,数据采集系统的体积越来越小,可靠性越来越高,甚至出现了单片数据采集系统。
(6)总线在数据采集系统中有着广泛的应用,总线技术它对数据采集系统结构的发展起着重要作用。
评价一个数据采集系统的性能有很多指标,但是一般采用以下几个比较常用的指标进行评价。
(1)系统分辨率
系统分辨率是指数据采集系统可以分辨的输入信号的最小变化量。通常可以用如下几种方法表示系统分辨率:
使用系统所采用的a/d转换器的位数表示系统分辨率;
使用最低有效位值(lsb)占系统满度值的百分比表示系统分辨率;
使用系统可分辨的实际电压数值表示系统分辨率;
使用满度值可以分的级数表示系统分辨率。
(2)系统精度
系统精度是指当系统工作在额定采集速率下,整个数据采集系统所能达到的转换精度。a/d转换器的精度是系统精度的极限值。实际上,系统精度往往达不到a/d转换器的精度。因为系统精度取决于系统的各个环节(子系统)的精度,如前置放大器、滤波器、模拟多路开关等。只有当这些子系统的精度都明显优于a/d转换器的精度时,系统精度才有可能达到a/d转换器的精度。系统精度是系统的实际输出值与理论输出值之差,它是系统各种误差的总和,通常表示为满度值的百分数。
(3)采集速率
采集速率又称为系统通过速率或吞吐率,是指在满足系统精度指标的前提下,系统对输入的模拟信号在单位时间内所能完成的采集次数,或者说是系统每个通道、每秒钟可采集的有效数据的数量。这里说的“采集”包括对被测物理量进行采样、量化、编码、传输和存储的全部过程。
(4)动态范围
动态范围是指某个确定的物理量的变化范围。信号的动态范围是指信号的最大幅度和最小幅度之比的分贝数。
2.3系统常见的几种结构形式
(1)多通道共享采样/保持器和a/d转换器数据采集系统
这种系统构成如下图所示,这种结构形式采用分时转换工作的方式,多路被测信号共用一个采样/保持器和一个a/d转换器。当采样保持器的输出已充分逼近输入信号(按给定精度)时,在控制命令的作用下,采样保持器由采样状态进入保持状态,a/d转换器开始进行转换,转换完毕后输出数字信号。在转换期间,多路开关将下一路信号切换到采样/保持器的输入端,系统不断重复以上的操作,可以实现对多通道模拟信号的数据采集。采样方式可以按顺序或随机进行。
多通道共享采样保持器和ad转换器数据采集系统图
这种采集系统结构形式最简单,所用芯片数量少,适用于信号变化率不高、对采样信号不要求同步的场合。如果被测信号变化速率较慢,可以不用采样保持器,直接进行a/d转换。如果信号很弱而干扰噪声强,需要在系统电路中增加信号放大电路和滤波环节。
(2)多通道同步数据采集系统
多通道同步型数据采集系统图
其结构如上图所示,也属于分时转换系统。
多路模拟输入信号共用一个a/d转换器,但是每个通道各有一个采样/保持器,在同一采样指令控制下对各路信号同步进行信号采样,得到各路信号在同一时刻的瞬时值。模拟开关分时将各路采样/保持器切换到a/d转换器上,进行模数转换。这些同步数据可以描述各路信号的相位关系,所以这种结构被称为同步型数据采集系统。
由于各路信号必须串行的在共用的a/d转换器中进行转换和计算,若采样信号回路过多时,这种采集结构的速度仍然较慢。
(3)多通道并行数据采集系统
多通道并行数据采集系统框图如上图所示。这种结构形式中,每个通道都有自己的采样保持器和a/d转换器,经过a/d转换的数据经过接口电路送到计算机中。相对于前两种数据采集系统,这种结构形式的数据采集速度最快,但所用的硬件电路复杂,成本较高。
通用型模拟量数据采集模块则属于这一类的数据采集子系统。数据采集模块是属于单片机的智能器件,在整个数据采集系统中,每个模块可以认为是实时、并行地工作,每个模块仅完成几路信号的检测和采集,实时响应性能优。
(4)分布式数据采集系统
以上介绍的三种结构形式中,系统各部件之间的空间距离很近,逻辑上耦合程度紧密,都可以称之为数据采集系统。这种系统的优点是:结构简单,容易实现,能满足中小规模的集中数据采集的要求。在市面上均有成熟产品可供选用。系统的体积和设备量小,造价低。
由于工作原理、结构形式和性能设计等原因,这类系统也存在不少缺点:
因为系统结构不灵活,不易扩展,所以不适合大规模的数据采集应用场合。抗干扰能力差,尤其对于被测对象物理位置分散、传感器输出的微弱信号需要长距离传输时,所受的干扰不容忽视的。可靠性差。系统结构中某一部件出现故障会导致整个系统工作崩溃。由于各部件之间紧密耦合,导致系统的可扩展性和灵活性差。分布式数据采集系统是数据采集技术、计算机技术和通信技术综合和发展的产物,基于“分散采集、集中管理”的思想设计的系统结构形式,由若干个“数据采集点”和上位机以及通信接口组成。分布式数据采集系统结构如下图所示:
分布式数据采集系统图
处于分散部位的数据采集点相当于小型的集中数据采集系统,位于被测对象的附近,可独立完成数据采集和预处理任务,并将采集的数据转换为数字信号的形式传送给上位机,采用数据传输的方法可以克服模拟信号传输的固有缺陷。分布式数据采集系统的主要特点是:
(1)系统适应能力强。因为可以通过选用适当数量的数据采集点来构成相应规模的系统,所以无论是大规模的系统,还是中小规模的系统,分布式结构都能够适应。
(2)系统可靠性高。由于采用了多个数据采集点,若某个数据采集点出现故障,只会影响某项数据的采集,而不会对系统的其他部分造成任何影响。
(3)系统实时相应性好。由于系统各个数据采集点之间是真正“并行”工作的,所以系统的实时相应性较好。
(4)另外,这种数据采集系统是用数字信号传输代替模拟信号传输,有利于克服常模干扰和共模干扰。因此,这种系统特别适合于在恶劣的环境下工作。目前对于大规模的数据采集场合一般都采用分布式结构,根据不同的数据采集工作原理、结构形式和性能特点,在本系统中采用集中式的数据采集器件作为数据采集终端,采用上下位的连接方式,最终组成整个数据采集系统。
3matlab软件
3.1matlab简介
matlab是美国mathworks公司开发的一种功能极其强大的高技术计算机语言和内容极其丰富的软件库,它适合于工程各领域的分析设计与复杂计算的软件,该软件包括基本部分和专业扩展两大部分.扩展部分称为工具箱,用于解决某一方面的专业问题.它以矩阵和向量的运算以及运算结果的可视化为基础,把广泛应用于各个学科领域的数值分析、矩阵计算、函数生成、信号处理、图形及图像处理、建模与仿真等诸多强大功能集成在一个便于用户使用的交互式环境中,为使用者提供了一个高效的编程工具及丰富的算法资源。对于信号处理和图像处理等数字处理领域,matlab更是得天独厚,它丰富的m文件和强大的绘图可视功能为使用者带来了极大的方便,被广泛的应用于信号与图像处理、控制系统设计、通信、系统仿真等诸多领域,尤其对初学者可起到事半功倍之效。
matlab是一种解释语言,所有的程序和指令都必须在matlab解释器中读入后才能运行,因而极大地限制了代码执行速度。matlab强大的计算功能只能在其平台上才能使用,也就是说,必需在安装了其解释器的机器上才能使用matlab的m文件,这样就给工程应用带来了很大不便。对于一般用户来讲,matlab只能作为离线的计算和分析工具,而不能作为实时的工程工具。幸运的是,开发matlab的mathworks公司为广大的应用者提供了应用程序接口(api,applicationprograminterface)和编译器(compiler)。利用matlab和c语言交互,也可以开发基于matlab的数据采集系统。如果配上数据采集线路,该系统就可以作为一个虚拟仪器来使用。
3.2数据采集工具箱及声卡简介
matlab自带的数据采集工具箱(dataacquisitiontoolbox,daq)能更容易地将实验测得的数据进行分析和可视化操作。数据采集设备包括:多媒体声卡、美国国家仪器e系列和1200系列接口板、hewlett-packard-vxie1432-系列接口板及其他各种数据采集硬件设备。数据采集硬件设备的内部特性对matlab的接口完全透明,无论是使用一个或几个硬件设备,数据采集工具箱都会向所有硬件设备提供单一和统一的接口。通过调用matlab命令和函数可对与计算机兼容的数据采集硬件设备进行访问并对其属性进行可视化监控。
数据采集工具箱是一种建立在matlab环境下的m函数文件和mex动态链接库文件的集合,包含3大区域的组件:m文件函数、数据采集引擎及硬件驱动适配器。它具有如下特点:是一种通过使用与pc机兼容的、即插即用的数据采集设备在matlab环境中的架构;支持模拟信号的输入输出以及数字信号的输入、输出,子系统还包括同步模拟输入输出的转换;支持声卡;事件驱动采集。
在matlab数据采集工具箱里集成了数据采集的m文件格式的函数和mex文件格式的动态链接库。其主要特征如下:
(1)提供了将实时测量数据从数据采集硬件采集到matlab中的框架。
(2)支持模拟量输入(ai)、模拟量输出(a0)以及数字量i/0子系统,包括模拟量i/o实时变换。
(3)支持pc声卡和业界非常流行的数据采集设备如ni卡、并行口(lpt1-lpt3)、keithley卡等。
(4)采用事件驱动模式进行数据采集。数据采集工具箱由3部分组成:m文件格式的函数、数据采集引擎和硬件驱动,如图3-1所示。这些组成部分使得matlab与数据采集硬件之间的信息传递成为可能。
图3-1数据采集引擎与硬件驱动