一种提高麦克风阵列语音增强性能的方法

文档序号:10654544阅读:589来源:国知局
一种提高麦克风阵列语音增强性能的方法
【专利摘要】本发明提出了一种提高麦克风阵列语音增强算法性能的方法。本发明的方案为:通过语音检测器检测主通道当前是语音时期HSP还是无语音时期NSP;在NSP时,第一滤波器基于输入信号,通过自适应调整第一滤波器的系数,使得第一滤波器的输出信号的能量最小;在HSP时,将第一滤波器的系数锁定,不作调整,直接基于NSP时设置的滤波器系数对输入信号进行滤波处理;将第一滤波器的当前输出信号作为第二滤波器的输入,对主通道信号进行自适应性滤波处理,通过调整自适应第二滤波器的系数,使得第二滤波器的输出信号的能量最小,得到抗串扰且噪声消除的语音输出。本发明的实施,可以在一定程度上提高语音增强效果。
【专利说明】
一种提高麦克风阵列语音増强性能的方法
技术领域
[0001] 本发明属于语音处理技术,具体涉及一种提高麦克风阵列语音增强性能的方法。
【背景技术】
[0002] 声学环境很复杂,麦克风在拾取语音信号的同时,也会接收到各种噪声:建筑物的 混响,干扰声源,电噪声等。传统的语音拾取工具难以提供好的抗噪声的能力,人们提出了 麦克风列语音增强的技术。利用麦克风阵列的空间选择性,聚焦到一个或者多个感兴趣的 声源上去。麦克风阵列具有灵敏的波束指向性,优秀的空间滤波性。
[0003] 在众多的语音增强的算法中,自适应噪声消除(adaptive noise cancellation, ANC)是重要组成部分。它的计算复杂度不高,可以用来处理各种噪声,在实际的实时环境中 应用比较多,它需要的麦克风数量不也多。
[0004] 由于语音信号传播路径的复杂性,在两个通道的ANC系统中,参考通道和与主通道 之间的噪声不是完全相关的。所以两个通道的ANC系统中语音增强的效果会受到限制。为了 获得更好的性能,我们需要采用更多的麦克风。
[0005] 在传统ANC算法中,参考通道理想的状态是只包含噪声信号。否则在主通道中的语 音信号在噪声消除的时候会被部分抵消掉。参考通道里面的语音信号越多,噪声消除的时 候,损失的语音信号也越多,增强的结果也就越差。然而在实际的环境中,让参考通道只包 含噪声信号这是不可能的。尤其是在小麦克风阵列中。

【发明内容】

