本发明涉及一种在欠定模型下的语音信号混合矩阵估计方法,具体涉及一种基于改进势函数的语音信号混合矩阵估计方法,属于信号处理领域。
背景技术:
近几年,在信号处理领域,语音信号的分离已经成为了一个研究热点。它在电话会议,助听器和机器语音识别等方面有很多应用和影响。由于接收到的声音通常是有噪的,在这样的环境中识别感兴趣的声音并获得清晰的声音的问题成为值得探讨的问题,也就是所谓的盲源分离问题。
盲源分离一般根据源信号和观测信号的数目进行划分,可以分为超定、适定和欠定盲源分离,其中欠定盲源分离更加符合实际情况,在生活中应用更广,同时也更具有挑战。欠定盲源分离是指在传感器或者麦克风数目少于源信号数目的情况。通常情况下,解决欠定盲源分离的方法同样适用于超定和适定情况,所以对于欠定盲源分离方法的研究是很有必要的。一般解决欠定盲源分离的方法是利用稀疏分量分析法,一般也称为“两步法”。第一步是通过观测信号对混合矩阵进行估计,第二步是利用估计出的混合矩阵对源信号进行分离。根据语音信号混合矩阵估计的研究现状,针对在信噪比较低情况下,目前的混合矩阵估计算法普遍存在准确性低的问题。
技术实现要素:
针对上述现有技术,本发明要解决的技术问题是提供一种可以提高低信噪比下准确性的基于改进势函数的语音信号混合矩阵估计方法。
为解决上述技术问题,本发明提供一种基于改进势函数的语音信号混合矩阵估计方法,包括以下步骤:
步骤1:建立观测信号的线性瞬时混合模型,具体为:
其中x(t)=[x1(t),x2(t),…,xn(t)]t是一个n维观测信号向量,a=[a1,a2,…,am]是一个n×m维的混合矩阵,s(t)=[s1(t),s2(t),…,sm(t)]t是一个m维的源信号向量,t是时间采样点并且ai表示混合矩阵的第i个列向量;
对观测信号的线性瞬时混合模型进行短时傅里叶变换,得到:
其中,x(t,f)=[x1(t,f),…,xn(t,f)]t和s(t,f)=[s1(t,f),…,sm(t,f)]t分别是观测信号和源信号在时频点(t,f)的短时傅里叶变换系数;
进行单源点检测,得到满足检测规则的单源点,检测规则为:
其中ε1为正数,且ε1<0.1,re()和im()分别表示取复数的实部和虚部;
步骤2:对步骤1得到的单源点进行低能量点去除和归一化处理:
不符合||x(t,f)||>λ·max||x(t,f)||的单源点为低能量点,去除掉低能量点,其中参数λ∈(0,1);
将观测信号对称到上半平面,并进行归一化处理,归一化处理后的观测信号为:
步骤3:采用改进势函数估计混合矩阵:
改进势函数为:
zk是第k个聚类中心向量,k是聚类中心的数目,b是尺度参数,
包括以下步骤:
(3a)通过相关比较法估计参数γ,参数b的估计为:
其中
(3b)求取聚类中心,具体为:
对改进势函数进行求导得到公式如下:
采用固定点迭代法估计聚类中心,具体为:随机生成一个单位向量作为初值z,根据
(3c)求解经过步骤2得到的单源点与每个聚类中心的距离,每个单源点属于最小距离对应的聚类中心,将属于同一个聚类中心的单源点求均值,该均值则为新的聚类中心,共得到m个新的聚类中心;
(3d)将m个新的聚类中心代入(3c),重复(3c)的过程,直到得到的聚类中心不再发生变化,,则最终的混合矩阵由此时m个聚类中心对应的m个列向量构成。
本发明有益效果:本发明是针对稀疏分量分析方法的第一步进行的。本发明中,混合矩阵估计采用基于改进势函数的估计方法。
(1)所提出的混合矩阵估计算法适用于任意矩阵;
(2)抗噪声性能好,即使在信噪比为5db的情况下,也具有良好的准确度。
附图说明
图1为本发明算法流程图;
图2为去低能量点前的散点图;
图3为去低能量点后的散点图;
图4为归一化后的散点图;
图5为j(z)的三维图;
图6为j(z)的二维图。
具体实施方式
本发明首先对语音信号进行短时傅里叶变换,将信号从时域变换到时频域进行处理。为了更好地估计混合矩阵,需要对信号进行单源点检测。为了提高估计的准确性,对检测出来的单源点进行低能量点的去除和归一化处理。而后采用改进势函数估计混合矩阵。
以下结合附图和具体实施案例,对本发明进行详细说明。
参照图1,本发明的一种基于改进势函数的语音信号混合矩阵估计方法具体实现步骤如下:
步骤1:对经过短时傅里叶变换后的观测信号进行单源点检测;图2表示去掉低能量点前的散点图。
在步骤1中,所述建立的数学模型为线性瞬时混合模型。选取语音信号作为源信号,所考虑的噪声为加性噪声,且信噪比在5db以上。由于观测信号在时频域的稀疏性好,通过短时傅里叶变换将时域的信号变换到时频域进行处理,而后对变换后的信号进行单源点检测。
建立一个线性瞬时混合模型,为了方便,忽视了噪声的影响,具体模型表达式如下所示。
其中x(t)=[x1(t),x2(t),…,xn(t)]t是一个n维观测信号向量,a=[a1,a2,…,am]是一个n×m维的混合矩阵,s(t)=[s1(t),s2(t),…,sm(t)]t是一个m维的源信号向量,t是时间采样点并且ai表示混合矩阵的第i个列向量。
由于信号的稀疏性在时域上并不好,但是在时频域的稀疏性很好。因此信号通常被转换到时频域进行处理,即
其中,x(t,f)=[x1(t,f),…,xn(t,f)]t和s(t,f)=[s1(t,f),…,sm(t,f)]t分别是观测信号和源信号在时频点(t,f)的短时傅里叶变换(stft)系数。本发明针对双通道混合信号进行。然后式(2)可以被写成。
混合矩阵的估计主要取决于信号的稀疏性。对于单源点检测,任意两个列向量都是不相关的。本发明研究的是信号完全稀疏的情况,在任意时频点都只有一个源信号。因此式(3)可以被写成。
如果在一个时频点只有一个源信号,就有下面的表达式。
x1(t,f)=a11s1(t,f)=a11[re(s1(t,f))+jim(s1(t,f))](5)
x2(t,f)=a21s1(t,f)=a21[re(s1(t,f))+jim(s1(t,f))](6)
其中re()和im()分别表示复数的实部和虚部。从(5)和(6),我们可以得到
如果在一个时频点有两个源信号,则有下面的表达式存在。
x1(t,f)=a11s1(t,f)+a12s2(t,f)(8)
x2(t,f)=a21s1(t,f)+a22s2(t,f)(9)
如果这种情况仍要满足(7),它将需满足
由于混合矩阵的任意两个列向量都是不相关的,那么式(10)就是不满足的。同时式(11)的可能性非常小。因此可以使用下面的规则来检测单源点。
实际上,这个条件非常苛刻,因此我们需要放宽这个条件。
其中ε1是一个接近零的正数。
步骤2:对单源点进行低能量点去除和归一化处理;图3表示去低能量点后的散点图。图4表示归一化后的散点图。
除了一些噪声点之外,在原点附近有一些低能量的单源点。这些点会影响混合矩阵的估计准确性。为了改善估计的准确性,这些低能量点通常被去除,它可以通过下面的步骤来实现。
||x(t,f)||>λ·max||x(t,f)||(14)
其中参数λ∈(0,1)。
从图2中可以大略看出四条直线。在去除低能量点之后,散点图如图3所示。从图中可以清晰地看出四条直线。这样,我们就可以更准确地估计出混合矩阵。
为了更好的估计出混合矩阵,观测信号需要对称到上半平面,同时进行归一化处理。具体的实现过程如下。
从图4可以看出,在经过归一化处理之后,观测信号显示出明显的聚类特性,这对估计混合矩阵是很方便的。
步骤3:采用改进的势函数估计混合矩阵。图5表示j(z)的三维图,图6表示j(z)的二维图。
为了估计聚类中心,本发明引入了改进势函数。
在式(16)中,zk是超球面上的第k个聚类中心向量。k是聚类中心的数目。b是尺度参数。
(3a)对势函数中的参数进行估计,通过相关比较法估计参数γ。参数b的估计如下所示。
其中
(3b)改进势函数在取最大值时的z值对应的是聚类中心,因此,需要对改进势函数进行求导,可以得到下式
由于式(18)中的z不能直接被求出,因此采用固定点迭代法估计聚类中心。即首先选定一个初值z,此处采用的是随机生成的一个单位向量,之后根据式(18)进行迭代,直到z值不再变化,则估计出聚类中心。这个聚类中心就是混合矩阵的列向量,根据前面的设置,此处应该求出m个聚类中心也就是m个列向量,这些列向量组成了混合矩阵。
(3c)为了让所求的混合矩阵更准确,根据两点间距离公式求解经过步骤2得到的单源点与每个聚类中心的距离,求出的最小值对应的聚类中心就代表该单源点属于这个聚类中心,将属于同一个聚类中心的单源点求均值,这个均值则为新的聚类中心,由于有m个聚类中心,则会求出m个新的聚类中心
(3d)将新的聚类中心代入(3c),重复(3c)的过程,直到最后求的聚类中心不再发生变化,这样所求出的m个聚类中心就是m个列向量,也就得到了最终的混合矩阵。
本发明的基于改进势函数的语音信号混合矩阵估计方法提高了混合矩阵估计的准确性,尤其是在信噪比为5db时。
本发明的基于改进势函数的语音信号混合矩阵估计方法,可适用于不同混合矩阵的估计。
需要说明的是,上述实施案例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。