数据采集系统-毕业论文 联系客服

发布时间 : 星期五 文章数据采集系统-毕业论文更新完毕开始阅读5c4b64757fd5360cba1adbea

设计的,它是一种编程语言而不仅仅是一个软件开发环境。它除了编程方式不同外,具有编程语言的所有特点,称之为图形化编程语言(简称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之间进行数据交换的输入/输出口,就象传统编程语言子程序的参数。

13

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)采样信号好,最好的采样通道形式是stereo 16-bit,这样采样的波形稳定,而且干扰小。另外,用单声道采样,左右声道信号都相同,而且每个声道的幅值只有原信号幅值的1/2;采用立体声采样,左右声道互不干扰,可以采两路不同的信号,而且采样的信号幅值与原幅值相同。

当然,还有一个重要的原因是,如果选择mono(单声道),SI出来的数据是标量,不能组成数组,进而不便于数据的各种处理。所以在设计中我采用stereo 16-bit进行双声道采样。

声卡的采样频率(rate)有4种选择,即8000Hz,11025Hz,22050Hz和44100Hz,采样频率不同,采到的波形的质量也不同,应视具体情况采用合适的频率,在设计中,为了得到良好的演示效果,我采用了44100Hz的采样频率。而在采样率的选择方面,我采用了一个case循环,目的是在采样率为44100Hz的条件下,在循环内产生波形数据。这个在

14

后面波形产生模块中进行详细解释。

主要操作说明; 在block diagram:

Functions → Graphics & Sound → Sound → Sound Input 选择Sound Input函数。 1) Functions → Structures → While Loop 选择While循环。 2) Functions → Structure → Case 选择Case 循环。

3) 右键点击SI Config 函数的Sound Format输入,选择create control,自动生成Sound Format簇类型控键。其中包含三项数据,分别为:sound quality;rate;bits persample。

4) 右键点击SI Config 函数的Buffer Size输入,选择create control,自动生成无符号长整数类型的控键。

5)Functions → Cluster → Unbundle 选择Unbundle 函数。对输入簇Cluster 进行解包。当接入cluster输入参数后,输出端子数自动调整为与cluster元素数目相同。

6)声卡参数设置如如图3-3-1

图3-3-1 数据采集参数配置

3.4.1声音输入配置虚拟仪器

Sound Input Configure .Vi 的前面板如图3-4所示。

Sound Input Configure .Vi 的前面板是对声卡参数的一些设置,这些设置必须能够满足设计的需要。参数设置如图3-4所示。

15

图3-4 Sound Input Configure .Vi 的前面板

Sound Input Configure .Vi 的后面板如图3-5所示。

图3-5 Sound Input Configure .Vi 的后面板

程序说明:

Sound Input Configure,该函数的主要功能是设置声卡中与数据采集有关的一些硬

16