基于matlab使用差分波束成形技术形成线性差分麦克风阵列

news2025/1/12 20:54:45

一、前言

本示例展示了差分波束成形的基本概念,以及如何使用该技术形成线性差分麦克风阵列。

二、加法与差分麦克风阵列


麦克风阵列已部署在许多音频应用中。根据布局的不同,麦克风阵列可分为两大类:加法麦克风阵列和差分麦克风阵列。附加麦克风阵列类似于其他应用(如无线通信)中使用的阵列。对于加式麦克风阵列,目标是连贯地组合来自每个通道的信号,以便我们可以形成朝向声源的窄波束并提高信噪比。

尽管附加麦克风阵列非常有用,但它们存在一些限制。为了便于说明,让我们定义一个间距为 2 cm 的 5 元素数组,并查看它在 1-4 kHz 之间的模式。请注意,尽管音频频段的范围为 20 Hz 到 20 kHz,但 1-4 kHz 频段对于语音清晰度尤为重要。阵列中的 5 cm 间距在 4 kHz 时约为半波长。

我们可以从图中观察到的第一件事可能是模式在这个频率范围内发生了多大变化。尽管该阵列在4 kHz和1 kHz时表现出清晰的方向响应,但其模式基本上是全向的。因此,在较低频率下,阵列无法实现太多的空间滤波。这反过来又降低了阵列的方向性。下面捕获了整个频率范围内沿宽侧的方向性。

请注意,麦克风阵列(如语音和音乐)的目标信号始终是宽带。因此,整个频率范围内的模式差异也会导致波束成形信号失真。

已经探索了许多阵列几何形状来绕过这些限制。嵌套数组就是这样一个例子。在嵌套数组中,小数组嵌入在大型数组中。然后,您可以激活不同频段上的不同元素,以在整个频段上产生相似的模式。考虑以下 4 元素数组

如果将第一和第二元素用于 4 kHz 左右的频段;第一和第三元素用于 2 到 3 kHz 之间的频段;以及 1 kHz 左右频段的第一和第四个元素,生成的波束模式如下所示

在图中,1、2 和 4 kHz 的模式基本相同,但 3kHz 模式仍然不同。此外,此设计中的元素数量增加了一倍。实际上,要获得一个可以在大频段上具有频率不变模式的嵌套阵列,您将需要大量的麦克风元件,因此这种方法不是很实用。

差分麦克风阵列(DMA)技术是另一种可能的解决方案。由于DMA可以形成频率不变模式,因此它们成为音频应用的宝贵工具。

三、一阶线性 DMA


与加性麦克风阵列不同,DMA对阵列周围声场的空间导数更敏感,因此称为“差分”。由于无法计算麦克风元件之间的真导数,因此使用每个麦克风元件的测量值之差来近似导数。由于一对紧密定位的元件可以更准确地测量导数,因此DMA中的元件间距通常远小于波长。以下代码构造一个间距为 2/1 波长的 10 元素线性数组。

紧密间距的一个好处是整个阵列孔径相当小。因此,这种线性DMA是助听器的热门选择。

由于差分波束成形测量场导数,因此其主瓣指向末端射击方向。端火方向沿线性阵列的轴线。这是可以理解的,因为对于加法数组,主瓣位于宽边,即垂直于阵列轴的方向,而该方向的导数为 0。因此,DMA 的设计通常与空放置有关。对于双元素线性 DMA,当主瓣处于末端时,您只能控制一个空位置。这称为一阶 DMA。但是,即使只有一个空位置,更改位置也会导致几个有趣的模式。

首先,将 null 放在数组的宽边。这意味着我们需要计算一个权重向量,当与端火和宽侧方向的转向向量相结合时,分别生成单位响应和零响应。这样的权重向量可以使用最小二乘法导出。

由此产生的图案具有偶极子的形状。请注意,所有频率的模式都是重叠的,因此它们在整个频段上是不变的。方向性现在在频率上是一个常数,如下图所示。

与麦克风阵列相关的另一个重要性能特征是其信噪比(SNR)增益超过白噪声。

从图中可以看出,该DMA的SNR增益在整个频率范围内低于0 dB,这意味着噪声被显着放大,特别是在低频区域。与加法阵列相比,这可能是与DMA相关的最大问题。因此,工程师可能需要在更聚焦的波束(有助于处理拥挤环境中的混响)和更高的接收信号SNR之间进行权衡。

现在得到的模式是心形。您也可以将零点放在 -45 度以获得超心形形状。

请注意,超心形比偶极子形状提供更好的SNR增益。

四、高阶线性 DMA


