基于K210单片机的声源定位追踪系统

2025-02-23 00:00:00王畅潘宇林浩岳董晓庆吴树坤
物联网技术 2025年4期
关键词:PID控制卡尔曼滤波

摘 要:声源定位技术是一种通过分析麦克风阵列所采集的信号来判断声音来源的技术。在生产环境中,为达到检测产品质量、定位故障、实施异常预警的目的,提出了一种基于K210单片机的声源定位追踪系统。该系统利用K210芯片、TDOA算法和卡尔曼滤波技术对采集的声源数据进行处理,计算声源角度和距离,再通过PID技术和PWM控制SG90舵机旋转激光笔,精准指向声源位置。测试表明,此系统具有较高定位精度,可在更广泛的频率范围和更大的声音强度下使用。本研究为解决产品质量、故障诊断以及环境监测等问题提供了一种有效的技术手段,具有重要的实用价值和推广意义。

关键词:声源定位;K210单片机;麦克风阵列;卡尔曼滤波;TDOA;PID控制

中图分类号:TP29 文献标识码:A 文章编号:2095-1302(2025)04-00-04

0 引 言

近年来,基于麦克风阵列的声源定位一直是热度较高的研究课题。许多国家如美国、法国、意大利、以色列和加拿大等都相继开展了相关研究工作并取得了不少成果[1]。在应用方面,麦克风阵列已经被广泛应用于许多领域,例如:在高背景噪声情况下探测航空器的噪声源、在较远距离识别声音、在声环境中查询鉴别出不同寻常的声音、以智能声源定位的方式追踪目标、在高噪声环境下对危险情况进行探测和分类等。目前声源定位系统的主要目标是识别声音的方向,其一般使用TDOA算法测得目标发出的声音到达麦克风单元的时间差,以及目标声音的特征参数,同时利用时间差来确定目标声音点与阵列的角度[2]。本文采用Maix Dock主控板,利用高性能的K210单片机处理麦克风阵列数据和控制各模块运作,实现声源定位与追踪的目的。

1 系统整体设计方案

本文系统采用Maix Dock主控板与麦克风阵列相结合的方案。麦克风阵列定位可移动声源的信息,将数据传至Maix Dock主控板上的K210芯片中。数据经过TDOA处理、卡尔曼滤波与K210的基础硬件库函数处理后,最终获得移动声源与麦克风阵列的距离与角度,并将角度显示于LCD屏幕上。该系统通过PID控制SG90舵机旋转,使二维云台转动,同时带动激光笔指向声源,并随着声源的移动而移动,使激光一直定位在声源方向。声源定位追踪系统设计方案如图1所示。

2 系统硬件设计

2.1 处理器模块

本文设计主要基于Maix Dock主控板(图2),以K210芯片作为核心单元。该主控板内置64位双核处理器芯片、8 MB片上SRAM,听觉性能突出。此外,K210内置多种硬件加速单元(KPU、FPU、FFT等),总算力最高可达1 TOPS,能够快速完成各类应用场景的听觉算法,并可以实现语音方向扫描和语音数据输出的前置处理。

2.2 麦克风阵列模块

声源采集主要使用麦克风阵列模块(图3)。麦克风阵列模块由7个MSM261S4030H0R组成,具备定位声源方向的功能,其采用电容式驻极体话筒,将模拟声音信号转换为电信号。12个LED组成一个环形LED阵列,在平面上可以360°直观显示声源位置。

2.3 LCD显示模块

显示模块采用2.4英寸的LCD屏幕(图4),屏幕分辨率为320×240。UI界面可显示场地上声源的大概位置,并实时更新声源定位系统与移动声源的距离与角度。

2.4 声源指示控制装置

声源指示控制使用迷你尼龙二维平台(图5),其上搭载了2个SG90舵机,负责控制激光笔水平与垂直转动,实现移动声源位置的精准定位。

3 系统软件设计

首先,使用声源信号装置对K210系统进行初始化,由麦克风阵列接收相关信息。接着,K210单片机模块接收并转换包括声源方向和位置坐标等数据,通过TDOA和卡尔曼滤波算法的处理,使数据得到进一步优化。然后,K210单片机控制LCD显示器呈现与声源位置相关的方向和坐标参数,再控制二维云台,确保激光笔精准定位,追踪声源目标位置[3]。声源定位追踪系统程序流程如图6所示。

