基于Matlab的数据采集系统设计毕业论文.docx

上传人:b****6 文档编号:16618212 上传时间:2023-07-15 格式:DOCX 页数:22 大小:155.85KB
下载 相关 举报
基于Matlab的数据采集系统设计毕业论文.docx_第1页
第1页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第2页
第2页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第3页
第3页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第4页
第4页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第5页
第5页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第6页
第6页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第7页
第7页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第8页
第8页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第9页
第9页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第10页
第10页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第11页
第11页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第12页
第12页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第13页
第13页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第14页
第14页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第15页
第15页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第16页
第16页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第17页
第17页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第18页
第18页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第19页
第19页 / 共22页
基于Matlab的数据采集系统设计毕业论文.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Matlab的数据采集系统设计毕业论文.docx

《基于Matlab的数据采集系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Matlab的数据采集系统设计毕业论文.docx(22页珍藏版)》请在冰点文库上搜索。

基于Matlab的数据采集系统设计毕业论文.docx

基于Matlab的数据采集系统设计毕业论文

基于MATLAB的数据采集系统设计

摘要:

MATLAB具备高性能的数值计算和可视化的科学工程计算功能,支持解释性语言输入,编程实现简单,具有丰富的数学函数功能支持,并拥有功能强大的数据采集工具箱,支持声卡。

声卡作为MATLAB的数据采集卡相对于常规的数据采集卡,具有价钱低廉、开发简单和系统便捷等优势。

本文研究了一种将两者结合进行数据采集的设计办法。

在文章里具体介绍了该课题的背景,当今数据采集系统的结构和特点,介绍了MATLAB及其数据采集工具箱,利用声卡的A/D、D/A转换技术和MATLAB的功能,提出了一种高性价比的基于声卡的数据采集与分析方案。

并详细分析和阐述了利用MATLAB语言编程实现该数据采集与分析系统的过程和办法。

在文章的最后则提供了一些应用该系统采集数据的实例。

关键词:

基于MATLAB;基于声卡;数据采集

TheSystemDesignOfDataAcquisitionBasedOnTheMATLAB

Abstract:

MATLABhasthefunctionofhigh-performancenumericalcomputationandvisualscientificengineeringcomputing.Itsupportsexplanatorylanguageinputandthesoundcard,containsrichmathematicalfunctionsandhaspowerfuldataacquisitiontoolboxwithsimpleprogramming.AstheMATLABdatacollectioncard,thesoundcard,comparedtotheconventionaldatacollectioncard,endowswithalowprice,simpledevelopmentandconvenientsystem.Thispaperhasdiscussedadesignthatcombinesthetwokindstoconductdatacollection.

Thispaperhasspecificallyintroducedthebackgroundofthistopic,thestructureandthecharacteristicsofnowadaysdatacollectionsystem.IthasalsointroducedMATLABanditsdatacollectiontoolbox.ByusingtheA/D,D/AconversiontechniqueofthesoundcardandthefunctionofMATLAB,Ihavepresentedacost-effectivedatacollectionandanalysisdesignbasedonthesoundcard,andanalyzedanddescribedthoroughlythecourseandmethodsofdatacollectionandanalysissystembyusingMATLABlanguageprogramming.Finally,thispaperhasprovidedsomeexampleswhichhaveappliedthisdatacollectionsystem.

Keywords:

BasedonMATLAB;Basedonsoundcard;DAQ

1绪论

课题背景

数据就是科学实验、检验、统计等所获得的和用于科学研究、技术设计、查证、决策等的数值,是实验、测量、等的结果,常以数量的形式给出,用于作为结论的论据。

数据采集(DataAcquisition)是将被测对象(外部世界、现场)的各种参量(可以是物理量,也可以是化学量、生物量等)通过各种传感元件作适当转换后,再经信号调理、采样、量化、编码、传输等步骤,最后送到控制器进行数据处理或存储记录的过程。

数据采集系统就是将温度、压力、流量、位移等模拟量采集、转换成数字量,并进行存储、处理、显或打印的系统。

在当今社会各个领域,包括科研和实验研究,数据采集系统有着不可代替的作用,数据采集和处理进行得越及时,工作效率就越高,取得的经济效益就越大。

MATLAB产品系列被广泛应用于包括信号与图像处理、控制系统设计、通信、系统仿真等诸多领域。

它的一大特性是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集用来对信号图像进行处理。