您可能已经注意到,对于一阶线性 DMA,您可以分配 1 个零方向。通常,N 元素线性阵列可以形成 (N-1) 阶 DMA,具有分配 N-1 个零点的能力。例如,对于四麦克风三阶 DMA,您可以为超心形波束模式输入 3 个零点。

较高ODER DMA的SNR增益仍具有与一阶DMA相同的趋势。

也可以分配具有多重性的空值。下面是一个示例,其中将 -90 度的 null 设置为 2 的多重性。

虽然默认DMA的端火主瓣适用于助听器应用,但它不适用于其他应用,如条形音箱。在这些应用中,您可能会期望主光束或多或少地转向阵列的宽侧。然而,尽管线性DMA可以操纵,但与加法阵列相比,它具有几个独特的特征:

  1. 转向牺牲了阵列的自由度。对于 L 阶线性 DMA,最多可以指定 L-1 个空点,剩余的空点由算法根据指定的空点位置选取。因此,一阶线性 DMA 不可操纵。

  1. 与加法阵列不同,线性DMA的波束形状在转向时不会保留。

以下代码片段演示如何引导线性 DMA。在这种情况下,主光束转向宽侧。此外,将零点放置在偏离宽边 70 度处。剩余的空值由转向权重算法派生。

请注意,主瓣现在朝向宽边方向。由于线性阵列的对称性,得到的模式也具有等效的背瓣。在某些设计中,可以通过采用具有小背瓣的麦克风元件来缓解这种情况。

五、总结


本例介绍了差分麦克风阵列的基本概念。该示例展示了如何计算差分波束成形权重以形成许多经典的DMA波束形状,并比较了线性DMA与线性加性麦克风阵列的性能。阵列波束模式清楚地表明,DMA可以提供频率不变的模式。该示例最后讨论了如何控制高阶线性 DMA。

六、参考文献

[1] Jingdong Chen, Jacob Benesty, and Chao Pan, On the design and Implementation of Linear Differential Microphone Arrays, The Journal of the Acoustical Society of America, Vol. 136, No. 6, 2014

[2] Jacob Benesty, Jingdong Chen, and Chao Pan, Fundamentals of Differential Beamforming, Springer, 2016.

[3] Jilu Jin et al., Steering Study of Linear Differential Microphone Arrays, IEEE/ACM Transactions on Audio Speech, and Language Processing, Vol. 29, 2021

七、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

打开下面的“XXX.mlx”文件,点击运行,就可以看到上述效果。

程序下载:基于matlab使用差分波束成形技术形成线性差分麦克风阵列资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器视觉陶瓷检测设备稳定性怎么样?不稳定因素有哪些?

机器视觉陶瓷检测设备是一种利用现代计算机视觉技术对陶瓷产品进行快速、高效的缺陷检测的设备。相比传统的人工检测方法,机器视觉陶瓷检测设备具有检测速度快、精度高、可靠性强等优点,可以大大提高陶瓷生产线的生产效率和产品质量。但是,由…

学成在线(视频处理-需求分析:xxl-job)

需求分析 作业分片方案 任务添加成功后,对于要处理的任务,会添加到待处理任务表中,现在启动多个执行器实例去查询这些待处理任务,此时如何保证多个执行器不会重复执行任务?在上一小节的测试中,每个执行器…

VMware ESXi 8.0U1a Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0 Update 1a Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U1 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u1-sysin/,查看最新版。原…

手动上传海豚调度器资源中心的文件,解决dolphinscheduler资源中心上传大一点jar包的bug问题

手动上传海豚调度器资源中心的文件 1. 登录hdfs的任意服务器节点上传文件 注意:切换hdfs用户 su hdfs2. 上传文件资源到ds的资源中心(hdfs上的资源目录) 这里示例目录是:/dolphinscheduler/root/resources/gwmDs/demo-shell 示…

客服端向服务端发布、订阅、取消

这里写目录标题 PUBLISH – 发布消息SUBSCRIBE – 订阅主题SUBACK – 订阅确认UNSUBSCRIBE – 取消订阅 PUBLISH – 发布消息 MQTT客户端一旦连接到服务端,便可以发布消息。 每条发布的MQTT消息必须包含一个主题。MQTT服务器可以通过主题确定将消息转发给哪些客户端…

ES教程:从入门到入土

文章目录 一、环境准备1. ES安装 二、基本概念2.1 节点(Node)Master-eligible nodes与 Master nodeData NodeIngest NodeCoordinating NodeMachine Learning Node 2.2 集群(cluster)2.3 分片(Shard)2.4 副本…

linux0.12-12-fs

