一种基于Gammatone滤波器和直方图的多声源定位方法与流程

文档序号:18460288发布日期:2019-08-17 01:58阅读:451来源:国知局
一种基于Gammatone滤波器和直方图的多声源定位方法与流程

本发明涉及信号处理技术领域,具体涉及一种多声源定位方法。



背景技术:

小型传声器阵列通常适用于办公室、会议室、智能机器人等应用场所,相位变换加权的可控响应功率srp-phat声源定位算法只需一帧信号即可实现定位,但在多声源情况下,传统srp-phat算法难以克服声源之间的干扰,最强声源的谱峰常常掩盖其它较弱声源的谱峰,导致难以找到多个声源,定位成功率较低,而小型传声器阵列的空间分辨率较低,使得实现多声源定位更为困难,多帧统计的方法虽然可以实现多声源定位,但是这类方法必须假定声源在连续多帧时间内静止不动,实时性较差。



技术实现要素:

本发明为了解决现有技术存在的问题,提出了一种基于gammatone滤波器和直方图的多声源定位方法,为了实现上述目的,本发明采用了以下技术方案。

用传声器作为阵元,组成传声器阵列,采集声源信号,传声器的数量为u,序号为u,u=1...u,第u个传声器采集的的声源信号为su(t)。

用gammatone滤波器产生脉冲响应,组成滤波器组,滤波器的数量为i,序号为i,i=1...i,第i个gammatone滤波器产生的脉冲响应函数为gi(t),gammatone滤波器的增益为a,阶数为m,衰减因子为bi,中心频率为fi,相位为阶跃函数为u(t),产生的脉冲响应函数为通过gammatone滤波器组产生脉冲响应。

将第u个传声器采集的的声源信号su(t)通过第i个gammatone滤波器产生的脉冲响应函数gi(t),获得第i个子带的时域信号xu(i,t),子带信号为xu(i,t)=su(t)*gi(t),在时域将声源信号分割为子带信号。

在时域将子带信号xu(i,t)分割为单帧信号,单帧信号的数量为l,长度为n,序号为l,l=1...l,单帧内的采样序号为n,0≤n<n,第l个单帧第n个采样信号为xu(i,ln+n),将每个子带信号分帧。

将分帧信号作加窗处理,用窗信号对xu(i,ln+n)进行加窗处理,得到xu(i,l,n)=wh(n)xu(i,ln+n),xu(i,l,n)为第u个传声器第i个子带第l个单帧第n个采样信号的加窗信号。

用离散傅里叶变换函数dft对xu(i,l,n)作时频转换,变换的长度为k,k=2n,频点为k,0≤k<k,得到xu(i,l,k)为xu(i,l,n)的频域信号,将xu(i,l,k)作为时频单元信号。

计算候选方位到第v个阵元的导引时延τv0(r),候选方位的声源位置为r,阵列中心的位置为r0,第v个阵元的位置为rv,空气中的声速为c,候选方位到阵列中心的声传播时延为τ0(r),候选方位到第v个阵元的声传播时延为τv(r),候选方位到第v个阵元的导引时延

计算阵列的phat可控响应输出yphat(i,l,k,r),信号采样率为fs,将τv0(r)和xu(i,l,k)代入,得到

计算每个时频单元信号的可控响应功率值,由yphat(i,l,k,r)计算第i个子带第l个单帧的时频单元信号在候选方位r的可控响应功率值

确认可控响应功率值的主峰方位和次峰方位,将p(i,l,r)的最大值确认为主峰,次最大值确认为次峰,主峰对应的rpeak1(i,l)为第i个子带第l个单帧的时频单元信号的可控响应功率最大值的方位,次峰对应的rpeak2(i,l)为第i个子带第l个单帧的时频单元信号的可控响应功率次最大值的方位。

用直方图统计主峰方位和次峰方位的数量,对第l个单帧所有子带的时频单元信号对应的方位rpeak1(i,l)作直方图,统计每个方位的数量,数量最多的方位为若存在数量次多的方位,则数量次多的方位为若rpeak1(i,l)中不存在数量次多的方位则对第l个单帧所有子带的时频单元信号对应的方位rpeak2(i,l)作直方图,统计每个方位的数量,数量最多的方位为

估计为第l个单帧的主声源方位,将估计为第l个单帧的次声源方位,所作直方图的组距为5°,组数为72。

本发明利用gammatone滤波器组分解信号子带,在时频单元内计算可控响应功率,提取声源方位信息,用直方图融合同一帧内的所有子带信息,作为方位估计的判决量,实现多声源定位;分解的每个子带在频域相互交叠而不分隔,避免相位缠绕,多个频率分量的空间谱的平均效应抑制了旁瓣,使主瓣突出,阵元间距不严格限于半波长;直方图简单易操作,计算量低;无需多帧信息,也无需假定声源在连续多帧内静止不动,实现了实时多声源定位,应用场合更为广泛;显著提高了主声源和次声源的定位成功率,尤其次声源的定位成功率提升更为明显,算法对噪声和混响都具有更强的鲁棒性。

附图说明

图1是本方法的流程图,图2是混响时间t60=0.3s时本方法和传统srp-phat方法的主声源定位成功率比较图,图3是混响时间t60=0.3s时本方法和传统srp-phat方法的次声源定位成功率比较图,图4是混响时间t60=0.3s时本方法和传统srp-phat方法的主次声源定位平均成功率比较图,图5是混响时间t60=0.6s时本方法和传统srp-phat方法的主声源定位成功率比较图,图6是混响时间t60=0.6s时本方法和传统srp-phat方法的次声源定位成功率比较图,图7是混响时间t60=0.6s时本方法和传统srp-phat方法的主次声源定位平均成功率比较图。

