很多动物依赖于声音来感知外部的环境,像夜间活动的蝙蝠、树鼩,海洋里的生物鲸鱼、海豚等。声呐定位不仅给它们提供了追踪猎物、躲避天敌的方法,有时也为寻觅配偶提供方便。
依靠听觉定位的动物
工业革命之后,人类开始利用声呐技术去探测海洋、地球内部、身体超声检测等。下面通过实际信号延迟测量,说明声音测距原理。
声音测距基本原理
根据声音信号测量距离,所使用的原理就是通过声音在空气中传播的速度和时间差来测量声源与接收器之间的距离:
其中需要解决以下几个问题:
如何知道声音发出的起始时间 ?
如何确定声音接收到的时间 ?
如何确定声音在空气中的传播速度:?空气中声音测距示意图
第三个问题比较容易确定,在一般情况下,空气中声音传播的速度为:
其中:是空气温度;是空气膨胀系数,它等于 。是空气在零摄氏度时传播速度,大约为 331m/s。
前两个问题本质上是确定声音传播时间差。在有些情况下,往往发出声音波形和时刻是知道的,需要测量的是接收到的声音信号与发送的信号之间的延时。
一种比较简便的方法就是使用相关法来确定。假若声音在传播过程只是发生幅度衰减、时间的延迟以及叠加了一些噪声:
那么将接收到的信号与原来发送信号做互相关运算:
则相关结果的极大值对应的时间就与实际信号延迟相一致。因此便可以得到接受信号与发送信号之间的延迟了。
两个零均值信号相关运算
为了得到精确的时间延迟,也就是希望信号相关结果出现的峰值越尖锐越好,作为测距的声音信号需要频谱较宽,比如时间很短的脉冲信号、具有变频的 Chirp 信号、白噪声信号等等。利用声音定位的动物们常常使用的是 Chirp 信号。
实测发送和接收信号的相关结果
在这里实际测量从音响发出的一段频率从 50~2000Hz,声音长度为 250ms 的声音,由附近的小型驻极体麦克风接收放大后,经过 10kHz 的 AD 转换,形成接收到的数据。
实验中的蓝牙音箱和接收声音麦克风
下图显示了发送信号 Chirp 信号(蓝色)与接收到的信号(黄色)波形。由于接收麦克风距离音箱很近,所以两者之间的基本上没有延迟。
与前面分析的不同的是,这两个信号之间不仅仅是整体幅值变化、时间延迟以及有叠加的噪声,而是对于不同的频率段幅值的衰减变化是不相同的。
实测发送信号(蓝色)和接收信号(黄色)
将这两个信号去除平均值之后,做相关运算:
所得到的结果如下图所示。可以看到在它们相重合的时间点有很强的峰值出现,这为测量两个信号之间的延迟时间提供了很好的帮助。
实测信号的相关结果
音响和麦克风的频率特性对信号的影响
之所以出现接受信号的幅度会出现比较凌乱的变化,是因为音响和麦克风所组成的信号传输系统不是一个纯延迟系统,它对于不同频率具有不同的幅度增益和相位延迟,分别称为系统的幅频特性和相频特性,合在一起就是系统的频率特性。
系统的频率特性可以由系统的传递函数直接计算出来,也可以通过实际扫频完成对幅频和相频特性的测量。下面通过发送不同频率的信号,分别测量得到上述声音发送和接收系统的在不同频率下的幅值增益和相位延迟特性。
不同频率下发送和接收信号的波形变化
下图给出了从 50Hz 到 2000 赫兹区间内,音响 - 麦克风的福特特性(蓝色曲线)和相频特性(黄色曲线)。可以看到该系统基本上是一个 200Hz 到 1500Hz 之间的带通系统。太高的频率和太低的频率,接收到的声音都被衰减到二分之一(-6db)以下下。
相位变化在 -180°到 180°之间,如果考虑到相位从 180°跳转到 -180°实际上是连续取值,所以整体上相位呈现随着频率为线性递减关系,反映了随着频率的增加,相位延迟线性增加,相位变化斜率就是声音延迟的时间。
显然,音响和麦克风的频率响应区间越宽越平坦对于声音定位就越有利。否则声音信号中的高频信息被滤除很多之后,相关结果的峰值就会变得更宽了,使得测量结果的方差增大。
音响和麦克风系统的幅频特性和相频特性
如何提高声音延迟测量精度?
为了能够更加精确测量声音的延迟时间,进而提高距离测量精度,需要从以下几个方面来设计系统:
提高声音扫频的范围,特别是高频范围。越宽的扫频范围,就是的相关结果峰值越窄,测量结果的方差越小;在允许的情况下,选择频响更宽的音响和麦克风传感器。
增加扫频信号的时间长度,这可以在一定程度上抑制周围环境噪声的影响;
设计的声音范围需要根据实际系统的频率特性来选择,尽可能选择增益高,相位线性度好的区间,这样可以在相同的发射信号功率、接收时间的条件下,取得更加稳定的结果。
根据信号频带范围,设计合理的信号采样频率,避免频率混叠对结果的影响。
实验电路板
相关运算比较费时,在实时处理的可以使用快速傅里叶变换来加速相关结果的计算。
本文的实验是为智能车竞赛声音信标系统测试结果。详细的测试数据和之后补充的结果可以看 CSDN 中的相关博文。