首页> 中国专利> 一种基于独立成分分析的四麦克语音增强方法

一种基于独立成分分析的四麦克语音增强方法

摘要

本发明公开了一种基于独立成分分析的四麦克语音增强方法,包含以下步骤:使用四个麦克组成阵列,采集四路带噪语音信号变换至频域信号;随机选择四个麦克阵列中同一边上的两路信号作为第一组输入信号,将另外两路信号作为第二组输入信号,分别估计一个分离矩阵W

著录项

  • 公开/公告号CN103854660A

    专利类型发明专利

  • 公开/公告日2014-06-11

    原文格式PDF

  • 申请/专利号CN201410061180.4

  • 发明设计人 张彦芳;王芳;周海瑞;王犇;朱冰;

    申请日2014-02-24

  • 分类号G10L21/028;

  • 代理机构江苏圣典律师事务所;

  • 代理人胡建华

  • 地址 210007 江苏省南京市苜蓿园东街1号1406信箱07分箱

  • 入库时间 2024-02-20 00:15:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-17

    授权

    授权

  • 2014-07-09

    实质审查的生效 IPC(主分类):G10L21/028 申请日:20140224

    实质审查的生效

  • 2014-06-11

    公开

    公开

说明书

技术领域

本发明涉及一种语音增强的方法,特别是一种基于独立成分分析的四麦克语音增 强方法。

背景技术

现实的通信系统中,经常需要一个麦克采集声音,在采集的过程中目标语音经常 会被背景噪声污染。因此,麦克采集到的带噪信号需要经过语音增强系统,去除噪声 的影响后再播放、传输或保存。语音增强算法的研究已经有40多年的历史,最早是由 Bell实验室中的Schroeder提出的一种算法。之后陆续有很多人提出了其他算法,其中 谱减法是至今应用最广泛的算法,但是谱减法存在明显的缺陷,在抑制噪声的同时会 损伤语音,并且人为的引入噪声,如,“音乐”(musical)噪声。

基于单麦克的语音增强算法不能同时提高语音质量和语音可懂度,语音质量的提 高往往伴随着语音可懂度的降低。近年来,基于麦克阵列的语音增强算法越来越受到 重视,麦克阵列可以利用信号源位置的空间信息,因此基于麦克阵列的语音增强算法 可以在不损伤语音的情况下抑制噪声。基于麦克阵列的语音增强算法已经成为一种新 的研究趋势。较为成熟的基于麦克阵列的语音增强算法有:自适应波束成型算法、无 失真最小化方差响应波束成型、广义旁瓣相消和广义奇异值分解等算法。现有的基于 麦克阵列的语音增强算法中麦克阵列规模较大,算法的空间复杂度和时间复杂度都较 高,不能灵活应用与便携式通信设备中,例如手机和对讲机。

发明内容

为了克服上述现有语音增强算法存在的问题,本发明提供了一种基于独立成分分 析的四麦克语音增强方法,可以减小语音增强过程中对语音的损伤,达到良好的降噪 效果。

本发明一种基于独立成分分析的四麦克语音增强方法的所采用的技术方案为:

步骤1:利用麦克阵列采集的四路带噪语音信号,对信号进行预处理,经过傅立叶 变换变换至频域信号;

步骤2:将四麦克方阵中同一边上的两路信号作为第一组输入信号,另外两路信号 作为第二组输入信号,对每组预处理后的频域信号,利用频域独立成分分析算法,针 对频域中的每个频点f分别估计一个分离矩阵Wf,每组信号对应得到包括一路语音信 号和一路噪声信号的分离信号;

步骤3:将步骤1中的得到的频域信号,利用多重信号分类算法进行处理,得到语 音信号源方向θ;

步骤4:将步骤3中估计得到的语音信号源方向θ作为参考信息,用于从每组分离 信号中提取语音信号;

步骤5:对频域语音信号进行幅度平滑;

步骤6:经过加窗和逆傅里叶变换得到语音信号的时域信号。

步骤4中,利用步骤3中估计得到的语音信号源方向θ作为参考信息,从步骤2 每组分离信号中提取语音信号包括如下步骤:

