基于麦克风阵列的自动追踪发言人系统设计
黄旭就 农汉彪 陈广桢 曹文明 罗玉桃
百色学院信息工程学院,广西百色 533000
摘要:针对远程在线课堂和远程会议对摄像机自动追踪发言人定位功能的需求,设计了一种基于麦克风阵列的自动追踪发言人系统。该系统利用K210单片机作为主控,实时处理环境中的声音信号,利用时延估计算法定位声源位置和方向,并控制摄像机云台自动追踪发言人,以实现清晰、稳定的视频录制。本文详细阐述了系统的组成、工作原理、关键技术点及实现方法,并通过实验验证了系统的有效性和实用性。
关键词:自动追踪;声源定位;麦克风阵列;单片机;时延估计
中图分类号: TN850.3⁃34; TH89; TP214 文献标识码: A 文章编号:
Abstract:A microphone array based automatic speaker tracking system has been designed to meet the demand for camera automatic speaker positioning in remote online classrooms and remote conferences. The system uses the K210 microcontroller as the main controller to process real-time sound signals captured in the environment through a microphone array. It uses time delay estimation algorithms to locate the position and direction of the sound source, and controls the camera gimbal to automatically track the speaker, achieving clear and stable video recording. This article elaborates on the composition, working principle, key technical points, and implementation methods of the system, and verifies its effectiveness and practicality through experiments.
Keywords:Automatic tracking; Sound source localization; Microphone array; single-chip microcomputer; Delay estimation
1.引言
传统的会议、演讲等场景中,摄像追踪往往依赖于人工操作或预置位设置,无法实时地追踪发言人的位置。基于麦克风阵列的自动追踪发言人系统,通过音频信号处理技术实现声源定位,控制摄像机云台自动追踪,提高了视频录制的效率和质量。本文旨在设计并实现这一系统,以满足现代会议、演讲等场景的需求。
声源定位技术现已形成了一系列完整的理论体系,诞生了波束形成算法、广义互相关时延估计算法、卡尔曼滤波算法等诸多优秀算法[1]。当下智能化社会不断进步,基于麦克风阵列的声源定位技术[2]在机器人上的应用[3]也逐渐得到重视。
2.系统方案设计
2.1.系统整体方案设计
该系统以K210单片机为主控,由麦克风阵列模块MicArray负责采集声源信号,舵机实现云台的转动。麦克风阵列模块采集声源信息后,经过模数转换,主控即可对来自麦克风阵列模块的声源信号进行滤波、判断方位等处理,然后控制舵机转动,使云台的激光笔始终对准声源[4]。
2.2.系统硬件设计
2.2.1.主控单片机
系统将使用K210单片机[5]作为主控,将起到整个系统的运算和总控的功能。采用K210单片机作为主控,其优势在于该单片机具有强大计算能力,支持实时音频信号处理和高精度定位。K210具备丰富音频处理功能,支持多种算法,可提取声音信号有用信息并准确定位声源。模块化设计支持灵活定义I/O口和外设映射,便于定制优化。支持多麦克风同时采集,易于集成其他传感器,实现复杂功能和应用。
2.2.2.声场采集设备
声场采集设备是追踪系统的核心,采用6个外围麦克风和1个中心麦克风组成一维线性阵列接收声音,利用声音传播速度和时间差进行追踪。艾尔赛公司的6+1 Mic Array模块性能卓越,适合作为采集设备。该模块灵敏度高,信噪比达57分贝,总谐波失真小于1%,能确保声音清晰准确。
2.2.3.驱动设备
自动追踪系统的精度与响应速度受驱动设备影响大。本系统选用MG996R舵机作为驱动设备,它响应速度快,0.15秒内能转60度角,4.8V电压下能提供2kg·m扭力。该舵机响应脉宽时间小于5微秒,定位精度高,回中误差0度,左右误差不超过3度。接口兼容JR/FP通用型,易与其他电子组件集成,满足自动追踪系统需求。
2.3.系统控制设计
2.3.1.声源定位设计
Mic Array麦克风阵列模块官方提供了两个重要的函数,一个是获取声音源分布图像函数,可用来获取声音源的分布。一个是计算声源方向函数,该函数利用时延估计算法和波束形成技术,可得到强度值数组。在主程序中,调用模块官方的库函数进行声音源分布图像的获取和强度值的计算。遍历强度值数组,搜索出强度值最大的权值组合,这个最大的权值组合对应的方向就是声源的方向。使用三角函数的正弦、余弦函数来将该声音源方向在二维平面上用X和Y坐标表示出来。此时,得到的是加权和坐标,需要对坐标进行转换使其变成最终所需的角度。具体程序流程如图 2所示:
2.3.2.舵机旋转设计
PWM控制通过调节脉冲宽度调制模拟电路,将电压或电流以通断脉冲序列加到负载上,决定输出平均电压或电流大小。舵机接收PWM信号,内部芯片处理提取控制信息,根据占空比计算转动角度和速度,占空比越大,转动角度和速度越大。舵机通常需20ms时基脉冲,高电平长度决定转动角度。以180度舵机为例,对应的控制关系如表 1:
根据控制关系,可以通过转换坐标角度来实现控制舵机的转动。
3.系统理论分析
3.1.声源方向识别方法
本系统采用卡尔曼滤波算法[6]提升声源方向识别的实时性和准确性。该算法基于线性系统状态方程,融合传感器测量值和系统模型预测值,以贝叶斯定理为基础进行最优估计。卡尔曼滤波算法能自适应调整估计参数,保持高精度和稳定性。因此,该算法能使声源定位跟踪系统更好地适应动态环境,实现高精度、高稳定性的声源方向识别。
3.2.算法设计
系统得到声源角度后,将其作为测量值传递给卡尔曼滤波函数。该函数通过不断更新最优值和协方差,逼近系统真实状态,最终将最优值转换为PWM波控制舵机。
卡尔曼滤波算法包括状态预测、误差协方差预测、增益计算、状态更新和误差协方差更新五部分。在本系统的工作流程主要如下。
最后返回卡尔曼滤波后的最优估计值控制舵机转动到指定位置,具体控制流程如图 3:
4.软件设计
系统开机后,系统程序开始获取声源信息,随后进行数据处理,其中包括强度值的遍历,信号的滤波、坐标的转换以及PWM占空比的计算。判断此时获取的角度是否与设置的参考角度相等,如果相等系统将进行下一次循环,舵机不转动,反之舵机由PWM信号控制旋转到指定角度。流程如图 4:
5.调试结果与分析
样品组装后,在实验室测试。系统设测试参考区A(坐标原点)和声源目标区D。将自动追踪系统置A点,随机声源点B在D区运动。A到D直线距离为S,A、B连线与S夹角为θ。调整θ值测量,记录系统反应时间及激光笔到达B点的误差。测试结果如表 2:
从测试结果来看,该自动追踪系统能够比较精准的进行声源定位,系统的反应时间也比较迅速,可对移动的声源目标进行及时的追踪。但测量结果是在实验室的条件下进行,在实际环境中可能会受到声源在环境折射等的影响,本系统在实际环境中可能会产生误差。
6.结语
本系统采用k210单片机,具备快速计算和强大语音处理能力,能实时跟踪声源且误差小。麦克风阵列模块结合时延估计与卡尔曼滤波算法,精确定位声源,适用于低混响、低噪音线上会议,实用性强。
参考文献
[1]赵建印,雷瑶,李振宇.卡尔曼滤波在装备故障预测中的应用综述[J].兵工自动化, 2024, 43(09): 16-2
[2]束长干.基于麦克风阵列的室内语音定位与跟踪[D].北京邮电大学,2012.
[3]岑林泽,徐一祺,杨宇帆,等.基于麦克风阵列的真实声场环境声源定位跟踪系统设计[J].电子制作, 2023, 31(8):17-21.
[4]张航,潘禹城,张照芳,等.基于STM32单片机的智能加湿器设计[J].科学技术创新,2024, (19): 103-106.
[5]吴必瑞,蒙永富,金志扬.基于K210型芯片的摄像头智能追踪稳定器[J].河南工程学院学报(自然科学版),2021,33(04):53-56.
[6]王熙来,邓晓燕,郭晓婷.基于改进卡尔曼滤波的移动机器人目标识别与定位研究[J].机床与液压,2024,52(16):26-31.
作者简介:黄旭就(2001-08-08),男,广西桂平人,本科生,研究方向:通信信号处理。
基金项目:广西高校中青年教师科研基础能力提升项目(2022KY0735);百色学院2022年广西自治区级大学生创新创业训练计划项目(202210609015)
通信联系人,E-mail:nonghanbiao@126.com]