具身智能中的传感器技术46——麦克风阵列1
麦克风阵列技术通过多麦克风协同工作实现声源定位和降噪。核心算法包括:1)声源定位(TDOA法),利用声音到达时间差计算方位;2)波束成形(延迟求和与自适应算法),增强目标方向声音并抑制噪声;3)去混响和回声消除(WPE和AEC),消除环境反射和自身回声。这些技术将声音信号从一维时间域扩展为三维空间场,显著提升语音处理效果。
·
麦克风阵列技术通过多麦克风协同工作实现声源定位和降噪。核心算法包括:1)声源定位(TDOA法),利用声音到达时间差计算方位;2)波束成形(延迟求和与自适应算法),增强目标方向声音并抑制噪声;3)去混响和回声消除(WPE和AEC),消除环境反射和自身回声。这些技术将声音信号从一维时间域扩展为三维空间场,显著提升语音处理效果。



麦克风阵列技术的核心在于**“多耳协同”与“时空滤波”。它通过处理多个麦克风接收到的信号之间的时间差、相位差和幅度差**,来实现对声场的空间感知和信号增强。
以下是三大核心算法的技术原理深度解析:
一、 声源定位 (SSL - Sound Source Localization)
目标: 算出“谁在说话”的角度 (θθ)。
1. TDOA (Time Difference of Arrival) —— 到达时间差法
这是最经典、最常用的算法。
- 物理模型: 假设声源距离较远(远场模型),声波可以看作平面波。
- 原理:
- 设两个麦克风之间的距离为 dd。
- 声波到达麦克风 1 和麦克风 2 的时间不同,时间差为 ττ。
- 声速为 cc(约 340m/s)。
- 根据几何关系:cosθ=c⋅τdcosθ=dc⋅τ。
- 反解出角度:θ=arccos(c⋅τd)θ=arccos(dc⋅τ)。
- 难点: 如何精准计算时间差 ττ?
- 通常使用 广义互相关函数 (GCC-PHAT)。在频域上对两个信号做互相关,峰值对应的时刻就是时间差。
二、 波束成形 (Beamforming)
目标: “只听这个方向”,抑制其他方向的噪音。
1. 延迟求和 (Delay and Sum) —— 最基础的方法
- 原理:
- 既然知道了声源在 θθ 方向,也就知道了声音到达每个麦克风的时间延迟。
- 我们人为地给先听到的麦克风信号加一个反向延迟,让所有麦克风信号在时间轴上对齐。
- 将对齐后的信号相加。
- 效果:
- 目标信号: 相位一致,相加后幅度增强(相长干涉)。
- 噪声信号: 来自其他方向,相位不一致,相加后互相抵消(相消干涉)。
- 结果就像形成了一个指向目标的“听觉波束”。
2. 自适应波束成形 (MVDR / GSC) —— 进阶版
- 原理: 算法会根据当前的噪声环境,动态调整每个麦克风的权重。
- 目标: 在保持目标方向增益不变的前提下,让总输出噪声功率最小。
- 效果: 即使噪音源在移动(比如旁边有人走动),波束也能自动把那个方向的增益挖个坑(Null Steering),屏蔽掉噪音。
三、 去混响 (Dereverberation) 与 回声消除 (AEC)
1. 去混响 (解决“空旷感”)
- 场景: 机器人在大厅里,声音在墙壁上来回反射(混响),导致语音识别率下降。
- 原理: 利用线性预测 (WPE) 算法,预测出晚期反射声(回声尾巴)并将其减去,保留直达声。
2. 回声消除 (AEC - Acoustic Echo Cancellation)
- 场景: 机器人正在播放音乐,你打断它。麦克风听到的既有你的声音,也有它自己放的音乐(回声)。
- 原理:
- 机器人知道自己播放的音乐信号是 x(t)x(t)。
- 利用自适应滤波器 (NLMS / Kalman) 模拟扬声器到麦克风的传递路径。
- 估算出麦克风里可能收到的音乐回声 y^(t)y^(t)。
- 从麦克风实际信号中减去这个 y^(t)y^(t),剩下的就是你说话的声音。
总结
麦克风阵列技术就是利用空间物理几何(麦克风位置)和数字信号处理(相关、滤波),把声音从“一维的时间流”变成了“三维的空间场”。
更多推荐

所有评论(0)