[0006] 本发明的发明目的在于:针对上述存在的问题,提供一种能消除串扰的麦克风阵 列语音增强性能的方法。
[0007] 本发明一种提高麦克风阵列语音增强性能的方法,包括下列步骤:
[0008] 通过语音检测器检测主通道当前是语音时期HSP还是无语音时期NSP;
[0009] 在NSP时,将噪声信号作为第一滤波器的输入,通过自适应调整第一滤波器的系 数,使得第一滤波器的输出信号的能量最小;其中,对于主通道和一个参考通道的双通道模 式,噪声信号对应主通道信号和参考通道信号(即比较参考通道中的噪声信号和主通道中 的噪声信号之间的关系,也是就所谓的传输函数。自适应调整第一滤波器的系数的过程就 是获取这种关系的过程。以便在HSP时,可以利用所获得的传输函数和参考通道中的噪声信 号来消除主通道中的噪声信号);对于多通道模式,噪声信号对应所有参考通道信号;在HSP 时,将第一滤波器的系数锁定,不作调整,直接基于NSP时设置的第一滤波器的系数对输入 信号进行滤波处理;
[0010]将第一滤波器的当前输出信号作为第二滤波器的输入,对主通道信号进行自适应 性滤波处理,通过自适应第二滤波器的系数,使得第二滤波器的输出信号的能量最小,得到 抗串扰且噪声消除的语音输出。
[0011]即本发明在HSP和NSP均通过第二滤波器对主通道信号进行自适应性滤波处理,仅 在NSP自适应调整第一滤波器的系数。
[0012] 综上所述,由于采用了上述技术方案,本发明的有益效果是:在去除噪声的同时抗 串扰,且计算复杂度低,对不同噪声的去噪处理的适用性强。
【附图说明】
[0013] 图1是双通道自适应噪声消除示意图;
[0014] 图2是双通道串扰模型;
[0015] 图3是双通道抗串扰自信应噪声消除示意图;
[0016] 图4是多通道串扰模型;
[0017] 图5是多通道抗串扰自适应噪声消除算法示意图;
[0018] 图6中,(a)为语音信号波形图,(b)为噪声信号波形图,(c)为主通道信号波形图, (d)为参考通道信号波形图;
[0019] 图7中,(a)为纯净的语音信号波形图,(b)为带噪声的语音信号波形图,(c)为双通 道自适应噪声消除后的语音信号波形图,(d)为抗串扰的双通道自适应噪声消除后的语音 信号波形图。
【具体实施方式】
[0020] 为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发 明作进一步地详细描述。
[0021] 如图1所示,假设噪声信号是n(t)。它从噪声源传到麦克风阵_和施,然后噪声信号 被分别拾取为n〇(t)和m(t)。假设语音信号是s(t)。被麦克风Mo拾取为so(t)。进一步假设语 音信号s(t)没有进入参考信道施。所以最终被麦克风拾取的信号的形式是这样的:
[0022] x〇(t) = so(t)+n〇(t) (1)
[0023] xi(t) =m(t) (2)
[0024] 所述XQ(t)、X1(t)分别对应麦克风施^:拾取的信道信号,其中:
[0025] m(t)=hni(t)*n(t) i = 0,l (3)
[0026] so(t) =hs〇(t)*s(t) (4)
[0027] 上式中,*是卷积符号(下同),hnQ(t)和hnl⑴分别是噪声源到麦克风_和施之间冲 击响应,即主通道冲击响应,参考通道冲击响应。
[0028] 在离散时域中t = kT,其中k是时域中的序号,T是采样的周期。简单来说就是用k来 代替t。连续信号是x(t),离散信号是x(k)。
[0029] 在噪声环境中只能获取到信号XQ(kWPX1(k),在基于所获取的两个信号恢复语音 信号so(k)时,如果噪声信号和语音信号是不相关的,则可以通过ANC算法实现,参见图1,其 八从:系统的输出信号6(1〇=1()(1〇-7(1〇 = 8()(1〇+11()(1〇-7(1〇,对其两边同时平方可得:
[0030] (k) = .>',;(/;) + [>?(1 {k) - 1 \1<)]' + 2.v"(A )[>?"{k) - ι {l<)]
[0031 ] s〇(k)和n〇(k),y(k)是不相关的,求期望的:E[e:(/(.)] = £"[.ν〗(Α')] + £[,%(々)-)·(々)『以 调整自适应滤波器Α的系数,使得输出能量E[e2(k)]最小。即:
[0032] min E[el(k )J = E[s;, [k)] + min £[/2,,(k) - y(k )];! (5)
[0033]从公式(5)可以看出最小化E[e2(k)]和最小化E[n0(k)-y(k)]2是等价的。所以滤波 器A在均方误差最小准则(MMSE)下的输出y(k)是对主通道中噪声信号的估计。整个系统的 输出信号e(k)是对信号so(k)在最小均方差准则下的估计。
[0034]从公式(5)可以知道,要取得最小值E[e2(k)]=E[S() 2(k)],当且仅当E[n()(k)-y (k)]2 = 0。也就是说y(k)=n〇(k),e(k) = s〇(k),即当前系统的输出为无噪声的信号。
[0035] 在ANC系统中,滤波器A可以有很多种形式。然而通常来说使用的是自适应的FIR滤 波器
,其中W是滤波器的系数向量,??7 = [?'二·%], Ni(k) = [m(k+Li),…,m(k+l),m(k),..·ηι(1?-?2)]τ,其中 Li 表示主通道延时,L2 表示参考 通道延时。
[0036] 对于自适应滤波器A的系数的调整,可以采用常用的技术,比如最小均方差法 (LMS),递归最小二乘法(RLS)等。在这些方法中LMS算法是最简单,被广泛使用的方法。也有 很多改进的LMS算法。本【具体实施方式】中采用LMS算法。
[0037] 在传统的噪声消除处理中,通常假定参考通道中没有语音信号。否则主通道中的 信号会被部分或者完全地消除掉。然而在实际的环境中,语音信号会不可避免的传入到参 考通道中去,导致参考通道中含有语音信号,尤其是在阵列孔径比较小的时候。对于参考通 道和主通道中均含有语音信号和噪声信号的情况,将其称之为串扰。
[0038] 本发明针对麦克风阵列的串扰技术问题,公开了一种抗串扰的自适应噪声消除方 法,其适用于双通道乃至多通道的串扰情况。
[0039] 针对如图2所示的双通道的串扰,本发明包括两个滤波器(滤波器A和B)和一个语 言探测器,其实现结构示意图如图3所示。首先,假设信号s(k)传播到麦克风M〇和仏的传输函 数是H sQ(z)和Hsl(z),转换后得到的信号分别是SQ(kWPSl(k)。其中噪声信号n(k)传播到麦 克风此和此的传输函数是H nQ(z)和Hnl(z),转换到麦克风咖和此上的信号就是nQ(k)和m(k)。 然后两个麦克风实际的信号获取情况是:
[0040] x〇(k) = s〇(k)+n〇(k)
[0041 ] xi(k) = si(k)+m(k)
[0042] 其中X〇(kWPXl(k)包含了语音信号和噪声信号。
[0043] 对于图2所示的模型有:
[0044] s〇(z)=Hs〇(z)s(z)
[0045] si(z) =Hsi(z)s(z)
[0046] η〇(ζ)=Ηη〇(ζ)η(ζ)
[0047] m(z) =Ηπ?(ζ)η(ζ)
[0048] 其中,s(z)对应信号s(k)的ζ变换,s〇(z)表示s〇(k)的ζ变换,定义s〇(k)到si(k)的 传输函数是H s〇si(z),m(k)到n〇(k)的传输函数是Ηηιη〇(ζ)。即:
[0049] si(z)=Hs〇si(z)s〇(z)
[0050] n〇(z)=Hnin〇(z)m(z)
[0051] 将上式转换为:
[0054] 本发明通过噪声消除来实现语音增强,而噪声消除的处理为:
[0055] 首先,因语音信号是间歇性的,因此将信号分为有语音时期(Having Speech Period,HSP)和无语音时期(Non Speech Period,NSP);
[0056] 在NSP时,麦克风_和施拾取的是纯净的噪声信号:n〇(k)和m(k)。将主通道信号no (k),参考通道的信号m(k)作为滤波器A的输入。其目的是为了估计通道间噪声信号的传输 函数HnlnQ(z)。通过自适应的调整滤波器A的系数,使得 ei(k)的输出能量最小,从而估算得到 HnlnO ( Z ) 〇
[0057] 在HSP时,因当前噪声环境和NSP相比的变化很少,可以假设噪声环境无变化,即噪 声源的位置和麦克风阵列的位置无变化或者变化可以忽略不计,即:
[0058] Yl(z) =Hnln〇(z)Xl(z) =Hnln〇(z) [Sl(z)+Nl(z)];
[0059] Ει(ζ) =Χο(ζ)-Υι(ζ)
[0060] =S〇(z)+N〇(z)-Hnln〇(z)Sl(z)-Hnln〇(z)Nl(z)
[0061] =S〇(z)-Hnln〇(z)Sl(z)
[0062] =[l-Hnln0(z)Hs0sl]S〇(z)
[0063] 其中,Yi(z)表示yi(k)的z变换,yi(k)表示滤波器A的输出信号,Xi(z)表示xi(k)的z 变换。
[0064] 滤波器B的系统函数是[Ι-Η^οωΗ-Γ1,贝基于上式可得:
[0065] Y2(z) = [l-Hnln0(z)Hs0sl(z) ]_1Ei(z) = So(z)
[0066] E2(z) =Χο(ζ)_Υ2(ζ)
[0067] = [So(z)+No(z)]-So(z) =No(z)
[0068] 有上式可知,混合在信号xo(k)中的语音信号so(k)和噪声信号no(k)被分离了。所 以滤波器B的输出就是目标信号so(k)。接下来,为了得到滤波器B的系统函数[l-H nlnQ(z) Η^Γ1,则通过自适应调整B的系数使得输出功率E[e22(k)]最小即可。这是因为:
[0069] | | e2(k) | 12= | | X0(k)-y2(k) | |2
[0070] = | | so(k)+n〇(k)-y2(k) | |2
[0071] = | |n〇(k)| |2+| |so(k)_y2(k)| |2+2n〇(k)[so(k)_y2(k)]
[0072] 上式中,y2(k)表示滤波器B的输出信号,对等式左右两边同时取期望。考虑到n〇(k) 和s〇(k)是不相关的,因此£[<⑷j = £[%(々)]+瓦丨卜'丨丨(/〇 -丹衡]2},所以e2(k)功率的最小值, 意味着最小的E{[so(k)-y2(k)] 2}。考虑到滤波器B的输入信号ei(k)和so(k)是相关。作为滤 波器B的输出信号y 2(k)就是在最小均方误差准则下对信号so(k)的估计。
[0073]相邻的HSP和NSP时期,残留在增强后信号中的噪声水平是不一样的。因为在每一 个时刻噪声环境都在有变化。所以残留噪声的水平会随着时间波动。为了克服这一点。可以 在所有时期都动态的调整滤波器B的滤波系数来克服上述波动。
[0074]总而言之,如图3所示,NSP时期,在使得的(1〇输出能量最小的准则下,动态的调整 A的滤波系数;对于滤波器B,在使得e2(k)的输出能量最小的准则下动态调整B的滤波系数。 然后B的输出y 2(k)就是我们增强后的信号。这是对于双通道的抗串扰算法。
[0075] 滤波器A和滤波器B的系统函数分别为HnlnO ( Z )和[1 -HnlnO ( Z )HsOsl Γ1。HnlnO ( Z )是滤 波器A在NSP得到。[l-IW^dHsOsir1是滤波器B在HSP的时候得到的。如果在下一个阶段, NSP中的噪声环境没有发生变化吗,则滤波器A的系统函数也不会变化;如果在下一个HSP中 的语音信号的环境没有发生变化(麦克风和声源位置不变,介质也没有发生变化或者其发 变化可以忽略不计),滤波器B的系统函数也不会变化。否则两个滤波器的系数需要自适应 调整。本发明中,通过语音探测器来判断是否触发对滤波器A的系数的更新,即当语言探测 器的检测结果为无语音信号时,对滤波器A的系数进行更新;否则滤波器A的系数被锁定。
[0076] 本发明的语音增强方式不仅可以用于双声道的抗串扰噪声消除,还可以用于多声 道的抗串扰的噪声消除,其具体处理为:
[0077] 在多通道麦克风阵列中,假设输入信号是s(k),噪声信号是n(k),且两者不相干。 信号s(k)、n(k)到达麦克风I通过了多种路径转换成了 Sl(k)和m(k)。传输媒介对语音信号 和噪声信号的冲击响应是hsi(k)和h ni(k)。麦克风Mi获取的信号可以表示为:
[0078] xi(k) = si(k)+ru(k) i = 0,1,...,N
[0079] N+l是麦克风阵列中的麦克风数目;k表示的是离散时刻的序号。既有噪声又有语 音信号,这个时候就会发生串扰。
[0080] 从图4可知:
[0081] si(k) =hsi(k)*s(k) 1 = 0,1,...,Ν
[0082] m(k) =hni(k)*n(k) i = 0,1,· · ·,Ν
[0083]定义两个麦克风语音信号Si(k)和Sj(k)之间的冲击响应为hsisj(k)。同样的定义噪 声m(k)和nj(k)之间的冲击响应是hninj(k)。
[0084] sj(k)=hsisj(k)*Si(k) j,i = 0,l,· · ·,N
[0085] nj(k)=hninj(k)*m(k) j,i = 0,l,· · ·,N
[0086] 根据这两个式子可以得出:
[0089] 其中,化」(2)、1(2)、知(2)、!^(2)分别为冲击响应1^(1〇、1^(1〇、1^(1〇、1111」(1〇 的Z变换,Hsisj(z)表不Si(k)和Sj(k)之间的传输函数,Hninj(z)表不m(k)和nj(k)之间的传输 函数,即冲击响应h sisj(k)、hninj(k)的z变换。
[0090] 假设XQ(k)就是麦克风阵列中的主通道Mo所捕获的信号,Xl(k)(i = l,..,N)是其他 N个参考通道中捕获的信号。在通常情况下(阵列元间隔比较近),主通道和参考通道的信号 是相关的。参考通道里既包含了语音信号又包含了噪声信号,通常的多声道噪声消除方法 不能得到比较好的噪声消除效果。这是因为串扰的存在,主通道中的语音信号会被部分的 消除掉。
[0091] 多通道抗串扰噪声消除处理实现示意图参见图5,其包括一个语音检测器和两个 自适应的滤波器A、B。
[0092] 在NSP时,麦克风Mo,. .,Mn获取的只是噪声信号n〇(k),m(k),. . .为 主通道中的噪声,m(k),...,nN(k)是参考通道获取的噪声。
[0093]首先,将所有的参考声道的噪声(m(k),...,nN(k))输入到滤波器A;
[0094] 然后采用FIR滤波器的形式来设计自适应滤波器A:
[0095] n〇(k) =WiNi(k)+eii(k)
[0096] ffi= (wi〇,Wii, . . . ,wil)
[0097] Ni(k) = [m(k),m(k-l),· · ·,m(k-L)]T
[0098] 其中1是滤波器A的系数,L+l是滤波器A的长度。eu(k)是用m(k)来预测n〇(k)的误 差。eu(k)与最终的能量大小和最终的增强效果有着密切的联系。参考通道中的噪声信号和 主通道中的噪声信号相关度并不是很高。基于实际的噪声环境,麦克风隔得越远,噪声的相 关性就会越小。所以误差功率P[en(k)]就越大。
[0099] 如果多个参考通道m(k),· · .,nN(k)都输入到滤波器A来消除n〇(k)中的噪声,则:
[0100] n〇(k) = WN(k)+ei(k)
[0101] ff=(ffi,ff2, . . . ,Wn)
[0102] ffi= (wi〇,Wii, . . . ,wil)
[0103] 其中W是滤波器A的系数,它是一个N(L+1)行向量。
[0104] N(k) = [Ni(k),N2(k),. . . ,NN(k)]T
[0105] Ni(k) = [ru(k) ,ru(k-l),. . . ,ru(k-L)]
[0106] 所述N(k)是一个N(L+1)的列向量,ei(k)是预期的误差。假设W=(0, . . .,0,1, 0,...,0)。则有:
[0107] ei(k) = n〇(k)-ffN(k)
[0108] =n〇(k)-ffiNi(k)
[0109] =en(k)
[0110] 所以在理想情况下取到W和Wi,它们对应的最小误差的功率最好满足下面这个不 等式。
[0111] p[ei(k)]<p[eii(k)]
[0112] 通常情况下p[ei(k)]会远远小于p[eu(k)],尤其是当有多个噪声源,并且噪声的 传播路径不止一个的时候。这就意味着通过利用N个参考通道中的噪声信号,可以使残留在 主通道中的噪声变得小,即可以通过增加麦克风的数目来增加主通道噪声和参考通道中噪 声的相关性。但是如果N越大的话意味着需要采用更多的麦克风,L越大在实际的应用中则 更加困难。因此麦克风的数目和滤波选取的采样点数可以通过调试进行设置:
[0113] 将输出最小误差的仏)的滤波器A的系数写成下面这个形式:
[0115] 对应的最小误差功率是/扣Μ )卜、为了取到对应的到W'通过调整滤波器A的系数使 得误差功率最小即可。
[0116] 在HSP时。设置噪声的冲击响应为hninQ(k)(假设当前噪声环境不变或变化缓慢), 因此有:
[0118] 其中,S(k)为:
[0119] S(k) = [Si(k),S2(k),...,SN(k)]T
[0120] Si(k) = [si(k),s(k_l),· · ·,Si(k_L)]
[0121] 因此可得:
[0123] 其中:
[0124] p(k) =so(k)-ff*S(k)
[0125] 对上面的式子做z变换。
[0130]由上式可知,p(k)会使得语音信号发生失真的,并且它和So(k)是相关的。此外p (k)的功率其实往往不会像 <(幻的功率那样小。这就意味着带噪声的语音信号不会像噪声 信号那样被严重削减。这是因为噪声信号和语音信号有着不同的传播方式。噪声源,目标声 源,麦克风的位置通常是影响这个的因素。eKk)的信噪比通常比带噪信号 XQ(k)有很大的提 升。其中语音信号是P(k)而噪声信号的是 <衡。然而,信号ei(k)中的p(k)不是s〇(k)信号的 近似,而是失真后的so(k)。当麦克风的数量增加的时候这种失真会变得更加的大。因此,本 发明的滤波器B的作用就是从失真的p(k)中获取语音信号so(k)。通过调整滤波器B的系数 即可实现滤波器B的该作用。从而使得e 2(k)的输出功率最小。
[0131]与双声道相同的处理方式,为了防止波动增强后语音信号中的噪声残留水平的波 动。最好的办法就是滤波器B-直工作,一直保证e2(k)最小,而滤波器A只有在没有语音信 号的时候才调整系数。然后滤波器B的输出y 2(k)就是在最小均方误差准则下系统So(k)的估 计。
[0135] 实施例
[0136] 提取一段语言信号和音乐,将音乐作为噪声信号。语音信号和噪声信号的采样率 都是16kHz。为了仿真,将语音信号到主通道和参考通道的传输函数分别设置为:、
[0137] Hs〇(z)=[0.0408,0.0817,0.1633,0.1225,0.0408,0.2048,0.2450.0.0817]z
[0138] Hsi(z)=[0.1293,0.1293,0.0970,0.2587,0.0647,0.0323,0.0970,0.1617]z
[0139] 噪声信号到主通道和参考通道的传输函数分别设置为:
[0140] Hn〇(z)=[0.1187,0.2960,0.1781,0.0594,0.0000,0.0000,0.2375,0.0594]z
[0141] Hni(z) = [0.1309,0.2182,0.2618,0.000,0.0873,0.0000,0.0436,0.2182]z
[0142] 其中,z = [l,z-^z-2,z-3,z-4, z-5,z-6,z-7] τ。
[0143] 根据8〇(1〇=113()(1〇*8(1〇可得到主通道中语音信号8()(1〇,根据11()(1〇=1111()(1〇*11 (k)可得到主通道中噪声信号n〇(k);同理可得参考通道中语音信号 81(1〇、噪声信号m(k)。
[0144] SQ(k)、nQ(k)的波形图分别如图6(a)、(b)、所示,而主通道和参考通道中的信号xo (k) =so(k)+n〇(k),xi(k) =si(k)+m(k)分别如图6(c)、⑷所示。
[0145] 基于本发明的抗串扰方式,实现对语言信号的增强性处理,其输出结果如图7所 示,其中图7(a)、(b)分别是本实施例纯净的语音信号so(k)和带噪声的语音信号 XQ(k),图7 (c)是传统的双通道自适应噪声消除后的语音信号,图7(d)是抗串扰的双通道自适应噪声 消除后的语音信号。从图7可知,本发明的处理效果良更优。
【主权项】
1. 一种提高麦克风阵列语音增强性能的方法,其特征在于,包括下列步骤: 通过语音检测器检测主通道当前是语音时期HSP还是无语音时期NSP; 在NSP时,第一滤波器基于输入信号,通过自适应调整第一滤波器的系数,使得第一滤 波器的输出信号的能量最小;其中,对于主通道和一个参考通道的双通道模式,第一滤波器 的输入信号为主通道信号和参考通道信号;对于主通道和一个以上参考通道的多通道模 式,第一滤波器的输入信号为所有参考通道信号;在HSP时,将第一滤波器的系数锁定,不作 调整,直接基于NSP时设置的第一滤波器的系数对输入信号进行滤波处理; 将第一滤波器的当前输出信号作为第二滤波器的输入,对主通道信号进行自适应性滤 波处理,通过调整自适应第二滤波器的系数,使得第二滤波器的输出信号的能量最小,得到 抗串扰且噪声消除的语音输出。
【文档编号】G10L21/0208GK106024001SQ201610283434
【公开日】2016年10月12日
【申请日】2016年5月3日
【发明人】汤煜华, 于鸿洋, 王昭婧
【申请人】电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1