图2至图7的横坐标为全局信噪比,纵坐标为定位成功率。

具体实施方式

以下结合附图对本发明的技术方案做具体的说明。

一种基于gammatone滤波器和直方图的多声源定位方法,如图1所示,用麦克风作为阵元,组成传声器阵列,接收语音,采集声源信号;将声源信号通过gammatone滤波器组,通过gammatone滤波器产生的脉冲响应,将声源信号在时域分割为子带信号;将每个子带信号分帧和加窗,作时频转换处理,获得单帧信号的频域信号,作为时频单元信号;计算候选方位到阵元的导引时延,进而计算每个时频单元信号的可控响应功率值;获取声源方位信息,包括可控响应功率值的主峰方位和次峰方位;绘制直方图,统计主峰方位和次峰方位的数量;先从主峰方位的数量估计主声源方位和次声源方位,若无法估计次声源方位,再从次峰方位的数量估计次声源方位。

选用6个全向麦克风,组成均匀的圆形阵列,通过圆形麦克风阵列接收语音,采集声源信号,阵列半径设置为0.1m,每个麦克风作为一个阵元,阵元间距不必严格限于半波长,阵列采集声源信号的数量和阵元的数量u=6,序号u=1...u,第u个传声器采集的的声源信号为su(t)。

用gammatone滤波器产生脉冲响应,组成滤波器组,滤波器的数量i=32,序号i=1...i,第i个gammatone滤波器产生的脉冲响应函数为gi(t),gammatone滤波器的增益为a,阶数m=6,衰减因子bi=1.109erb(fi),中心频率fi的范围取[800hz,8000hz],相位计算得到erb(fi)=24.7(4.37fi/1000+1),阶跃函数为u(t),产生的的脉冲响应函数为通过32个gammatone滤波器组产生脉冲响应。

将第u个传声器采集的的声源信号su(t)通过第i个gammatone滤波器产生的脉冲响应函数gi(t),获得第i个子带的时域信号xu(i,t),子带信号为xu(i,t)=su(t)*gi(t),在时域将声源信号分割为子带信号,每个子带对应不同的频域范围,在频域相互交叠而不分隔,避免相位缠绕,多个频率分量的空间谱的平均效应抑制了旁瓣,使主瓣突出。

预设分帧长度和帧移,在时域将麦克风阵列第u个阵元的第i个子带的时域信号xu(i,t)分割为单帧信号,单帧信号的数量为l,长度n=512(32ms),序号为l,l=1...l,单帧内的采样序号为n,0≤n<n,帧移为0,语音信号的采样率fs=16khz,第l个单帧第n个采样信号为xu(i,ln+n),将每个子带信号分帧。

将分帧信号作加窗处理,用窗信号对xu(i,ln+n)进行加窗处理,得到xu(i,l,n)=wh(n)xu(i,ln+n),xu(i,l,n)为第u个传声器第i个子带第l个单帧第n个采样信号的加窗信号。

用离散傅里叶变换函数dft对xu(i,l,n)作时频转换,变换的长度为k,k=2n=1024,频点为k,0≤k<k,得到xu(i,l,k)为xu(i,l,n)的频域信号,将xu(i,l,k)作为时频单元信号。

计算候选方位到第v个麦克风的导引时延τv0(r),候选方位的声源位置为r,阵列中心的位置为r0,第v个麦克风的位置为rv,空气中的声速c=342m/s,候选方位到阵列中心的声传播时延为τ0(r),候选方位到第v个麦克风的声传播时延为τv(r),候选方位到第v个麦克风的导引时延

若声源与麦克风阵列处于同一水平面,声源位于阵列的远场,声源位置由方位角θ表示,定义水平面的正前方为0°,那么θ的范围为[-180°,180°],间隔为1°,负90°表示正左方,90°表示正右方,导引时延的计算公式修正为其中ξ=[cosθ,sinθ]t,由于τv0(r)与接收信号无关,可以离线计算后保存于内存中。

若声源与麦克风阵列不处于同一水平面,方位角由水平角θ和俯仰角决定,那么对声源的立体位置并没有限制。

计算阵列的phat可控响应输出yphat(i,l,k,r),信号采样率为fs,将τv0(r)和xu(i,l,k)代入,得到

计算每个时频单元信号的可控响应功率值,由yphat(i,l,k,r)计算第i个子带第l个单帧的时频单元信号在候选方位r的可控响应功率值

确认可控响应功率值的主峰方位和次峰方位,将p(i,l,r)的最大值确认为主峰,次最大值确认为次峰,主峰对应的rpeak1(i,l)为第i个子带第l个单帧的时频单元信号的可控响应功率最大值的方位,次峰对应的rpeak2(i,l)为第i个子带第l个单帧的时频单元信号的可控响应功率次最大值的方位。

用直方图统计主峰方位和次峰方位的数量,对第l个单帧所有子带的时频单元信号对应的方位rpeak1(i,l)作直方图,组距为5°,组数为360/5=72,统计每个方位的数量,数量最多的方位为若存在数量次多的方位,则数量次多的方位为若rpeak1(i,l)中不存在数量次多的方位则对第l个单帧所有子带的时频单元信号对应的方位rpeak2(i,l)作直方图,组距为5°,组数为360/5=72,统计每个方位的数量,数量最多的方位为

估计为第l个单帧的主声源方位,将估计为第l个单帧的次声源方位。

分别设置混响时间t60=0.3s和t60=0.6s,测试不同信噪比和混响的环境中,本声源定位方法的性能,如图2至7所示,横坐标表示全局信噪比,纵坐标表示定位成功率,本方法比传统srp-phat算法显著提升了主次声源的定位成功率,尤其是次声源的定位成功率,对噪声和混响都具有更强的鲁棒性。

上述作为本发明的实施例,并不限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1