CN108107403B - 一种波达方向估计方法和装置 - Google Patents
一种波达方向估计方法和装置 Download PDFInfo
- Publication number
- CN108107403B CN108107403B CN201711386119.7A CN201711386119A CN108107403B CN 108107403 B CN108107403 B CN 108107403B CN 201711386119 A CN201711386119 A CN 201711386119A CN 108107403 B CN108107403 B CN 108107403B
- Authority
- CN
- China
- Prior art keywords
- peak
- response function
- obtaining
- reflection
- relative
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S3/00—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
Abstract
本发明实施例公开了一种波达方向估计方法和装置,应用于终端设备,该方法,包括:播放并接收测试音频;根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。本发明实施例在接收到语音指令时,可以利用该语音指令和预先得到的反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种波达方向估计方法及装置。
背景技术
目前,智能音响、机器人等智能语音设备的应用越来越广泛,这些智能语音设备一般通过麦克风阵列获取语音指令后,经信号处理后再对语音指令进行识别,从而提高语音识别的准确率,主要涉及回声消除技术、波达方向(Direction of Arrival,DOA)估计技术、波束形成技术和去混响技术等。
然而,在语音识别过程中,当智能语音设备距离墙壁、显示屏等反射体较近时,语音指令的反射波会对DOA估计的结果产生干扰,进而使得后续处理过程中存在将实际的语音指令视为噪声而消除的情况,导致对语音指令的识别率下降、智能语音设备无法准确对语音指令做出响应等问题。
因此,本领域技术人员需要提供一种波达方向估计方法及装置,能够对语音指令的方向做出准确的识别,避免反射波对DOA估计的干扰。
发明内容
为了解决现有技术问题,本发明提供了一种波达方向估计方法及装置,能够对语音指令的方向做出准确的识别,避免反射波对DOA估计的干扰。
本发明实施例提供的一种波达方向估计方法,应用于终端设备,所述方法,包括:
播放并接收测试音频;
根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
可选的,所述终端设备配置有多个麦克风;所述根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向,具体包括:
估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
可选的,所述根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向,具体包括:
获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
依据所述时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
可选的,所述获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到至少两个波峰,之后还包括:
查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
则,所述确定每两个第i反射波峰之间的时间延迟,具体为:
确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
可选的,所述依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计,具体包括:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
本发明实施例提供的一种波达方向估计装置,应用于终端设备,所述装置,包括:音频收发模块、方向预测模块和方向估计模块;
所述音频收发模块,用于播放并接收测试音频;还用于接收语音指令;
所述方向预测模块,用于根据所述音频收发模块接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
所述方向估计模块,用于依据所述音频收发模块接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
可选的,所述终端设备配置有多个麦克风;所述方向预测模块,具体包括:第一处理子模块和第二处理子模块;
所述第一处理子模块,用于估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
所述第二处理子模块,用于根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
可选的,所述第二处理子模块,具体包括:波峰获取子模块、时间获取子模块和方向获取子模块;
所述波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
所述时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
所述方向获取子模块,用于依据所述时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
可选的,所述第二处理子模块,还包括:波峰查找子模块;
所述波峰查找子模块,用于查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
则,所述时间获取子模块,具体用于:
确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
可选的,所述方向估计模块,具体用于:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
本发明实施例还提供了一种终端设备,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于从所述存储器中获取所述计算机程序,并根据所述计算机程序的指令执行如上述任意实施例所述的波达方向估计方法。
与现有技术相比,本发明至少具有以下优点:
在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种波达方向估计方法的流程示意图;
图2为本发明具体实施例提供的一种波达方向估计方法的流程示意图;
图3为本发明实施例提供的另一种波达方向估计方法的流程示意图;
图4为本发明具体实施例的场景示意图;
图5为本发明具体场景中的冲击响应函数的示意图;
图6为本发明具体实施例提供的另一种波达方向估计方法的流程示意图;
图7为本发明实施例提供的一种波达方向估计装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,本发明实施例提供的DOA估计方法及装置,应用于终端设备,该终端设备可以发射各种形式的波(例如声波等),或者,紧邻该终端设备设置有发射各种形式的波的其他设备,相当于波源可以为终端设备自身。该终端设备还配置有用于接收其(或其他设备)发射的波的多个传感器。下面均以声波为例,对本发明实施例提供的DOA估计方法进行详细说明,其他形式的波的DOA估计与此类似,不再一一赘述。当对声波的DOA进行估计时,终端设备配置的多个传感器可以是传声器阵列(即麦克风阵列),用于发射波的设备可以是喇叭,该喇叭可以是配置在终端设备上,可以是与终端设备通过有线或无线方式连接。举例而言,在具体实施时,该终端设备可以是手机、平板电脑、智能音箱、智能音乐播放设备等。
为了排除反射波对DOA估计的干扰,准确的识别出波源方向,本发明实施例利用终端设备发射的波对其自身的冲击响应函数对反射体的方向进行预先估计,而后,在对外界指令等外部设备或人发出的波进行DOA估计时,将预先估计出的反射体方向从估计出的多个波达方向中排除,从而得到准确的波源方向,避免了反射波的干扰。
基于上述思想,为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
参见图1,该图为本发明实施例提供的一种波达方向估计方法的流程示意图。
本实施例提供的波达方向估计方法,可以包括以下步骤S101-S103。
S101:播放并接收测试音频。
终端设备控制自身或与其相连并紧邻其设置的其他设备播放测试音频。终端设备接收到的测试音频不仅包括直接从发射方传输至终端设备的多个麦克风的直达波,还包括由终端设备周围至少一个反射体反射后,传输至该多个麦克风的反射波。由于直达波的DOA相当于终端设备自身,可以忽略不计,终端设备周围的反射体可以等效为一个固定的声源,麦克风接收到的反射波相当于从该反射体发射的波,从而可以根据接收到的测试音频,利用DOA估计方法,对反射体与终端设备的相对方向进行估计。
在具体实施时,测试音频可以是终端设备始终播放的音频,例如持续播放的音乐,还可以是由预定指令触发播放的特定音频,例如语音指令或按键触发播放的应答音频等,本发明对此不做限定,这里也不再一一列举。
S102:根据接收到的测试音频,预测反射体相对于终端设备的方向,得到至少一个相对方向。
在本发明实施例中,可以利用任意DOA估计方法对测试音频的波达方向进行估计,得到至少一个反射体相对于终端设备的方向,即至少一个相对方向。下面将举例说明具体如何得到该至少一个相对方向,这里先不赘述。
S103:依据接收到的语音指令和至少一个相对方向,对语音指令的波达方向进行估计。
可以理解的是,该语音指令不仅可以是人发出的声音命令,还可以是预先设定的由特定事件触发的声音等,本发明实施例对语音指令的形式不做具体限定。
由于通过步骤S101-S102已知终端设备周围的反射体的相对方向,因此,在接收到语音指令后,可以从估计出的多个波达方向中排除反射体的相对方向,从而准确的得到语音指令的波达方向。
在本发明实施例一些可能的实现方式中,如图2所示,上述步骤S103具体可以包括如下步骤S1031-S1034:
S1031:根据接收到的语音指令,获得该语音指令对应的空间波束图。
举例而言,假设,终端设备上麦克风阵列(包括p个麦克风)所接收的语音指令为x(t),
x(t)=[x1(t),x2(t),…,xp(t)]T (1)
其中,xk(t)为第k个麦克风接收到的语音指令,1≤k≤p,t为采样时刻点。
对式(1)进行快速傅里叶变换,得到该语音指令在频域的数据X[l,f],
X[l,f]=[X1(l,f),X2(l,f),…,Xp(l,f)]T,fL≤f≤fH (2)
其中,Xk(l,f)为第k个麦克风接收到的语音指令在频率f的频域值,l为快拍数,fL为预先选取的最低频率,fH为预先选取的最高频率。
在一段时间内,计算麦克风阵列在各个频率处的自相关矩阵Rxx(f)
其中,N是计算自相关系数所用的快拍数,l为快拍数。
然后,利用式(3),获得该语音指令对应的空间波束图J(θs),
需要说明的是,上述仅为示例性说明,在具体实施时,本领域技术人员还可以采用其他方式得到获得该语音指令对应的空间波束图,这里不再一一赘述。
S1032:搜索空间波束图,确定空间波束图中幅值大于第三预设阈值的至少两个目标波峰。
S1033:根据至少两个目标波峰在空间波束图中的位置,得到至少两个目标波峰对应的角度。
可以理解的是,当空间波束图上出现峰值时,说明该峰值对应的方向可能为波的传输方向,通过搜索并确定空间波束图对超出特定幅值(即第三预设阈值)的波峰,即可筛选出反射体造成的反射波的波达方向和语音指令的波达方向,即至少两个目标波峰对应的角度。
S1034:逐一排除至少两个目标波峰对应的角度中,与一个相对方向之间的角度差最小的角度后,得到语音指令的波达方向。
在本发明实施例中,由于计算误差或干扰因素的影响,预测出的反射体方向与通过空间波束图确定的至少两个目标波峰对应的角度之间存在一定的误差。将至少两个目标波峰对应的角度中与预测出的至少一个反射体的相对方向最相近的角度排除后,剩余的角度即为语音指令的波达方向。
在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
下面将详细说明具体如何对终端设备周围至少一个反射体的相对方向进行估计。
参见图3,该图为本发明实施例提供的另一种波达方向估计方法的流程示意图。
在本实施例中,上述步骤S102具体可以包括如下步骤S1021-S1022。
S1021:估计测试音频对终端设备的每个麦克风的冲击响应函数。
在具体实施时,本领域技术人员可以采用任意一种方式得到该冲击响应函数,如任意回声消除算法,包括最小均方法(Least Mean Square,LMS)、归一化最小均方法(Normalized Least Mean Square,NLMS)、递归最小二乘法(Recursive Least Squares,RLS)和分区域块最小均方法(Partitioned Frequency-domain Block LMS,PFBLMS)等,本发明实施例对此不做限定。
在一个例子中,具体可以采用如下方式得到冲击响应函数:
设麦克风阵列接收到的测试音频为x(n),
x(n)=[x(n),x(n-1),…,x(n-N+1)]T (5)
测试音频到某个麦克风的冲击响应函数为w(n),n为音频采样时刻;
w(n)=[w0(n),w1(n),…,wN-1(n)]T (6)
其中,N为冲击响应函数的阶数,n为音频采样时刻;
利用式(5)和式(6),可以得到信号y(n),
y(n)=wT(n)x(n) (7)
其中,n为音频采样时刻;
再获得误差信号估计e(n)和测试音频的功率Pxx(n),用于调整自适应冲击响应函数的步长,
e(n)=d(n)-y(n) (8)
Pxx(n)=xT(n)x(n) (9)
其中,d(n)为麦克风在n时刻接受的测试音频信号,n为音频采样时刻。
在一个例子中,终端设备包括4个麦克风Mic1、Mic2、Mic3和Mic4组成的麦克风阵列,4个麦克风组成半径为0.35米的圆阵,终端设备的喇叭与麦克风阵列20厘米,以一个反射体为例,假设终端设备与反射体(如墙壁)的距离为d,Mic3距离反射体最近、Mic1距离发射体最远,如图4所示。图5示出了喇叭播放的测试音频对这4个麦克风的冲击响应函数。
S1022:根据每个麦克风的冲击响应函数,确定至少一个相对方向。
参见图5,从图中可看出麦克风与反射体的距离越近,冲击响应函数的第二个幅值超出一定阈值(即第一预设阈值)的波峰(即第一反射波峰)的幅值越大,反射体对测试音频的反射效果越强烈。同时,第一个超出第一预设阈值的波峰(即直达波峰)与第一反射波峰之间的时间差越小。因此,在本发明实施例中,可以根据测试音频对每个麦克风的冲击响应函数,确定反射体距离终端设备上哪个麦克风的距离最近,从而根据该麦克风的坐标确定出该反射体与终端设备的相对方向。
在本发明实施例一些可能的实现方式中,如图6所示,上述步骤S1022具体可以包括如下步骤S601-S603:
S601:获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰。
其中,直达波峰为该冲击响应函数中第一个幅值大于第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰。
继续参见图5,箭头①指示的为直达波峰,箭头②指示的为第一反射波峰。
在具体实施时,本领域技术人员可以根据实际情况具体设定第一预设阈值,不再一一列举。
可以理解的是,确定每两个第i反射波峰之间的时间延迟以图4为例,即Mic1、Mic2、Mic3和Mic4中任意两个对应的冲击响应函数中的两个第一反射波峰之间的时间差,或两个第二反射波峰之间的时间差,依此类推。根据该时间差可以确定反射波传播至这两个麦克风所需的时间差,进而可以推算出反射体相对于这两个麦克风的相对位置。
在本发明实施例一些可能的实现方式中,步骤S602之前,还可以包括:获取每个第i反射波峰的幅值的平均值,判断该平均值是否大于第四预设阈值,若是,则执行步骤S602。
可以理解的是,当反射波峰的幅值较大时,说明反射波传输至终端设备的信号较强,对应的反射体的方向对DOA估计的影响较大;反之,则说明对应的反射体的方向对DOA估计的影响可以忽略不计。因此,当第i反射波峰的幅值的平均值大于一定值(即第四预设阈值)时,需要考虑反射体对DOA估计的影响,继续执行步骤S602;反之,则可以忽略反射体的影响,直接对语音指令的波达方向进行估计。
S603:依据冲击响应函数中每个反射波峰对应的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向;其中,每个反射波峰对应一个相对方向。
可以理解的是,依据阵列DOA估计理论,声波传播至两个麦克风的时间延迟ταβ可以根据下式(10)得出:
其中,(xα,yα)和(xβ,yβ)分别为两个麦克风的坐标,1≤α≤p,1≤β≤p,α≠β,θr为反射体的相对方向。
这里还需要说明的是,在实际应用中,经验得出当终端设备与反射体之间的距离大于1米时,可以忽略反射波对DOA估计的影响,因此,为了减少计算量、缩短处理时间,在一些可能的实现方式中,步骤S601之后,还可以包括:
查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰。
可以理解的是,反射体与终端设备之间的距离越大,反射体造成的反射波传播至终端设备所需的时间越长,导致反射波峰与直达波峰之间的时间差越大。因此,可以根据冲击响应函数中直达波峰与反射波峰之间的时间差,排除其中由距离较远的反射体造成的反射波所引起的反射波峰,从而排除距离较远的反射体对DOA估计的影响,减少计算量,缩短处理时间。
在实际应用中,第二预设阈值可以根据实际需要设定,例如第二预设阈值可以设置为2.9ms,即声波传播1米所需的时间。
当排除距离较远的反射体对DOA估计的影响时,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M。
则,步骤S602,具体为:确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。步骤S603,具体为:依据冲击响应函数中每个参考波峰对应的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向。具体说明与上述步骤S602和S603类似,具体参见相关说明即可,这里不再赘述。
基于上述实施例提供的波达方向估计方法,本发明实施例还提供了一种波达方向估计装置。
参见图7,该图为本发明实施例提供的一种波达方向估计装置的结构示意图。
本发明实施例提供的波达方向估计装置,可以包括:音频收发模块100、方向预测模块200和方向估计模块300。
音频收发模块100,用于播放并接收测试音频;还用于接收语音指令;
方向预测模块200,用于根据音频收发模块100接收到的测试音频,预测反射体相对于终端设备的方向,得到至少一个相对方向。
方向估计模块300,用于依据音频收发模块100接收到的语音指令和方向预测模块200得到的至少一个相对方向,对语音指令的波达方向进行估计。
在本发明实施例一些可能的实现方式中,方向预测模块200,具体可以包括:第一处理子模块和第二处理子模块。
第一处理子模块,用于估计音频收发模块100接收到的测试音频对终端设备的每个麦克风的冲击响应函数。
第二处理子模块,用于根据每个麦克风的冲击响应函数,确定至少一个相对方向。
可选的,第二处理子模块,具体可以包括:波峰获取子模块、时间获取子模块和方向获取子模块。
波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰。
其中,直达波峰为该冲击响应函数中第一个幅值大于第一预设阈值的波峰。对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰。
时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M]。
方向获取子模块,用于依据时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向。每个反射波峰对应一个相对方向。
可选的,第二处理子模块,还可以包括:波峰查找子模块。
波峰查找子模块,用于查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰。
其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M。
则,时间获取子模块,具体用于:
确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
在本发明实施例一些可能的实现方式中,方向估计模块300,具体用于:
根据接收到的语音指令,获得该语音指令对应的空间波束图;
搜索空间波束图,确定空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据至少两个目标波峰在空间波束图中的位置,得到至少两个目标波峰对应的角度;
逐一排除至少两个目标波峰对应的角度中,与一个相对方向之间的角度差最小的角度后,得到语音指令的波达方向。
在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
基于上述实施例提供的波达方向估计方法和装置,本发明实施例还提供了一种终端设备。该终端设备,包括:存储器和处理器。其中,存储器,用于存储计算机程序。处理器,用于从存储器中获取计算机程序,并根据计算机程序的指令执行如上述实施例提供的波达方向估计方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (10)
1.一种波达方向估计方法,其特征在于,应用于终端设备,所述方法,包括:
播放并接收测试音频;
根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
2.根据权利要求1所述的方法,其特征在于,所述终端设备配置有多个麦克风;所述根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向,具体包括:
估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
3.根据权利要求2所述的方法,其特征在于,所述根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向,具体包括:
获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
依据所述时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
4.根据权利要求3所述的方法,其特征在于,所述获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到至少两个波峰,之后还包括:
查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
则,所述确定每两个第i反射波峰之间的时间延迟,具体为:
确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
5.根据权利要求1所述的方法,其特征在于,所述依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计,具体包括:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
6.一种波达方向估计装置,其特征在于,应用于终端设备,所述装置,包括:音频收发模块、方向预测模块和方向估计模块;
所述音频收发模块,用于播放并接收测试音频;还用于接收语音指令;
所述方向预测模块,用于根据所述音频收发模块接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
所述方向估计模块,用于依据所述音频收发模块接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
7.根据权利要求6所述的装置,其特征在于,所述终端设备配置有多个麦克风;所述方向预测模块,具体包括:第一处理子模块和第二处理子模块;
所述第一处理子模块,用于估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
所述第二处理子模块,用于根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
8.根据权利要求7所述的装置,其特征在于,所述第二处理子模块,具体包括:波峰获取子模块、时间获取子模块和方向获取子模块;
所述波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
所述时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
所述方向获取子模块,用于依据所述时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
9.根据权利要求6所述的装置,其特征在于,所述方向估计模块,具体用于:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
10.一种终端设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于从所述存储器中获取所述计算机程序,并根据所述计算机程序的指令执行如权利要求1-5任意一项所述的波达方向估计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711386119.7A CN108107403B (zh) | 2017-12-20 | 2017-12-20 | 一种波达方向估计方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711386119.7A CN108107403B (zh) | 2017-12-20 | 2017-12-20 | 一种波达方向估计方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108107403A CN108107403A (zh) | 2018-06-01 |
CN108107403B true CN108107403B (zh) | 2020-07-03 |
Family
ID=62210563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711386119.7A Active CN108107403B (zh) | 2017-12-20 | 2017-12-20 | 一种波达方向估计方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108107403B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150869B2 (en) | 2018-02-14 | 2021-10-19 | International Business Machines Corporation | Voice command filtering |
US11200890B2 (en) | 2018-05-01 | 2021-12-14 | International Business Machines Corporation | Distinguishing voice commands |
US11238856B2 (en) | 2018-05-01 | 2022-02-01 | International Business Machines Corporation | Ignoring trigger words in streamed media content |
CN108899044B (zh) * | 2018-07-27 | 2020-06-26 | 苏州思必驰信息科技有限公司 | 语音信号处理方法及装置 |
CN109884646A (zh) * | 2019-03-28 | 2019-06-14 | 广东志成冠军集团有限公司 | 一种基于低频连续声波峰值捕获的高精度远距离水声测距方法 |
US11355108B2 (en) * | 2019-08-20 | 2022-06-07 | International Business Machines Corporation | Distinguishing voice commands |
CN111060875B (zh) * | 2019-12-12 | 2022-07-15 | 北京声智科技有限公司 | 设备相对位置信息获取方法、装置及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2519569B (en) * | 2013-10-25 | 2017-01-11 | Canon Kk | A method of localizing audio sources in a reverberant environment |
CN105301563B (zh) * | 2015-11-10 | 2017-09-22 | 南京信息工程大学 | 一种基于一致聚焦变换最小二乘法的双声源定位方法 |
CN107102296B (zh) * | 2017-04-27 | 2020-04-14 | 大连理工大学 | 一种基于分布式麦克风阵列的声源定位系统 |
-
2017
- 2017-12-20 CN CN201711386119.7A patent/CN108107403B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108107403A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108107403B (zh) | 一种波达方向估计方法和装置 | |
US10959018B1 (en) | Method for autonomous loudspeaker room adaptation | |
CN107976651B (zh) | 一种基于麦克风阵列的声源定位方法及装置 | |
CA2997934C (en) | Arbitration between voice-enabled devices | |
US9966059B1 (en) | Reconfigurale fixed beam former using given microphone array | |
US10229698B1 (en) | Playback reference signal-assisted multi-microphone interference canceler | |
JP5710792B2 (ja) | 可聴音と超音波とを用いたソース特定のためのシステム、方法、装置、およびコンピュータ可読媒体 | |
US8981994B2 (en) | Processing signals | |
US10777214B1 (en) | Method for efficient autonomous loudspeaker room adaptation | |
EP2749042B1 (en) | Processing signals | |
US10622004B1 (en) | Acoustic echo cancellation using loudspeaker position | |
US10957338B2 (en) | 360-degree multi-source location detection, tracking and enhancement | |
JP2008079256A (ja) | 音響信号処理装置、音響信号処理方法及びプログラム | |
US10598543B1 (en) | Multi microphone wall detection and location estimation | |
CN113113034A (zh) | 用于平面麦克风阵列的多源跟踪和语音活动检测 | |
CN103181190A (zh) | 用于远场多源追踪和分离的系统、方法、设备和计算机可读媒体 | |
US20160171965A1 (en) | Vibration source estimation device, vibration source estimation method, and vibration source estimation program | |
KR20160095008A (ko) | 음향 에코 제거를 위한 룸 임펄스 응답을 추정하는 방법 | |
WO2013140130A1 (en) | Signal processing for acoustic user input | |
US20170309292A1 (en) | Integrated sensor-array processor | |
US20120027219A1 (en) | Formant aided noise cancellation using multiple microphones | |
US20190377056A1 (en) | Direction of Arrival Estimation of Acoustic-Signals From Acoustic Source Using Sub-Array Selection | |
US11483646B1 (en) | Beamforming using filter coefficients corresponding to virtual microphones | |
Johansson et al. | Acoustic direction of arrival estimation, a comparison between root-music and SRP-PHAT | |
US11830471B1 (en) | Surface augmented ray-based acoustic modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |