声音定位的距离误差到底有多高?

发布者:chuyifei最新更新时间:2022-06-27 来源: eefocus关键字:声音定位  示波器 手机看文章 扫描二维码
随时随地手机看文章

验证方案

安装在精确测量位置重新获得多组数据;

在实验中分别将拾音的MIC放置在距离蓝牙音箱15cm,50cm,100cm,145cm的位置接收蓝牙音箱发送的Chirp信号。Chirp信号的频率从250Hz线性变化到2000Hz,声音长度为250ms。


每组数据都同时使用外部示波器进行同步采样;

可以监视声音是否收到外部噪声的干扰。

通过相关差分计算得到每组对应的延迟数据;

可以消除测量基点位置定义不同而带来的系统误差。

 

具体实验场景和手持测距激光仪如下图所示。

音箱和MIC都距离地面15厘米左右。

实验中的音箱和拾音器的位置和高度

实验中的音箱和拾音器的位置和高度

配置示波器DS6104双通道采集发送和接收的数据

测试声音发送时间为2.048ms。需要设置DS6104时间基轴速度为image.png,这样可以在满屏14格内的采集时间可以的达到:

image.png

配置代码为:


ds6104open()

ds6104timebase(15e-3)


下面是采集到的一帧发送和接收到的声音信号。由于DS6014的采样数据只能是1400个,AD分辨率只有8BIT,所以在时间和幅值上相对于STM32所采集到的数据都有损失。

示波器双通道采集到的发送和接收音频信号

示波器双通道采集到的发送和接收音频信号

STM32F103RE发送的信号和AD采集到的信号幅值分辨率都是12bit,采样时间为0.1ms(10kHz采样率)。下面是一帧STM32发送和采样的数据。其中发送信号是直接读取的DA内存数据,不是真正的DA输出同时又通过AD转换的数据,所以这其中有一定的延迟时间:image.png 。


STM32AD采集到的声音信号

STM32AD采集到的声音信号

测量MCU板的AD,DA时间延时

为了测量image.png,通过前后改变MCU的IO管脚电平和设置DAC输出信号,从外部通过示波器观察这两个信号之间的延迟,来测量image.png 。下面是在main.c主循环(周期为1ms)中的测试代码。


    if(nCount & 0x1) {

        ON(IO1);

        DACOutput2(0xfff);

    } else {

        OFF(IO1);

        DACOutput2(0x0);

    }



下面波形显示了DA输出延迟的情况,通过波形可以测量image.png大约为:3.1us。

MCU的IO与DA输出波形

MCU的IO与DA输出波形

从单片机的输入一个方波,单片机读取AD输入之后直接将结果发送的DA输出,可以测量到单片机的AD,DA之间的延迟:image.png


  while(1) {

      nCount ++;

      if(nCount & 0x800) {

          ON(IO1);

          DACOutput1(0xfff);

      } else {

          OFF(IO1);

          DACOutput1(0x0);

      } 

      DACOutput2(GetADC1());

  }


从下图中可以看到这个延迟时间为:

image.png

根据前面测量得到的image.png=3.1us,可以确定下单片机的AD输出时间延迟大约为:image.png

从MCU的AD输入到DA输出之间的时延

image.png

采集实验数据

分别在不同距离采集数据

在100厘米处采集音频数据对应的示波器得到的输入输出波形。

示波器显示的发送和接收到的音频信号

示波器显示的发送和接收到的音频信号

在53厘米处采集音频数据对应的示波器得到的输入输出波形。

示波器采集到的输出和反射的声音信号

示波器采集到的输出和反射的声音信号

在15厘米处采集音频数据对应的示波器得到的输入输出波形。

示波器采集到的输入输出音频

示波器采集到的输入输出音频

数据处理和分析

1. 数据处理方法

通过计算发送和接收之间的相关结果,求得相关峰值所在的位置则可以求出信号传播时间延迟。

在文章“如何提高声音测距的分辨率”中介绍了使用FFT,插值等方法加速计算信号数据相关以及细化相关峰值位置的方法。


数据处理PYTHON函数代码如下。其中send,rece分别是发送和接收到的声音采集数据,在本实验中数据长度为2500,采样时间间隔0.1ms。interptime是对相关结果进行插值倍数,这样所求的峰值可以是小于一个数据采样时间间隔。在本实验中interptime取20。


def procdatafftinterpolation(send, rece, interptime):

    sm = mean(send)

    rm = mean(rece)

    send = [d - sm for d in send]

    rece = [d - rm for d in rece]


    datalen = len(send)

    sendspace = zeros(datalen*2)

    sendspace[0:datalen] = send

    recespace = zeros(datalen*2)

    recespace[0:datalen] = rece


    tempfft = fft.fft(sendspace) * conj(fft.fft(recespace))

    expandfft = zeros(datalen*2*interptime, dtype=complex64)

    expandfft[0:datalen] = tempfft[0:datalen]

    expandfft[-datalen:] = tempfft[datalen:]

    cor = list(fft.ifft(expandfft).real)

    maxpos = cor.index(max(cor))

    return maxpos


