针对智能车声标组的声音定位方案研究

李哲明 郝亮 李晶钰
2020-09-01 Tuesday
 

摘要 声音定位指根据声音信号确定声源方位。传统定位算法虽然准确,但对传感器精度要求较高。本文提出一种利用声音定向的方法,再使用FM信号辅助计算距离,时延计算采用广义互相关方法,从而实现准确快速定位。本文提出一种简单的声音定位方法,在保证可靠性和精度情况下,获得更高的实时更新速率。

关键词 声音;FM;定位;测距;广义互相关

Research on the sound localization scheme for the sound beacon group of smart car

LiZheming HaoLiang LiJingyu

Abstract Sound localization refers to the determination of sound source orientation according to the sound signal. Although the traditional localization algorithm is accurate, it requires high precision of the sensor. In this paper, a method of sound orientation is proposed, and then FM signal is used to help calculate distance, and the generalized cross-correlation method is used to calculate time delay, so as to realize accurate and fast localization. In this paper, a simple sound location method is proposed to obtain a higher real-time update rate while ensuring reliability and accuracy.

Key words sound; FM; Location; distance measurement; generalized cross-correlation
 

1 引言


声音定位是指动物利用环境中的声音刺激确定声源方向和距离的行为。用于觅食,寻找幼仔、父母,躲避捕食者等。取决于到达两耳的声音的物理特性变化,包括频率、强度和持续时间上的差别。为模仿这一生物现象,许多定位方法被应用到了音源定位当中,声音定位技术最早被应用在声呐系统中,后来逐渐地应用到探测水下目标的领域,因为电磁波在海水中会有较为明显的信号衰减,所以电磁波的传输距离就会受到较大的限制,而声音定位技术因为其自身特点,刚好弥补了电磁波的不足。

时至今日,声音定位作为一种已经应用广泛的技术,利用声学传感器以及与其相连的电子设备(MCU)和相关电路,处理接收到的声波信号,确定声源的位置。但诸多声音定位方案往往对传感器精度要求较高。在嵌入式系统中由于ADC采样速率或微控制器的算力限制,常常不能达到很高的精度。

为解决这一问题,本文提出了一种利用声音信号定向,FM信号辅助计算距离的方法,能够在确保一定精度的条件下,实现快速且准确的定位。其中,声音定向使用广义互相关计算多个麦克风到声源的距离差,具有较强的抗扰性。

 

2 声音定位研究现状


目前应用比较广泛的定位算法有信号到达时间测量AOA、信号到达角度测量AOA、接收信号强度指示RSSI、信号到达TDOA等。

接下来对上述算法的利弊及在智能车信标组中的可行性进行分析

1.1 信号到达时间测量:

由于声音的传播速率是确定的,只要测量出信号发送与接收之间的时间差,就可以根据传输时间计算出到声源的距离。声源目标即在以麦克风为中心,距离为半径的圆上。当至少有三个不同位置的麦克风到声源的距离时,即可通过三个或更多个圆的交点为声源位置。但是由于信标组原有chrip信号的发送频率和tc264的算力限制,用fm信号和麦克风信号互相关得到的距离分辨率只有1.7cm,而且受限于车身大小,麦克风间距比较近,显然不足以用于进行AOA定位。该算法更加适合使用多个距离较远的基站定位。

1.2信号到达角度测量:

通过阵列智能天线测出声源目标与基站之间所成的夹角,直接用多个夹角的连线交点确定声源位置。显然该方法难以应用在智能车信标组的比赛中。

1.3 RSSI:

通过接受到信号的强弱测定接收点到天线的距离。但该算法需要非常准确的信号衰减模型,在智能车信标比赛中显然也难以实现。

1.4 TDOA:

该算法是TOA算法的改进,使用两麦克风之间的距离差用于定位,从而也就不再需要严格的时间同步信号。用两个声音信号即可确定声源在一组双曲线上。当有多个双曲线时,即可通过解双曲线的交点计算出声源位置。该算法的硬件实现相对最为简单,我们的算法本质上也是在特定麦克风排布下,TDOA算法的近似解。不过仍然是由于距离差精度不够高,直接使用解方程方法的话,计算时间长且精度较低。

 

