基于K210单片机控制的PWM波声源定位跟踪系统设计

2023-12-15 05:09蔚志坚
建材技术与应用 2023年6期
关键词:麦克风声源舵机

□□ 蔚志坚

(山西职业技术学院,山西 太原 030006)

引言

随着科技不断改善人们的生活环境,定位系统已经填充在生活的各个角落。居家民用、工业生产以及军事重地均有应用。研究声源的检测与定位系统逐渐成为开发人员研究的新热点。判断声音的垂直和水平方位及探测方与声源的距离是声源定位的基本要求。精确的声源定位可以让人们快速判断出声源位置,以确保安全距离尽快躲避潜在危险,这正是人与动物所具备的基本生存能力。当人行走在路上,不需要回头依然可以大概判断出后方来车情况,同时借助于视觉进一步确定目标,以保证行人安全的行进过程。但当遇到上下班等高峰时,声源环境变得嘈杂且混乱,甚至无法确定同行者的位置。此时声源定位能力可以帮助人们第一时间确定通信者,并且完成预期交谈内容。这是人体自身声源定位系统的基本功能。但是对于声源定位较差的人,或者特殊情况下无法采用主动声源探测定位系统,则需要被动地进行声源定位。

K210人工智能单片机是采用超低功耗的28 nm先进制程,双核64位RISC-V处理器,内置多种硬件加速单元。每个核心内置独立FPU,可单独进行浮点运算,自带计算卷积人工神经网络加速器KPU,以及处理麦克风阵列的APU,能够进行高性能机器视觉和听觉处理,总算力可达10 000亿次[1]。此单片机具有视听一体、自主IP内核及可编程能力强三大特点,能够支持多种神经网络算法,支持机器视觉与听觉多模态识别,可广泛应用于智能厂区、智能家居和智能城市等场景。

麦克风是一种将声音转换成电信号的能量转换装置,通常只有一个信号,灵敏度低且音色中夹杂的噪声多。而麦克风阵列是将两个及以上的麦克风信号通过阵列耦合为一个信号,耦合后的信号强度增大,通过芯片可以消除声源环境中的干扰噪声,提升音色的辨识度[2]。麦克风阵列在手机和平板电脑等电子设备中使用较多,通过两个麦克风接收声波,利用两个声波相位差值对声波进行过滤,从而最大程度地将环境中不需要的背景声音去掉,仅留下有用声波[3]。

1 系统设计论证思路

拟设计一种利用电子设备确定声源目标位置的系统。以K210单片机主控制核心,基于声学传感器麦克风阵列,对声场环境信号进行收集。依靠估计声源信号到达各个阵列单元的时间差值以及延迟时间估计的方法,实现被动声源信号的方向和测距。PWM通过脉冲宽度波控制舵机带动红外激光仪转动指向声源位置,同时在OLED屏上实时显示出声源目标的准确角度及方位。

1.1 传声定位设计

针对发声目标的追踪定位分析,设计采用时延估计算法。因为声音信号在常温下传播速度为340 m·s-1,均匀列阵的结构最简单,且处理方便,故系统采用6个麦克风组成一维线性阵列作为声源接收器,其阵列间距为10 cm。音频依次经过麦克风后收到的声音信号会产生时间差。在频率响应中根据时域中波束形成与空间滤波器相仿的应用,分析出接收到声源信号的方向及其变化。而这些分析可由极坐标图以波束形式来显示语音信号的强度与角度。麦克风矩阵中独立设备收到声源信号所表征出的机械性不完全相同,在频率响应中对同一声源信号的响应时间也不同,进而估算出运动声源的准确位置。麦克风矩阵中各独立设备的MPA416相位差控制在3°,能更利于达到系统的精度和稳定性要求。

1.2 舵机旋转角度设计

声音目标和检测装置之间的连线与中心线的夹角设为θ,麦克风阵列对运动中声源进行周期性检测,当接收到音频信号后经过模/数转换输出所得电压信号并传输到单片机。单片机利用延迟信号估算法对阵列信号进行分析得出控制信号,进而对舵机实施机械控制转向声音目标方向。在控制舵机的同时记录其所处的角度,并对中心值进行比较,即可确定舵机转角θ。

1.3 声音目标测定设计

麦克风将按照语音定位时的最优空间位置进行排布。由于这些麦克风矩阵中各个麦克风的空间位置不同,故其声源信号之间存在延迟,这正是声音目标测定的关键。设声音目标为D,检测装置为C,两者之间的直线距离为S。通过多次测试,发现同一音频信号被麦克风矩阵中不同位置麦克风接收的时间存在间隔,以此时间差作为6个接收器采集到的声音信号为变化量,则可推算出运动物体发出声源的位置,进而精准定位其移动的具体路线。

1.4 显示模块设计

常规显示可以采用耐老化和低功耗的数码管显示,但是其存在两点不足:一是常规数码管与K210单片机连接时,需外接锁存器对显示数据进行锁存,同时使用三极管进行电路驱动,整体设计相对复杂;二是常规数码管无法显示汉字,只能显示少量字符,不能满足设计要求,OLED屏更适合设计要求。OLED是一种电流型有机发光器件,通过载流子的流动和复合而产生发光现象,且发光强弱与流入电流成正比。OLED屏色彩鲜艳,通过覆有薄涂层的有机材料做为基板,当有电流流过时有机材料会自动发光。另外,其显示屏幕可视角度大,减少普通LED的背光且可以弯曲,功耗大大降低,并且显示屏可与单片机直接相连,电路设计及连接简单更适合设计方案。