2. 数据处理结果

总共有四个位置的四组数据,每个位置采集了50次发送和接收的数据波形。将每组数据使用前面的方法获得相关系数峰值位置,并求出50次结果的均值和方差。结果如下表所示:

image.png

image.png

根据前面测量得到的各个位置相关峰值位置,再根据采样时间声音传播距离image.png,可以计算出根据声音时间差所得到的距离:

image.png

可以看到根据声音信号延迟所得到的及算距离比起实际测量的距离普遍大大了5厘米左右。这可能是因为所测量距离都是按照蓝牙音箱的前面面板的位置开始计量的,但实际上音箱内部的喇叭的振动膜要比音箱前面板还是往后的,所以实际距离应该比测量距离大。


根据上面表格,可以计算出四个位置之间的差值,如下表所示,这样就消除了测量距离的系统误差。

image.png

通过处理后的结果可以看出根据声音传播速度差所得到的距离差与实际测量值是很接近的。其中数据误差最大不超过5%。


结论

根据本次测量结构,可以看到根据声音延迟所测量得到的距离与实际测量值之间的误差不大于5%。在距离更远的时候,这个距离误差更小。


因此,昨天的实验中的结果有可能是测量有误造成的。特别是测量的数据只进行一次的测量。而本实验中每个位置都采取了50次的声音数据,利用平均值完成的测量,所以精度就提高了。

关键字:声音定位  示波器 引用地址:声音定位的距离误差到底有多高?

上一篇:电灯泡内通有交流电,为什么看不到灯泡在闪烁?
下一篇:信号正常吗?

推荐阅读最新更新时间:2024-11-03 22:04