3 广义互相关算法分析


假设两个麦克风接收到的信号分别为:
x 1 [ n ] = α 1 s [ n − τ 1 ] + n 1 [ n ] x_1 \left[ n \right] = \alpha _1 s\left[ {n - \tau _1 } \right] + n_1 \left[ n \right] x1[n]=α1s[nτ1]+n1[n] x 2 [ n ] = α 2 s [ n − τ 2 ] + n 2 [ n ] x_2 \left[ n \right] = \alpha _2 s\left[ {n - \tau _2 } \right] + n_2 \left[ n \right] x2[n]=α2s[nτ2]+n2[n]

式中 s [ n ] s\left[ n \right] s[n]为声源信号, n 1 [ n ] n_1 \left[ n \right] n1[n] n 2 [ n ] n_2 \left[ n \right] n2[n] 为互不相关的噪声,音源信号与噪声信号也是互不相关的, τ 1 \tau _1 τ1 τ 2 \tau _2 τ2 为声波传到麦克风的时间, α 1 \alpha _1 α1 α 2 \alpha _2 α2为声波的衰减系数。 τ 12 = τ 1 − τ 2 \tau _{12} = \tau _1 - \tau _2 τ12=τ1τ2为两麦克风间的时延。

声源到两个麦克风的信号 x 1 [ n ] x_1 \left[ n \right] x1[n] x 2 [ n ] x_2 \left[ n \right] x2[n]的互相关函数 R 12 ( τ ) R_{12} \left( \tau \right) R12(τ) 可表示为:

R 12 ( τ ) = E [ x 1 [ n ] ⋅ x 2 [ n − τ ] ] R_{12} \left( \tau \right) = E\left[ {x_1 \left[ n \right] \cdot x_2 \left[ {n - \tau } \right]} \right] R12(τ)=E[x1[n]x2[nτ]]
由此:
R 12 ( τ ) = α 1 α 2 R [ τ − ( τ 1 − τ 2 ) ] R_{12} \left( \tau \right) = \alpha _1 \alpha _2 R\left[ {\tau - \left( {\tau _1 - \tau _2 } \right)} \right] R12(τ)=α1α2R[τ(τ1τ2)]
由相关函数的性质得到,当 时 τ 12 = τ 1 − τ 2 \tau _{12} = \tau _1 - \tau _2 τ12=τ1τ2 R 12 ( τ ) R_{12} \left( \tau \right) R12(τ)取最大值。因此,求得 R 12 ( τ ) R_{12} \left( \tau \right) R12(τ) 的最大值对应的 τ \tau τ 就是两个麦克风之间的时延 τ 12 \tau _{12} τ12

由互相关函数与功率谱的关系可得:
R 12 ( τ ) = 1 2 π ∫ − ∞ ∞ G 12 ( ω ) ⋅ e j ω τ d ω R_{12} \left( \tau \right) = {1 \over {2\pi }}\int_{ - \infty }^\infty {G_{12} \left( \omega \right) \cdot e^{j\omega \tau } d\omega } R12(τ)=2π1G12(ω)ejωτdω

式中, G 12 ( ω ) G_{12} \left( \omega \right) G12(ω)为麦克风信号 x 1 [ n ] , x 2 [ n ] x_1 \left[ n \right],x_2 \left[ n \right] x1[n],x2[n] 间的互功率谱。

在实际中由于有限样本估计以及噪声的影响,互相关估计可能没有一个明显的尖峰存在。为了凸现尖峰,可以先对数据进行滤波处理,它等效于在频域的加权处理,这有利于加强接收信号中源信号的谱分量,提高信噪比,从而获得更高的时延估计精度。

广义互相关法通过求两信号之间的互功率谱,并在频域内给予一定的加权。来对信号和噪声进行白化处理,增强信号中信噪比较高的频率成分,从而抑制噪声的影响,再反变换到时域,得到两信号之间的广义互相关函数,即:
R 12 ( τ ) = 1 2 π ∫ − ∞ ∞ ψ 12 ( ω ) G 12 ( ω ) e j ω τ d ω R_{12} \left( \tau \right) = {1 \over {2\pi }}\int_{ - \infty }^\infty {\psi _{12} \left( \omega \right)G_{12} \left( \omega \right)e^{j\omega \tau } d\omega } R12(τ)=2π1ψ12(ω)G12(ω)ejωτdω

