基于TDOA声源定位算法仿真–MATLAB仿真
声源定位算法是利⽤麦克风阵列进⾏声⾳定位,属于宽带信号,传统的MUSIC和DOA算法并不适⽤该场景,本仿真主要⽤TDOA算法进⾏定位。
常⽤的阵列信号定位算法主要有三⼤类:基于⾼分辨率谱估计的定位技术、基于可控波束形成(Beamforming)的定位技术和基于TDOA 的定位技术,以上三种算法在阵列信号处理中,尤其是移动通信的阵列信号处理中都有⼴泛的应⽤。但是声⾳信号与传统的电磁波信号存在许多的不同,主要包括以下⼏点:
带宽不同:麦克风阵列处理的多是宽带信号,频率范围⼀般在 300Hz到 3KHz 之间;传统的阵列信号处理的多是窄带信号。
信号的平稳性:麦克风阵列处理的多是⾮平稳的语⾔信号,传统阵列处理的对象多是平稳信号。
⼲扰噪声不同:传统的阵列处理的信号中的噪声⼀般为不相关的⾼斯噪声,麦克风阵列处理的信号中既有相关的⾼斯噪声,也有⾮⾼斯噪声。
由于声⾳信号与电磁波信号存在上述⼏点不同,尤其是信号带宽问题和信号的平稳性问题,因此传统的基于⾼分辨率谱估计的定位技术、基于可控波束形成(Beamforming)的定位算法不太适⽤于声源定位
算法,
基于TDOA的声源定位算法具有运算量⼩、算法简单易实现、定位精度较⾼、硬件成本低的特点,使得该算法在实际中的应⽤⾮常⼴泛,⽽且可以实现实时定位。基于 TDOA 的声⾳定位算法实现原理简单,⼀般分为延时估计和声源定位两个部分,时延估计的精确度直接决定了声源定位的精度,所以时延估计精度是该算法的核⼼部分。本章分别介绍基于 TDOA 的声源定位算法中的时延估计的⽅法和基于得到的时延信息进⾏声源定位的⽅法,并对算法进⾏仿真。
传统的时延估计⽅法有很多,传统的时延估计算法主要有基于相关分析的时延估计⽅法,基于相位谱估计的时延估计⽅法,基于参数估计的时延估计⽅法等,应⽤最⼴泛的⽅法主要为基于相关分析的时延估计⽅法中的⼴义互相关函数法(GCC)和基于⾃适应滤波器的延时估计⽅法中的最⼩均⽅⾃适应滤波法(LMS)。
⼴义互相关法
⼴义互相关法的基本原理是在传统的通过互相关来求时延的算法的基础上,对接收到的信号进⾏滤波处理,对信号和噪声进⾏⽩化处理,增强信号中信噪⽐较⾼的频率成分,从⽽到达抑制噪声功率的⽬的,使得相关函数取得尖锐的峰值,提⾼时延估计的精度,因此和上述的LMS 算法相⽐,⼴义互相关法可以取得更好的时延估计性能。 因为⼴义互相关法的基础仍然是互相关算法,因此⾸先简单介绍下
互相关算法,互相关算法的基本原理公式如下式所⽰,其中h(n)即对应时延为t的冲激响应,且R(k)的幅度峰值应该位于k=t的位置。 ⼴义互相关法为了解决上述问题,对上述得互相关结果R(K)进⾏了频域得均衡处理,这样就只保留了互相关得相位信息,即时延信息,去除了⾳频信号本⾝得影响,再进⾏反傅⾥叶变换得到R(k)即可得到⼀个峰值⾮常陡峭的冲击信号,其峰值位置正好对应的就是时延差的位置,。由于实际⾳频信号的采样率有限,为了进⼀步提⾼时延估计得分辨率,还需要对⼴义互相关的结果进⾏进⼀步的差值处理,得到更加精确的时延信息,因此处理流程如下所⽰。matlab傅里叶变换的幅度谱和相位谱
本仿真中主要采⽤了⼴义互相关算法作为时延信息得提取算法。 利⽤⼴义互相关算法得到时延信息之后,就需要根据麦克风阵列的⼏何信息估计声源的⽅位,进⽽估计出⽬标的位置。在本⽂的场景声源于⽬标的关系可以近似当作是远程声源进⾏处理。主要考虑使⽤⼆维L型阵列进⾏接收,L型阵列的X轴和Y轴的阵元可以分别视为⼀个⼀维的线型阵列,然后可以分别估计声源来向的⽔平⾓度和垂直⾓度。因此在接下来的内容中将简单介绍声源⽅位估计得算法。分别估计得到⽔平阵列的⾓度θ1和垂直阵列的⾓度θ2之后,由于本⽂中的声源⽬标是猪,因此⽬标的⾼度维度坐标肯定是0,得到⽬标的⼆维⾓度之后即可推算出⽬标的三维位置
注意点
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论