基于Raspberry Pi 的声源定位跟踪系统

2022-11-03 12:30李晓阳李世豪范天一王富达
科学技术创新 2022年32期
关键词:声源树莓云台

李晓阳,李世豪,范天一,王富达

(南京航空航天大学金城学院信息工程学院,江苏 南京 211156)

引言

随着时代的进步,在现实生活中很多东西是不可以随意拆卸的,或者拆卸的难度很大要耗费很大成本。例如:汽车、家电、航空航天等声音,尤其是噪声和异响,它往往意味着产品质量的问题,有故障,存在风险隐患,而我们要解决这些质量、故障、事故等问题。通过噪声源定位技术,确定产生这些问题的位置。

现代工业制造中我们发现,绝大多数的机械设备在正常工作状态下,会发出平稳而有规律的噪声,而当设备老化或者发生其他故障时,则会产生明显异于平常的工作噪声,这就为“以设备运行声音判断设备健康状态”提供了有利的条件。声音信号包含丰富的信息量,在很多视觉、触觉、嗅觉不适用的场景下,具有独特优势。同时,声音信号具备非接触性,可有效避免振动信号数据采集的困难。在国防现代化方面,声源定位技术可以用来测量在地面作战的炮兵阵地;可以用来找到隐藏在某地的狙击手位置,还可用于测量弹药试验火炮的着落点和空中炸点[1]。随着现在隐身技术的迅速发展,原本应用在军事坦克和直升机上的传统检测技术已经丧失作用,在这种情况下,被动声源探测技术将发挥巨大的优势。

1 理论基础

本系统中涉及的算法包含FFT 算法及TDOA 算法,关于上述两种算法的基本原理如下所示。

1.1 FFT 算法

因为声音是一个随时间变化的连续函数,任意一段间隔内都有无穷多个值,而无穷多的数据是没办法存储在计算机中的。想要存储,我们就需要将它离散化变成离散序列,具体的方法就是采样,使用固定的间隔对函数进行求值。见图1。

图1 采样后的结果

通过采样,我们将一个无尽序列变成了一个有限序列,其中每一个值叫做样本,这样就可以方便在计算机中存储了。采样的关键参数有两个,分别是采样频率和采样深度[2]。采样频率是指每秒钟采样多少次,很明显,采样频率越高,样本越多,数据量越大,同时也更接近原始的声音。采样深度是指用多少比特去存储采样得到的值,使用的比特越多,还原得到的声音越细腻,和图片的色彩深度是一个道理。见图2、图3。

图2 三段波形叠加之前的结果

图3 三段波形叠加后的结果

通过FFT 算法,我们可以将一个复合波形拆解为构成它的简单波形,即将结果2 转换成结果1。随声音跳动的每个柱子,对应的是一个频率或一组频率,而柱子的高度则是频率的分量大小,这两个信息傅里叶变换都能给到。将想要得到的某一组或一段频率提取并识别,即可做到滤波降噪[3]。

1.2 TDOA 算法

基于TDOA 的声源定位算法具有运算量小、算法简单易实现、定位精度较高、硬件成本低的特点,使得该算法在实际中的应用非常广泛,而且可以实现实时定位。根据系统设计需求声源设为(x,y),为第i 个声音的接收模块坐标为(xi,yi)。

因此发射声音与拾音器之间满足式(1)

然后可知Riy 代表发射声音电路的第i 个接收模块的距离差,则双曲线定位中发射声音(x,y)和拾音器(xi,yi)满足式(2)

采用相位检波的方法,将两路正弦信号之间的相位差转换为电压信号,采用ADC 测量电压信号就可以反向计算得到相位差,这样最终就可以转化为方程求解问题实现声源定位[4]。

2 系统整体设计方案

系统采用麦克风阵列与树莓派相结合,树莓派处理麦克风阵列的数据,在树莓派处理完数据以后传入Arduino,采用串口通信的方式将麦克风阵列获取到的数据传入到Arduino,通过Arduino 进行云台控制,实现激光定位,此外,为弥补市场上大部分声音定位技术的不足,如使用雷达搜索目标面临的电子干扰,仿人双耳声源定位在多干扰的场景下会面临定位的准确的问题。本系统采用了FFT 算法,TDOA 算法,使本系统可以达到一个精准定位的程度[5],在用户启动树莓派并移动到指定区域以后,当监测数据高于标准值时,系统将启动激光模块进行定位,使用者也可以更据具体环境需求,对标准值。

