虚拟仪器、声卡及数据采集相关理论

当前栏目:论文题目 更新时间:2018-08-23 责任编辑:秩名

 本文所设计的数据采集系统是在虚拟仪器技术高速发展的背景下,利用美国 NI公司的虚拟仪器开发平台LabVIEW8.6 软件实现的。虚拟仪器技术是测试技术和计算机技术综合集成的产物,虚拟仪器从二十世纪八十年代初产生一直到现在,技术发展逐步成熟,在工业自动化、仪器制造和实验室方面应用较为广泛。本章主要介绍数据采集系统建设的软、硬件平台及所需理论基础知识。

2.1 虚拟仪器介绍

虚拟仪器(Virtual Instruments 简称 VI) 技术发展非常迅速,所有测量测试仪器的主要 功能可由①数据采集②数据测试和分析③结果输出显示等三大部分组成, 其中数据分析和结 果输出完全可由基于计算机的软件系统来完成, 因此只要另外提供一定的数据采集硬件,就可构成基于计算机组成的测量测试仪器。 基于计算机的数字化测量测试仪器就称之为虚拟仪器(VI)。

2.1.1 虚拟仪器的特点

 与传统仪器相比,虚拟仪器具有高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点。

具体表现为: 

1、智能化程度高,处理能力强,虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平.用户完全可以根据实际应用需求,将先进的信 号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次. 

2、复用性强,系统费用低 应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器.这样形成的测试仪器系统功能更灵活、更高效、更开放、系统费用更低.通过与计算机网络连接,还可实现虚 拟仪器的分布式共享,更好地发挥仪器的使用价值. 

3、可操作性强,易用灵活 虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面.使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数 据库系统或通过网络发送.测量完后还可打印、显示所需的报表或曲线 ,这些都使得仪器的 可操作性大大提高而且易用、灵活.

2.1.2 虚拟仪器的开发平台

虚拟仪器的开发平台可以分为硬件平台和软件平台。构成虚拟仪器的硬件平台有两部分,①计算机:一般为个人计算机、笔记本或工作站,是硬件平台的核心。② I/O(Input/Output,输入/输出)接口设备:大致可分为 4 类,分别为 DAQ(DataAcquisition,数据采集)、GPIB(General-Purpose Interface Bus,通用接口总线)、VXI(VME bus Extensions for Instrumentation,面向仪器扩展的 VME 总线)、PXI(PCI Extensions for Instrumentation,面向仪器扩展的 PCI 总线),因此组成了4 种虚拟仪器体系结构。无论哪种结构,都是将硬件仪器嵌入到各种计算机平台上,再加上应用软件而构成的。虚拟仪器的软件开发平台主要有两类:一类是文本式编程语言,如 Visual C++、Visual Basic、LabWindows/CVI等;另一类是图形化编程语言,如LabVIE(WLaboratoryVirtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)、HPVEE等,其中以 LabVIEW 应用最为广泛。这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。

2.2 LabVIEW 简介

所有的LabVIEW 程序都被称为虚拟仪器(VI), 因为程序的外观和操作方式都与诸如示波器、万用表等实际仪器类似。LabVIEW 包括齐全的用于数据采集、分析、显示、存储数据、调试代码的工具。 在 LabVIEW中,您可以利用控制件和显示件建立用户界面,即前面板。控制件包括旋钮、按钮等输入控件,显示件包括图表、LED 等显示器件。在完成用户界面的创建后, 您可以通过 VI和结构添加代码来控制前面板上的对象。这些程序代码就构成了程序框图。利用 LabVIEW,您可以和诸如数据采集设备、图像设备、运动控制设备等硬件进行通信,也可以和 GPIB、PXI、VXI、RS-232、RS-485 仪器通信。与 C 和 BASIC 一样,LabVIEW 也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据LabVIEW标志 显示及数据存储,等等。LabVIEW 也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。 

  LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW的程序模块。 LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

2.2.1 labview的作用

LabVIEW 在测试、测量和自动化等领域具有最大的优势,因为 LabVIEW 提供了大量的工具与函数用于数据采集、分析、显示和存储。用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。LabVIEW 不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。(LabVIEW - Laboratory Virtual Instrument Engineering Workbench)LabVIEW 是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于 C 和 BASIC 开发环境,但是 LabVIEW 与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。

2.2.2 开发工具的选择

Labview没有常规仪器的控制面板,而是利用计算机强大的图形环境,采用可视化的图形编程语言和平台,以在计算机屏幕上建立图形化的软面板来替代常规的传统仪器面板。软面板上具有与实际仪器相似的旋钮、开关、指示灯及其他控制部件。在操作时,用户通过鼠标或键盘操作软面板,来检验仪器的通信和操作。