1)利用频点f的分离矩阵Wf计算语音信号源方向,每个频点计算得到两个信 号源方向(f)和(f),频点数为傅里叶变换长度的一半;

2)将上述所有频点计算得到的信号源方向进行K均值聚类,聚成两类,利用 语音信号源方向θ,选择语音信号源方向θ角度相差10度以内的聚类作为 语音信号的入射方向;

3)剔除可信度低的频点:对于同一频点,如果其中一个信号的入射方向与语 音信号源方向θ相差10°以内,且其另一个信号的入射方向距离另一个聚类 的中心小于20°,则该频点的可信度高,选择距离语音信号源方向θ近的语 音信号的入射方向作为最终的语音信号源方向;否则,判定该频点为失效 频点;

4)对于失效频点,利用相邻频点谱包络的相关性重新提取:

首先,计算失效频点的频谱与有效频点的谐波结构的相关性之 和cor(f),计算公式为:

cor(f)=Σgs^i(f)s^i(g)|s^i(f)||s^i(g)|,

其中g=…,1/3f,1/2f,2f,3f,…,

其中g为有效频点,

若相关性之和cor(f)超过0.9,则提取该频点为有效频点;

反复进行上述迭代步骤.直到迭代次数超过100次,对于最终未提取的频点, 将所述频点与其相邻的已提取的频点计算相关性,进行提取。

步骤5中对提取的语音信号进行加窗平滑,使用汉宁窗,加窗函数如下:

w~kl(f)=14[wkl(f-Δf)+2wkl(f)+wkl(f+Δf)],

其中wkl(f)为分离矩阵Wf中的第k行第l列个元素,Δf为傅里叶变换的频率间 隔,等于信号采样率除以傅里叶变换长度。

语音增强作为很多语音信号处理系统的预处理模块,对提高系统的性能有重要意 义。传统的语音增强算法是基于单麦克的,这些算法在抑制噪声的同时,会对语音产 生较大的损伤,并且会人为的引入噪声。针对基于单麦克的语音增强算法中存在的这 些问题,本发明提出了一种基于四麦克的语音增强算法,利用多重信号分类算法 (Multiple signal classification,MUSIC)估计语音信号源的方向,然后利用频域独立成 分分析(Independent component analysis,ICA)算法分别分离两组信号,利用估计所得语 音信号源的方向,对分离信号进行重新组合,从两路分离信号中判断得到语音信号。 与原始的基于单麦克的语音增强算法相比,基于独立成分分析的四麦克语音增强方 法,可以在各种噪声环境下较好的分离得到语音信号,抑制噪声的同时基本不对语音 信号造成损伤。本发明提到的算法可以应用与手机、对讲机等通讯设备中,达到较好 的语音增强效果。

附图说明

图1是本发明中麦克风阵列的放置位置。

图2是本发明基于独立成分分析的四麦克语音增强方法流程图。

图3是本发明中对独立成分分析分离得到信号不同频率间的排序算法流程图。

图4是预处理中帧长与帧移的关系图。

图5是实施例中的数据采集环境示意图。

具体实施方式

如图2所示,本发明公开了一种基于独立成分分析的四麦克语音增强方法,包括 以下步骤。

步骤1:如图1所示,利用麦克阵列采集的四路带噪语音信号,对信号进行预处理, 经过傅立叶变换变换至频域信号;

第i个麦克风采集到的信号si′(n),n=1,2,…,i取值1~4,进行分帧如图4,帧长为 L,帧移为N,帧之间的重叠为L-N。

分帧之后对信号进行加窗处理,采用长度为L汉宁窗函数w(n),加窗后信号为:

si(n,m)=si′(n,m)*w(n)               (1)

其中n为频点号n=0,1,2…,L-1为帧号。

对信号si(n,m)进行离散傅里叶变换(DFT),得到对应的频域信号:

si(f,m)=Σn=0L-1si(n,m)e-j2πLfn---(2)

其中f为频点,m为帧号,e为自然底数,j为虚数单位。为了后面的表述方便, 省略帧号,将步骤1的处理结果表示为频域信号si(f)