2.1 硬件系统设计

处理器:采用Raspberry Pi 基金会生产的树莓派见图4。树莓派是Raspberry Pi 基金会开发的一款微型电脑,树莓派4B 在处理器速度,多媒体性能,内存和连接方面提供了突破性的增长,同时保留了向后兼容性和类似的功耗,且容易对其进行编程处理,基本可以满足本次设计要求,后期调试工作也更加方便。

图4 Raspberry Pi 基金会生产的树莓派

麦克风阵列(见图5):麦克风阵列模块使用六个麦克风模块组装完成,据有可以定位声源方向的功能采用电容式驻极体话筒(咪头),该元件能将一般的声音信号转化为电信号。价格便宜,便于设计,之后再自行设计滤波与放大电路,一起构成声音信号接收模块。

图5 麦克风阵列

装置显示电路采用0.96 寸OLED 屏幕(见图6),可设计ui 实时显示B 点位置和上述直线距离与夹角。

图6 OLED 屏幕

声源指示控制装置:采用二维云台承载激光笔(见图7)。云台不仅可水平转向,还可以竖直转动,并且云台扭矩大,转动力度较MG945 大。

图7 源指示控制装置

2.2 软件结构设计

(1) 声音检测声源检测模块依麦克风阵列,基于GPIO 框架编写麦克风阵列的使用程序,判断当前是否有声音发出。

(2) 声音预处理 当麦克风阵列接收到声源以后,树莓派使用FFT 执行预处理算法对声音进行降噪处理,去除无用的噪声,便于后续对声源进行准确的定位。

(3) 云台驱动 云台驱动模块依托Arduino,基于GPIO 框架编写二维云台硬件的使用程序,使之能够根据树莓派的输出,驱动云台转动合适角度,从而将激光笔指向声源发出的位置。

3 系统工作原理

采用计算机声音系统识别,通过麦克风阵列,应用FFT 算法进行降噪处理,通过树莓派上的声音识别系统,检测当前的声源进行定位,最终用云台舵机定位声源发出的位置,从而实现声源定位的目的。第一步,将待声源放于置物板上,麦克风阵列检测到声源,声源定位系统进入工作状态。第二步,云台舵机开始转动,转动角度由检测到的声源确定,可以旋转0°、90°、180°。待云台舵机转动到声源发出位置时激光笔开启。第三步云台舵机完成一次工作,等待下一次工作周期的到来,再一次进行声源定位操作。第四步,树莓派通过TDOA 算法对声源进行定位处理,将处理好的数据传递给Arduino,Arduino 将通过外接0.96 寸OLED 屏幕,从而可以在显示屏上直接显示,使用户能够方便、快捷地查阅信息。

4 系统应用效果分析

由表1 结果分析可知:

表1 该装置在1 m~3 m 范围内测试结果距离分析

(1) 杂音环境下测试与有较低响度的声音麦克风接收信号强烈,精度较高。

(2) 1 m 位置时红外线偏离圆心2°以内。2 m位置时红外线偏离圆1°~3°。3 m 位置时红外线偏离圆点5°左右。

5 结论

本系统设计了一种基于Raspberry Pi 开发板的声音定位系统,利用麦克风阵列能够实现对环境声音进行精确的监测,一旦发生异响可快速找到存在故障的地方,并对故障位置进行快速有效的处理,研究结果大大降低汽车的风险隐患,同时在家电、航空航天等领域存在的安全隐患有很大的前景[6],然而,由于实验水平有限,本系统的测试结果存在一定程度误差,测试结果容易受到外界环境干扰,但整体应用效果较为显著,在后续的研究中我们将会从算法及元件选择方面进一步改进,从而获得更为准确的测试结果以指导实践。

猜你喜欢
声源树莓云台
虚拟声源定位的等效源近场声全息算法
一种基于麦克风阵列用于分离单极子和偶极子声源的方法
基于TDOA和AOA算法的声源定位模型的研究
Help me buy a…Tripod head帮我买云台
室内声音导航系统
大疆创新:灵眸Osmo口袋云台相机
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
精准水平快速到位