通用示波器的组成部分
通用 示波器 是电子测量仪器的一种类型,可以实现对多种对象的测量,那么通用示波器具有什么样的结构组成使通用示波器能够完成整个测量过程呢?下面来给大家介绍一下通用示波器的组成部分。 显示电路包括示波管及其控制电路两个部分。示波管是一种特殊的电子管,是示波器一个重要组成部分。示波管由电子枪、偏转系统和荧光屏3个部分组成。 电子枪 电子枪用于产生并形成高速、聚束的电子流,去轰击荧光屏使之发光。它主要由灯丝F、阴极K、控制极G、第一阳极A1、第二阳极A2组成。除灯丝外,其余电极的结构都为金属圆筒,且它们的轴心都保持在同一轴线上。 阴极被加热后,可沿轴向发射电子;控制极相对阴极来说是负电位,改变电位可以改变通过控制极小孔的电子数目,也就
[测试测量]
ZDS2022示波器百集实操视频之36:参考波形的导出与导入
经常看ZDS2022示波器百集实操视频的用户可能已经了解,近期我们有一期视频与大家分享了ZDS2022的【Ref】参考波形的功能。有客户微信回复说他已经暂存了参考波形,但是不太清楚ZDS2022可以对参考波形进行哪些操作处理,今天我们就来谈谈ZDS2022能对参考波形进行哪些处理呢? 在当前通道中选择需要操作的参考波形,我们选择REF1,此时可通过旋转M2旋钮可调节REF3波形的垂直偏移,旋转M1,可调整REF3波形的垂直档位,短按M1,可进行微调和粗调的切换。 其实ZDS2022还可以支持参考波形的导出与导入功能的!我们可按下“导出文件”软键,短按旋钮B选中本地闪存,选中保存文件,在“输入”菜单中可对文件名进行修改,可选
[测试测量]
ZDS2022<font color='red'>示波器</font>百集实操视频之36:参考波形的导出与导入
如何测试信号完整性,有哪些实现方法
信号完整性测试的手段有很多,主要的一些手段有波形测试、眼图测试、抖动测试等,目前应用比较广泛的信号完整性测试手段应该是波形测试,即使用示波器测试波形幅度、边沿和毛刺等,通过测试波形的参数,可以看出幅度、边沿时间等是否满足器件接口电平的要求,有没有存在信号毛刺等。 信号完整性的测试手段主要可以分为三大类,下面对这些手段进行一些说明。 1. 抖动测试 抖动测试现在越来越受到重视,因为专用的抖动测试仪器,比如TIA(时间间隔分析仪)、SIA3000,价格非常昂贵,使用得比较少。使用得最多是示波器加上软件处理,如TEK的TDSJIT3软件。通过软件处理,分离出各个分量,比如RJ和DJ,以及DJ中的各个分量。对于这种测试,选择的示波
[测试测量]
示波器频域分析电源噪声讲解
电源噪声是电磁干扰的一种,其传导噪声的频谱大致为10kHz~30MHz,最高可达150MHz。电源噪声,特别是瞬态噪声干扰,其上升速度快、持续时间短、电压振幅度高、随机性强,对微机和数字电路易产生严重干扰。  示波器频域分析在电源调试的应用本文谈到这么多年来最受关注的电源噪声测量问题,有最实用的经验总结,有实测案例佐证,有仿真分析相结合。  在电源噪声的分析过程中,比较经典的方法是使用示波器观察电源噪声波形并测量其幅值,据此判断电源噪声的来源。但是随着数字器件的电压逐步降低、电流逐步升高,电源设计难度增大,需要使用更加有效的测试手段来评估电源噪声。本文是使用频域方法分析电源噪声的一个案例,在观察时域波形无法定位故障时,通过FFT(
[测试测量]
<font color='red'>示波器</font>频域分析电源噪声讲解
示波器基础(五)丨波的测量
许多术语用来描述使用示波器可以进行的测量类型。本节介绍了部分最常用的测量和术语。 频率和周期 如果信号重复,那么它就有频率。频率用赫兹(Hz)表示,等于信号本身在一秒钟内重复的次数,称为每秒周期数。重复的信号还有周期,即信号完成一个周期所需的时间。周期和频率是倒数关系,因此频率=1/周期,周期=1/频率。例如,图8中的正弦波的频率是3Hz,周期是1/3秒。 电压 电压是电路中两点之间的电位量或信号强度。通常情况下,其中一个点是接地或零伏,但并非一直是。您可能要测量波形从最大峰值到最小峰值的电压,这称为峰值电压。 幅度 幅度指电路中两点之间的电压量。幅度通常指从接地或零相伏测得的信号的最大电压。图9所示的波形的幅度为1V
[测试测量]
<font color='red'>示波器</font>基础(五)丨波的测量
示波器上的触发电平如何选择?
触发是数字示波器区别于模拟示波器的最大特征之一。数字示波器的触发功能非常地丰富,通过触发设置使用户可以看到触发前的信号也可以看到触发后的信号。 对于高速信号的分析,其实很少去谈触发,因为通常是捕获很长时间的波形然后做眼图和抖动分析。触发可能对于低速信号的测量应用得频繁些,因为低速信号通常会遇到很怪异的信号需要通过触发来隔离。 示波器上的触发电平 直观讲,触发电平是使示波器进行扫描的信号,一般示波器打开都处于自动触发,像测连续的重复信号时,比较方便。但测一些特定位置的数据,就需要精确触发了。触发电平格式又分为上升沿、下降沿、还有一些其它信号,比如I2C 串口 数据,进行精确触发,这是利用数据特征触发的。还有就是使用外触发,可以选
[测试测量]
<font color='red'>示波器</font>上的触发电平如何选择?
示波器快速设置小贴士
连接示波器探头到被测器件(DUT)。 按下默认设置。 打开所有有输入信号的通道。 调整垂直刻度和位置,以同时显示所有通道的波形。 按下触发电平按钮,把触发电平设置在信号的 50%。 调整水平时基,使屏幕上显示若干个周期的波形。 垂直控件 刻度(大旋钮): 以伏/格为单位调整波形高度。位置(小旋钮): 调整波形的上下位置。 多路复用旋钮: 选择通道进行控制和触发。 触发控件 定义一个触发事件以同步显示波形。 源:选择触发通道。 Slope:选择触发上升沿还是下降沿。 电平(旋钮):设置波形的触发电压 自动模式:无论有没有满足触发事件的波形都进行采集。 标准模式:只采集满足触发事件的波形。 保存/调用 保存
[测试测量]
<font color='red'>示波器</font>快速设置小贴士
经济寒冬渐退 仪器仪表厂商如何抓住市场新机遇
自上世纪90年代以来,智能化的提高使仪器仪表行业取得了重大的突破性进展,而仪器仪表行业技术的突飞猛进也为其他行业技术取得创新提供了有力支持,以物理学诺贝尔奖金获得者为例,百分之五十的工作是得益于新的仪器或测试手段的发明创造,仪器仪表装备水平不仅能够表征人类科技水平的进步,同时也在很大程度上反映出一个国家的生产力发展和现代化水平。 然而,在金融危机的影响下,仪器仪表行业近年来受到了较大的冲击,行业增长率从2007年前的20~30%下跌至个位数。尽管随着金融经济危机的寒潮有逐渐退去的迹象,仪器仪表行业逐渐复苏,但如何能够在寒冬过后新的市场形势中突围,牢牢抓住新的市场机遇,则是每个厂商都需要深入研究的课题。 制领技术优势,扩展市
[测试测量]
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved