1.一种基于i-vector说话人识别的声源定位方法,其特征在于,所述方法包括如下步骤:步骤1:声源位于每个训练位置ri,i=1,2,...K,麦克风阵记录下声源在该位置处发出的信号;K为声源训练的个数;
步骤2:利用记录下的混响信号,计算出互相关函数;
步骤3:由互相关函数生成特征向量y;
步骤4:对于每个训练位置ri,利用特征向量,计算出互相关函数PLDA模型的均值向量μ和固定维度的说话人子空间 以及残差εij;
步骤5:麦克风阵记录下信号,该信号包括声源发出的信号及噪声;
步骤6:利用记录下的信号,计算出互相关函数;
步骤7:由互相关函数生成特征向量y;如果有N帧数据,则生成一个特征向量集合;
步骤8:利用PLDA模型对特征向量进行测试,估计声源的位置;
此外,在互相关函数特征的选取中,通过利用一种房间冲激响应脉冲算法roomsim来模拟真实的声音环境,麦克风信号x1(k)和x2(k)之间的广义互相关函数(GCC)在频域计算:式中,上标“*”表示复共轭,X1(ω)是x1(k)的傅里叶变换,X2(ω)是x2(k)的傅里叶变换,Ψ1,2(ω)是加权函数;
为了增强互相关函数的抗混响能力,使用相位变化(PHAT)加权函数:将式(1.2)代入式(1.1),得到:
在实际情况中,麦克风信号x1(k)和x2(k)经过加窗后,再由傅里叶变换求得X1(ω)和X2(ω),如果房间脉冲响应的长度(L)比窗函数的长度短很多,则麦克风信号在频域表示为:Xn(ω)=Hn(rs,ω)S(ω),n=1,2, (1.4)式中,S(ω)和Hn(rs,ω)分别是s(k)和hn(rs,k)的傅里叶变换,s(k)为在r(s)处的声源信号;
将式(1.4)代入式(1.3),得到:
由式(1.5)知,麦克风阵接收麦克风信号x1(k)和x2(k)之间的GCC等于房间脉冲响应h1(rs,k)和h2(rs,k)之间的GCC, 等于房间脉冲响应h1(rs,k)和h2(rs,k)之间的GCC;
然而,在实际情况中房间脉冲响应的长度L比窗函数的长度大很多,则麦克风信号在频域只能近似表示为:Xn(ω)≈Hn(rs,ω)*S(ω),n=1,2, (1.6)而且,麦克风阵接收麦克风信号x1(k)和x2(k)之间的GCC只能近似等于房间脉冲响应h1(rs,k)和h2(rs,k)之间的GCC,即:由此得到互相关函数的特征。