很多动物依赖于声音来感知外部的环境,像夜间活动的蝙蝠、树鼩,海洋里的生物鲸鱼、海豚等。声呐定位不仅给它们提供了追踪猎物、躲避天敌的方法,有时也为寻觅配偶提供方便。
依靠听觉定位的动物
工业革命之后,人类开始利用声呐技术去探测海洋、地球内部、身体超声检测等。下面通过实际信号延迟测量,说明声音测距原理。
根据声音信号测量距离,所使用的原理就是通过声音在空气中传播的速度和时间差来测量声源与接收器之间的距离 D D D:
D = ( t s e n d − t r e c e i v e ) ⋅ V s o u n d D = \left( {t_{send} - t_{receive} } \right) \cdot V_{sound} D=(tsend−treceive)⋅Vsound
其中需要解决一下几个问题:
空气中声音测距示意图
第三个问题比较容易确定,在一般情况下,空气中声音传播的速度为:
c ω = c 0 + 1 + α ⋅ ω c_\omega = c_0 + \sqrt {1 + \alpha \cdot\omega } {\rm{ }} cω=c0+1+α⋅ω其中: ω \omega ω是空气温度; α \alpha α是空气膨胀系数,它等于 1 / 273.15 = 3.661 ⋅ 1 0 − 3 1/273.15 = 3.661 \cdot 10^{ - 3} 1/273.15=3.661⋅10−3 1/°C。 c 0 c_0 c0是空气在零摄氏度时传播速度,大约为331m/s。
前两个问题本质上是确定声音传播时间差。在有些情况下,往往发出声音波形和时刻是知道的,需要测量的是接收到的声音信号与发送的信号之间的延时。一种比较简便的方法就是使用相关法来确定。
假若声音在传播过程只是发生幅度衰减、时间的延迟以及叠加了一些噪声:
f r ( t ) = A ⋅ f s ( t − t 0 ) + n 0 ( t ) f_r \left( t \right) = A \cdot f_s \left( {t - t_0 } \right) + n_0 \left( t \right) fr(t)=A⋅fs(t−t0)+n0(t)
那么将接收到的信号与原来发送信号做互相关运算: R r , s ( t ) = ∫ − ∞ ∞ f s ( τ ) ⋅ f r ( τ − t ) d τ R_{r,s} \left( t \right) = \int_{ - \infty }^\infty {f_s \left( \tau \right) \cdot f_r \left( {\tau - t} \right)d\tau } Rr,s(t)=∫−∞∞fs(τ)⋅fr(τ−t)dτ则相关结果的极大值对应的时间就与实际信号延迟相一致。因此便可以得到接受信号与发送信号之间的延迟了。
两个零均值信号相关运算
为了得到精确的时间延迟,也就是希望信号相关结果出现的峰值约尖锐越好,作为测距的声音信号需要频谱较宽,比如时间很短的脉冲信号、具有变频的Chirp信号、白噪声信号等等。利用声音定位的动物们常常使用的是Chirp信号。
在这里实际测量从音响发出的一段频率从50~2000MHz,声音长度为250ms的声音,由附近的小型驻极体麦克风接收放大后,经过10kHz的AD转换,形成接收到的数据。
实验中的蓝牙音箱和接收声音的咪头
下图显示了发送信号Chirp信号(蓝色)与接收到的信号(黄色)波形。由于接收麦克风距离音箱很近,所以两者之间的基本上没有延迟。
与前面分析的不同的是,这两个信号之间不仅仅是整体幅值变化、时间延迟以及有叠加的噪声,而是对于不同的频率段幅值的衰减变化是不相同的。
实际发送(蓝色)和接收(黄色)信号
将这两个信号去除平均值之后,做相关运算:
R [ n ] = ∑ m = − ∞ + ∞ ( T [ m ] − T ˉ ) ⋅ ( G ( m − n ) − G ˉ ) R\left[ n \right] = \sum\limits_{m = - \infty }^{ + \infty } {\left( {T\left[ m \right] - \bar T} \right)\cdot\left( {G\left( {m - n} \right) - \bar G} \right)} R[n]=m=−∞∑+∞(T[m]−Tˉ)⋅(G(m−n)−Gˉ)
所得到的结果如下图所示。可以看到在它们相重合的时间点有很强的峰值出现,这为测量两个信号之间的延迟时间提供了很好的帮助。
实测信号的相关结果
之所以出现接受信号的幅度会出现比较凌乱的变化,是因为音响和麦克风所组成的信号传输系统不是一个纯延迟系统,它对于不同频率具有不同的幅度增益和相位延迟,分别称为系统的幅频特性和相频特性,合在一起就是系统的频率特性。
系统的频率特性可以由系统的传递函数直接计算出来,也可以通过实际扫频完成对幅频和相频特性的测量。下面通过发送不同频率的信号,分别测量得到上述声音发送和接收系统的在不同频率下的幅值增益和相位延迟特性。
不同频率下发送和接收信号的波形变化
下图给出了从50Hz到2000赫兹区间内,音响-麦克风的福特特性(蓝色曲线)和相频特性(黄色曲线)。可以看到该系统基本上是一个200Hz到1500Hz之间的带通系统。太高的频率和太低的频率,接收到的声音都被衰减到6db一下。
相位变化在-180°到180°之间,如果考虑到相位从180°跳转到-180°实际上是连续取值,所以整体上相位呈现随着频率为线性递减关系,反映了随着频率的增加,相位延迟线性增加,相位变化斜率就是声音延迟的时间。
为了能够更加精确测量声音的延迟时间,进而提高距离测量精度,需要从以下几个方面来设计系统:
实验电路板
相关运算比较费时,在实时处理的时候,可以使用快速傅里叶变换来加速相关结果的计算。