而MATLEB提供的数据采集工具箱汇集了MATLEB集成的M文件和MEX文件动态连接库,可以实时显示通过计算机数据采集硬件采集的数据。

利用该数据采集工具箱可以方便地建立数据采集系统。

数据采集系统的历史与发展

数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。

20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。

由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因此获得了惊人的发展。

20世纪90年代至今,在国际上技术先进的国家,数据采集技术已经在军事、航空电子设备及宇航技术、工业等领域被广泛应用。

由于集成电路制造技术的不断提高,出现了高性能、高可靠性的单片数据采集系统(DAS)。

目前有的DAS产品精度已达16位,采集速度每秒达到几十万次以上。

数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。

该阶段数据采集系统采用更先进的模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速地组成一个新的系统。

现在,数据采集领域正在发生着重要的变化。

首先,分布式控制应用场合中的智能数据采集系统正在发展。

其次,总线兼容型数据采集插件的数量正在增大,与个人计算机兼容的数据采集系统的数量也在增加。

本文评述了近期市场上的数据采集产品,并进一步指出了这些产品的发展趋势。

数据采集与控制数据采集已长时间地被认为与数据记录及其它数据收集系统相等同。

在工作时,一些要打印出硬拷贝,而另一些则把采集的数据馈送给主计算机处理。

但是,随着分布式控制在各个领域里越来越普遍地应刷,数据采集设备开始同控制设备相结合。

采集和采样方式

在数据采集领域,有许多采样方式,以下介绍几种常见的采样方式。

(1)过采样(OverSampling)。

采样方式中最早是过采样,根据采样定理,采样频率fs必须高于被采信号最高频率fch的两倍,才不致产生频率混叠现象。

(2)欠采样(UnderSampling)。

在通信和动态数据的采集中,发展了一种欠采样技术,即采样频率fs可以低于信号频率fch,但信号的频带宽度不得大于,利用采样信号产生的高次谐波,将采样后的信号移至第二或者更高的奈奎斯特区。

(3)等效时间采样(EquivalentTimeSampling)。

主要是对于重复的周期波形进行等效时间采样。

(4)变速率变分辨率采样。

而常见的采集方式则有以下几种。

(1)扫描式采集(ScanningAcquisition):

时分制、多通道巡回采集。

(2)并行式采集(ParallelAcquisition):

多个通道同步并行采集,每个通道采用一个独立的A/D转换器,通道采集速率只取决于A/D的转换速率,与通道数无关。

(3)交替采集(InternativeAcquisition):

一个通道由多个A/D转换器交替采集,使每个通道采样速率等于多个A/D的转换速率之和,可以高于单个A/D的转换速率。

2数据采集系统结构

系统结构

数据采集系统主要由两部分组成:

采集子系统和计算机子系统,即下位机智能数据采集系统和上位机HMI(HumanMachineInterface)系统。

采集子系统实现将客观世界被测对象信号采集和转换为能被计算机处理的数字信号的功能等;计算机子系统实现对采集数据的控制、存储和处理等功能,计算机起着对采集数据的存储和处理、统计分析、提供人机接口与其他计算机的数据通信和交换的功能。

一般的外置式数据采集系统结构如图1所示。

模拟信号由传感器采得经过信号调理模块送入数据采集硬件设备。

在数据采集设备中完成A/D转换,包括采样、量化、编码,转化成数字信号后送入与之相连的PC机中。

根据不同的要求,在PC机上利用MATLAB以及二次编程实现数据的实时分析与处理。

用户可以通过人机交互界面修改、设定各项参数来控制数据采集硬件设备的工作状态,同时可以得到数据的采集与分析结果,从而实现数据采集与分析的自动化。

图1一般的外置式数据采集系统结构

整个系统可分为数据采集和数据分析两大部分,以友好的图形界面与用户进行交互沟通。

数据采集部分实现数据采集功能,根据用户选择的采样频率和预设的采样时间,从声卡获得用户需要的数据;数据分析部分对采集到的数据进行频谱分析。

全部数据的时域和频域波形以图形方式直观地呈现于用户面前。

此外,还提供保存数据以及回放数据的功能。

图2给出了基于MATLAB的数据采集系统的简图,主要部件数据采集工具箱提供了硬件驱动程序和MATLAB环境之间“对话”所需的硬件驱动程序适配器、数据采集引擎和M-文件函数。

图2基于MATLAB的数据采集系统简图

