基于LabVIEW和声卡的虚拟仪器设计方案

2015-07-20 08:38:10   来源:dzsc   

关键字: LabVIEW  声卡  虚拟仪器

导读:为了在对采样频率要求不高的情况下进行信号的生成和分析,采用声卡取代价格昂贵的数据采集卡进行采样和输出,利用虚拟仪器开发软件LabVIEW,分别设计和实现了基于声卡的虚拟信号发生器和虚拟示波器。信号发生器可以产生方波、三角波等常用波形和自定义波形,示波器具有波形显示、图像暂停和截取以及频谱分析功能,所设计的虚拟仪器具有友好的人机界面,只需两台计算机即可进行完整的自测试。

  在电子与通信行业以及试验测试中,信号发生器和示波器是应用最广泛的电子测量仪器。传统仪器的技术和性能都已经比较成熟,但存在体积较大、不易携带、功能固定、并且价格昂贵等缺点。虚拟仪器是计算机技术与仪器技术深层次结合产生的产物,代表了当前测试仪器的发展方向之一。虚拟仪器系统的必备组件包括功能强大的编程工具、灵活易用的数据采集硬件及个人电脑。在实际测量中,需根据需求选择相应的数据采集卡,但这些卡的价格均比较昂贵,而同样具备A/D功能的声卡是一个非常优秀的音频信号采集系统,具有16位量化精度,数据采集频率可达到44.1 kHz且已成为大多数计算机的标准配置,当所研究信号的频率范围在音频范围内(20 Hz~20 kHz)时,利用声卡进行数据采集便是一个更好的选择。

  文中基于虚拟仪器的设计概念,利用方便廉价的计算机声卡分别设计和实现了虚拟信号发生器和虚拟示波器,特别适合于实验室环境下低频信号的产生与分析。本文使用声卡进行A/D、D/A转换以及信号的采集和播放,使用LabVIEW软件设计了虚拟仪器的前面板并实现相关信号的运算、分析和处理。所设计的虚拟信号发生器和示波器具有传统仪器的功能,相比于传统仪器,具有成本低廉、使用方便、扩展性强等优点。

  1 虚拟仪器技术和声卡工作原理

  1. 1 虚拟仪器的特点

  虚拟仪器首先是由美国国家仪器公司于20世纪80年代中期提出来的,实现“软件即仪器”的概念。随着计算机技术和大规模集成电路的飞速发展,虚拟仪器技术也得到了很大的发展。虚拟仪器的实质是将传统仪器硬件和计算机软件技术结合起来,以实现并扩展仪器的功能。计算机软件是虚拟仪器的核心,硬件只是为了解决信号的输入输出,虚拟仪器集成了仪器的所有采集、控制、数据分析、结果输出和用户界面等功能,使传统仪器的部分硬件甚至整个仪器都被计算机软件代替。

  虚拟仪器实现了仪器的智能化、模块化和多样化,体现出多功能、低成本等操作优点。与传统仪器相比,虚拟仪器具有更广的应用领域,因此它成为仪器行业发展的一个重要方向,并受到许多国家仪器行业的重视。

  虚拟仪器开发平台目前主要有两类:一类是基于传统语言的Turbo C,Microsoft公司的Visual Basic与Visual C++等,这类语言需要开发人员有较多的编程经验和较强的调试能力;另一类是专业图形化编程软件,如HP公司的VEE,NI公司的LabVIEW和LabWindows/CVI等。

  1. 2 LabVIEW开发平台

  LabVIEW是一个很好的图形化开发环境,专为数据采集和仪器控制而设计,它将信号采集、测量分析和数据显示功能集中在同一个开放式的开发环境中。LabVIEW具有丰富的库函数供用户调用,图形化的编程语言简单直观、开发速度快,在编写程序的同时可以自动生成图形化用户界面,可充分利用计算机强大的计算和显示功能,被广泛应用与自动控制和测试领域中。

  1. 3 声卡工作原理

  声音的本质是一种波,表现为振幅、频率和相位等物理量的连续变化。声卡是计算机进行声音处理的适配器,它有3个基本功能:一是音乐合成发音功能;二是混音器(Mixer)功能和数字信号处理(DSP)功能;三是模拟声音信号的输入和输出功能。声卡是一个非常优秀的音频信号采集系统,其数字信号处理包括模数变换器ADC(Analogue Digital Converter)和数模变换器DAC(Digital Analogue Converter),ADC用于采集音频信号,DAC则用于重现这些数字声音。

  声卡的技术指标包括采样频率、采样位数(量化精度)、声道数、复音数量、信噪比(SNR)和总谐波失真(THD)等,其中采样频率、采样位数是主要指标。现在的声卡一般采用PCI接口,具有16位采样精度,支持双通道,最高采样频率达44.1kHz。

  声卡已成为多媒体计算机的一个标准配置,因此基于声卡的虚拟仪器具有成本低,兼容性好,通用性和灵活性强的优点,驱动程序升级方便,可以不受硬件限制,安装在多台计算机上,具有很好的可行性。

  2 虚拟信号发生器设计

  文中在LabVIEW开发平台下设计并实现了双通道虚拟信号发生器,设计中主要利用了LabVIEW提供的声卡驱动函数,所设计的双通道虚拟信号发生器能够产生常用的基本波形,并且实现了频率显示,频率调节,幅值调节,直流偏置调节和频率扫描等功能。整个程序结构设计采用在LabVIEW状态机的基础上引入事件结构的方法,提高了程序的运行效率。

  2.1 LabVIEW中有关声卡信号输出的主要函数

  在虚拟信号发生器的设计中,用到了LabVIEW软件“声音输出”模块部分的函数,如图1所示。下面对设计过程中用到的主要函数及其功能作简单介绍:

  1)“配置声音输出”函数。该函数的作用是配置一个生成数据的声音输出设备,初始化声卡的配置,包括采样频率,采样模式,声卡参数等。

  2)“设置声音输出音量”函数。该函数用来设置声音输出设备的播放音量。

  3)“写入声音输出”函数。该函数将准备好的数据写入声卡驱动程序进行播放输出。

  4)“声音输出清零”函数。该函数使设备停止播放音频,清空缓存,将任务返回至默认的未配置的状态,并清空与任务相关的资源,将任务变为无效。

基于LabVIEW和声卡的虚拟仪器设计与实现

 

  2.2 虚拟信号发生器的前面板设计

  前面板为用户提供了友好的操作界面,本文根据传统仪器的操作面板和本仪器所能实现的功能设计了虚拟信号发生器的前面板,如图2所示。前面板主要由四个部分组成,包括波形显示部分、公共参数设置部分、CH1通道和CH2通道设置部分。波形显示部分用于显示两个通道的输出波形,公共参数设置部分用于设置声卡的采样率、通道数、采样位数、缓冲区大小和音量,CH1和CH2通道进行设置每个通道生成的波形参数,包括波形类型、频率、偏移量、幅度、方波占空比、噪声等,并可以利用公式输出自定义波形。

[1] [2] [3]

Warning: file_put_contents(/Data/webapps/cms/SSI/../caches/cache_relativedata/http://www.eeworld.com.cn/Test_and_measurement/2015/0720/article_12367.html) [function.file-put-contents]: failed to open stream: No such file or directory in /Data/webapps/cms/phpcms/libs/functions/global.func.php on line 2150
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0720/article_12367.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文