基于盲源分离与谱减法的麦克风阵列多目标语音增强方法与流程

文档序号:12128624阅读:513来源:国知局
基于盲源分离与谱减法的麦克风阵列多目标语音增强方法与流程

本发明属于信号处理技术和计算机语音信号处理技术领域,具体涉及一种基于阵列麦克风的语音增强方法。



背景技术:

语音增强的目标是从含有噪声的语音信号中提取尽可能纯净的原始语音,抑制背景噪声,提高语音的质量并提高听者的舒适度,使听者不会感到疲劳。它在解决噪声污染、改善语音质量、提高语音可懂度等方面发挥着越来越重要的作用。语音增强技术是语音信号处理发展到实用阶段后需要迫切解决的问题。语音识别中抗噪声干扰是提高识别率的一个重要环节。随着语音识别应用的不断扩大并进入实用阶段,急切需要采用更为有效的语音增强技术,加强语音识别特征,使语音易于识别。语音信号是一种复杂的非线性信号,如何从各种混合语音信号中,特别是从同声道语音干扰中分离出所需要的语音信号是一个很难的数字信号处理问题,任何算法都不可能将噪声完全滤除,都很难在所有噪声都存在的情况下保持较高的主观及客观的评价性能。

基于麦克风阵列语音增强方法典型的工作流程如图1所示,具体流程主要包括下列步骤:

1)根据需求,设计满足需求的麦克风阵列结构。

2)多通道语音信号采集系统,用于采集多通道语音信号;

3)对采集的多通道语音信号进行预处理、语音激活检测、通道延时估计、目标信号方位估计等等的预处理操作。

4)利用阵列语音增强算法进行语音增强,得到较为纯净的语音信号。

步骤1)中,设计一个合适的麦克风阵列结构是非常重要的。

麦克风阵列拓扑结构可以分为一维线性阵列(包括等距阵列、嵌套线性阵以及非等距阵列)、二维面阵(包括均匀和非均匀圆形阵、方阵)与三维立体阵列。实际中,应用较多的有均匀线阵列、嵌套线阵、均匀面阵等。研究表明,阵列拓扑结构对麦克风阵列语音系统的影响较大。且阵列拓扑结构的设计与多通道信号模型的选择有密切关系。

根据声源距离阵列的远近,可以将声音信号模型分为远场模型和近场模型。两者的区别在于:远场模型使用平面波模型,它忽略各个通道接收信号的幅度差,信源相对阵列来说只有一个入射角度,各个阵元之间的延时长度呈线性关系;近场模型使用球面波形,它考虑接收信号间的幅度差,且对于每一个阵元来说都有一个入射角度,各个阵元间的延时长度没有明显关系。近场和远场的划分没有一个绝对的标准,通常认为当信源和阵列中心的距离远远大于信号波长时该信源处在远场;反之则为近场。

通常,麦克风阵列可以看作是一个用来进行空间采样的装置,与时间采样相似,阵列采样频率必须足够高才不会引起空间模糊,避免空间混叠。对于一个等距线阵,空间采样率定义为:即空间采样频率Us由麦克风阵间距d决定。考虑到同一信号的相邻采样差别为一个相移,定义归一化的空间频率为:其中λ表示波长,Φ表示入射角度。为避免空间混叠,要求归一化频率U满足:此时入射角度对应范围是-90°≤Φ≤90°,因此相邻麦克风间隔(麦克风阵间距)应该为:

上述空间采样定理揭示了麦克风阵间距、信号频率和来波方向(入射角度Φ)三者之间关系。如果不满足空间采样定理,则会出现空间混叠现象。

对于一个均匀线性麦克风阵列,定义rm为声源到第m个麦克风阵列中心的直线距离。则第m个麦克风输出的离散信号可以表示为:xm[n]=s[n-Δnm]+ηm[n],其中s[n]为声源信号,Δnm为第m个麦克风接收到的信号与声源信号之间的样本点延迟,ηm[n]为第m个麦克风接收到的噪声信号。令Δτm为第m个麦克风接收到的信号与声源信号之间的时间延迟,则有如下关系:其中fs为时间采样频率,c为声波在空间中的传播速度。由此可以建立麦克风阵列输出的阵列信号矩阵:

x1[n]=s[n-Δn1]+η1[n]

x2[n]=s[n-Δn2]+η2[n]