硬件驱动程序适配器在硬件驱动程序和数据采集引擎之间交换属性数值、数据和事件;数据采集引擎用来存储各个设备对象,以及每个设备对象的属性值;对采集到的数据进行存储并且使不同事件同步;M-文件用来创建设备对象、采集或输出数据、配置属性值和检测数据采集状态和数据采集设备。

系统的特点和性能指标

数据采集系统一般具有以下几个特点。

(1)现代采集系统一般都由计算机控制,使得数据采集的质量和效率等大为提高,也节省了硬件投资。

(2)软件在数据采集系统中的作用越来越大,增加了系统设计的灵活性。

(3)数据采集与数据处理相互结合的日益紧密,形成数据采集与处理系统,可实现从数据采集、处理到控制的全部工作。

(4)数据采集过程一般都具有“实时”特性,实时的标准是能满足实际需要;对于通用采集系统一般希望有尽可能高的速度,以满足更多的应用环境。

(5)随着电子技术的发展,电路集成度的提高,数据采集系统的体积越来越小,可靠性越来越高,甚至出现了单片数据采集系统。

(6)总线在数据采集系统中有着广泛的应用,总线技术它对数据采集系统结构的发展起着重要作用。

评价一个数据采集系统的性能有很多指标,但是一般采用以下几个比较常用的指标进行评价。

系统分辨率

系统分辨率是指数据采集系统可以分辨的输入信号的最小变化量。

通常可以用如下几种方法表示系统分辨率。

使用系统所采用的A/D转换器的位数表示系统分辨率;

使用最低有效位值(LSB)占系统满度值的百分比表示系统分辨率;

使用系统可分辨的实际电压数值表示系统分辨率;

使用满度值可以分的级数表示系统分辨率。

系统精度

系统精度是指当系统工作在额定采集速率下,整个数据采集系统所能达到的转换精度。

A/D转换器的精度是系统精度的极限值。

实际上,系统精度往往达不到A/D转换器的精度。

因为系统精度取决于系统的各个环节(子系统)的精度,如前置放大器、滤波器、模拟多路开关等。

只有当这些子系统的精度都明显优于A/D转换器的精度时,系统精度才有可能达到A/D转换器的精度。

系统精度是系统的实际输出值与理论输出值之差,它是系统各种误差的总和,通常表示为满度值的百分数。

采集速率

采集速率又称为系统通过速率或吞吐率,是指在满足系统精度指标的前提下,系统对输入的模拟信号在单位时间内所能完成的采集次数,或者说是系统每个通道、每秒钟可采集的有效数据的数量。

这里说的“采集”包括对被测物理量进行采样、量化、编码、传输和存储的全部过程。

动态范围

动态范围最早是信号系统的概念,一个信号系统的动态范围被定义成最大不失真电平和噪声电平的差。

而在实际用途中,多用对数和比值来表示一个信号系统的动态范围,指某个确定的物理量的变化范围。

信号的动态范围是指信号的最大幅度和最小幅度之比的分贝数。

系统常见的几种结构形式

数据采集系统的分类数据采集系统的结构形式多种多样,用途和功能也各不相同,常见的分类方法有以下几种。

多通道共享采样/保持器和A/D转换器数据采集系统

这种系统构成如图3所示,这种结构形式采用分时转换工作的方式,多路被测信号共用一个采样/保持器和一个A/D转换器。

当采样保持器的输出已充分逼近输入信号(按给定精度)时,在控制命令的作用下,采样保持器由采样状态进入保持状态,A/D转换器开始进行转换,转换完毕后输出数字信号。

在转换期间,多路开关将下一路信号切换到采样/保持器的输入端,系统不断重复以上的操作,可以实现对多通道模拟信号的数据采集。

采样方式可以按顺序或随机进行。

图3多通道共享采样保持器和AD转换器数据采集系统图

这种采集系统结构形式最简单,所用芯片数量少,适用于信号变化率不高、对采样信号不要求同步的场合。

如果被测信号变化速率较慢,可以不用采样保持器,直接进行A/D转换。

如果信号很弱而干扰噪声强,需要在系统电路中增加信号放大电路和滤波环节。

多通道同步数据采集系统

多通道同步数据采集系统其结构如图4所示,也属于分时转换系统。

图4多通道同步数据采集系统

多路模拟输入信号共用一个A/D转换器,但是每个通道各有一个采样/保持器,在同一采样指令控制下对各路信号同步进行信号采样,得到各路信号在同一时刻的瞬时值。