3.1 TDOA算法设计

基于TDOA的定位算法为目前应用与研究最广泛的声源定位算法。该算法的主要原理为利用接收器接收到的声音信号,求取声音信号到达各个接收器的时间延迟,分别对应三维空间中各个接收器与声源之间的声程差,利用声程差与定位方程解算方法求解声源的位置坐标[4]。

发射声音位置与拾音器之间的距离满足式(1):

(1)

式中:(xi, yi)为第i个声音的接收模块坐标;(x, y)为声源坐标。双曲线定位中发射声音位置(x, y)和拾音器(xi, yi)之间的距离满足式(2):

(2)

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

3.2 卡尔曼滤波算法的设计

卡尔曼滤波有2个步骤:预测步骤,即系统的下一个状态根据上一个测量结果预测;更新步骤,即系统的当前状态根据当前的测量结果估计。卡尔曼滤波算法如下[6]:

(1)预测步骤

(3)

Pk|k-1=Fk-1Pk-1|k-1FTk-1+Gk-1QkGTk-1" " " " " " " " " (4)

(2)更新步骤

(5)

Kk=Pk|k-1HTk [HkPk|k-1HTk+Rk]-1" " " " " " " " " " " (6)

Pk|k=Pk-1|k-1+KkHkPk|k-1" " " " " " " " " " " " " " (7)

式中:∈Rn为声源目标状态向量,其对应的协方差矩阵为Pk;Zk∈Rm为传声器对声源的测量向量;Fk、Gk为状态转移矩阵;Qk、Rk为协方差矩阵。

编写卡尔曼滤波函数,使经过TDOA处理后的数据经此函数处理,能够更精准地定位声源位置。卡尔曼滤波算法的设计代码如图7所示。

3.3 二维云台的设计

二维云台主要由SG90舵机控制,舵机由PWM信号控制。PWM信号数据由对已经通过TDOA与卡尔曼滤波函数处理后的精准角度简易处理得到。PWM驱动二维云台转动到合适的角度,便于激光定位声源。二维云台的设计代码如图8所示。

4 系统测试与误差分析

为了最大程度减小周围环境对实验的潜在影响,特别是排除室内可能存在的回声混响等干扰,本文选择了一个宽敞的场地进行实验。在实验布置中,将麦克风阵列和声源装置放置在同一水平面上,声源装置被安放在预先测定的位置,用于进行定点实验,并播放相应音频作为声源。

4.1 测试距离与角度(无干扰)

首先验证该系统定位数据的精准性。在正常无噪声环境下,分别测试5次真实距离为1.0 m、1.5 m、2.0 m的距离精准度,并测试在此距离基础上针对-60°~60°范围内的角度精准度。声源装置的测试结果见表1和表2。

由表1可知,在1.0~1.5 m范围内,距离精确度误差范围为0~0.1 m;而在1.5~2.0 m范围内,距离精确度误差范围扩大至0.1~0.2 m。此时随着距离的增加,距离精确度逐渐降低。

由表2可知,在声源装置进行-60°~60°的测试时,角度精确度误差范围为0°~3°。此时角度精确度较小。

4.2 测试距离与角度(有干扰)

本文还验证了有无噪声情况下,声音强度对距离(测试距离分别1.0 m、1.5 m、2.0 m)与角度(角度固定为0°)的影响,分别见表3和表4。

分析表3和表4可得,2组数据显示的距离和角度精准度随噪声从无到有,以及声音强度的减小而降低。这说明有无噪声和声音强度的大小对声源定位均产生了显著影响,同时在无噪声且声音强度较高的情况下,麦克风阵列能够更有效地接收声波信号[7]。

4.3 测试移动声源追踪

测试声源定位系统对于不同移动速度下声源的定位精准度。表5为移动声源定位追踪的精准度。

由表5可知,在声源缓慢移动的情况下,激光基本可跟踪声源移动,然而随着声源移动速度的加快,定位追踪的精准度开始降低,出现了较大的角度偏移,当移动速度超过0.35 m/s后,无法准确定位和追踪声源目标[8]。