[606页] 第12章 文件系统 606–12-1-总体功能 607–12-1-1-MINIX文件系统 611–12-1-2-文件类型、属性和目录项 615–12-1-3-高速缓冲区 616–12-1-4-文件系统底层函数 616–12-1-5-文件中数据的访问操作 618–12-1-6-文件和目录管理系统调用 619–12-1-7-360KB软盘中文件系统…

openGauss DBMind上的多指标关联性分析介绍

背景 随着互联网的发展,今天的数据库系统往往非常庞大且复杂,针对数据库系统的运维工作需要监控大量数据指标来了解数据库的运行状况。数据库指标往往以时间序列的方式出现,当业务层面关键指标出现异常时,运维人员需要迅速定位异…

对大量日志导致Java后端某些类加载错误问题记录

对大量日志产生导致Java后端某些类加载错误问题记录 报错问题: java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either. org.springframework.util.Ass…

C语言关键字sizeof 与strlen

sizeof() sizeof操作数所占空间的字节数大小&#xff0c;是一种c中的基本运算符。 可以以类型、指针、数组和函数等作为参数。 返回值类型为unsigned int 运算值在编译的时候就出结果&#xff0c;所以可以用来定义数组维数。 1. #include<stdio.h> 2. // sizeof 关键字…

数据结构的基本概念

数据结构概念 1.数据&#xff1a;所有能输入计算机且能被计算机处理的符号总称 2.数据元素&#xff1a;是数据的基本单位&#xff0c;表示数据集合中的一个个体。 3 .数据项&#xff1a;数据元素中有独立含义的最小单位。 数据结构&#xff1a;相互之间存在一定关系的数据元素的…

YYDS练手 130道python练习题 完整版PDF

近年来&#xff0c;Python在编程语言界里赚足了风头&#xff0c;无论是受欢迎程度&#xff0c;还是薪资待遇&#xff0c;都非常可观&#xff0c;相应的&#xff0c;Python岗位要求也越来越高&#xff0c;无论你是零基础还是老前辈&#xff0c;在Python面试中都不能轻视。 不打…

MPLS-VPN实验

1、拓扑 2、需求&#xff1a; pc1通过vpn访问pc2 3、配置思路 第一步&#xff1a;配置接口地址 第二步&#xff1a;配置ospf 第三步&#xff1a;配置bgp 第四步&#xff1a;配置mpls 第五步&#xff1a;配置VRF -创建VRF -开启 ipv4-family -接口加入VRF -给接口重新配置…

挂在网盘到本地磁盘(以中移动云盘为例)

发现百度网盘速度越来越慢&#xff0c;因此我想怎么讲百度网盘中300多个G的文件同步到移动云中&#xff0c;因此就有了这一步的探索。 利用Alist将中国移动网盘挂载到本地磁盘 解压Alist工具包&#xff0c;运行里面的alist-xxxx.exe文件&#xff0c;启动过程如下&#xff1a; …

图扑虚拟现实 VR 智慧办公室可视化

前言 “虚拟现实”是来自英文“Virtual Reality”&#xff0c;简称 VR 技术&#xff0c;其是通过利用计算机仿真系统模拟外界环境&#xff0c;主要模拟对象有环境、技能、传感设备和感知等&#xff0c;为用户提供多信息、三维动态、交互式的仿真体验。 效果展示 图扑软件基于…

JS - DangerJs运用

JS - DangerJs运用 前言一. 前期准备1.1 创建私有 Token1.2 Git 设置对应的 Token 以及 Host 环境变量1.3 项目安装 dangerJs 二. 测试 前言 在开源社区中&#xff0c;DangerJs可以拿来自动判断每个人提交的代码合并请求&#xff08;github中叫Pull Request&#xff0c;简称PR…

(学习日记)2023.04.24

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

MKS SERVO4257D 闭环步进电机_系列1 产品简述

第1部分 产品概述 1.1 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口&#xff0c;RS485接口和CAN接口&#xff0c;内置高效FOC矢量算法&#xff0c;采用高精度编码器&#xff0c;通过位置反馈&#xff0c…

C语言—文件操作

文件操作 什么是文件文件的打开和关闭文件指针文件的打开和关闭fopenfclose 文件的顺序读写fputcfgetcfputsfgetsfprintffscanffwritefread经典面试题sscanfsprintf 文件的随机读写fseekftellrewind 文本文件和二进制文件文件读取结束的判定文件缓冲区 前言 在写完通讯录的程序…

Android 14新功能全面概述

Android 14有什么新功能&#xff1a;全面概述 Android 14带来了大量的新功能和更新&#xff0c;从前台服务和闹钟的改进到语法屈折和字体缩放&#xff0c;Android 14为每位开发者都提供了一些东西。我在下面列出了一些最重要的更改。让我们深入探讨一下这个最新版本的新功能。 …