模拟开关分时将各路采样/保持器切换到A/D转换器上,进行模数转换。

这些同步数据可以描述各路信号的相位关系,所以这种结构被称为同步型数据采集系统。

多通道并行数据采集系统

多通道并行数据采集系统框图如图5所示。

这种结构形式中,每个通道都有自己的采样保持器和A/D转换器,经过A/D转换的数据经过接口电路送到计算机中。

相对于前两种数据采集系统,这种结构形式的数据采集速度最快,但所用的硬件电路复杂,成本较高。

图5多通道并行数据采集系统

分布式数据采集系统

分布式数据采集系统是数据采集技术、计算机技术和通信技术综合和发展的产物,基于“分散采集、集中管理”的思想设计的系统结构形式,由若干个“数据采集点”和上位机以及通信接口组成。

分布式数据采集系统结构如图6所示。

图6分布式数据采集系统

3MATLAB及声卡

MATLAB简介

MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB也是一种解释语言,所有的程序和指令都必须在MATLAB解释器中读入后才能运行,因而极大地限制了代码执行速度。

MATLAB强大的计算功能只能在其平台上才能使用,也就是说,必需在安装了其解释器的机器上才能使用MATLAB的M文件,这样就给工程应用带来了很大不便。

对于一般用户来讲,MATLAB只能作为离线的计算和分析工具,而不能作为实时的工程工具。

幸运的是,开发MATLAB的MathWorks公司为广大的应用者提供了应用程序接口(API,ApplicationProgramInterface)和编译器(Compiler)。

利用MATLAB和C语言交互,也可以开发基于MATLAB的数据采集系统。

如果配上数据采集线路,该系统就可以作为一个虚拟仪器来使用。

时至今日,经过MathWorks公司不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。

在国外,MATLAB已经经受了多年考验,在欧美高校,MATLAB已经成为线性代数,自动控制理论,数据统计,数字信号处理等高级课程的基本教学工具;成为大学生,硕士生,博士生必须掌握的基本技能。

在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决具体问题。

可以预见不久的将来,在国内工程界MATLAB一定会盛行起来。

数据采集工具箱及声卡简介

MATLAB的数据采集工具箱是一种建立在MATLAB环境下的M函数文件和MEX动态链接库文件的集合,包含3大区域的组件:

M文件函数、数据采集引擎及硬件驱动适配器。

它具有如下特点:

是一种通过使用与PC机兼容的、即插即用的数据采集设备在MATLAB环境中的架构;支持模拟信号的输入输出以及数字信号的输入、输出,子系统还包括同步模拟输入输出的转换;支持声卡;事件驱动采集。

声卡(SoundCard)也叫音频卡,是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。

声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,其数字信号处理器包括模数转换器(ADC)和数模转换器(DAC),ADC用于采集音频信号,DAC用于重现这些数字声音,转换率达到。

声卡已成为多媒体计算机的一个标准配置,利用声卡进行采样与输出,就不需要购买专门的采集卡可以降低虚拟仪器的开发成本,且在音频范围内可以完全满足实验要求。

MATLAB在数据采集中的应用

数据采集工具箱集成于MATLAB中,所以在进行数据采集的同时,可以对采集的数据进行实时分析,或者存储后再进行处理,或者针对数据分析的需要对测试条件的设立进行不断的更新。

应用数据采集工具箱提供的命令和函数可以控制任何类型的数据采集。

例如,在硬件设备运行时,可以获取事件信息,评估采集状态,定义触发器和回访状态,预览数据以及进行实时分析,可以设置和显示所有的硬件特性以满足用户的技术指标。

4系统设计方案

声卡是多媒体计算机系统中最基本、最常用的硬件之一,其技术发展已经成熟,它具有AD/DA转换功能,现已被广泛应用于声音信号采集和虚拟仪器系统的设计。

MATLAB则是一种功能强大、计算效率高、交互性好的数学计算和可视化计算机高级语言,它将数值分析、信号采集与处理和图形显示有机地融为一体,形成了一个极其方便、用户界面友好的操作环境。

本文所设计的声音信号采集与分析系统就是充分利用了声卡的AD/DA转换功能和MATLAB强大的数据处理功能,同时,该系统还是建立在MATLAB软件的图形界面实现的,因而使系统具有良好的交互性。

基于计算机声卡的数据采集系统有以下特点。

价格低廉。

在数据采集时,所要采用的是模数转换芯片,对于某些应用场合,可以利用计算机上所附带的声卡实现数据采集任务。