步骤2:将四麦克阵列中同一边上的两个麦克风,例如,图1中的1号和2号麦克 风采集到的信号经过预处理之后,组成一组输入信号进行独立成分分析,针对每个频 点计算得到一个分离矩阵Wf,利用Wf分离得到包括一路语音信号和一路噪声信号的 分离信号s1(f)s2(f)。

y1(f)y2(f)=Afs1(f)s2(f)---(3)

混合矩阵Af是未知的,一般认为Af是满秩的。利用复数域的快速定点独立成分分 析算法(Fast fix-pointed ICA)算法估计Wf,使得:

s1(f)s2(f)=Wfy1(f)y2(f)---(4)

求解Wf,首先构造代价函数如下:

JG(w)=E{G(|wHy|2)}

                                                           (5)

E{wHy2}=1

其中G:Cr→R是一个平滑函数,w∈Cn权向量矩阵,是Wf中的一个列, y=[y1(f)y2(f)]。在计算过程中需要对观测信号y进行白化预处理,使其满足 E{yyH}=I。

假设各个信号源之间是独立的,满足E{ssT}=O,s=[s1(f)s2(f)]。根据库恩- 塔克(Kuhn-Tucker)条件,最优化上式,其中限制条件E{|wHy|2}=||w||2=1可转化为下 式

E{G(|wHy|2)}-βE{|wHy|2}=0---(6)

其中β∈R。

▽E{G(|wHy|2)}的雅克比矩阵计算如下:

2E{G(|wHy|2)}=2E{(2|wHy|2)g(|wHy|2)+2(|wHy|2)(2E{g(|wHy|2)+|wHy|2g(|wHy|2)}I---(7)

β▽E{|wHy|2}的雅克比矩阵是β▽2E{|wHy|2}=2βI,因此式(7)的整个雅克比矩阵 为:

J=2(E{g(|wHy|2)+|wHy|2g′(|wHy|2)}-β)I           (8)

利用牛顿(Newton)迭代法,可得w的迭代公式如下:

w=w-E{y(wHy)g(|wHy|2)}-βwE{g(|wHy|1)+|wHy|2g(|wHy|5)}-β---(9)

wnew=w||w||

利用上式分别估计W矩阵中的向量wi,i=1…n。为了避免找到同一个局部最 大值,需要在每一次迭代过程中用格兰-施密特-相似(Gram-Schmidt-like)去相 关算法对进行去相关。

步骤3:将步骤1的四路语音信号进行多重信号分类,利用MUSIC算法估计语音 信号源方向包括:将步骤1四个麦克分采集到的信号经过预处理之后,作为多重信号 分类算法的输入。多重信号分类算法的基本思想是将阵列输入信号的协方差矩阵进行 特征分解,得到一个信号子空间和一个与其正交的噪声子空间。利用语音信号与噪声 子空间正交的性质来估计语音信号的入射方向。

估计阵列输入信号的协方差矩阵R:

对进行特征值分解,得到噪声子空间特征矢量矩阵信号子空间的导向矢 量aH(θ)与正交,但是由于噪声的存在,两者并不完全正交,可以通过搜索使得 最小的θ就是对应的语音信号源方向θ。

步骤4:如图3所示,在频域独立成分分析算法中有一个重要的问题就是从分离信 号中提取语音信号。本发明中傅里叶变换的长度为1024,因此共有512个频点;频域 独立成分分析算法是分别对每个频点实施的,当分离两路信号n=2,对于不同频点i、 j,i≠j,经过频域独立成分分析(ICA)算法分离,可得:

S^1(i)S^2(i)=Wiy(i)S^1(j)S^2(j)=Wjy(j)---(12)

由于我们对分离得到的信号并没有先验知识判断哪里信号是语音信号,因此需要 从中确定哪个分量是语音信号。利用每个频点的分离矩阵Wi,估计两个分 离信号的信号源方向

θ^1(i)=arccosarg([Wi-1]11/[W-1]21)2πfc-1d---(13)

θ^2(i)=arccosarg([Wi-1]21/[W-1]22)2πfc-1d---(14)

对不同频点估计得到的方向进行聚类,参考θ,选择语音信号方向的类。若(i)为 语音信号的方向则(i)为语音信号,将所有频点的语音信号组合在一起得到语音信号。 具体的算法步骤如下:

1)利用频点f的分离矩阵Wf计算语音信号源方向,每个频点计算得到两个信 号源方向(f)和(f),在实施例中,傅里叶变换的长度为1024,因此共 有512个频点;

2)将上述所有频点估计得到的信号源方向进行K均值聚类,聚成两类,利用 语音信号源方向θ,选择语音信号源方向θ附近的聚类作为语音信号的入 射方向;

