admin管理员组

文章数量:1566220

2024年1月11日发(作者:)

2009年2月             第2期ELECTRONICTEST电子测试Jan.2009             No.2基于声卡的音频信号采集与分析系统设计曲喜强,刘 哲(中北大学信息与通信工程学院 太原 030051)摘 要:声卡作为数据采集卡具有价格低廉、开发容易和系统灵活等优点。本文详细介绍了系统的开发背景,软件结构和特点,系统地分析了数据采集硬件和软件设计技术,在此基础上以声卡为数据采集卡,以LabVIEW为开发平台设计了音频信号采集与分析系统。该系统具有界面友好,维护简单等优点。系统不但可以实现对音频信号进行采集,还可以对采集的信号进行分析和保存。用户可以根据需要改变系统的功能,具有很好的教学实验效果。关键词:声卡;数据采集;LabVIEW中图分类号:911.6  文献标识码:AAudiosignalacquisitionandanalysissystemdesignbasedonsoundcardQuXiqiang,LiuZhe  (SchoolofInformationandCommunicationEngineering,NorthUniversityofChina,Taiyuan030051)Abstract:Comparedwiththedataacquisitioncard,thesoundcardhasthefollowingmerits:low2price,paper,thedesigntechnologyofhard2wareandsoftwarehasbeenintroducedindetail,includingthebackground,base,thesoundcardandLabVIEWhasbeenusedtodeveloptheaudiosignalacquisitionandanalysissystem,rtomeettheneed,eenindicatedinds:Soundcard;DataAcquisition;LabVIEW0 引  言近年来随着教育规模的不断增长和高校课程的不断更新,许多院校实验室的仪器设备由于价格昂贵,数量不够,功能落后等原因无法满足实验教学要求。虚拟仪器技术克服了传统仪器功能单一,无法配置等缺点。利用一套数据采集的硬件设备,通过不同软件编程,就可以实现多个仪器的功能。采用虚拟仪器技术,不仅可以大大节约经费,还可以提高实验教学水平[1],为高校实验室建设提供一条可行的途径[2]。目前大部分虚拟仪器都是基于数据采集卡,如NI公司的E系列数据采集卡、研华的数据采集卡等,这些卡价格均比较昂贵。在采样频率要求不高的情况下,可以利用计算机的声卡作为数据采集的75电子测试ELECTRONICTEST© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.

2009.2TestTools&Solution模式和采样点数后,启动声卡开始采集,获取的数据通过DMA方式存至指定缓冲区,然后一路用于波形显示,另一路则用于文件存储。当按下停止按钮或出现异常错误时,声卡停止采集,清空采集数据,并释放相关资源。因此本软件分成了如下几个模块进行设计。2.1 声卡配置模块输入和输出。声卡是一个非常优秀的音频信号采集系统,其数字信号处理器包括模数转换器(ADC)和数模转换器(DAC),ADC用于采集音频信号,DAC用于重现这些数字声音,转换率达到44.1KHz[3,4,5]。声卡已成为多媒体计算机的一个标准配置,利用声卡进行采样与输出,就不需要购买专门的采集卡可以降低虚拟仪器的开发成本,且在音频范围内可以完全满足实验要求。由于计算机在各个高校已经普及,采用声卡研制虚拟仪器能以很低的成本、在较短的时间内更新和扩充实验室设备,在全新的实验平台上开发综合性和设计性的实验。图1为声卡参数配置模块。用户可以根据自己的需要对采样频率、采集方式等参数进行设计,设置完毕后点击“设置完毕”按钮,即可完成音频信号采集参数的设置,本模块默认设置采样频率为44.1kHz,采样位数为16位,采样方式为单声道。1 硬件设计声卡一般有LineIn和MicIn两个信号输入插孔,信号可通过这两个插孔连接到声卡。若由MicIn输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,而使用LineIn,其噪声干扰小且动态特性良好。因此本文用麦克风作为声音传感器,通过LineIn插孔输入。图1 声卡参数配置模块2.2 数据采集模块2 软件设计LabVIEW是一种基于G语言的图形化虚拟数据采集模块根据用户设置的声音格式从声卡获得数据。LabVIEW下提供了声卡信号采集的函数,因此本模块直接调用LabVIEW的函数。整个程序采用while循环和事件结构控制。为便于后续的处理和用户查看,本模块还具备了数据保存的功能。仪器开发工具,主要用于数据的采集、分析、处理和表达,总线接口、VXI仪器以及GPIB与串口仪器的驱动程序编制和虚拟仪器驱动。它与C、Pascal等传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具等。与传统编程语言最大的区别是LabVIEW使用图形语言(即各种图标、图形符号、连线等),以框图的形式编写程序。采用这种图形化的编程方式,再加上大量专业控件(Controls)和函数(Functions)的提供,使之具有极高的编程效率和优秀的编程效果[5]。在最新版LabVIEW8.20的Graphics&Sound模块下,提供了声卡的相关VIs,如SICon2fig、SIStart、SIRead、SIStop等,借此即可实现对声卡的控制[6]。其基本流程为设置→采集→读数→停止。当设定好声卡的设备ID、音频格式、采样76图2 数据采集前面板2.3 信号分析模块通常情况下,在获取到一个信号后,往往需要对信号进行一系列的分析,从而获得信号中所包含的信息。分析一个信号,一般也是从输入信号中提电子测试ELECTRONICTEST© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.