xN[n]=s[n-ΔnN]+ηN[n]

N为阵列麦克风的阵元个数。

在步骤3)中,可视不同的增强方法或曾或减。

在预处理中,预加重和预滤波是由语音信号特性所决定的。预滤波的目的有两个:①抑制输入信号各频域分量中频率超出fs/2的所有分量,以防止混叠干扰;②抑制50Hz的电源工频干扰。这样预滤波器必须是一个带通滤波器,设其上、下截止频率分别为fH和fL,则fH=3400Hz,fL=60~100Hz,采样频率fs=16000Hz。

由于语音信号的平均功率谱受声门激励和口鼻辐射影响,高频端大约在800Hz以上按6dB/倍频跌落,所以在求语音信号频谱时,频率越高的相应成分越小,高频部分的频谱比低频部分的难求,为此要在预处理中进行预加重处理。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。预加重可由提升高频特性的预加重数字滤波器来实现,它一般是一阶数字滤波器,基于其工作原理,可以得到对应的加重方式为:s′(n)=s(n)-αs(n+1),为了恢复原信号,需要对做过预加重的信号频谱进行去加重处理,即s′′(n)=s′(n)+βs′(n+1)其中,s(n)表示声源信号,s′(n)表示加重处理后的信号,s″(n)表示去加重处理后的信号,与β为加重因子,一般取-0.8~0.95。

由于语音信号是一种非平稳的时变信号,其产生过程与发声器官的运动紧密相关。而发声器官的状态速度较声音振动的速度缓慢的多,因此语音信号可以认为是短时平稳的。研究发现,在5~50ms的范围内,语音频谱特征和一些物理特征参数基本保持不变。因此可以将平稳过程中的处理方法和理论引入到语音信号的短时处理当中,将语音信号划分为很多短时的语音段,每个短时的语音段称为一个分析帧。这样,对每一帧信号处理就相当于对特征固定的持续信号进行处理。帧既可以是连续的,也可以采用交叠分帧,一般帧长取10~30ms。取数据时,前一帧和后一帧的交迭部分称为帧移,帧移与帧长之比一般取为0~1/2。对取出的语音帧要经过加窗处理,即用一定的窗函数w(n)与信号相乘,从而形成加窗语音。加窗的主要作用在于减少由分帧处理带来的频谱泄露,这是因为,分帧是对语音信号的突然截断,相当于语音信号的频谱与矩形窗函数频谱的周期卷积。由于矩形窗频谱的旁瓣较高,信号的频谱会产生“拖尾”,即频谱泄露。为此,可采用汉明窗,因为汉明窗旁瓣最低,可以有效地克服泄露现象,具有更平滑的低通特性,得到的频谱比较平滑。

阵元间时间延时的估计在整个麦克风阵列语音增强算法中有很重要的作用:它和信号频率共同决定了波束的指向性以及用于对声源的方位估计。时间延时估计精度直接影响语音处理系统的性能。由于麦克风阵列对语音信号的空间采样,使得麦克风接收到的信号相对与参考麦克风而言都有一定的延时。为使波束形成的输出的最大指向对准目标信号源,保持各个麦克风接收到的期望语音信号同步是解决该问题的重要手段。典型的时延估计方法有广义互相关时延估计方法,基于自适应滤波的时延估计方法、自适应特征分解、高阶累积量估计方法等等。其中广义互相关时延估计方法应用最为普遍。假设一对麦克风接收到语音信号模型为:x1(t)=s(t)+η1、x2(t)=s(t-D)+η2,其中s(t)为声源信号,x1(t)和x2(t)分别是两个麦克风接收的信号,D为两个麦克风之间的声音传播延时,η1和η2为加性背景噪声。假设s(t)、η1、η2互不相关,这里忽略信号幅度衰减。则x1(t)和x2(t)之间的广义互相关函数R12(τ)为:

其中X1(ω)和X2(ω)分别为x1(t)和x2(t)的傅立叶变换,ψ12(ω)为广义互相关加权函数。针对不同的情况选择不同的加权函数,使得R12(τ)具有比较尖锐的峰值,则峰值处即为两个麦克风之间的时延。