2 硬件电路与程序设计

2.1 硬件电路的设计

硬件设计由主控电路板、声音传感器和直流舵机等部分组成,主控电路板由K210单片机、麦克风矩阵电路、OLED显示器和电源等组成部分,系统框图如图1所示。

图1 系统总体框图

由K210单片机完成控制任务,通过主控制器K210单片机接收的PWM波形来控制直流舵机的运转,提高了精度。由K210自带的麦克风定位函数可以得到12个声音目标的强度采样值。将前6个强度采样值取反,后6个值采样不变,然后将变化前后12个值相加可得出总声源采样强度值。由于目标物体存在移动性,因而收到实时性的制约,将200 ms内的总声源采样强度值进行卡尔曼滤波,通过系统输入输出观测数据,对系统状态进行最优估计的算法,减少噪声干扰[4]。通过测试,可以得到声源采样强度的两个边界值为Amin和Amax,通过计算可以得到约为±π/6内的最大和最小值。当θ<0时,当前角度θ为当前总声源采样强度值θmin(最小声强值);当θ>0时,当前角度θ为当前总声源采样强度值θmax(最大声强值)。再根据θ得出位置坐标(Px,Py)和距离S,将声源位置实时显示在OLED屏上。最后单片机通过控制PWM波的占空比,来精准控制舵机的运转,红外激光配合即完成指示跟踪。电路原理图如图2所示。

图2 系统电路原理图

2.2 主要程序设计

系统软件部分由STM32主控电路、K210芯片模块和麦克风阵列组成的声音目标信号采集系统构成。C语言编写主控程序完成距离计算。具体流程为串口收到K210芯片采集的数据,PWM调制来实现声音大小的调节,经过时延估计算和滤波后得到声音目标与麦克风阵列之间的最短距离[5]。由距离转换出θ角,控制舵机转动红色激光指向目标,同时在OLED上显示角度和距离。对K210芯片模块与麦克风阵列构成的声音目标信号采集,可实现K210芯片通过麦克风阵列采集自制声源的声音信号,并对采集到的信号进行处理,并由串口通信传输给STM32单片机。

2.2.1声源定位跟踪系统程序

原始数据由麦克风阵列采集,首先通过卡尔曼滤波进行预处理,将环境噪声尽可能降低;最后采用时延估计算法,计算出声源的相对位置,如图3所示。

图3 系统电路原理图

2.2.2主程序

开机之后,可通过触摸屏选择任务。任务一为静态定位,通过数据处理程序计算出声源位置并显示到LCD屏上,检测用户是否按下了切换任务按钮,如果没有,继续检测,否则跳出此任务;任务二是在任务一基础上,添加了激光笔指示功能;任务三的声源是移动的,首先启动拖拽装置,使得声源匀速移动。同时处理器进行数据处理,定位声源,并用激光笔的光点跟踪声源移动。具体如图4所示。

图4 主程序流程图

3 系统调试及分析

3.1 测试方案

测试原理如图5所示,具体如下:

图5 测试原理

(1)在给定的自制声源检测装置上标记A点为指定测试参考点。B点为随机声音目标点,A、B两点直线距离为S;将A点可作为坐标原点,线段AB与水平中线之间的夹角为θ,通过测量记录S和θ的数值,进行误差计算。

(2)确定舵机位置控制红色激光笔指向声源。延时估算时,红色激光关闭;延时估算完成后,红色激光开启。测试声音目标时,测试过程记录反应时间、光点以及到达B点的偏差,并对声音目标进行动态跟踪。在D区域内,将声音目标缓慢移动时,红色激光会指向B,记录光点与B点的偏差,跟踪反应时间。

3.2 测试结果及数据

通过改变θ的大小,所得距离S也将变化,记录数据并计算误差,具体见表1~3。

表2 直线距离S测试记录

表3 移动目标追踪测试记录

分析测试结果可得θ角平均误差为0.9%,最大误差为1.5%;直线距离S平均误差为0.71%,最大误差为1.3%。测量位置平均误差为1.3%,最大偏差≯1.5 cm,反应时间平均误差为0.96,最大误差≯1.5 s,定位跟踪反应速度快,效果较好。

从测试数据分析可得,设计的声源定位系统在一般室内状态下可以较好地实现声音目标的定位。但是现实环境和试验环境存在很大差异,同时存在不可预料性和复杂性,且无法消除。所以在嘈杂的环境下定位精度会受到客观因素影响而下滑。

4 结语

设计对声音目标的识别采集和追踪定位功能均实现,且具有良好的精准度及低功耗。通过STM32单片机为信号控制输出,K210芯片与麦克风矩阵共同工作可完成红外跟踪、定位以及OLED屏幕显示的整体功能,设计简单完成度好。但是在降低时间误差和距离误差等方面仍然存有局限性,目前仅对近距离目标完成测试,今后除了在距离方面需要改进外,还可以对测试环境提升难度。

猜你喜欢
麦克风声源舵机
虚拟声源定位的等效源近场声全息算法
含齿隙弹载舵机的全局反步模糊自适应控制
Binaural Rendering based on Linear Differential Microphone Array and Ambisonic Reproduction
基于GCC-nearest时延估计的室内声源定位
基于数字麦克风的WIFI语音发射机
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
麦克风的艺术
运用内积相关性结合迭代相减识别两点声源
麦克风