3)剔除可信度低的频点:对于同一频点,如果其中一个信号源方向与θ相差 10°以内,且另一个信号源方向距离另一个类的中心小于20°,则该频点的 可信度高,选择距离信号源方向θ近的信号源方向作为语音信号源方向; 否则,判定该频点为失效频点;

4)对于失效频点,利用相邻频点谱包络的相关性重新提取:

首先,计算失效频点的频谱与有效频点的谐波结构的相关性之 和cor(f),计算公式为:

cor(f)=Σgs^i(f)s^i(g)|s^i(f)||s^i(g)|,

其中g=…,1/3f,1/2f,2f,3f,…,

其中g为有效频点,若相关性之和cor(f)超过0.9,则提取该频点为有效频 点;

5)反复进行上述迭代步骤,直到迭代次数超过100次,对于最终未提取的频点, 将所述频点与其相邻的已提取的频点计算相关性,进行提取。所有频点的 语音信号对应的信号源方向为(f)则分离矩阵不变,如果该频点的语音 信号对应的信号源方向为(f)则将分离矩阵Wf的第一列和第二列调换。

步骤5:幅度平滑。对经过步骤4处理得到的新的分离矩阵,相邻频点之间使用一 个窗函数进行幅度平滑;离散频率循环性是指在频域处理信号时,频域的L个频点, 采样频率为fs,频率间隔为fs/L,在时域表示的信号是周期为L/fs的周期信号,只 选取一个周期时,会在周期交界处产生锐刺。应用较广的一种算法是平滑频谱。通过 给分离矩阵的元素wkl(f)相乘一个窗函数,例如,汉宁窗。

w~kl(f)=Σφ=0fs-Δfg(φ)wkl(f-φ)---(15)

其中,wkl(f)为分离矩阵Wf的第k行第l列元素,g(f)为窗函数,Δf=fs/L。若 g(f)为汉宁窗,则上式可表示如下:

w~kl(f)=14[wkl(f-Δf)+2wkl(f)+wkl(f+Δf)].

Wf中的元素wkl(f)经过平滑之后组合得到新的分离矩阵根据式(4)可计算语音 信号:

s1(f)s2(f)=W~fy1(f)y2(f)---(4)

其中f)为步骤四中估计得到的语音信号,(f)为噪声信号。

步骤6:对步骤5中估计得到的语音信号进行逆傅里叶变换和加窗得到语音 信号的时域信号。

对估计得到的语音信号进行逆傅里叶变换:

s^i(n)=1LΣf=0L-1s^1(f)*ej2πLfn---(16)

对估计得到的语音信号进行加窗处理,窗函数与预处理过程中的窗函数相同:

s^1(n)=s^1(n)*w(n)---(17)

为最终得到的增强语音。

实施例

如图5所示,在一个长10m,宽5m,高3m的房间里,如图放置麦克风阵列和信 号源,都处在水平高度1.1m处,平面位置坐标如图所示,麦克阵列的中心坐标为(5,2.5), 麦克间距为3cm,语音信号源位于(5,2.4),其他三个信号源为噪声信号源:(2.5,4.5)信 噪比为0dB的白噪声,(2.4,0.6)信噪比为0dB的白噪声,(8,3.4)信噪比为5dB的粉红噪 声。在那个的噪声环境中采集带噪信号,利用本文提出的语音增强算法增强进行处理, 其中傅立叶变换的长度为1024,帧移为512,即图4中L=1024,N=512。利用该算法 得到的增强后语音的信噪比为13.5dB,利用传统的最小方差无失真响应(MVDR)波束 成型算法得到的增强后语音信噪比为9.6dB,可见算法的噪声抑制效果很好。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号