基于Labview的声卡数据采集与处理系统设计

2018-08-25 08:14:48胡成娟
电子设计工程 2018年16期
关键词:声卡音色模块

胡成娟

(陕西学前师范学院网络与信息中心,陕西西安710061)

随着嵌入式技术的发展,数字音频采集技术得以广泛使用。这种背景下,人们对数字音频产品提出更高的要求,过去运用单一的处理器无法达到系统实时性、高效性等方面的需要。由于现代计算机技术的不断发展,LabVIEW图形编程技术得到广泛使用。LabVIEW是由NI公司研发的虚拟仪器平台软件平台,是运用图表替代文本创建应用程序的图形化编程技术[1]。有学者研究就指出,运用LabVIEW软件中的声卡子虚拟器能有效控制计算机声卡,组成具备高采样精度、采样率处在48 kHz的数据采集系统,从而满足数据采集需要,顺利实现离线信号处理功能,如:显示存储数据、信号时频域分析等情况[2]。必须注意,若必须对采集数据展开复杂的运算时,上述系统执行效果并不理想。加之,这种采集系统并未配置实时处理功能,就是需要在存储进程结束后,方可对数据开展后续的处理。因此,为满足多领域对数据采集实时处理的需求,设计价格低廉、操作灵活的数据采集与处理系统尤为重要。本文以LabVIEW软件为研究对象,设计一款声卡数据采集与分析系统,该系统可顺利实现声卡数据采集与处理进程,顺利实现边采集边处理的功能。此外,由于LabVIEW软件中的MATLAB节点,促使该系统顺利完成复杂的运算任务,展现出较强的普适性,可以扩展至多个领域使用。

1 工作原理及系统结构

声音作为一种振动波,其包含幅值、频率等一系列的属性,可以发生连续性变化。声卡能够检测出声音信号,并配置相应的信号处理电路,从而把声音模拟信号转变为数字信号,提供给PC计算机分析和存储,也能把声音数据转为模拟信号实现输出[3-4]。其操作流程见图1。集成于计算机上的声卡系统运用DSP芯片实现语音信号的采集,在DSP芯片内配备RAM,从而暂时存储数据信息。同时,也要对数据实施恰当的处理,把声音信号进行编码、解码操作,并依托自带数模转换器,达到声音信号模拟化、数字化间的快速便捷转换。声卡数字化声音接口主要包含直接传输与DMA传送两种方式,前一种方法是因应用程序直接依托数字信号处理器把声音数据实施输入输出,这些数据均为8位或者16位脉冲编码调制PCM数据;后一种DMA传输方法把声音信号在数字信号处理器内实现输入或输出[5-6]。

图1 声卡工作流程图

2 声卡数据采集与处理系统

2.1 设计系统硬件

声卡主要包含Line In、Mic In这两信号的输入输出孔,声音传感器信号可依托这两个插孔与声卡实现连接。如果信号自Mic In输入,会适当放大所采集的数据。加之,因配备前置放大器,极易引起噪声且会使得信号过负荷,因此,Line In具有噪声干扰较小、动态性好等优点,具有推荐应用的价值。而引入声卡测量信号,可使用音频或者屏蔽电缆,有效降低噪声产生的干扰。当输入的信号电平比声卡设定的最大输入电平高,可以在声卡输入插孔与被测量信号间安装衰减器,并把被测信号衰减到不超过声卡最大的允许输入电平[7-8]。同时,把声卡LineOut端口连接到耳机,达到实时监听声音信号的目的[9]。信号记录仪器运用计算机,将内置声卡当做A/D转换设置,硬件结构见图2。

图2 设计系统的硬件结构

被检测出来的信号通过传感器转变为电荷,信号调整器将电荷转变成电压,并放大给数据采集卡。这种情况下,计算机借助LabVIEW软件对采集的声音默认设置为其所处操作系统,本次研究应用最普通的声卡,对高级高级声卡信号进行采集过程中,要及时关闭混响等特效设置,防止这些噪声影响最终结果的真实性。虚拟仪器采集信号实现流程如图3所示。

图3 信号测试环节流程图

2.2 设计系统软件

应用LabVIEW软件当做虚拟一起的开发工具,必须关注以下两个方面的内容:1)系统软件前面板设计与布局:LabVIEW软件能够为系统开发人员提供大量前面板控件,以此达到进一步优化设计界面的目的。同时,所设计的系统也支持开发人员自行创造出来新的控件,以此满足自身操作的各项需求。必须注意,前面板设计要达到布局合理、操作方便等方面的要求。2)程序框图编程顺利实现,主要包含以下几个模块的内容,例如:设置声卡、信号分析、声音播放等,如图4所示。

图4 系统主体部分简图

2.2.1 设置声卡模块

