智能车制作

标题: 关于声音定位小车 [打印本页]

作者: 钢铁与棉花    时间: 2015-2-25 18:49
标题: 关于声音定位小车
我做的一个小车,用到声音定位功能,就是需要知道说话者的方位,距离,并且小车自动走过去。急求算法设计,我用了3个麦克接收,但好像因为算法不好,没成功,求各位指点,谢谢了

作者: gadwgdsk    时间: 2015-2-25 18:49
DSP+快速FFT变换求相位差,声音频率可以定位500Hz,三个通道的硬件滤波器的特性要做的一样
作者: zhuifeng414    时间: 2015-2-26 08:28
这个我也尝试过,但没有成功.
1.我们是将麦克接收到的信号畸变为方波,让后测量各方波第一个上升沿的时间差,理论上就是声波传到各麦克的时间差,从而得出小车到各麦克的距离,从而定位.但是实际测量时发现并不是所有的麦克都能收到第一个声波,而且喇叭开始发生时感觉也会有一点延迟.所以这个方案最终失败了,运气好的时候可以很成功.
2.测量各麦克结合到的声波的相位差,这样可以很好的弥补喇叭开始发声时的延迟问题.但是相位差会出现周期性的变化,这就需要声波的波长足够长,即频率足够低,这又会使其容易受到周围环境的影响,滤波更困难.该方案理论可行,尚待实践.
总结:个人觉得此题重点是硬件,如何滤去周围噪声,提取声源信号,再将其畸变为方波,以及硬件的稳定性是重点.
希望大家多发表一下看法,互相学习
作者: 灰原哥哥    时间: 2015-2-26 08:30
有两个思路,
一是在麦克风性能稳定的情况下,根据能量大小来判断方向
二是根据通过平移波形计算相关系数,来得到三个麦克风的时间差,据此得到两条双曲线取交点。

作者: 空有一人    时间: 2015-2-27 15:13
一堆大神
作者: 钢铁与棉花    时间: 2015-3-3 14:47
灰原哥哥 发表于 2015-2-26 08:30
有两个思路,
一是在麦克风性能稳定的情况下,根据能量大小来判断方向
二是根据通过平移波形计算相关系数 ...

请问"平移波形"是怎么回事

作者: 钢铁与棉花    时间: 2015-3-3 14:59
zhuifeng414 发表于 2015-2-26 08:28
这个我也尝试过,但没有成功.
1.我们是将麦克接收到的信号畸变为方波,让后测量各方波第一个上升沿的时间差, ...

那直接用fft滤波,还有求相位差   就知道了时差,再利用两条双曲线取交点吧,我觉得方波是不是不弄也可以

作者: 灰原哥哥    时间: 2015-3-3 15:03
钢铁与棉花 发表于 2015-3-3 14:59
那直接用fft滤波,还有求相位差   就知道了时差,再利用两条双曲线取交点吧,我觉得方波是不是不弄也可以 ...

他的方法只对单位脉冲声音有效
关键就是时间差
我说的平移波形就是指尝试不同的时间差

作者: 钢铁与棉花    时间: 2015-3-8 22:47
gadwgdsk 发表于 2015-2-26 09:52
DSP+快速FFT变换求相位差,声音频率可以定位500Hz,三个通道的硬件滤波器的特性要做的一样

我用的STM32
作者: 钢铁与棉花    时间: 2015-3-8 23:01
灰原哥哥 发表于 2015-3-3 15:03
他的方法只对单位脉冲声音有效
关键就是时间差
我说的平移波形就是指尝试不同的时间差

谢谢了,你说的“不同的时间差”,我还是不懂,我用STM32+FFT变换做一下,应该没问题





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2