基于麦克风线阵的语音增强算法研究

2020-11-11 11:58朱训谕
关键词:频域麦克风波束

朱训谕,潘 翔

(浙江大学信息与电子工程学院,浙江 杭州 310027)

0 引 言

麦克风阵列在室内语音信号处理方面有着重要地位。麦克风阵列由多个在不同空间位置的麦克风组成,线阵是其中一种。相比于单个麦克风,麦克风阵列接收语音信号时可以获得更多的空域信息,同时,时域、频域与空域联合处理可以避免语音去噪与失真之间的权衡。

传统的改进最小控制递归平均(Improved Minima Controlled Recursive Averaging, IMCRA)算法[1]只能用于单通道的语音信号处理,对麦克风线阵采集的多通道语音信号无法进行有效处理。波束形成技术通过对阵列接收信号的线性组合得到期望信号,一般而言,加权操作可由增强某一特定方向的信号,抑制其他方向的信号[2]。其中,自适应波束形成可以在特定方向形成“零陷”以抑制干扰,能够有效提高波束图的性能。最小方差无失真响应(Minimum Variance Distortionless Response, MVDR)方法就是其中一种经典的算法。因此,本文在IMCRA算法的基础上,采用MVDR波束形成对多通道语音信号进行第一阶段处理,第二阶段使用IMCRA算法对第一阶段输出进行处理。

1 最小方差无失真响应波束形成

MVDR方法是一种旨在最大化信干噪比的自适应波束形成算法,又被称为最佳波束形成器[3]。

假设M元阵列接收信号z(n)由期望信号s(n)、干扰i(n)以及白噪声n(n)构成:

z(n)=s(n)+i(n)+n(n)

(1)

MVDR波束形成器被定义为一个矢量w在无失真约束下,使捕获信号z(n)的平均功率最小化,wHv=1,通过波束形成保持干净的语音s(n)不变。其中,v为导向矢量,w的估计如下:

(2)

则期望信号s(n)为:

(3)

2 改进的最小控制递归平均算法

IMCRA算法通过计算条件语音存在概率,估计噪声功率谱,然后通过跟踪包含噪声的语音谱中只含噪声的区域来更新噪声的估计值。

定义y(n)为带噪语音信号,x(n)为纯净语音信号,d(n)为非相干噪声,经傅里叶变换后在频域中的信号关系为:

Y(λ,k)=X(λ,k)+D(λ,k)

(4)

式中,λ和k分别为频点序号和时域帧数。

进行第一轮平滑估计,得到噪声功率谱结果如下:

(5)

式中,αd为时变平滑参数,p(λ,k)为语音信号存在的概率,β为补偿系数。

由此可得带噪语音信号的后验信噪比和先验信噪比分别为:

(6)

(7)

式中,α为比例系数,GH1(λ,k)为对数谱增益函数[4]。

假设频域上纯净语音信号和非相干噪声均服从高斯分布,则信号存在概率为:

(8)

式中,q(λ,k)为语音信号不存在概率,ν(λ,k)为语音信号的能力均值[5]。

首先,对带噪语音信号进行平滑:

S(λ,k)=αsS(λ-1,k)+(1-αs)Sf(λ,k)

(9)

(10)

式中,αs为平滑系数,Sf(λ,k)为每帧带噪语音功率谱经平滑后的功率谱值,b(i)为汉明窗。

再对平滑输出信号进行最小值搜索:

Smin(λ,k)=min{Smin(λ-1,k),S(λ,k)}

(11)

然后,求解语音信号存在的概率:

(12)

根据语音信号存在概率进行二次平滑和最小值搜索,搜索最小值过程和第一次平滑相同。则语音信号不存在概率求解如下:

(13)

最后,根据式(5)更新噪声谱估计。

3 基于麦克风线阵的语音增强算法

图1 基于麦克风线阵的语音增强结构

基于麦克风线阵的语音增强算法分为两级,其原理结构如图1所示。

算法第一级采用频域波束形成的方法,首先,通过傅里叶变换将宽带信号变换至频域,并分成若干窄带信号;然后,对个阵元同频率的窄带信号做MVDR波束形成;最后,将各窄带波束形成输出相加求平均,即可得到该宽带信号的频域波束形成响应。多通道的语音信号进行频域波束形成处理,得到单通道的语音信号输出,即可用于第二级IMCRA算法处理。步骤如下。

(1)使用一阶递归平滑方法估计输入语音信号的噪声功率谱。

(2)计算带噪语音信号的后验信噪比和先验信噪比。

(3)对带噪语音信号进行平滑处理,得到信号的平滑功率谱S(λ,k),对该平滑输出信号进行最小值搜索,得到Smin(λ,k)。

(5)根据式(8)计算语音信号存在概率p(λ,k)。

(6)更新时变平滑参数和平滑噪声功率谱。

4 实验结果及分析

实验测试音频选自巴伊兰大学(Bar-llan, BIU)语音和声学实验室的RIR-DATABASE[6]。实验采用的阵列为8个麦克风组成的线阵,阵元间距为8 cm。声源有2个,分别位于0°和90°,距离分别为1 m和2 m,混响时间设定为T60=160 ms。实验场景示意图如图2所示。该数据集采样频率为48 kHz,经重采样为8 kHz。使用本文算法和传统MVDR对该语音信号进行处理,结果如图3—8所示。

图2 实验用麦克风线阵示意图

图4 MVDR处理后的语音信号时域图

图5 本文算法处理后的语音信号时域图

图6 原始语音信号频谱图

图7 MVDR处理后的语音信号频谱图

图8 本文算法处理后的语音信号频谱图

从图3—8可以看出:MVDR波束形成对语音信号有略微的抑制作用,而经本文算法处理后,原始信号的信噪比得到较大的改善,并对噪声有比较好的抑制作用,实现了噪声背景下的语音信号增强。

5 结束语

本文从IMCRA算法入手,在该算法基础上加入MVDR波束形成算法,以适应麦克风线阵采集的语音信号的多通道特点。本文算法能较好较快地处理多通道语音信号,并实现去噪和语音增强的目的。但仍有几个问题值得深入研究,如低信噪比下的降噪问题。

猜你喜欢
频域麦克风波束
毫米波通信中的波束管理标准化现状和发展趋势
基于频域的声信号计权改进算法
基于共形超表面的波束聚焦研究
强干扰背景下水中微弱信号的垂直阵波束形成研究
汽车内麦克风阵列布放位置优化方法研究*
超波束技术在岸基光纤阵中的应用
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
网络控制系统有限频域故障检测和容错控制
麦克风的艺术
讯飞输入法也能离线语音输入