灵活性强。

用户不仅可以进行实时监视和控制操作,还可以把数据保存到硬盘,供以后分析使用。

在CPU足够快的条件下,还可以实时处理数据,动态显示波形的频谱、功率谱。

另外在一台计算机上,可以插若干块声卡,组成多通道数据采集系统。

频率范围较窄,不能测直流。

由于受声卡的硬件限制,要得到较好的波形,输入信号的频率最好在100Hz~15kHz范围内。

总之,运用廉价的声卡,构成一个较高的采样精度,中等采样频率,且具有很大灵活性的数据采集系统,对于一些应用领域是一种很好的选择。

系统结构设计

MATLAB提供了一个数据采集工具箱(DataAcquisitionToolbox),在该数据采集工具箱中,有一整套的命令和函数,可用来直接控制与PC机兼容的数据采集设备进行数据采集,因此,利用MATLAB的这一工具箱便可进行声音信号的采集。

然后在MATLAB中直接调用频谱分析函数、功率谱分析函数或数值分析函数等,就可以将采集到的声音信号分别进行频谱、功率谱分析等多种谱分析。

因此,在MATLAB中可以很容易地实现信号采集与分析处理工作,如图7所示。

图7系统实现的总体框图

系统功能设计

本系统由数据采集和数据分析两大部分组成,数据采集部分是实现信号采集功能,根据用户选择的采样频率和预设的采样样本数从声卡获得用户需要的数据。

数据分析部分主要实现以下功能。

(1)从信号采集部分获取数据,或者从数据文件读取数据。

(2)实现将采集到的声音信号数据进行频谱分析,画出频谱图以图形方式很直观地反映出信号特征。

(3)保存数据,包括保存所有数据和部分数据的功能,同时保存对应的频谱数据。

(4)显示声音信号数据的时域图和频谱图。

(5)其他功能。

根据不同的需要,还可以进行修改,以选择合适的实验方案。

系统设计实现

声音信号采集功能的实现是由MATLAB控制计算机声卡将传感器得到的模拟信号转换为数字信号并存储在计算机中;而信号分析功能是将采集得到的数据进行时、频域分析和各项数值分析等。

整个系统设计主要包括系统的硬件配置、编制程序实现数据采集、编制程序实现数据分析及系统的界面设计四部分。

声音信号采集的硬件配置

将声卡插入计算机的PCI插槽,安装好相应的驱动程序后,将声音传感器设备与声卡的模拟输入端连接起来,这就构建了声音采集的硬件设备,需要注意的是对声音传感器的选择,应选择音频专用电缆或屏蔽电缆以减小噪声信号的引入,最好能选择单向性声音传感器。

在MATLAB的信号采集工具箱中有专门为声卡生成一个操作对象的函数,初始化该操作对象即能建立MATLAB与声卡的通信,并为已创建的声卡设备对象增加数据采集通道和触发方式。

若缺省设置则系统采用一个数据通道、手动触发方式启动工作。

进行数据采集时,根据所配置的声卡的工作特性和信号分析的设计要求,可设置相应的参数来控制声卡在数据采集时的行为,如采样频率、采样时间、预计模拟信号的输入/输出范围、采样的出发方式,采样点数据的存储等。

另外需要注意的一点是采样频率是由声卡的物理特性决定的,实际应用中可以根据情况选择一个声卡支持的采样频率.MATLAB支持电平触发、事件触发和手动触发三种方式来启动数据采集工作。

声音信号采集硬件配置的具体实现过程

AI=analoginput('winsound');

chan=addchannel(AI,1);

set(AI,'SampleRate',10000)%设置采样速率为10000Hz

ActualRate=get(AI,'SampleRate');%从AI中获取实际采样速率

set(AI,'TriggerChannel',chan)%设置触发通道

set(AI,'TriggerType','software');%设置触发类型

set(AI,'Triggercondition','rising');%设置为电压上升至某值后触发

set(AI,'TriggerConditionValue',;%设置触发电压值

set(AI,'TriggerDelay',-1);%设置触发时延

set(AI,'TriggerDelayUnits','seconds');%设置触发时延的单位

set(AI,'timeout',2)%定义超时值

Fs=ActualRate;%设置采样速率

...%其它的相关设置

数据采集

启动设备对象,控制声卡开始采集数据,采集过程中可以向声卡发送控制命令,如暂停采集、退出采集等。

采集到的数据被暂时

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2