语音激活检测又称语音检测、语音端点检测,用于精确地确定输入语音的起点和终点,以保证语音处理系统良好的性能,对于语音和噪声的处理方法不同,如果不能判断当前语音帧是含噪语音帧或是噪声帧的话,就不能进行适当的处理。在语音增强系统中,为了得到更多的背景噪声特性,语音端点检测更注重于如何准确的检测出无音段。语音知识的学习和噪声源信息估计的积累都依赖于准确的端点检测。通常的语音激活检测是基于语音帧来进行的,语音帧的长度在10~30ms不等。语音激活检测的方法可以综述为:从输入信号中提取一个或一系列的对比特征参数,然后将其和一个或一系列的门限阈值进行比较。如果超过门限则表示当前为有音段,否则就表示当前为无音段。

语音检测一般有两个步骤:

第一步:基于语音信号的特征。用能量、过零率、熵(entropy)、音高等参数,以及它们的衍生参数来判断信号流中的语音/非语音段。

第二步:在信号流中检测到语音信号后,判断此处是语音的开始点或是结束点。在语音系统中,由于信号多变的背景和自然对话模式而更容易使句中有停顿(非语音),特别是在爆发声母前重是无声间隙。因此这种开始或结束的判断尤为重要。

目前语音端点检测所采取的方法大体可以分为两类:

第一类是噪声环境下基于HMM模型的语音信号端点检测的方法,该方法要求背景噪声保持平稳且信噪比较高。

第二类方法是基于信号的短时能量进行检测的算法,它通过对背景噪声能量的统计,定出能量门限,利用能量门限来确定语音信号起始点。

步骤4)中,利用语音增强算法获取较为纯净的语音信号。

语音增强技术主要可以分为基于单通道的方法和多通道阵列麦克风的方法。单通道语音增强方法种类繁多,大都基于各种噪声消除方法结合语音信号的特征来研究具有针对性的算法,其理论成熟也是最简单有效的是谱减法(SS:Spectral Subtraction)语音增强。单个传感器拾音会受到场地、距离、应用场合的限制,因此拾音效果将大打折扣,后续的语音增强也就会困难重重。

谱减法的基本原理是:在频域将带噪语音的功率谱减去噪声的功率谱,得到语音的功率谱估计,开方后就得到语音幅度估计,将其相位恢复后再采用逆傅立叶变换恢复时域信号。考虑到人耳对相位的感觉不灵敏,相位恢复时所采用的相位是带噪语音的相位信息。由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号。

假设s(n)、η(n)和x(n)分别代表语音、噪声和带噪语音,S(ω)、Γ(ω)和X(ω)分别表示其短时谱。假设s(n)、η(n)不相关且噪声为加性噪声。于是得到信号的加性模型:x(n)=s(n)+η(n),经过加窗处理后的信号分别表示为xw(n),sw(n),ηw(n),则有:xw(n)=sw(n)+ηw(n),对其做傅立叶变换,得:Xw(ω)=Sw(ω)+Γw(ω),因此对功率谱有:|Xw(ω)|2=|Sw(ω)|2+根据观测数据估计|Xw()|2,其余各项必须近似为统计均值。由于s(n)、η(n)独立,则互功率统计均值为0,所以原始语音的估值为:其中,估计值不能保证是非负的,这是因为在估计噪声时存在误差,当估计噪声平均功率大于某帧带噪语音功率时,该帧得出的估计值就会出现为负的情况,这些负值可以通过改变它们的符号使之变为正值,也可以直接给它们置零。将恢复相位并做短时傅立叶反变换IFFT就能得到语音信号的时域估计:

当前,麦克风阵列语音增强算法主要有波束形成、子空间分解、盲源分离等。其中,盲源分离(BSS)是指在不知道或无法或得源信号和混合方式的情况下仅由观测信号恢复源信号的过程。即盲源分离可以不依赖当前事件的先验条件,可以用较少的麦克风就能进行语音增强,该算法的中心问题是解决多个人语音相互干扰混叠情况下将各说话人的语音分离出来,达到对各个目标语音增强的目的。

独立分量分析(ICA)是盲信号分离的有效方法之一,属于线性瞬时混合盲信号处理,该方法不依赖于源信号类型相关的详细知识或信号传输系统特性的精确辨识,是一种有效的冗余取消技术。该方法根据代价函数的不同,可以得到不同的ICA算法,如信息最大化(infomax)算法、Fast ICA算法、最大熵(M E)和最小互信息(MM I)算法、极大似然(ML)算法等。其基本原理为:将所获得信号看为目标信号经过一个线性变换混合而成,为了获得目标信号就需要找到一个逆线性变换将获得的信号分解开来,从而达到信源分离的目的。

