一种后置fastica信号分离的麦克风阵列语音增强方法
技术领域
1.本发明属于电子通讯技术领域,具体涉及一种后置fastica信号分离的麦克风阵列语音增强方法。
背景技术:2.语音信号处理对语音的质量有着较高的要求,然而不论是通过语音向他人传递信息,还是与人工智能产品进行人机交互,语音在传输过程中不可避免地会被环境噪声或机器系统的内部噪声所污染甚至是淹没,从而导致语音的清晰度和可懂度严重下降。因此,必须利用语音增强技术予以解决。
3.语音增强的目的是从被干扰和噪声所污染的语音信号中,提取出清晰度和可懂度较高的原始语音,以改善语音信号质量,并为后续的语音信号处理做准备。
4.麦克风阵列语音增强方法利用了输入信号的时、频域以及空间信息,可对不同来波方向的信号予以时-频-空域联合处理,具有优秀的空间滤波特性、良好的抗干扰能力等优点。其中最具代表性的广义旁瓣抵消器语音增强方法更是成为许多现代语音增强方法的研究基础,并已被广泛应用于复杂的实际环境中。
5.然而,广义旁瓣抵消器在实际使用中逐渐暴露出缺点:下支路阻塞矩阵的构建严重依赖于期望信号精确的来波到达方向,但在实际应用中该方向信息又难以获得,因此导致阻塞矩阵无法阻塞掉所有的期望信号,从而会影响后续自适应滤波器权值的更新,增强后的语音信号质量自然不高。此外,广义旁瓣抵消器可有效消除相干噪声,但对非相干噪声的去除表现性能较差,输出的语音信号中经常残留着大量非相干噪声,导致输出语音的信噪比较低。
技术实现要素:6.本发明所要解决的技术问题是针对上述现有技术的不足,提供一种后置fastica信号分离的麦克风阵列语音增强方法,利用自适应阻塞矩阵代替传统的固定阻塞矩阵,可有效减少因精确来波方向未知而造成的目标信号的泄漏,并在gsc的输出端结合快速独立分量分析(fastica)算法进一步分离输出信号中的纯净语音和非相干噪声,可在高斯白噪声背景下有效去除含噪语音中的噪声,改善语音信号质量,当输入背景噪声信噪比较低时,去噪性能更加明显,解决了现有广义旁瓣抵消器消除非相干噪声能力差以及阻塞矩阵经常泄漏期望信号的问题。
7.为实现上述技术目的,本发明采取的技术方案为:
8.一种后置fastlca信号分离的麦克风阵列语音增强方法,包括:
9.步骤1、麦克风阵元接收信号获取与预处理;
10.步骤2、广义旁瓣抵消器上支路的固定波束形成器对麦克风阵元接收信号进行初级降噪,输出降噪后的含噪语音信号;
11.步骤3、下支路的自适应阻塞矩阵代替传统固定阻塞矩阵过滤期望信号,输出噪声
和干扰,自适应阻塞矩阵后接入一个自适应抵消器,将多路噪声信号输出为一路噪声信号;
12.步骤4、将上支路固定波束形成器的输出和下支路自适应抵消器的输出信号合成矩阵的形式执行fastlca算法进行语音和噪声的分离,在分离出的信号中得到增强后的语音信号。
13.为优化上述技术方案,采取的具体措施还包括:
14.上述的步骤1中,假设入射信号为s(n)=[s1(n),s2(n),
…
,s
p
(n)]
t
,p为入射信号数目;
[0015]
让各麦克风阵元接收的信号与参考阵元接收信号在时域上保持同步,具体为:
[0016]
首先需要对麦克风阵元接收信号进行时延估计:
[0017][0018]
式中,τ
kl
为第l个声源信号入射到第k个麦克风阵元产生的时间延迟,m为麦克风阵元数目,d为阵元间距,sinθl为第l个声源信号入射角度的正弦值,c为波速。
[0019]
接着通过时延补偿模块进行延迟校正,从而使接收信号达到同步状态,同步后的信号为:
[0020]
x(n)=as(n)
ꢀꢀ
(2)
[0021]
式中,a=[a1,a2,
…
,am]
t
为阵列流型矩阵,作用是简化实际应用中复杂的信号延迟补偿,其中,ωc为中心角频率。
[0022]
选取合适的固定权系数,使同步信号经累加求和后可以在目标信号方向上形成一个主瓣波束,而在其它方向上形成波束零陷,从而对干扰和噪声进行初步抑制。
[0023]
上述的步骤2中,上支路固定波束形成器的输出信号为:
[0024]
zc(n)=w
ct
x(n)
ꢀꢀ
(3)
[0025]
式中,wc=[w
c1
,w
c2
,
…
,w
cm
]
t
为滤波器权值,且wc=c(chc)-1
c,c为约束矩阵,c为对应的约束响应向量。x(n)=[x1(n),x2(n),
…
,xm(n)]
t
为已同步信号。
[0026]
上述的步骤3中,采用自适应阻塞矩阵滤除已同步信号中的期望信号,该矩阵采用m路由m-1个抽头延迟单元组成的m阶自适应滤波器;
[0027]
当固定波束形成器的输出zc(n)输入到下支路新建的自适应阻塞矩阵时,自适应阻塞矩阵的第k路(k=1,2,
…
,m)自适应滤波器输出为:
[0028]
vk(n)=w
fk
(n)
t
zc(n)
ꢀꢀ
(4)
[0029]
式中,w
fk
(n)=[w
fk,0
(n),w
fk,1
(n),
…
,w
fk,m-1
(n)]
t
,
[0030]
zc(n)=[zc(n),zc(n-1),
…
,zc(n-m+1)]
t
;
[0031]
将第k路已同步信号xk(n)作为期望信号d(n),得到误差信号为:
[0032]ybk
(n)=d(n)-vk(n)
ꢀꢀ
(5)
[0033]
该误差信号为下支路后续自适应抵消器部分的输入信号。
[0034]
上述的步骤3中,利用nlms算法对自适应滤波器权值w
fk
进行更新,更新表达式为:
[0035][0036]
式中,uf为自适应滤波器的步长,δf是正则化因子。
[0037]
上述的步骤3中,自适应阻塞矩阵后接入一个自适应抵消器,作用是将输入的m路
噪声信号输出为一路噪声信号,并不进行滤波器权值的更新,自适应抵消器的输出为:
[0038][0039]
式中,w
ak
为自适应抵消器部分的第k个自适应滤波器权值,wa=[w
a1
,w
a2
,
…
,w
am
]
t
,yb(n)=[y
b1
(n),y
b2
(n),
…
,y
bm
(n)]
t
。
[0040]
上述的步骤4中,将上支路固定波束形成器的输出和下支路自适应抵消器的输出信号合成矩阵的形式执行fastica算法,随机选择一个混合矩阵q,将固定波束形成器的输出zc(n)和自适应抵消器的输出za(n)进行线性混合,可得fastica的输入信号为:
[0041]
x(n)=qz(n)
ꢀꢀ
(8)
[0042]
式中,q是一个随机2维方阵,z(n)=[zc(n),za(n)]
t
。
[0043]
上述的步骤4中,执行fastica算法,具体包括:
[0044]
(1)对输入信号x(n)进行去均值,得
[0045]
(2)进行球化处理:
[0046][0047]
式中,r为经过球化处理后的信号,λ代表对角阵,且λ=diag[α1,α2],η为协方差阵的特征向量,α1、α2分别为协方差阵的特征值;
[0048]
(3)设置最大迭代次数,需要估计的分量个数;
[0049]
(4)任意设定w
l
(0)的初始值;
[0050]
(5)进行迭代更新:w
l
(n+1)=e(rg(w
l
(n)
t
r))-e(g
′
(w
l
(n)
t
r))w
l
(n),其中,非线性函数选择为:g(y)=y3;
[0051]
(6)进行正交变换:
[0052]
(7)归一化处理:w
l
(n+1)=w
l
(n+1)/||w
l
(n+1)||;
[0053]
(8)若w
l
(n)未收敛,则返回步骤(5),直至收敛。
[0054]
本发明具有以下有益效果:
[0055]
本发明采用的自适应阻塞矩阵可实现对期望信号尽可能地滤除,更能减小目标信号的泄漏;广义旁瓣抵消器输出端采用的fastica信号分离算法可对gsc的输出语音进一步消噪,改善增强语音的信噪比,尤其是当背景噪声高斯白噪声信噪比过低时,该方法可展现出优越的去噪性能,且鲁棒性更强。
附图说明
[0056]
图1为本发明的结构原理示意图;
[0057]
图2为本发明中自适应阻塞矩阵部分采用的具有延迟结构的横向滤波器结构原理示意图;
[0058]
图3为本发明中采用的fastica方法所属的盲源信号分离方法的结构原理示意图;
[0059]
图4为纯净语音信号示意图;
[0060]
图5为图4信号语谱图示意图;
[0061]
图6为麦克风阵列接收的含有方向性干扰噪声和10db高斯白噪声的语音信号示意图;
[0062]
图7为图6信号经过本发明方法处理后得到的语音信号示意图;
[0063]
图8为图7信号的语谱图示意图。
[0064]
图9为本发明的流程图。
具体实施方式
[0065]
以下结合附图对本发明的实施例作进一步详细描述。
[0066]
图1为本发明的结构原理示意图。首先,经过时延估计和时延补偿模块,使得麦克风各阵元接收信号形成同步信号;接着,上支路的固定波束形成器对已同步信号进行初级降噪,输出含噪较少的语音信号;然后,下支路的自适应阻塞矩阵以上支路的输出为输入,并以已同步信号为参考信号,两者相减形成输出信号,经过滤波器权值的不断更新,使得该输出信号中只含有噪声信号,并输入到后续的抵消器中;抵消器采用固定权值将多路输入信号输出为一路信号;最后,将上、下支路的总输出信号输入到fastica模块,进一步分离纯净语音和噪声,得到增强后的语音信号。
[0067]
图2为本发明中自适应阻塞矩阵部分采用的具有延迟结构的横向滤波器结构原理示意图。输入信号经过m-1个延迟器形成m个延迟信号,并分别输入到m个滤波器权值中,形成一路输出信号。将纯净语音信号作为期望信号,减去输出信号得到误差信号,然后利用该误差信号以lms算法不断更新各滤波器权值,最终得到含有极少噪声的纯净语音输出信号或误差信号极度接近于0。
[0068]
图3为本发明中采用的fastica方法所属的盲源信号分离方法的结构原理示意图。该原理大致为根据观测信号x(n),以及源信号s(n)和未知矩阵a的部分先验知识,通过盲源信号分离算法估计得出分离系统w,从而尽可能地从混合信号中还原出初始的整个源信号的过程。
[0069]
图4为纯净语音信号示意图。该纯净语音信号为一段时长3s的女生语音,采样频率为8khz。
[0070]
图5为图4的纯净女生语音信号语谱图示意图。其目的主要是为了以主观评价方式进一步检验经本发明输出的增强语音信号的质量。
[0071]
图6为麦克风阵列接收的含有方向性干扰噪声和10db高斯白噪声的语音信号示意图。其中包含纯净女生语音、方向性干扰噪声和10db高斯白噪声。
[0072]
图7为图6信号经过本发明方法处理后得到的语音信号示意图。即本发明处理含噪语音后的输出增强语音信号。
[0073]
图8为图7信号的语谱图示意图。目的是为了和图5形成对照,进一步验证增强语音的质量,体现本发明的优势。
[0074]
参见图9,本发明一种后置fastica信号分离的麦克风阵列语音增强方法,包括:
[0075]
步骤1、麦克风阵元接收信号获取与预处理;
[0076]
实施例中,假设入射信号为s(n)=[s1(n),s2(n),
…
,s
p
(n)]
t
,p为入射信号数目。为了让各麦克风阵元接收的信号与参考阵元接收信号在时域上保持同步,首先需要对麦克风阵元接收信号进行时延估计:
[0077][0078]
式中,τ
kl
为第l个声源信号入射到第k个麦克风阵元产生的时间延迟,m为麦克风阵元数目,d为阵元间距,sinθl为第l个声源信号入射角度的正弦值,c为波速。
[0079]
接着通过时延补偿模块进行延迟校正,从而使接收信号达到同步状态,同步后的信号为:
[0080]
x(n)=as(n)
ꢀꢀ
(2)
[0081]
式中,a=[a1,a2,
…
,am]
t
为阵列流型矩阵,作用是简化实际应用中复杂的信号延迟补偿,其中,ωc为中心角频率。
[0082]
选取合适的固定权系数,使同步信号经累加求和后可以在目标信号方向上形成一个主瓣波束,而在其它方向上形成波束零陷,从而对干扰和噪声进行初步抑制。
[0083]
步骤2、广义旁瓣抵消器上支路的固定波束形成器对麦克风阵元接收信号进行初级降噪,输出降噪后的含噪语音信号;
[0084]
实施例中,上支路固定波束形成器的输出信号为:
[0085]
zc(n)=w
ct
x(n)
ꢀꢀ
(3)
[0086]
式中,wc=[w
c1
,w
c2
,
…
,w
cm
]
t
为滤波器权值,且wc=c(chc)-1
c,c为约束矩阵,c为对应的约束响应向量。x(n)=[x1(n),x2(n),
…
,xm(n)]
t
为已同步信号。
[0087]
步骤3、下支路的自适应阻塞矩阵代替传统固定阻塞矩阵过滤期望信号,输出噪声和干扰,自适应阻塞矩阵后接入一个自适应抵消器,将多路噪声信号输出为一路噪声信号;
[0088]
实施例中,下支路中,采用自适应阻塞矩阵滤除已同步信号中的期望信号,该矩阵采用m路由m-1个抽头延迟单元组成的m阶自适应滤波器。
[0089]
当固定波束形成器的输出zc(n)输入到下支路新建的自适应阻塞矩阵时,自适应阻塞矩阵的第k路(k=1,2,
…
,m)自适应滤波器输出为:
[0090]
vk(n)=w
fk
(n)
t
zc(n)
ꢀꢀ
(4)
[0091]
式中,w
fk
(n)=[w
fk,0
(n),w
fk,1
(n),
…
,w
fk,m-1
(n)]
t
,
[0092]
zc(n)=[zc(n),zc(n-1),
…
,zc(n-m+1)]
t
。
[0093]
将第k路已同步信号xk(n)作为期望信号d(n),可以得到误差信号为:
[0094]ybk
(n)=d(n)-vk(n)
ꢀꢀ
(5)
[0095]
该误差信号也是下支路后续自适应抵消器部分的输入信号。
[0096]
利用nlms算法对自适应滤波器权值w
fk
进行更新,更新表达式为:
[0097][0098]
式中,uf为自适应滤波器的步长,δf是正则化因子。
[0099]
自适应阻塞矩阵后接入一个自适应抵消器,作用是将输入的m路噪声信号输出为一路噪声信号,并不进行滤波器权值的更新。自适应抵消器的输出为:
[0100][0101]
式中,w
ak
为自适应抵消器部分的第k个自适应滤波器权值,wa=[w
a1
,w
a2
,
…
,w
am
]
t
,
yb(n)=[y
b1
(n),y
b2
(n),
…
,y
bm
(n)]
t
。
[0102]
步骤4、将上支路固定波束形成器的输出和下支路自适应抵消器的输出信号合成矩阵的形式执行fastica算法进行语音和噪声的分离,在分离出的信号中得到增强后的语音信号。
[0103]
实施例中,将上、下支路输出信号输入到fastica算法模块,随机选择一个混合矩阵q,将固定波束形成器的输出zc(n)和自适应抵消器的输出za(n)进行线性混合,可得fastica的输入信号为:
[0104]
x(n)=qz(n)
ꢀꢀ
(8)
[0105]
式中,q是一个随机2维方阵,z(n)=[zc(n),za(n)]
t
。
[0106]
下面执行fastica算法,步骤如下:
[0107]
(1)对输入信号x(n)进行去均值,得
[0108]
(2)接着进行球化处理:
[0109][0110]
式中,r为经过球化处理后的信号,λ代表对角阵,且λ=diag[α1,α2],η为协方差阵的特征向量,α1、α2分别为协方差阵的特征值。
[0111]
(3)设置最大迭代次数为1000,需要估计的分量个数为2个。
[0112]
(4)任意设定w
l
(0)的初始值。
[0113]
(5)进行迭代更新:w
l
(n+1)=e(rg(w
l
(n)
t
r))-e(g'(w
l
(n)
t
r))w
l
(n),其中,非线性函数选择为:g(y)=y3。
[0114]
(6)进行正交变换:
[0115]
(7)标准化处理:w
l
(n+1)=w
l
(n+1)/||w
l
(n+1)||。
[0116]
(8)若w
l
(n)未收敛,则返回步骤(5),直至收敛。
[0117]
通过该算法可以获得解混矩阵的最优向量w
l
(n),于是整个改进gsc的最终输出信号为:
[0118]zl
(n)=w
l
(n)
t
r(n)
ꢀꢀ
(10)
[0119]
对于分离出的两路信号,这里仅关注纯净语音信号的估计信号,即经fastica再一次增强后的信号,对于分离出的噪声,不予关注。
[0120]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。