LabVIEW阵列语音处理系统实验平台设计
2016-12-05周城旭王冬霞张东旭
周城旭, 王冬霞, 吕 义, 张东旭
(辽宁工业大学 电子与信息工程学院, 教务处,辽宁 锦州 121000)
LabVIEW阵列语音处理系统实验平台设计
周城旭, 王冬霞, 吕 义, 张东旭
(辽宁工业大学 电子与信息工程学院, 教务处,辽宁 锦州 121000)
介绍了基于LabVIEW麦克风阵列语音处理系统实验平台的设计。该平台LabVIEW的前面板采用模块化设计,包括语音采集模块、语音分析模块和语音增强模块三部分。采集模块利用PXI设备对语音源信号进行阵列同步实时采集;分析模块对采集到的语音信号进行语音特征分析,前面板还设置帧长和帧间重叠数等参数调节模块;增强模块采用阵列波束形成算法对采集模块采集到的语音信号进行增强处理。该模块采用LabVIEW与Matlab相结合,即利用LabVIEW前面板调用阵列波束形成Matlab程序包来完成,阵列波束形成算法也可以自行修改。计算机仿真实验结果验证了该实验平台的有效性。
LabVIEW; 语音处理实验平台; 麦克风阵列; Matlab
0 引 言
语音信号处理这门学科之所以能够长期深深地吸引广大科学工作者不断对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿科学保持密切联系,并且一起发展[1]。语音信号处理是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理·生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系[1]。
由于背景噪声的非平稳性,利用单个麦克风进行语音增强已经越来越无法满足实际的需求。近些年,麦克风阵列被广泛的应用于语音信号处理中。麦克风阵列提供方向性指向,滤除其它方向的背景噪声,接收某一方向上的期望信号[2]。而麦克风阵列指向性通过波束形成算法来实现,波束形成算法有很多,主要分为固定波束形成和自适应波束形成两类[3]。
仿真平台设计如果单纯采用Matlab语言编程实现,其界面功能有很大的局限性[4]。而仅利用LabVIEW语言,编程复杂,开发周期长[5]。本文以Matlab为编程工具,通过LabVIEW调用Matlab程序包进行控制。Matlab与LabVIEW结合在一起构建成“阵列语音处理系统实验平台”,该平台采用模块化设计,实现语音信号的采集、分析和语音增强,如图1所示。语音信号的采集模块是通过NI公司PXI设备进行声音信号的实时采集,用于语音信号增强处理的源信号。原始信号分析模块可以对要处理的语音信号进行分析,包括时域分析、语音信号短时能量和短时过零率等。语音增强模块可以对麦克风阵列多路语音信号采用多种波束形成算法进行增强处理。通过该实验平台对麦克风语音信号进行采集、分析和增强的仿真。
图1 模块化设计结构图
1 语音信号采集模块
数据采集是LabVIEW的核心技术之一,也是LabVIEW与其他编程语音相比的优势所在,甚至可以认为,数据采集是LabVIEW最大的功能[6]。利用NI公司的PXI设备进行语音信号的实时采集,PXI设备是1997年NI公司发布的专为工业数据采集与仪器仪表测量应用领域而设计的模块化仪器自动测试平台[7]。它以其高的性价比,得到了广泛的使用。PXI设备可以直接连接到PC机上,并且可以随意扩展I/O模块,它因为构架的开放性、灵活性和PC机技术的成熟性,为数据采集领域带来了新的变革。
PXI设备主要由机箱、采集模块和系统控制器组成,如图2所示。
图2 NI PXIe-1071采集设备
机箱是整个系统模块化的封装结构,根据槽位的不同分为4~18槽不等,本文采用4槽机箱。每个槽位可以同时采集8通道的语音信号,称作采集模块,该采集模块可允许32通道语音信号同时间实时采集。
PXI采集设备分为存储采集和实时采集两种形式。存储采集是将采集到的信号保存为TDMS格式,这种文件格式是一种特定类型的二进制文件,专用于NI产品[8]。它实际上包含了两个单独的文件:数据属性的XML文件和用于表示波形的二进制文件。LabVIEW的前面板如图3所示,包括通道选择、供电类型、采样频率和保存路径等设置。
实时采集是PXI设备的最大优势,可以对语音信号进行实时采集、实时处理。由于LabVIEW语音是通过数据流形式运行程序,所以可以高效率实时处理采集到的信号,避免了Matlab语言先存储再处理,运算效率低的问题。实时采集的前面板包括通道选择、采样频率和麦克风设置等参数,并且可以实时显示所采集信号的时域能量和频谱图,如图4所示。
2 语音信号分析模块
2.1 短时能量
设语音波形时域信号为x(l),加窗分帧处理后得到的第n帧语音信号为xn(m),则xn(m)满足下式:
1 (1)
(2)
式中:n=0,1T,2T,…;N为帧长;T为帧移长度。
由于语音信号的短时平稳性,所以需要对所接收到的信号进行分帧处理。在LabVIEW中,可以直接调用Matlab语句进行分帧处理,也可以直接利用数据流编程,如图5所示。
Y为采集的语音信号,利用数组大小控件和几个运算控件计算出帧数,然后用两个while循环结构重新构建二维数组,行为帧数,列为帧长。反馈节点用于将子VI、函数或一组子VI和函数的输出连接到同一个子VI、函数或组的输入上,即创建反馈路径,用于保
图3 PXI设备存储采集前面板
图4 PXI设备实时采集前面板
图5 语音信号分帧程序框图
存VI或循环上一次的运行数据。利用反馈节点寻找每帧的起始位置。
设第n帧语音信号xn(m)的短时能量用En表示,则其计算式为:
(3)
En是一个度量语音信号幅度值变化的函数,可以区分浊音段与清音段,因为浊音时En值比清音时大[1]。
在LabVIEW中的短时能量还可以利用窗函数直接分帧计算,可以简化其编程步骤,如图6所示。语音信号不是实时采集,而是直接读取.wav文件。首先在每个时间点进行平方处理,然后利用矩形窗函数进行卷积和运算,得到每个点的短时能量。
2.2 短时过零率
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。对于连续语音信号,过零即意味着时域波形通过时间轴,而对于离散信号,如果相邻的取样值改变符号则称为过零[9]。
定义语音信号xn(m)的短时过零率为:
(4)
式中:sgn[ ]为符号函数,即
图6 短时能量程序框图
(5)
利用短时平均过零率可以判断清音段和浊音段,浊音时具有较低的过零率,而清音时具有较高的过零率。
在LabVIEW中,调用两个for循环控件,和条件结构相结合,完成短时过零率的运算,程序框图如图7所示。
图7 短时过零率程序框图
3 语音增强模块
延时求和波束形成:设等距线阵有M个阵元,入设信号为窄带信号,这时阵列的输出可表示为[13-15]:
(6)
如果采用矢量来表示各阵元输出及加权系数,即:
(7)
那么,阵列的输出也可以用矢量表示为:
(8)
为了在某一方向θ上补偿各阵元之间的时延以形成一个主瓣,延时求和波束形成器在期望方向上的加权矢量可以构成为:
(9)
观察此加权矢量,发现若空间只有一个来自方向θ的信号,其方向矢量a(θ)的表示形式与此权矢量相同。则有:
(10)
延时求和波束形成运算相对复杂,利用LabVIEW数据流形式直接处理运算时间较大,所以本文采用LabVIEW和Matlab混合编程的方法,既可以相互补充,又可以解决开发过程中界面设计、仪器连接和数值分析计算等问题,这样会大大减少用户的编程工作量,提高编程效率,可以快速开发功能强大的智能化虚拟仪器。在LabVIEW坏境中调用Matlab语言简单可行,通过直接调用MathScript节点。MathScript节点是内建于LabVIEW的,可处理大多数在Matlab或兼容环境中创建的文本脚本,因此,用户不需要安装Matlab软件也可以正常运行这些代码,可以使用内建的600多个数学分析与信号处理函数。
4 计算机仿真与实验结果
基于LabVIEW的麦克风阵列语音信号增强平台共分为语音采集模块、语音分析模块和语音增强模块三个部分。麦克风阵列具有8个阵元,阵元间距为1.5 cm,假设声源信号为窄带信号,传播速度为340 m/s。
4.1 麦克风阵列语音信号采集模块
本部分利用PXI设备实时采集的语音信号,在LabVIEW的前面板上显示所采集到的多路语音信号,如图8所示。采集模块包括通道设置、阵元设置和程序控制等参数设置。通道设置包括通道的选择、采样频率和窗函数的选取;阵元设置包括麦克风灵敏度、幅值和滤波器权值等参数的设置;程序控制包括录制语音的播放和停止等。
图8 语音信号采集模块
4.2 语音信号分析模块
通过计算信号短时能量和短时过零率帮助使用者直观的感受语音信号的相关特性。该模块可以分析PXI设备采集到的实时信号,也可以分析从本地硬盘中选取的音频信号。本面板设置了帧长、帧间重叠长度等可调参数,如图9所示。
图9 语音信号分析模块
从图中可以看出,从75~430帧之间是语音信号,而且浊音时的能量远高于清音时的能量。短时过量率则与短时能量相反,清音值比浊音值高出较多。这是由于发清音时,多数能量出现在较高频率上。高频就意味着高的平均过零率,低频意味着低的过零率。当然,这种高低仅是相对而言,并没有精确的数值关系。
4.3 语音信号增强模块
增强模块仿真运用延时求和波束形成算法,去除麦克风阵列采集到的背景噪声,对加噪语音及去噪语音进行对比,通过固定波束形成,基本滤除了背景噪声,如图10所示。带噪语音语音噪声幅度值为0.1,增强后的语音信号噪声幅值远小于0.1。从两图对比中可以看出,输入带噪语音为多通道语音信号,输出增强后语音信号为单通道语音信号。
图10 语音信号增强模块
实验平台的语音信号增强模块中的波束形成方法选项可以根据不同的要求,改变阵列语音信号增强波束形成方法。本文实验平台包括延时求和波束形成、最小方差无失真响应(MVDR)波束形成器和广义旁瓣相消器(GSC)。信噪比窗口显示增强后的语音信号的信噪比,更直观的比较增强效果。
5 结 语
基于LabVIEW构建麦克风阵列语音处理系统实验平台,解决了多通道语音信号实时采集和处理的问题。模块化的设计理念,保证了平台通过修改分析模块和增强模块中的参数和程序包,可以实现不同的阵列语音处理算法。
该实验平台不仅适用于实验环境下的音频信号采集,也适用于车载环境噪声处理和舒适度分析。实践表明,模块化设计是该平台的最大优势,通过修改不同模块和相应程序包,该平台可以拓展到不同信号采集(电信号、图像信号、人体生理信号等)和处理。不同专业和年级的学生可以使用该平台完成相关实验项目训练。目前,利用该平台,开设了数字信号处理、语音信号处理、LabVIEW与DAQ数据采集等多个实验实训项目。通过该实验平台的搭建,学生从被动应付实验变成主动实验,从简单地验证性实验到设计型实验,提高了基本操作技能和学习主动性、创新性[10]。
[1] 赵 力. 语音信号处理[M]. 北京:机械工程出版社,2010:37-38.
[2] Souden M, Kinoshita K, Delcroix M,etal. Distributedmicrophone array processing for speech source separation with classifierfusion[J]. Proc MLSP, 2012: 57-60.
[3] 王永良,丁前军. 自适应阵列处理[M]. 北京:清华大学出版社,2009:13-14.
[4] 岂兴明,田京京,夏 宁. LabVIEW入门与实战开发100例[M]. 北京:电子工业出版社, 2011:2-3.
[5] 周 鹏,许 钢. 精通LabVIEW信号处理[M]. 北京:清华大学出版社,2013:1-2.
[6] 龙华伟,顾永刚. LabVIEW 8.2.1与DAQ数据采集[M]. 北京:清华大学出版社,2013:22-23.
[7] 陈 圆. 基于PXI总线的虚拟仪器系统软件设计与实现[M]. 武汉:武汉理工大学,2007:12-16.
[8] 吴湖青,李秀梅,孙晨林. 基于LabVIEW的信号处理虚拟实验平台[J]. 杭州师范大学学报,2014,13(6):23-22.
[9] Sakanashi R, Ono N, Miyabe S,etal. Speechenhancement with ad-hoc microphone array using single source activity[J]. Proc. APSIPA, 2013:1-6.
[10] 张 玮. 双通道接收机实施空间谱估计测向的研究[D]. 西安:西安电子科技大学,2013.
[11] 冯玉昌,门 洪. 四旋翼飞行器多功能实验平台设计[J]. 实验技术与管理,2015,32(4):52-57.
[12] 王春民,安海忠,王丰贵. 基于VC和Simulink的电力电子仿真实验平台设计[J]. 吉林大学学报,2008,26(3):1-4.
[13] Yuanliang Ma, Yixin Yang, Zhengyao He. Theoretical and Practical Solutions for High-order Superdirectivity of Circular Sensor Array[J]. IEEE Transactions on Industrial Electronics, 2013, 60(1): 203-209.
[14] Zhao Y, Liu W. Robust Fixed Frequency Invariant Beamformer Design Subject to Norm-Bounded Errors[J]. Signal Processing Letters, 2013, 20(2): 169-172.
[15] Xiuling Mo, Hong Jiang, Ranran Oin. Beamspace-Based DOA Estimation of UWB Signal Using FDFIB Algorithm[J]. Recent Advances in Computer Science and Information Engineering, 2012: 191-197.
Design of Experiment Platform for Speech Signal Processing System on Microphone Array Based on LabVIEW
ZHOUCheng-xu,WANGDong-xia,LÜYi,ZHANGDong-xu
(Office of Academic Affairs, Electronic and Information Engineering College, Liaoning University of Technology, Jinzhou 121000, China)
The design of experiment platform for the processing system of speech signals on microphone array based on LabVIEW is realized in this paper. There are three parts that include multi-channel collection, analysis of characteristics of speech signals and speech enhancement on the platform of speech processing. The modular design is adopted for front panel on the platform of LabVIEW, it includes collection of speech signals module, analysis of speech signals module and speech enhancement module. On the acquisition module, the speech signals on the array are real-time acquisition using PXI device. On the analysis module, the characteristics of signals are analyzed. The parameters such as frame size and the number of frame overlapping are set on the front panel. On the enhancement module, the speech signals on microphone array are enhanced by delay-sum beamforming. The LabVIEW combined with MATLAB is adopted on this module, which is that LabVIEW calls the package of MATLAB for the array beamforming which is free to be changed. The computer simulation results verify the effectiveness of the experimental platform.
LabVIEW; experiment platform of speech processing; microphone array; Matlab
2015-11-19
辽宁省自然科学基金(201302022);辽宁省教育厅教学改革项目(UPR20140817);辽宁省研究生精品课建设项目
周城旭(1987-),女,辽宁锦州人,硕士,实验师,研究方向为麦克风阵列语音处理的理论和应用。
Tel.:13464619988; E-mail:zhouchengxu@lnut.edu.cn
TN 912
A
1006-7167(2016)09-0138-06