在无噪声的情况下,用X=[x1(t) x2(t) … xN(t)]′表示麦克风阵列接收到的一组观察信号,其中t为时间或是样本序号,N为麦克风个数,假设其由独立成分线性混合而成,即其中A为某个未知的满秩矩阵。所以其信号模型的向量表达式为X=AS。

在有噪声的情况下,假设噪声是加性噪声。则其信号模型的表达式为:X=AS+Γ,其中Γ=[η1 η2 … ηN]是噪声向量。对X=AS+Γ做变换可得:X=A(S+Γ0),Γ=AΓ0,因此可以得出,带噪信号模型任然是基本的ICA模型,只是独立成分由S变换为在ICA基本信号模型下,假设待求分离矩阵为W,分离后信号矩阵为Y,则有如下表达式:Y=WX=WAS。ICA的最终目的是寻找一个最优或是较优的分离矩阵W使得分离后信号矩阵Y中各个信号相互独立并尽可能的逼近源信号。

当前,基于麦克风阵列的语音增强都是对单个目标进行,从而限制了阵列拾音装置的有效拾音效果,且传统的单目标增强并不能满足实际应用的需求。



技术实现要素:

本发明为了解决目前在基于阵列语音信号的多目标增强的技术问题,提出了一种基于盲源分离与谱减法的麦克风阵列多目标语音增强方法。

本发明的基于盲源分离与谱减法的麦克风阵列多目标语音增强方法,包括下列步骤:

步骤1:通过二维面阵的麦克风阵列采集带噪语音信号,得到麦克风阵列的各通道的采集信号,其中麦克风阵列数目大于或等于4;

步骤2:分别对各通道的采集信号执行步骤201~205:

步骤201:对采集信号进行带通滤波处理,屏蔽非语音段噪声和干扰;再对带通滤波后的信号进行预加重处理,分帧、加窗处理,得到帧信号;

然后对每帧信号进行频域转换,即对各帧信号进行短时傅立叶变换,并计算每帧的功率谱;同时计算并保留每帧的相位谱,以备谱减法过程中的相位恢复;

步骤203:对每帧的帧信号进行语音检测,判定当前帧是语音帧还是噪声帧,基于噪声帧估计噪声功率谱;

步骤204:基于谱减法去除语音帧的功率谱中的噪声功率谱,得到每帧的语音功率谱估计;

步骤205:对语音功率谱估计开方,并基于对应帧的相位谱进行相位恢复后,再进行短时傅立叶反变换,得到语音帧的时域估计信号;

步骤2中是对单通道的采集信号进行信号预处理,将采集信号划分为很多短时的语音段(带噪),即帧信号,再分别对每帧的帧信号进行谱减法处理,以降低语音帧的背景噪声。

步骤3:对所有通道的语音帧的时域估计信号采用盲源分离法进行信源分离处理,得到不同信源的目标信号;

步骤4:对同一信源的目标信号进行去加重、去窗、帧重组处理,得到不同信源的目标语音信号。

综上所述,由于采用了上述技术方案,本发明的有益效果是:(1)解决了传统的单通道语音增强方法处理环境背景噪声,算法简单,对资源需求不高的技术问题;(2)不再依赖阵列信号处理算法进行空间滤波,不需要考虑宽带波束算法,降低了算法结构的复杂度;(3)利用盲源分离算法实现了对目标信号增强,不再单一或是轮换的进行单目标信号增强。

附图说明

图1是传统语音增强系统示意图。

图2是本发明具体实施方式的实现系统示意图。

图3是语音检测的流程图。

图4是谱减法单通道语音增强方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。

参见图2,本发明的多目标语音增强方法,首先对二维面阵的麦克风阵列采集的各单通道信号(语音信号)进行信号预处理,将单通道的语音信号划分为很多短时的语音段,得到帧信号,以便于后续的语音激活检测、谱减法处理。其中信号预处理包括带通滤波、预加重处理,交叠分帧、汉明窗加窗处理。

对单通道的帧信号分别进行语音激活检测、谱减法处理,再对同一语音帧的所有通道进行盲源分离,得到不同源信号的目标信号,再对应信号预处理的逆反操作,对同一源信号的目标信号进行去加重,去汉明窗处理,帧重组得到各目标语音信号,实现对多目标语音的增强处理。

