关于声音信标的提问
近期在公众号里,很多同学在研究声音信标定位问题,发来了一些提问。
提问 1
卓大大这个方法能测定距离但是声源的角度方位又该如何测定呢?
回复:
可以使用两种方式:
- 使用双,或者多个麦克风整列,根据这些麦克风所接收到的声音延迟来确定声源方位;
- 随着车模运动,根据车模本身的移动位置以及所测量得到的声源距离来计算声源的方向。
声音信标的底座造型
这种基于测定当个麦克风与声源之间距离定位的方案。精度与两个麦克风之间距离有关吗?
增加麦克风数量能改善精度吗?(我觉得按照这种原理增加麦克风数量不会有太大改善吧?),
卓大大你是怎么认为的?
回复:
- 是否能够改善,与主要的误差来源有关系;
- 如果主要的误差来源是信号处理中的噪声,则增加两个麦克风之间的距离和麦克风数量都可以改善;
- 如果误差来自于声波被反射、绕行等带来的增加,则只能通过增加麦克风距离来提高声源方位确定了。
卓大大研究半天还是没明白,算延迟的那个最大值p1,p2指的是啥?适是用整个采集的2500个点和发出的2500个点做相关运算,还是在同一时刻,用一段采集的数据和chirp做相关运算然后找到极大值对应的点和当前时刻的差来计算延迟?那样岂不是发出和接收要一直同步才行嘛?
回复:
你的这个问题算是问到点子上了。在推文中实验的一个重要的条件:发出的声音和接受的声音都是由同一个单片机控制。这相当于发送和接受是同步的!!!!这在实际中,车模上的接受单片机怎么能和信标发送声音同步呢? 待会儿我写个推文解释一下吧。(实际上请参见下面问题的回复)
声音信标的底座选型
提问 2
卓老师您好,关于互相关运算,我能理解两个现有的波形运算之后,极大值对应的为两个波形的时间差。但是具体在声音测距是如何用的呢?有点不理解。
比如发射和接收完全独立的,发送在持续的发送信号, 接收端任意时间开启,这个时候如何做互相关运算呢?
对于声音测距中相关运算的两个输入,一个是我们知道的发送端的波形,另外一个是接收到的波形。但是接收到的波形应该取那个部分来去做运算呢?
学生感到疑惑希望卓老师有空的时候能解答十分感谢,祝卓大大身体健康。
回复:
- 在推文中所描述的实验是对声音信标的扬声器、接受单元以及测量精度进行验证。所以实验中,声波产生的信号是由单片机产生并通过音频放大器放大之后通过电缆驱动信标扬声器;在同时单片机又在采集由麦克风接收到的声音信号。实验中的相关信号就是将接收到的信号与发出的信号进行相关运算。
- 由于发出的信号本身是由存储在内存的Chirp波形数据经过DA转换之后产生的, 所以它不需要进行采集,直接使用内存声音波形数据就可以了。
- 将来,在实际信标比赛中,声音是由信标发出的,而检测声音是由智能车上的单片机来采集的。那么,车模上的单片机又是如何能够得到发出信号的时刻和信号波形呢?在实际比赛信标系统中,还会同时在现场提供一个无线调频(FM)信号,信标灯和车模都是通过FM接受模块获得声音Chirp信号的。由于无线信号传播速度是光速,所以可以认为是信标和车模通过FM接受模块所得到的音频是同时,并且波形是相同的。
- 具体的FM接受模块可以根据1月31日推文“单片挑片接收机”中的内容制作。
RDA5807单片调频收音机接受模块
- 当然,也可以在车模上安装多个声音传感器,根据它们所接受到的声音时间差来确定声源位置,这样就可以不需要通过FM接受模块来接受同步声音信号了。
问题 3
卓大大,现在出规则太晚了,我们是全大二第一次参加。我在这之前已经完成了主控板的测试和制作,负责程序的队员也正在努力,我们还打算把神经网络融入到PID中。
可是现在出规则太晚了,尽管规则之前有个大概,但是却没有更多了。而六月校赛,每组只能出一队(学校有传统做车的学生实验室,我们是第一次)目前状况对于我们这些新手是很糟糕的,很可能在赶时间情况下做出来也比不过那个实验室,从而出不了校赛,因此比赛的性价比被拉到很低了。
插图(BING网站首页)
但是从做车开始我都是自己着手设计和测试,上网参考网络资料,自己可以感受到自己进步很大。从原先的啥都不懂已经可以独当一面。我昨天和队友们上商量,可能这年不能参加了(队友中也有想保研的),可是我们已经准备了这么多是很想打一次智能车比赛的。
就想问一下卓大大,明年还有智能车比赛吗?我想明年再参加(我们学校中大二下学期是比赛最多的时期)
回复:
的确今年比赛所遇到的事件多了一些,致使现在比赛筹备工作尚未能够最终落实。但对于明年(2021),竞赛的准备工作就时间就比较宽裕,举办的条件就会更加的充分。