对音频数据进行采集前,先要设置相应的参数,例如:设备的ID、采样模式、每条通道采样数(512/1024/2048/8196)等,其中,设备ID为从多块声卡所组成的多通道数据采集系统,对其进行设置尤为重要。声卡设置界面如图5所示。

图5 声卡设置面板

2.2.2 数据采集处理模块

数据采集模块依据使用者设定的采样频率、数量等信息对声音数据进行采集。系统把采集得到的声音数据频域及时域图像依次显示在系统前置界面中,并将上述数据保存起来。同时,还要对采集的数据开展分析处理,获得最终的检测结果。因PCM波形格式的文件模式信息质量较好,本系统采用这种模式保存音频数据。声音数据采集主要运用LabVIEW自带声卡采集函数VI进行编写,这些VI能通过执行函数面板—编程—图像与声音中找到,用于读取或停止声音输入、启动声音输入、声音输入清零等函数VI[10-11]。对采集数据处理如图6所示。

图6 数据处理框图

2.2.3 信号分析模块

这个模块就是对由数据采集模块采集的数据或由文件重载前采集并存储的数据,对其展开频域和时域分析并显示相应的域图。此外,用户也能对数据实施分段处理,甚至对选择的数据按频段完成分析。LabVIEW软件所提供的编程环境及数据流驱动方法,促使用户能够直观看到程序代码并执行响应操作[13]。本次设计的声卡数据采集与处理系统充分应用LabVIEW中的多线程技术,为整个系统数据采集、信号分析等操作自动配置优先级,有效预防单线程系统中发生调用阻塞的情况,也不会浪费CPU运行时间。如:用户的接口操作被分配给一个特定线程,并对其赋予较低的优先级,移动面板窗口这种事件不会对数据采集时间,确保系统稳定、可靠地运行[14-15]。该VI主要通过LabVIEW内的While Loop结构顺利实现信号采集、存储等功能。此外,利用Sound Input、Signal Processing模板内的节点实现信息采集、功率谱分析等处理。而在进行信号分析前添加Butterworth低通滤波器。能够对原始数据实施平滑滤波处理,有效消除噪声干扰,提升信噪比。与模拟滤波器比较,这种滤波器无需配置精度较高的组件,且不会由于温度、湿度改变出现误差。

2.2.4 设计声音播放模块

对于所有采集的声音信息实施存储后,便于随时播放。在播放声音功能模块中,主要功能为显示波形、合理调节音量等。为清晰展示所播放声音的图形,波形图利用两种颜色的双通道信号完成处理。声音播放前面板见图7。

图7 声音播放模块前面板效果图

3 系统测试实例

3.1 系统测试方法

本次实验中选择6弦吉他发出的单一声色,每一根弦所用材料相同,均属于圆柱状且处于绷紧状态,但粗细有所不同,用手指拨动这些弦能够发出各种不同音色,而同一根弦经过对其振动部分的长度进行控制,达到改变弦发出音色的目的。进行测试过程中,将麦克风设置在距离弦50 mm处并进行固定处理[17]。随之,有选择的拨动该吉他各条弦,所产生的音频信号通过麦克风采集发出9种音色,每一种音色每次采集时间设定为2 s,所采集的数据利用LabVIEW显示并实施相应的处理。

3.2 系统测试结果

现实条件下,设定吉他的一个单音色为标准声音,随之开展200组相同及不同的检测,共对9个音色实施相同的测试。其中,把被测和标准声音信号波形、测试结果保存下来,测试结果见表1。

根据上表的数据可知,在标准的信号3%误差范围之内总的检测准确度大于88%,最高能达到93.76%,表明所设计的声卡数据采集与处理系统准确度、稳定性比较高,如果适当改变误差的阀值,其准确度也会发生明显改变,见图8。表明如果误差阀值处在3%~5%范围之内,测量准确度处于最高状态。

表1 吉他相同与不同音色测试结果

图8 平均准确度与误差阀值的相关性

4 结论

总之,本次研究设计一款依托LabVIEW多线程技术的声卡数据采集与处理系统[18],该系统能实时对声音信号实施采集、分析等操作,即可及时获得高效的检测结果,并把所采集的声音数据及检测结果均被存储下列,便于后期进行调用检验。在此基础上,依托对吉他多音色实例测试,本文所设计的系统配备友好的操作界面,总体检测准确度、稳定性较高,满足语音识别、噪杂环境声音监测等方面的需求。

猜你喜欢
声卡音色模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
擅长营造美好的音色 Marantz SA-10 S1/PM-10 S1
论长笛演奏的音色变化
北方音乐(2017年4期)2017-05-04 03:40:10
从辉煌到柔美——七彩音色之西方管乐篇
学与玩(2017年6期)2017-02-16 07:07:16
选修6 第三模块 International Relationships
集成水空中冷器的进气模块
麻雀成凤凰 本本声卡变X—Fi
用心聆听,“高清”声卡进阶技
耳机也玩功放淘汰音箱巧改耳机放大器