李 斌 张玲华
(1.南京邮电大学通信与信息工程学院,南京,210003;2.江苏省通信与网络技术工程研究中心,南京,210003)
一种广义旁瓣抵消器结构的语音增强改进算法*
李 斌1张玲华2
(1.南京邮电大学通信与信息工程学院,南京,210003;2.江苏省通信与网络技术工程研究中心,南京,210003)
当广义旁瓣抵消器(Generalized sidelobe canceller,GSC)结构的语音增强算法对语音信号的入射方向角估计不准确时,阻塞矩阵(Blocking matrix,BM)不能完全阻塞目标语音,使得部分语音通过阻塞矩阵,在后期多输入抵消器(Multiple-input canceller,MC)模块中和参考信号相抵消,造成目标语音的损失。针对广义旁瓣抵消器因信号到达方向(Direction of arrival,DOA)估计误差而导致语音泄漏的问题,本文提出了一种麦克风阵列语音增强的优化算法,先对经过时延补偿的信号进行频谱调整,再利用MC模块输出与BM模块输出存在相关性的特点,对阻塞矩阵进行自适应调整,使方向估计参数更趋近于真实目标语音方向,以减少阻塞矩阵中目标语音的泄漏。仿真结果表明,该算法可以有效减少阻塞矩阵中目标语音的泄漏、增强系统的鲁棒性以及提高语音增强效果。
广义旁瓣抵消器;自适应算法;语音增强;麦克风阵列
在数字助听器以及其他声学器件中,由于周围环境本身存在的干扰和电子器件工作时造成的影响,导致麦克风接收到的信号都是混有噪声的混合信号。要想恢复出需要的纯净语音,就需要语音增强算法对混合信号进行去噪处理。传统的语音增强算法都为单通道算法,典型的算法有谱减法、小波阈值去噪算法、自适应消除法以及信号子空间法等。但是单麦克风的降噪效果有限,且方向性不全。受到天线阵列的启发,近年来提出将单麦克风语音算法集成于阵列中,麦克风阵列算法越来越多地应用在语音增强中[1]。Griffiths等[2]在1982年首次提出了广义旁瓣抵消器(Generalized sidelobe canceller,GSC)的概念。广义旁瓣抵消器结构的波束形成算法具有高性能和较低的计算量,在数字助听器中得以广泛应用[3]。这种波束形成器基于自适应噪声抵消原理,将混合语音信号引入上下两个支路,上支路通过固定波束形成器(Fixed beamformer,FBF)按照约束条件进行滤波,下支路中加入阻塞矩阵(Blocking matrix,BM)结构,仅阻塞期望方向的信号,并运用无约束的自适应算法使得输出信号的能量最小,最终实现无约束的自适应波束形成。然而在实际应用中,由于声学器件本身体积很小,麦克风阵列微小的距离误差就会导致语音信号处理结果出现失真,再加上无法精确地估计目标语音的输入方向,BM不能完全阻塞目标语音,使得部分语音通过阻塞矩阵,从而造成在后期多输入抵消器(Multiple-input canceller,MC)模块中参考语音信号和BM模块泄漏的目标语音抵消,造成目标语音的损失[4]。许多专家学者对其提出了改进。为了改进GSC算法对方向误差敏感的问题,Hoshuyama提出在BM模块和MC模块中均引入自适应滤波器[5]。Mahnoudi和Drygajlo提出在MC模块加入前置滤波器来减少语音的泄露[6]。还有学者提出使用一种简化的单约束波束形成方法[7]。最近有学者提出在BM模块和MC模块之间加入自适应滤波器来减少语音泄露[8]。但是这些方法都难以去除MC模块的输出和BM模块输出之间的相关性。结合前人的工作,在深入研究GSC算法原理的基础上,本文提出了一种改进算法。为了保护共振峰,首先对加权波束进行频谱调整,对共振峰位置以外的频率点进行初步的噪声抑制,再利用MC模块泄露的语音与参考语音信号之间存在相关性的特点,对BM的方向参数进行自适应调整,使方向参数趋近于目标语音输入方向,以减少阻塞矩阵中目标语音的泄漏,从而增强系统的鲁棒性,提高语音增强的效果。
1.1 传统GSC算法
图1 GSC结构的波束形成算法结构图Fig.1 Structure of GSC
GSC算法分为两个模块[9],分别将输入信号引入上下两个通道:上通道是约束模块,起参考信号的作用,下通道是最小化模块。在上通道中,利用一个固定波束形成器按照约束条件来对接收到的信号加权求和。下通道中应用了一个阻塞矩阵,目的是将目标方向上的信号全部置为零,只保留非入射方向上的信号。图1为GSC结构的经典模型框图。其结构主要包括3个部分[10]:FBF,BM和MC。
假设各组接收的语音信号为xi(t),i=1,…,M,各组接收的信号间存在相对时延τi,M为麦克风的数量,那么xi(t)满足
(1)
式中:s(t)和ni(t)分别为目标语音与各组信号中混杂的干扰噪声。
GSC算法的主要原理是:首先对接收到的各组语音信号进行时延估计和时延补偿,将对齐的信号送入上下两个支路进行处理。上支路的信号通过FBF模块进行约束滤波,得到参考信号yF(t),即
(2)
下支路的信号通过BM模块,BM模块是一个(M-1)×M行的满秩阻塞矩阵B0,旨在将目标方向上的入射信号全部置零。当且仅当矩阵满足B0·X(θ0)=0时,期望信号才得以被完全滤除,则此时BM模块的输出X0(t)中将只含有干扰噪声,即
(3)
由于上、下支路的输入信号相同,则其所包含的干扰噪声是相关的,在MC模块可通过维纳滤波器将上下支路的输出信号进行自适应对消,那么参考信号yF(t)中所包含的目标语音信号就可以被保留下来,而干扰噪声就可以和X0(t)自适应消除掉。
通过分析不难发现,阻塞矩阵在整个GSC结构中B0的作用非常重要。为了能够完全阻塞期望信号,B0的设计需要满足同一行元素之和为零的条件,即
(4)
其中bm为B0中第m行元素向量。这说明构成X0(t)的线性元素中至少有两个是相关的,那么麦克风阵列的阵元数目一定要大于噪声源的数目。文献[2]中给出的BM形式为
(5)
式中:λ和d分别表示语音信号的波长以及麦克风阵列中相邻麦克风之间的距离,θ为估计得到的目标语音信号入射角,由FBF模块估计得到的时延值以及麦克风阵列中麦克风间的间距求得。
1.2 传统GSC算法缺陷
图2 方向误差为3°时GSC结构语音增强算法仿真结果Fig.2 Simulation results of speech enhancement using GSC with a deflection error of 3°
实际声场中存在着混响以及其他相干噪声的干扰,而且对于麦克风阵列来说,很难做到标准的等距排列,麦克风微小的误差就会导致语音信号处理结果的不准确,很难精确地估计声源位置,声源位置的估计误差就会导致目标语音通过BM,从而造成语音泄露。而这些泄露语音在MC模块与参考信号中的目标语音相互消除就会导致最终输出语音的失真,降低语音增强的效果。假设原始语音信号和干扰噪声分别从0°和30°方向进行入射。在语音信号方向估计误差为3°的情况下,使用GSC结构语音增强算法对信号进行处理,结果如图2所示。由图2(d)可很明显地看出,当方向估计出现了3°的误差时,经过GSC结构算法处理的输出语音信号与原始语音有了较大的差异,泄露的信号在波形上近似可以看出原始语音信号的轮廓。由此可以看出,泄露的语音信号和原始语音信号存在着一定的相关性,方向误差对泄露信号的影响很大,当方向估计不准确时,GSC算法处理得到的结果会出现失真,影响增强信号的效果。
本文提出的改进算法主要可以分为两个模块:频谱调整和BM的参数自适应调整,其流程图如图3所示。
图3 改进GSC结构算法流程图Fig.3 Process of the proposed GSC algorithm
2.1 频谱调整
此模块的主要作用是保护共振峰,并初步对加性噪声进行抑制。主要是对经过时延补偿后的信号x(t)作频谱调整,首先对合成语音信号作预处理,加窗分帧后进行语音活动性检测(Voiceactivitydetection,VAD),旨在区分语音信号帧和噪声信号帧。然后进行傅氏变换,并提取共振峰位置,对共振峰以外的每一帧信号的频谱分别进行处理,如果是噪声帧,对信号幅度进行相应的衰减抑制;如果是语音信号帧,则根据其所在频段进行不同增益的增强。衰减和增强规则如下:
(6)
式中α和β为增益调节因子。可以人为地调整α,β的取值来获取更好的处理效果,对于语音帧可以通过增大α来适当增大增益,而对于噪声帧则可以通过减小β来适当削减噪声部分的增益,然后将得到的各帧语音信号的增益乘上原语音信号的频谱得到x0(k)=Gm(k)·Am(k),并进行傅氏反变换得到重构的语音信号。
2.2 阻塞矩阵参数自适应调整
根据前文分析,可以知道,语音泄露很大一部分的原因是由于方向参数的估计误差。若GSC结构算法中不存在方向误差,那么经过MC模块处理后的输出信号中应当仅包含目标语音信号,而经过BM模块处理后的输出信号则仅包含干扰信号。按照GSC算法的前提,这两者是不相关的,两者的互相关函数也应趋于平稳。所以本文提出的改进算法根据MC模块的输出信号与BM模块的输出信号间的相关性,对BM中的目标语音信号方向参数θ进行自适应调整,使其更接近真实值,以减小目标语音的泄露,增强系统鲁棒性。
把经过频谱调整后的重构语音信号记为x0(t),其通过BM处理后,输出信号为x1(t),x1(t)再经过MC模块的处理,得到最终的输出信号y(t)。本文提出的改进算法需要计算x1(t)和y(t)两个信号之间的互相关函数Rx1y(m),即
(7)
在理想的状态下,应该趋于平稳,取值始终在均值附近徘徊,不出现较大的波动[11],就是说经过BM和MC模块处理得到的两个信号之间不存在相关性关系,这种情况下,Rx1y(m)的方差应该很小。但是在实际情况下,由于BM中方向参数的估计误差导致了BM模块和MC模块的输出信号之间存在相关性,因此Rx1y(m)将会出现较大起伏,波形不再平稳。求取互相关函数的方差Var,对其设定一个阈值,作为是否启动调整阻塞矩阵参数θ的依据。若求得的方差小于阈值,那么说明方向误差对最终结果的影响不大,不需要对参数θ做出调整,对MC模块的的输出信号作为最终输出;若方差大于阈值,则说明需要调整BM参数θ,调整的具体规则为:以GSC算法中时延估计得到的目标语音方向θ0为初值,设定初始调整步长μ0,以使互相关函数值的方差减少的方向为目标调整方向,按照以下法则进行迭代,即有
(8)
(9)
得到修正参数θn后,利用式(3)重新计算得到BM模块的输出xn(t)以及MC模块的输出yn(t),利用式(7)计算互相关函数Rxnyn(m),若Rxnyn(m)的方差Varn小于阈值,则停止迭代。得到最终参数θopt,θopt也更接近实际的目标语音方向。在调整参数的过程中,阈值和调整步长的设置会影响方向估计的准确程度和计算量大小。阈值取得越小,步长越小,方向估计越准确,随之迭代次数会增加,计算量加大。在实际应用中,可根据实际情况选取适当的阈值和调整步长。通常情况下,阈值选取视初始方差的大小决定,本文选取初始方差的25%作为阈值。
在图2中使用的纯净语音信号中加上方向性为30°的白噪声,使信号与方向性噪声之间的信噪比为3dB,语音信号方向估计误差为3°,然后按照式(7)分别计算BM模块与MC模块输出信号之间的互相关函数,结果如图4所示。
图4 BM模块输出信号与MC模块输出信号间的互相关函数Fig.4 Correlation between the output signal of BM module and MC module
图4(a)是原始GSC算法的互相关函数,图4(b)是改进算法的互相关函数。图4(a)的互相关函数并不平稳,存在明显的波动,而图4(b)相比之下平缓许多,整体趋于均值,说明所提出的算法能够有效地去除BM模块的输出信号与MC输出信号之间的相关性。为了检验本文提出的算法的语音增强效果,分别采用客观和主观评价方法对算法的性能进行比较。采用一段16kHz采样且伴有较少静音段的语音信号作为声源信号,采用8个阵元的均匀线性麦克风阵列,假设原始语音信号和干扰噪声分别从0°和30°方向入射,输入信号的入射角方向估计误差为3°。在频谱调整阶段,参数取值为α=β=1,在阻塞矩阵参数调整阶段,调整步长初始值μ0取0.1,互相关函数方差的阈值取值为0.2。分别采用传统GSC结构算法、文献[8]中的算法和本文提出的算法对混合信号进行处理。处理结果如图5所示。
图5 3种算法去噪效果对比Fig.5 Comparison results of speech enhancement for three algorithms
表1 输出信号的信噪比和均方误差比较
表2 MOS测试评分
本文研究了基于广义旁瓣抵消器结构的语音增强算法,针对由于目标语音方向估计不准确,不可避免地造成语音泄露的问题,在研究GSC结构波束形成算法原理的基础上,提出了相应的改进算法。由于目标语音方向估计不准确时,泄露语音与参考信号之间会存在相关性。出于对共振峰的保护,首先对频谱进行初步调整,再对BM模块和MC模块的输出信号之间互相关值的方差设定阈值,重新调整目标语音方向估计参数,使目标语音方向的估计误差减小,从而减少语音信号的泄露。仿真实验结果表明,所提出的改进算法有效地减少了阻塞矩阵中目标语音的泄漏,增强了系统的鲁棒性,提高了语音增强的效果,相比于其他算法具有较明显的效果提升。
[1] 赵力, 张昕然, 梁瑞宇,等. 数字助听器若干关键算法研究现状综述[J]. 数据采集与处理, 2015(2):252-265.
Zhao Li, Zhang Xinran, Liang Ruiyu, et al. Review on certain key algorithms of digital hearing aids[J]. Journal of Data Acquisition and Processing, 2015(2):252-265.
[2] Griffiths L J, Jim C W. An alternative approach to linearly constrained adaptive beam forming [J]. IEEE Transactions on Antennas and Propagation, 1981, 30(1): 27-34.
[3] 邹采荣,梁瑞宇,谢跃.数字助听器语音处理算法研究进展与展望[J].数据采集与处理,2016,31(2):242-251.
Zou Cairong, Liang Ruiyu, Xie Yue. Research progress and outlook of speech processing algorithms for digital hearing aids[J]. Journal of Data Acquisition and Processing, 2016,31(2):242-251.
[4] Kim S M, Hong K K. Hybrid probabilistic adaptation mode controller for generalized sidelobe cancellers applied to multi-microphone speech enhancement [J]. Digital Signal Processing, 2014, 25(2):123-133.
[5] Osamu Hoshuyama, Akihiko Sugiyama, Akihiro Hirano. A robust adaptive beam former for microphone arrays with a blocking matrix using constrained adaptive filters[J]. IEEE Transactions on Signal Processing, 1999; 47(10): 2677-2684.
[6] Mahnoudi D, Drygajlo A. Combined Wiener and coherence filtering in wavelet domain for microphone array speech enhancement [C]∥IEEE International Conference on Aeoustics, Speech and Signal Processing. Washington, USA:[s.n.], 1998,5:385-388.
[7] 程翥, 李双勋, 薛鸿印,等. 一种简化的单约束波束形成方法[J]. 系统仿真学报, 2007, 19(12):2673-2676.
Cheng Zhu, Li Shuangxun, Xue Hongyin. Simplified implementation for single constrained beam-forming[J]. Journal of System Simulation, 2007, 19(12):2673-2676.
[8] Liu Z, Wu S, Wang Y, et al. A new GSC beamforming algorithm based on double affine projection[C]∥IEEE International Symposium on Broadband Multimedia Systems and Broadcasting. Beijing:[s.n.], 2014:1-4.
[9] Weiss S, Stewart R W,Schabert M,et al. An efficient scheme for broadband adaptive beamforming [C]∥IEEE Conference on Signal, System and Computer. California, USA:IEEE, 1999,1:496-500.
[10]Osamu Hoshuyama, Akihiko Sugiyama, Akihiro Hirano. A robust adaptive beamformer for microphone arrays with a blocking matrix using constrained adaptive filters [J]. IEEE Transactions on Signal Processing, 1999; 47(10): 2677-2684.
[11]Schwartz O, Gannot S, Habets E A P. Multi-microphone speech dereverberation and noise reduction using relative early transfer functions [J]. Audio Speech & Language Processing IEEE/ACM Transactions on, 2015, 23:240-251.
[12]Itakura F, Saito S. Analysis synthesis telephony based on the maximum likelihood method [C]∥ Proc 6th of the International Congress on Acoustics. Los Alamitos, CA: IEEE,1968:17-20.
Improved Speech Enhancement Algorithm with Generalized Sidelobe Canceller
Li Bin1, Zhang Linghua2
(1.College of Telecommunications & Information Engineering, Nanjing University of Posts and Telecommunications, Nanjing, 210003, China;2.Jiangsu Communication and Network Technology Engineering Research Center,Nanjing,210003, China)
In speech enhancement algorithm based on generalized sidelobe canceller (GSC), when there is an error in direction estimating, the target speech cannot be blocked by blocking matrix (BM) module completely. Then in the multiple-input canceller (MC) module, the target speech will be eliminated, which will cause the leakage of the target speech. In this paper, a new optimization algorithm is proposed for the leakage of the speech caused by the error of signal direction of arrival (DOA). First, we adjust the spectrum of the signal with time delay compensation, then the blocking matrix would be adjusted adaptively according to the characteristics of the correlation between the final output of MC module and the output of BM module. The estimated direction can be closer to the real target speech direction in order to reduce the leakage of the target speech. Simulation results show that the proposed algorithm has better speech enhancement performances in both objective and subjective evaluations.
generalized sidelobe canceller; adaptive algorithm; speech enhancement; microphone array
江苏省高校自然科学研究重大项目(13KJA510003)资助项目;江苏省高校优势学科建设工程(PAPD)资助项目;江苏省普通高校研究生科研创新计划(KYLX15_0851)资助项目。
2015-06-05;
2016-06-30
TN912.3
A
李斌(1992-),男,硕士研究生,研究方向:现代语音处理与通信技术,E-mail:1014010632@njupt.edu.cn。
张玲华(1964-),通信作者,女,教授,博士生导师,研究方向:语音和说话人的识别和转换技术、 实时语音通信技术等,E-mail:zhanglh@njupt.edu.cn。