首页 > 编程知识 正文

tdoa的c语言算法原理(aoa定位原理)

时间:2023-05-06 20:27:01 阅读:73279 作者:4232

目录

1. TDOA概述

2 .延迟估计

3 .定位估计

4 .声源定位

目前的研究成果表明,声源定位(Sound Source Localization,SSL )包括基于最大功率的可控波束成形定位方法、基于高分辨率频谱估计的定位方法、到达延迟差) TDOA )具有基于估计的定位方法,其中基于延迟估计的定位方法具有计算量小、实时性好、实用性强等特点,首先介绍这种比较简单的声源定位算法。 基于TDOA的方法一般分为两个阶段,首先计算声源信号到达麦克风阵列的时间差(延迟估计),然后根据麦克风阵列的几何形状建立声源定位模型并求解,从而得到位置信息(定位估计)。

1. TDOA概述首先介绍TDOA的概念。 如图所示,假设空间中标记有一个声源(s (表示为t,其在空间中的位置为S)两个麦克风) m-1和m-2,这些空间中的位置分别为http://www.Sina.com

麦克风m1和m2分别接收以下信号。

1和2分别是声源到达两个麦克风的延迟时间,n1(t )和n1(t )是加性噪声。 声源信号到达两个麦克风的TDOA

1和2可以通过下式计算

这里c是音速。 一般来说,选择一个麦克风的信号作为参考信号。 例如,如果将M1作为参照信号,则2=0。 在已知麦克风阵列几何形状的情况下,声源定位问题成为时间延迟的估计问题。

2 .延迟估计延迟估计有很多种,比如利用广义互相关函数(GCC )来估计延迟,或者利用倒谱分析来估计延迟,但是这里一般使用

我们已经讨论了互相关函数,广义互相关函数是在互功率谱域用加权函数加权,经过IFFT运算找到峰值估计延迟,以减少噪声和混响对实际环境的影响。 其流程如下图所示。

广义GCC计算公式如下

12是频域加权函数,常用如下

GX1x2()是互谱,其计算公式如下。

最后,通过式(8),能够估计声音信号到达两个麦克风为止的延迟。

3 .确定定位估计声源在二维平面内的位置坐标至少需要三个麦克风。 对于两个麦克风,只能计算到达角(Direction of Arrival,DOA )。 在介绍定位估计方法之前,必须区分下近场(near-field )和远场(far-field )。 假设声速的波长为,麦克风间的距离为d ),则声源与麦克风间的距离r大于2d2/时符合远场模型,相反为近场模型。 对于远场模型,声源到达麦克风阵列的波形被视为平面波,如下图所示。

此时,根据麦克风阵列的几何关系,我们可以

进而,能够求出声源相对于麦克风阵列角度

在近场模型中,声源到达麦克风阵列的波形被视为球面波,如下图所示。

近场模型需要三个麦克风。 如果分别假设12、13为第2个和第3个麦克风和第1个麦克风的等待时间

根据麦克风阵列的几何关系

其中,12、13是通过延迟估计得到的,因此可以求解从式(11 )到式(13 )的方程式,并且如果使用正弦定理,则得到2和3。

4 .声源定位在麦克风口径不大的情况下,一般适合远场模型(读者不认为可以自行计算),这里应用远场模型进行声源定位。 声源位置约为45度角,麦克风之间的距离为0.15m,48 kHz的采样率,采用gcc-phat进行延迟估计,结果如下图所示(代码和数据仍位于公众号菜单More-Code中)。

可以看出大致的方向被正确推测了。 恐怕聪明的读者发现了声源定位的数据中有可以判定VAD结果的数据吧。 这里的Demo比较简单,采用单源自由场模型。 实际上,需要考虑更多的问题,如房间混响、噪声、声源的数量等。 此外,gcc-phat只能用于双麦克风阵列。 如果有多个麦克风,可以使用Spatial Linear Prediction Method方法利用麦克风之间的冗馀信息来获得更准确的对齐结果。 另外,波束成形(Beam forming,BF )与声源定位密切相关,延迟与BF所需的导向量等效,因此也有基于BF的声源定位算法。 最后阐述机器学习/深度学习的定位方法,但未来的流程不变。 但是,最后以最大值估计时延的步骤会改为使用机器学习模型估计时延。 也就是说,模型输入为gcc-phat,输出结果为延迟。 然后根据该延迟进行声源定位。

M2

[1].https://www.canalu.TV /视频/inria/time _ difference _ of _ arrival _ TDOA.33273

[2]. Springer,micrphone阵列处理,2008

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。