4.4 误差分析

综上所述,与当前市场上其他同类设备相比,本文设计的声源定位系统具有显著优势和创新点。该系统综合了TDOA算法和卡尔曼滤波技术,通过高性能的Maix Dock主控板和K210芯片处理麦克风阵列采集的声源数据,实现了对声源角度和距离的高精度定位。此外,该系统通过LCD屏幕实时显示声源信息,结合二维云台和激光笔,使系统具备了实时追踪的能力。在实验中,该系统在1.0 ~2.0 m

的距离范围内定位误差较小;对于有无噪声和不同声音强度的环境,该系统也表现出较强的鲁棒性,尤其在无噪声和高声音强度条件下,麦克风阵列能够更有效地接收声波信号。该系统还具备一定的移动目标跟踪性能,尽管在较高速度下定位精准度有所下降,但这款声源定位追踪系统在硬件性能、实时显示和追踪等方面都展现出了较优越的性能[9-10]。

5 结 语

本文深入探讨了声源定位技术的应用和实现,提出了一种基于K210单片机的声源定位追踪系统,并详细介绍了该系统的组成部分及工作原理。该系统利用了K210芯片的强大计算能力,结合TDOA算法和卡尔曼滤波技术,对采集的声源数据进行处理,实现了对声源角度和距离的精准计算。同时,该系统通过PID技术和PWM控制SG90舵机旋转激光笔,实现了对声源位置的精准指向。这些技术的融合使得系统具有较高的定位精度和稳定性。通过详尽的测试和评估,该系统在不同频率和声音强度下均能够稳定工作,并且具有较高的定位精度,这为声源定位技术在生产环境中的应用提供了可靠的保障。

注:本文通讯作者为潘宇。

参考文献

[1]石婷.麦克风阵列声源定位算法研究综述[J].科技视界,2016(27):274.

[2]李彦瑭,沈一,潘欣裕,等.基于麦克风阵列的声源定位系统研究[J].物联网技术,2021,11(7):26-28.

[3]代燕娇,洪凌钰,刘钰,等.基于STM32单片机的声源定位系

统[J].电脑编程技巧与维护,2023(10):10-13.

[4]王松.基于TDOA的声源定位算法研究与实现[D].济南:山东大学,2020.

[5]郝张红,段羽浩,韩彬彬.基于TDOA的声源定位算法研究及实现[J].信息系统工程,2020(2):140-141.

[6]戴文丰.基于卡尔曼滤波算法的声源目标跟踪研究[D].广州:华南理工大学,2020.

[7]林志斌,徐柏龄.基于传声器阵列的声源定位[J].电声技术,2004(5):19-23.

[8]李晓阳,李世豪,范天一,等.基于Raspberry Pi的声源定位跟踪系统[J].科学技术创新,2022(32):33-36.

[9]崔玮玮,曹志刚,魏建强.声源定位中的时延估计技术[J].数据采集与处理,2007(1):90-99.

[10]冯振宇.基于声传感器阵列的移动目标定位技术研究[D].沈阳:沈阳理工大学,2013.

作者简介:王 畅(1980—),男,博士,高级工程师,研究方向为信号处理与通信系统、人工智能等。

潘 宇(2001—),男,研究方向为电子信息工程。

猜你喜欢
PID控制卡尔曼滤波
改进的扩展卡尔曼滤波算法研究
测控技术(2018年12期)2018-11-25 09:37:34
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
内模控制在火电厂主汽温系统中的应用
《计算机测控技术》课程中PID控制部分的教学探讨
常规PID控制和常规模糊控制的比较
一种基于SPWM的逆变电源并联运行参数设计及控制策略仿真
关于多旋翼式飞行器系统的研究
科技视界(2016年6期)2016-07-12 09:16:47
新型试验电源直流降压斩波系统的PID控制仿真研究
科技视界(2016年12期)2016-05-25 12:01:14
基于模糊卡尔曼滤波算法的动力电池SOC估计
电源技术(2016年9期)2016-02-27 09:05:39
基于扩展卡尔曼滤波的PMSM无位置传感器控制
电源技术(2015年1期)2015-08-22 11:16:28