针对室内环境中的声源特性及噪声场特性,采用散射噪声场模型和近场声源模型,对实际环境中的多通道带噪语音信号进行建模。通过64个麦克风组成的8×8的平面阵列来采集空间中的语音信号。

用X=[x1(t) x2(t) … xj(t) … xN(t)]′表示各通道输出的带噪语音信号,其中j表示麦克风通道序号。

则对各通道输出的带噪语音信号进行信号预处理后得到的阵列信号(帧信号)为Xpw,则Xpw=[x1pw(n) x2pw(n) … jpw(n) … xNpw(n)]′,其中n=1,2,……L,L为帧长,w为帧号。

对帧信号Xpw作短时傅立叶变换,得到幅度谱|Xpw(ω)和相位谱Φpw(ω)。其中ω为频率采样点,是角频率从0到2π的N等分均匀采样。所以有:

|Xpw|=[|X1pw(ω)| |X2pw(ω)| … |Xjpw(ω)| … |XNpw(ω)|]′

利用|Xpw|=[|X1pw(ω)| |X2pw(ω)| … |Xjpw(ω)| …|XNpw(ω)|]′,按照图3所示流程图进行语音起始端点和结束端点的检测,即判断当前帧是噪声帧还是语音帧,并利用判断结果进行谱减消噪。其中,语音起始端点(起始帧)和结束端点(结束帧)的检测的具体过程为:

采用公式计算每一帧的语音能量,其中N为帧长,w为帧的编号,1≤w≤L,L为帧数,ω为每一帧中的各点;

初始化门限阈值T,通过对背景噪声能量的统计,设置门限阈值T的初始值

然后基于门限阈值T对每帧进行类别判定,判定当前帧是噪声帧还是语音帧,同时基于最近的k帧的噪声帧对门限阈值T进行更新:

a.计算当前帧的语音能量Mw,若Mw大于T,则判定当前帧为语音帧,否则判定为噪声帧;

b、若当前帧为噪声帧,则基于最近的k(经验值,通常取值为大于等于10)帧噪声帧对门限阈值T进行更新:

b1:计算最近k帧噪声帧的平均语音能量EMN、语音能量最大值和能量最小值EAX,EMIN;

b2:根据公式T=min[a×(EAX-EMIN)+EMN,b×EMN](0<a<1,1<b<10)得到更新后的门限阈值T;

c、若当前帧为语音帧,则判定所有帧是否处理完毕,若是,则端点检测完毕,否则,继续对下一帧重复步骤a~c。

进一步的,还可以利用短时过零率对语音帧和噪声帧的判定结果进行检验,以防止误判。

参见图4,基于检测出的所有噪声帧,可以估计得到噪声功率谱,然后基于谱减法除去各语音帧的估计噪声,即用语音帧的功率谱减去当前估计得到的噪声功率谱,得到语音帧的语音功率谱估计,再对语音功率谱估计开方,并基于各语音帧的相位谱进行相位恢复后,再进行短时傅立叶反变换,得到语音帧的时域估计信号,即单通道的增强语音信号。

上述完成后,利用自然梯度ICA来完成盲源分离,其具体处理过程为:

(1)若当前观测信号X(多个单通道增强语音信号序列)的均值不为零,那么就先从观测信号X中减去其均值;

(2)选择一矩阵B,使协方差矩阵E{VVT}为单位矩阵I,其中V=BX,向量V的各个分量之间是不相关的,且具有单位方差;

(3)基于奇异值分解的白化处理:首先估计X的方差Rx=E{XXT},Rx是一个实Hermitian阵;其次对Rx进行奇异值分解其中U=[u1,u2,…,un]的列是Rx的左奇异向量,白化处理的目的是为了减弱语音信号混合后的相关性;

(4)由于σ1≥σ2≥…≥σm>0;σm+1=…σn;(m≤n)从而估计出源信号的数目为m;

(5)最后进行正交变换:

U=[u1,2,…,n]

=BX,Um=[u1,2,…,m]

根据公式得到回复信号Y,其中,P既可称为性能矩阵,又可称为收敛矩阵,W表示独立分量分析ICA中的分离矩阵,A表示ICA中的混合矩阵,S表示源信号。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1