测试工具与解决方案取有用信息开始的,再对信号进行时域或者频域上的分析。为达到这一目的,本模块包含了信号时域参数的测量,信号幅度相位谱、功率谱等参数。本模块首先读取采集的信号波形,用户可以根据自己的需要,选择需要分析数据长度。根据用户选定的数据长度,进行信号时域参数、功率谱、和幅度相位谱的测量。其中信号参数测量包括周期平均幅值,周期均方根,峰峰值等信号参数等测量。幅度相位谱可以显示信号的幅度、相位和频率分布范围。功率谱则可以用来分析信号的频域信息。况下,使用这种方法具有很好的应用前景。  参考文献2009.2我国高校的大规模扩招,实验室建设经费短缺的情[1] 裘伟廷.基于LabVIEW的虚拟仪器和虚拟实验[J].现代科学仪器,2002,2002(3):20223.[2] 何光宏,陶纯匡.虚拟现实、虚拟仪器及其对大学物理实验室建设的影响[J].大学物理实验,2003,16(2):17221.[3] 郝张红,刘先勇等.基于声卡的音频信号采集与处理[J].微计算机信息,2007,2007(23):98299.[4] 赵贤凌,田启川等.声卡在虚拟仪器采集系统中的应用[J].科技情报检索与开发,2008,2008(8):1462148.[5] 侯国屏等.LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.[6] 陈锡辉,张银鸿等.LabVIEW8.2程序设计从入门到精通[M].北京:清华大学出版社,2007.[7] 金赟,孙晶.基于声卡的虚拟双踪数字存储示波器[J].仪器仪表用户,2008,2008(15):42243.[8] 冯尔理,周开利等.基于虚拟仪器的电子实验平台设计[J].海南大学学报自然科学版,2007,2007(7):2172220.[9] 程佩青等.数字信号处理教程[M].北京:清华大学图3 信号分析模块出版社,2001.[10] 郑南宁等.数字信号处理[M].北京:清华大学出版3 结  论本文采用声卡代替商用的数据采集卡,利用LabVIEW强大的图形化编程功能,设计了对音频社,2007.作者简介曲喜强,(19752),男,汉族,山东威海人,中北大学信息与通信工程学院助教,硕士,研究方向:测试计量技术与仪器,虚拟仪器E2mail:seagull2000306@信号的采集与分析系统。该系统界面友好,数据存储方便,而且具有扩展性强的优势。此外用户可以在PC上配置多块声卡并行工作,通过对软件进行简单修改即可构成一个多通道数据采集系统。在电子测试ELECTRONICTEST77© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.

本文标签: 采集信号声卡数据分析