• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > 基于特定算法的低成本声源定位方法在互动装置中的应用

    基于特定算法的低成本声源定位方法在互动装置中的应用

    时间:2023-04-24 21:20:04 来源:千叶帆 本文已影响

    陈珏

    关键词:声源定位;
    交叉相关;
    互动装置

    中图分类号:TP18 文献标识码:A

    文章编号:1009-3044(2022)36-0023-03

    1 概述

    人的双耳可以分辨从三维空间中的各个方向传来声音的位置,专业领域已经有很多基于人耳定位原理的研究成果。斯达克(Starkey)是全球定制机式助听器最大的研发和制造商,Starkey 的Cetera 技术使助听器在大脑中“隐形”。Cetera消除了声音和大脑处理信号的能力之间的障碍。Cetera算法是一种声音定位算法,它忠实地再现了立体声耳机的三维定位,虽然最初是为使用助听器而设计的。如果戴上立体声耳机,听一些样本音轨(最著名的样本是一个理发店里的立体声效果),三维定位的准确无误会令人吃惊。

    但实际应用中情况较为复杂,涉及头部产生的遮挡和外耳边缘造成的反射。在本研究中仅仅通过使用2组麦克风来模拟完整的听觉系统,虽然定位精度不够高,但低成本、低技术(Low-Cost & Low-Tech)方式对学生制作互动装置原型有实际应用的意义。

    这个研究的目的是用2组麦克风模拟人类在二维区域的听觉系统。该研究将解决一类实体互动的I/O系统,例如:一个基于传入声音方向的转向系统(如:动态雕塑中的舵机阵列)。使用低成本的微控制器(Arduino)作为系统的处理中心,目前该微控制器及配套传感器的价格都很便宜,并且在市场上也很容易买到。当然用2组麦克风,只能在二维空间检测到传入的声音,而无法区分声音是来自系统的前面还是后面,但对互动作品的原型演示已经够用了。

    定位传入声音方向的方法是基于同一音源的声波到达两个麦克风的时间差,这需要应用交叉相关法和位置估计技术。这套实时定位(方向)算法是由微控制器Arduino实现。Arduino是一套开源硬件系统,在数字媒体互动设计方向已经被普遍使用,它的低成本和易开发以及模块化设计已经让很多缺乏专业技术的艺术设计者受益匪浅,本文的实现硬件系统即为Arduino UNO。

    2 交叉相关算法与位置估算

    2.1 交叉相关算法理论

    研究的第1 步是对最简单的时延估计算法:直接交叉相关算法(Cross-Correlation)的波束成形理论进行测试。

    交叉相关的定义为:时间序列x(t)和y(t)中,两个变量之间同时或非同时的一种重合关系[1]。这里x 和y 可以代表在不同地点测得的同一个变量,或代表在同一地点不同时间测得的单一变量。也可以理解为对两个波形之间相似性的检测,是应用于其中一个波形的时间滞后的函数。

    图1 是一个交叉相关的例子,用于测量相关信号源之间的滞后时间。找到两个相似信号的延迟时间的表达式由下面的公式给出。

    其中x(t)是传感器x收到的信号,y(t)是传感器y收到的信号,τ是2个信号之间的延迟时间[2]。交叉相关结果的峰值所在点显示了两个信号的延迟时间,如图1所示。有两种方法可以对信号进行关联。第一种是周期法。如果信号是正弦波或矩形波这样的连续周期信号,或者说采样信号只代表信号整体形式的某些部分,则采用这种方法。之所以说它是周期,是因为当数据指标(幅值)超出范围时,它还可以被转换到范围内,例如:x(N+τ)=x(τ)。第二种是非周期法(沒有周期重复信号出现)。可以认为信号是不连续的,或者说采样的信号代表了信号的整个形式。在目前的项目中互动方式大都为单一声源的随机触发,所以采用第二种方式较多。

    2.2 声源角度计算方法

    一旦进行了交叉关联,计算出了信号的延迟时间,那就可以在限定条件下预测或估算传入声音的方向,先简化建模做如下定义:

    限定条件:已有当前空气声速数据;
    声源离传声器较远(测量值过小对精度影响较大);
    假设环境较理想(没有回声和发射效应等)。

    位置估计的几何原理如图2,声音传入角度可以通过简单的三角函数计算得到。

    α是声源的方向(角度);

    c是空气中的实际声速(测量值);

    d是2组麦克风模块的间距;

    Δτ是声源信号达到2个麦克风的延迟时间(由交叉关联计算得出)。

    3 系统设计

    3.1 系统硬件架构

    图3是一套完整的互动装置系统架构,包含了输入-处理-输出整流程。声源放在输入传感器前面的任何地方(可感应范围设定为20°~160°)。将由2 组麦克风接收传入的声音信号,然后在系统中进行处理。在实验装置中有2个输出,1个是输出到电脑(与Unity 进行串口通信)实现UI 响应,另一个是输出到舵机,使摄像头转向音源位置。

    前级采集信号使用了DFRobot SKU:DFR0034模拟声音传感器,这款MIC声音传感器是一款低成本高灵敏度的声音传感器,可用来检测环境中声音的强度,并内置了放大器(300倍),输出模拟信号能使用3.3V和5V为基准AD采集,可以用来实现根据声音大小进行互动的效果[3]。工作电压:5V,工作电流:<10mA,最长响应时间:220ms,麦克风灵敏度在50dBμ。采集的信号为模拟量,不能直接转成分贝数值,中间的信号处理会非常的复杂,增益自动调节、频率计权、积分电路、时间计权,这些是需要硬件电路来实现的,因此不能单靠单片机的程序来实现,商家推荐直接使用现成的分贝计模块,但费用高昂且接口兼容性差。

    3.2 系统优化

    基于成本的考虑,解决方案中的后级处理选用了DFRobot SKU_DFR00126 频谱分析模块。这是一款音频信号分析模块,此模块选用了音频频谱分析仪芯片MSGEQ7,并有了2.0改进版。通过接收音频信息,可运算分析出63 Hz、160 Hz、400 Hz、1,000Hz、2,500Hz七个频段的振幅[4]。使用该模块和麦克风传感器(DFR0034)配套使用,完成与Arduino 的音频采集。

    因为在互动装置作品中对声音的定位需求是感应人声,传感器不必采集到全声域。正常人耳能听见的频率范围是20Hz 到20000Hz(图4)。频率1000Hz~4000Hz是人耳能感受到的频率中最敏感的范围。据测定,标准普通话语音频率在500~3000Hz,声强在10dB~50dB 之间[5]。所以,通过滤波器保留400Hz,1KHz,2.5kHz 频段的幅值,并根据不同的展览环境设定不同的阈值。

    依靠双耳的听觉。从某方位发送的声音到达两耳时,由于声源与两耳的距离不同,其间距与声源的方位密切相关,因此有时间(或相位)差,声强也不同。低频定位主要依据双耳在相同瞬间接收声音的时间差,而高频定位则依据强度差,而耳郭的聚声效应又有利于高频定位[6]。完全模拟人耳较为困难,因此实验中使用了单一不连续的声源进行了测试。

    所有交叉关联和位置估计技术的计算都由Ar⁃duino UNO(ATmega328p微处理器)程序实现。

    4 测试

    4.1 声速数值测定

    通过在搭建的硬件原型上做了多次实验,获得了有价值的实测数据。声源是通过喇叭播放一个人声样本声音,并且以喇叭至麦克风中心垂直位置的距离作为半径,在圆弧上各个角度进行测试。

    位置估计技术第一步是先确定空气中的声音传播速度。空气中的声速在不同的地方是不同的,这取决于环境因素。因此,应该先进行一个实验来测量实际测试环境中的声速。空气中的平均声速为c=317m/s。但这个值会和实际值有较大偏差,空气中的音速在1 个标准大气压条件下的传播速度是:空气(15℃)340m/s ,空气(25℃)346m/s 。表1是测声速的实验数据,实验测试环境下的平均声速c≈337.55m/s。

    4.2 誤差校正

    第二步是获取测试系统的误差校正值,这应该是本次研究中最容易忽略的环节。2个信号到达麦克风的延迟时间受到了很多因素的影响,例如:相同元件存在的公差,单片机A/D 多路复用造成的2 个通道的延时,这些都将导致信号的相位偏差。

    因为数字媒体艺术专业的学生偏艺术,普遍存在技术不够精通的问题,他们不了解也不可能使用专业领域中的校准方式。所以,时间延迟校准只能通过比较实际和理论计算之间的差异值来计算误差。实际获得误差值的方式是:假设声源方向是两个麦克风相对水平(0°或180°)的位置,麦克风之间的距离是D,在检测程序中使用交叉相关技术计算的实际延迟是42。查阅了Arduino UNO板微处理器Atmel 芯片数据手册,ATMega328p 的内部A/D 转换器的复用延迟是每通道100μs,使用了2个通道,采样的延迟时间为200μs。推演出以下公式用来计算到达2个麦克风的声音的延迟时间的理论值:

    通过将公式(1)代入公式(2),并设置D=50厘米和C=338米/秒,那么:s= 42.604。因此,校准值Δs=42.604-42=0.604。在这个实验中,最终在数据校正时,结果都会向下取整后再对比。

    4.3 实验结果

    声源被放置在不同的位置,测试结果记录在表中,上面的表格显示了位置估计实验的结果。例如,声源被放置在与系统有关的60°处(见表2)。延迟时间的理论值是7.4。接下来,理论值减去校准值(0.604 采样)结果是6.79,最后得到理论值是6。这个理论值与实验数据获得的数据6 一致,多次实验的结果都验证了这套解决方案是正确的。

    5 结束语

    由于A/D采样频率不够高,方向估算的准确性还有待提高。通过替换高精度高采样率的A/D转换器,以及提高主板控制器的配置,可以有效提高信号采集的有效性和算法的执行效率。在现有实验的基础上,完全有可能迭代出更高精度的定位计算系统,最终目标是更高难度的三维空间的音源定位。

    其实,还有另一种优化解决方案。通过分频方式提取人声的效率和准确率都不高,但通过语音识别技术,将采样的声音进行过滤,去除噪声(如背景声,杂音)后,只提取符合要求的声音以提高计算效率,这个方法也将在下一步研究中进行测试。

    一种最新的声源定位技术也值得关注,这项新技术是利用音视一致性深度学习的方式实现声源定位,这与上述研究中利用声源到达不同麦克风的时差,声强差来定位思路完全不同。深度学习利用大规模视频数据集学习声音与声源物体之间的一致对应关系,进而达到定位的目的。当然,这项技术需要更多专业领域的知识,这将是下一步的研究计划。

    最后,本研究只是针对特定单一声源方向的一种估算方法。虽然该解决方案有很大的局限性,但在很多作品中都得到了应用,也符合设计目标中的低成本低技术的要求。

    相关热词搜索:声源互动低成本

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