除上述特点之外,与传统仪器编程工具Visual Basic,Visual C++相比,Labview还有如下几个方面的优势。  

  (1)Labview用户可以才根据自己的需要灵活地定义仪器的功能,通过不同功能模块的组合可构成多种仪器,而不必受限于仪器厂商提供的特定功能。  

  (2)Labview将所有的仪器控制信息均集中在软件模块中,可以采用多种方式显示采集的数据、分析的结果和控制过程。这种对关键部分的转移进一步增加了虚拟仪器的灵活性。  

  (3)由于Labview关键在于软件,硬件的局限性较小,因此与其他仪器设各连接比较容埸实现。而且虚拟仪器可以方便地与网络、外设及其他应用连接,还可利用网络进行多用户数据共享。

  (4)Labview可实时、直接地对数据进行编辑,也可通过计算机总线将数据传输到存储器或打印机。这样做一方面解决了数据的传输问题,一方面充分利用了计算机的存储能力,从而使虚拟仪器具有几乎无限的数据记录容量。

  (5)Labview利用计算机强大的图形用户界面(GUI),用计算机直接读数。根据工程的实际需要,使用人员可以通过软件编程或采用现有分析软件,实时、直接地对测试数据进行各种分析与处理。

  (6)Labview价格低,而且其基于软件的体系结构还大大节省了开发和维护费用。

2.3 声卡的工作原理

声卡是多媒体电脑的主要部件之一,它包含记录和播放声音所需的硬件。声卡的种类很多,功能也不完全相同,但它们有一些共同的基本功能:能录制话音(声音)和音乐,能选择以单声道或双声道录音,并且能控制采样速率。声卡上有数模转换芯片(DAC),用来把数字化的声音信号转换成模拟信号,同时还有模数转换芯片(ADC),用来把模拟声音信号转换成数字信号。 声卡上有音乐数字接口(MIDI),能使用MIDI乐器,诸如钢琴键、合成器和其它MIDI设备。声卡有声音混合功能,允许控制声源和音频信号的大小。好的声卡能对低音部分和高音部分进行控制。声卡上还有一个或几个CD 音频输入接口,用以接收CD-ROM的声音采集信号。

声卡的工作原理: 麦克风和喇叭所用的都是模拟信号,而电脑所能处理的都是数字信号,两者不能混用,声卡的作用就是实现两者的转换。从结构上分,声卡可分为模数转换电路和数模转换电路两部分,模数转换电路负责将麦克风等声音输入设备采到的模拟声音信号转换为电脑能处理的数字信号;而数模转换电路负责将电脑使用的数字声音信号转换为喇叭等设备能使用的模拟信号。

2.4音频数据采集原理(声卡)

在数据采集系统中存在两种信号: ①模拟信号 被采集物理量的电信号. ②数字信号— 计算机运算,处理的信息. 数字信号 计算机运算,处理的信息.

数据采集(Data Acquisition) 是所有测试测量的首要工作,试验测试产生的物理信号通过传感器转换为电压或者电流一类的电信号,然后通过数据采集卡将电信号采集传入PC机,借助软件控制数据采集卡进行数据分析、处理。LabVIEW以其简便的程序编写、不同数据采集卡的支持、强大的数据处理、友好的人机界面使其成为控制、开发数据采集卡的最佳软件。

声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,将该数字信号转换为模拟信号输出。声卡的基本工作流程为[2]:输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到音箱等设备转换为声波,人耳侦测到环境空气压力的改变,大脑将其解释为声音。

衡量声卡的技术指标包括复音数量、采样频率、采样位数(即量化精度)、声道数、信噪比(SNR)和总谐波失真(THD)等,主要介绍如下:

(1)复音数量 代表了声卡能够同时发出多少种声音。复音数越大,音色就越好,播放声音时可以听到的声部越多、越细腻。

(2)采样频率 每秒采集声音样本的数量。采样频率越高,记录的声音波形就越准确,保真度就越高,但采样数据量相应变大,要求的存储空间也越多。

(3)采样位数 将声音从模拟信号转化为数字信号的二进制位数(bit)。位数越高,在定域内能表示的声波振幅的数目越多,记录的音质也就越高。例如,16位声卡把音频信号的大小分为216=65536个量化等级来实施上述转换。

   目前一般的声卡最高采样频率可达96KHz;采样位数可达16位甚至32位;声道数为2,即立体声双声道,可同时采集两路信号,需要时还可选用多路输入的高档声卡或配置多块声卡;每路输入信号的最高频率可达22.05 KHz,输出16位的数字音频信号,而16位数字系统的信噪比可达96dB。