🍓Python计算Arduino声音方向范围和绘制声音位置二维概率分布热图
Python | Arduino | 二维 | 概率分布 | 热图 | Matplotlib | numpy | 统计 | scipy | 散点图
声音检测和测距有许多与回声定位、导航和地理定位相关的应用。所有这些都依赖于使用声音延迟准确定位声源的位置。
在这项研究中,我们组装了一个设备,该设备可以利用声音到达时间的差异来精确定位声源的位置。它由连接到 Arduino 电路板的三个声音传感器组成,该电路板发送数据至电脑,在 Python 中进行处理。我们发现其误差的大小随声源和传感器的相对位置而变化,致使生成一个误差模型,该模型让机器将任何单个测量与设备中实验确定的不确定性相结合,生成一个二维概率分布作为声源位置的热图。概率分布通常与机器的实际输出分布相匹配。
概述
声音检测和测距有许多应用,包括民用和军用。 通过时间延迟测量,准确定位波源位置的能力在许多应用中存在。 如,天文学领域,射电天文学通过使用大型射电望远镜,通过检测天体的无线电发射来研究天体。 然而,单个望远镜实现的图像分辨率受到几个因素的限制,如望远镜天线孔径的大小。 为了克服这个限制,可以使用一种称为超长基线干涉测量的干涉测量,其中许多遥远的望远镜同步在一起模拟更大的奇异望远镜。 为了实现这一点,不同望远镜的无线电信号到达时间之间的延迟被组合和处理。 这项研究采用了一种称为到达时间差的类似技术,构建一种可以精确定位声源位置的装置。
到达时间差
到达时间差 (TDOA) 是一种用于对射频源进行地理定位的技术。 它需要三个或更多能够检测感兴趣信号的远程接收器(探针)。 每个探针在时间上同步到捕获相应的 I/Q 数据块。 软件移动每个 I/Q 数据集的时间特征以找到每个探测器到达时间的差异,这给出了源与每组探头的距离差异。 使用多个探针提供一组曲线,指示距离的解方程。
如文中所述,这种方法广泛用于定位系统。 本文设备包括三个通过 Arduino 电路板同步在一起的 Arduino 声音传感器。 我们假设三个声音传感器足够远且没有干扰,可以测量到声源的范围和方向。
方法 | 理论
数学模型
模拟代码片段:
连接示意图
趋势图
误差传递趋势图
源代码
🏈指点迷津 | BriefLast updated