式中为广义互相关加权函数。PHAT加权函数的数学式为 1 / G x 1 x 2 ( ω ) 1/G_{x1x2} \left( \omega \right) 1/Gx1x2(ω) ,PHAT加权相当于白化滤波,对大噪声能取得较好效果。

 

4 传统TODA算法


通过广义互相关的方法可以求出到达时间或者到达时间差,即可以计算出声音音源到麦克风的距离,或音源到不同麦克风的距离差。下面是一种常见的传统定位算法。

Trilateration(三边测量)是一种常用的定位算法,已知三点位置 ( x 1 , y 1 ) \left( {x_1 ,y_1 } \right) (x1,y1) ( x 2 , y 2 ) \left( {x_2 ,y_2 } \right) (x2,y2) ( x 3 , y 3 ) \left( {x_3 ,y_3 } \right) (x3,y3)已知未知点 ( x 0 , y 0 ) \left( {x_0 ,y_0 } \right) (x0,y0)到三点距离 d 1 , d 2 , d 3 d_1 ,d_2 ,d_3 d1,d2,d3 为半径作三个圆,得出交点的计算式:

{ ( x 1 − x 0 ) 2 + ( y 1 − y 0 ) 2 = d 1 2 ( x 2 − x 0 ) 2 + ( y 2 − y 0 ) 2 = d 2 2 ( x 3 − x 0 ) 2 + ( y 3 − y 0 ) 2 = d 3 2 \left\{ \begin{matrix} {\left( {x_1 - x_0 } \right)^2 + \left( {y_1 - y_0 } \right)^2 = d_1^2 }\\{\left( {x_2 - x_0 } \right)^2 + \left( {y_2 - y_0 } \right)^2 = d_2^2 }\\{\left( {x_3 - x_0 } \right)^2 + \left( {y_3 - y_0 } \right)^2 = d_3^2 }\\\end{matrix} \right. (x1x0)2+(y1y0)2=d12(x2x0)2+(y2y0)2=d22(x3x0)2+(y3y0)2=d32

设未知点位置为 ( x , y ) \left( {x,y} \right) (x,y), 令其中的第一个球形 P 1 P_1 P1 的球心坐标为 (0, 0), P 2 P_2 P2处于相同纵坐标,球心坐标为 (d, 0), P 3 P_3 P3 球心坐标为 (i, j),三个球形半径分别为 r 1 , r 2 , r 3 r_1 ,r_2 ,r_3 r1,r2,r3。则有:

{ r 1 2 = x 2 + y 2                       r 2 2 = ( x − d ) 2 + y 2           r 3 2 = ( x − i ) 2 + ( y − j ) 2 \left\{ \begin{matrix} {r_1^2 = x^2 + y^2 \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,}\\{r_2^2 = \left( {x - d} \right)^2 + y^2 \,\,\,\,\,\,\,\,\,}\\{r_3^2 = \left( {x - i} \right)^2 + \left( {y - j} \right)^2 }\\\end{matrix} \right. r12=x2+y2r22=(xd)2+y2r32=(xi)2+(yj)2

解得未知点坐标:
{ x = ( r 1 2 − r 2 2 + d 2 ) y = ( r 1 2 − r 3 2 − x 2 + ( x − i ) 2 + j 2 ) / 2 j \left\{ \begin{matrix} {x = \left( {r_1^2 - r_2^2 + d^2 } \right)}\\{y = \left( {r_1^2 - r_3^2 - x^2 + \left( {x - i} \right)^2 + j^2 } \right)/2j}\\\end{matrix} \right. {x=(r12r22+d2)y=(r12r32x2+(xi)2+j2)/2j

实际应用中,三个圆不能恰好交为一点,可以采用最小二乘法进行估计得到未知点坐标。在求解非线性方程组的过程中需要用到Chan算法,Chan算法在求解非递归的双曲线方程组时计算量相对较小,比较适合单片机进行计算,而且由于该算法可以处理一定的高斯噪声,在智能车使用中可以取得比较好的定位结果。

不过在实际测试中,虽然该算法准确率较高,但计算时间相对较长,下面提出一种特殊麦克风(基站)排布下的极简定位算法。
 

5 特殊麦克风排布下的简单定位算法


为了解决上述问题,我们将定向与测距分离,使用四麦克风采集声音进行方向计算,再对FM和声音信号进行互相关计算得到距离。车模上安装有4个呈正方形排列的麦克风,以及一个fm模块。我们依靠两组麦克风的到达时间差确定方位,依靠fm与麦克风互相关计算距离,然后根据距离差的差,计算出声源的方向。

▲ 图4.10 麦克风安装概念图

▲ 图4.10 麦克风安装概念图

以正方形中心为远点建立坐标系,则四个麦克风坐标为 ( x i , y i ) \left( {x_i ,y_i } \right) (xi,yi), 其中i=1,2,3,4,设声音音源坐标为 ( x , y ) \left( {x,y} \right) (x,y),现将声音音源到麦克风1的距离 与声音音源到麦克风4的距离 做差,即
以正方形中心为远点建立坐标系,则四个麦克风坐标为 , 其中i=1,2,3,4,设声音音源坐标为 ,现将声音音源到麦克风1的距离 d 1 d_1 d1 与声音音源到麦克风4的距离 d 4 d_4 d4做差,即
d 14 = d 1 − d 4 d_{14} = d_1 - d_4 d14=d1d4

d 1 d_1 d1 d 4 d_4 d4用计算公式表示
d 14 = ( x − x 1 ) 2 + ( y − y 1 ) 2 − ( x − x 4 ) 2 + ( y − y 4 ) 2 d_{14} = \sqrt {\left( {x - x_1 } \right)^2 + \left( {y - y_1 } \right)^2 } - \sqrt {\left( {x - x_4 } \right)^2 + \left( {y - y_4 } \right)^2 } d14=(xx1)2+(yy1)2 (xx4)2+(yy4)2
同理可以得到 d 23 d_{23} d23的表达式
d 23 = ( x − x 2 ) 2 + ( y − y 2 ) 2 − ( x − x 3 ) 2 + ( y − y 3 ) 2 d_{23} = \sqrt {\left( {x - x_2 } \right)^2 + \left( {y - y_2 } \right)^2 } - \sqrt {\left( {x - x_3 } \right)^2 + \left( {y - y_3 } \right)^2 } d23=(xx2)2+(yy2)2 (xx3)2+(yy3)2

现将 d 14 d_{14} d14 d 23 d_{23} d23取绝对值后做差 d a n g l e = ∣ d 14 ∣ − ∣ d 23 ∣ d_{angle} = \left| {d_{14} } \right| - \left| {d_{23} } \right| dangle=d14d23
d 23 , d 14 d_{23} ,d_{14} d23,d14表达式代入
d a n g l e = ∣ ( x − x 1 ) 2 + ( y − y 1 ) 2 − ( x − x 4 ) 2 + ( y − y 4 ) 2 ∣ − d_{angle} = \left| {\sqrt {\left( {x - x_1 } \right)^2 + \left( {y - y_1 } \right)^2 } - \sqrt {\left( {x - x_4 } \right)^2 + \left( {y - y_4 } \right)^2 } } \right| - dangle=(xx1)2+(yy1)2 (xx4)2+(yy4)2 ∣ ( x − x 2 ) 2 + ( y − y 2 ) 2 − ( x − x 3 ) 2 + ( y − y 3 ) 2 ∣ \left| {\sqrt {\left( {x - x_2 } \right)^2 + \left( {y - y_2 } \right)^2 } - \sqrt {\left( {x - x_3 } \right)^2 + \left( {y - y_3 } \right)^2 } } \right| (xx2)2+(yy2)2 (xx3)2+(yy3)2
利用Matlab绘制出 d a n g l e d_{angle} dangle x , y x,y x,y 变化的图像,通过下图可以直观看出在同一方向上 d a n g l e d_{angle} dangle大致相同,证明该方法具有一定的合理性。

▲ 图4.11 dangle取值在不同位置变化情况

▲ 图4.11 dangle取值在不同位置变化情况

下面利用matlab定量绘制某一方向的 d a n g l e d_{angle} dangle值,由曲线可知 d a n g l e d_{angle} dangle在距离相对较远时无限趋近某一常数,如下图所示,而今年灯壳的半径加上车身已超过30cm,是满足音源相对较远这一条件。因此可以用 d a n g l e d_{angle} dangle唯一确定音源角度。

分别记两组对角线上麦克风的距离差为距离差1和距离差2,通过matlab仿真可以进行论证,两组对角线麦克风的距离差的差(以下简称为距离差的差)在距离相对较远时无限趋近某一常数,该常数随着角度变化而发生改变,如下图。由于今年新版信标灯的灯壳半径加上车身已超过30cm,是满足这一条件的,在实际测试中距离差的差也确实是一个常数。为了防止近距离误判,也使用fm与麦克风互相关测出的距离进行限制。

▲ 图5.1 距离差随着声源距离的变化

▲ 图5.1 距离差随着声源距离的变化

▲ 图5.2 不同角度下,距离差随着声源距离的变化

▲ 图5.2 不同角度下,距离差随着声源距离的变化

下面将求解这一常数与声源角度的对应关系。仍然使用matlab仿真进行分析,结果如图5.2所示。图5.3则是智能车车模的实际测试验,用麦克风数据互相关算出的距离差、距离差的差与角度的关系。接收采用山外上位机,红线和蓝线分别为两组距离差,棕线为距离差的差,可以发现与matlab仿真结果基本保持了一致。

▲ 图5.3 距离差的差与生源角度的关系

▲ 图5.3 距离差的差与生源角度的关系

▲ 图5.4 麦克风互相关在TC264上的实际测试结果
▲ 图5.4 麦克风互相关在TC264上的实际测试结果

由matlab仿真图不难分析出,虽然单独根据距离差的差不能推导出确定的声源角度,但如果结合两个距离差本身的正负进行辅助,只需要进行简单的分段线性变换,就可以很好的将距离差的差与声源角度一一对应起来。具体对应结果如图5.4,可以发现求解非常接近线性关系。由于比赛所用chrip信号的频率和tc264芯片算力和存储能力的限制,综合控制所需实时性的考量,我们最终选择了20khz的adc采样速率,理论上用该算法解算声源角度的分辨率为2.3度,误差在0.6度以内,完全满足智能车信标组比赛的要求。
▲ 图5.5 由距离差的差求解声源角度
▲ 图5.5 由距离差的差求解声源角度

 

6 结论


本文分析了传统定位方法的优缺点,包括chan算法,三边测量方法等,这些方法虽然准确,但对时延精度要求较高,我们所使用的微控制器采样和处理能力无法达到要求。我们进而提出了适合本竞赛项目的简单定位算法,并使用matlab完成仿真,通过仿真证明了其合理性。之后进行实物进行测试,证实了该方法的定位精度能够满足要求,且实时性较好,能够在本竞赛项目中达到令人满意的定位效果。

 

※ 参考文献:


[1]张铁成. 基于麦克风阵列的声音识别与定位算法研究[D].南京师范大学,2016.

[2]龚小章.特定声识别与定位系统[J].电子科技,2011,24(08):36-38+45.

[3]邹乐强.最小二乘法原理及其简单应用[J].科技信息,2010(23):282-283.

[4]韩毅,吴初娜,李龙飞.基于到达时差的声音定位系统的研究与实现[J].计算机工程与设计,2010,31(11):2462-2465.

[5]吴晓,靳世久,李一博,张鹏.基于麦克风阵列声音信号定位方法的研究[J].传感技术学报,2010,23(05):682-686.

李哲明 中南大学 自动化院2017级本科生 研究方向自动控制

Li Zheming, 2017 undergraduate student, School of Automation, Central South University, research field, automatic control

郝亮 中南大学 自动化院2017级本科生 研究方向自动控制

Hao Liang, 2017 undergraduate student, School of Automation, Central South University, research field, automatic control

李晶钰 中南大学 物理与电子学院2017级本科生 研究方向电子通信

Li Jingyu, 2017 undergraduate student, School of Physics and Electronics, Central South University, Research Field, Electronic Communication

  • 16
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值