基于 GSC 麦克风阵列波束形成 (简述)

2024-02-18 02:10

本文主要是介绍基于 GSC 麦克风阵列波束形成 (简述),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:本文参考了网上的一些资料和论述,在此表示感谢!

麦克风阵列波束形成器已被广泛研究用于无线通信,语音识别,语音增强,助听器等等。与其他领域的阵列处理相比,麦克风阵列处理存在由其自己特点所决定的难点。这是由于语音信号在统计学上的非平稳特性,而且通常带有复杂的回声背景。在各种波束形成方法中,自适应波束形成比传统的固定波束形成更有优势,自适应波束形成具有很好的抑制干扰和噪声的性能。Griffiths-Jim 波束形成器(GJBF)就是一个广泛被研究和应用的自适应波束形成器,然而 GJBF 对导向矢量非常敏感,在存在导向矢量误差的条件下发生目标信号对消。在实际情况中,导向矢量误差是不可避免的,造成导向矢量误差的主要原因有:

1.麦克风阵列本身不可能是理想状况下的,2.麦克风间的增益不同,3.信源方向(DOA)的影响。比如对于车载电话等无线通信来说,由于DOA的非稳定性引起的导向矢量误差是产生目标信号对消的主要原因。

既然导向矢量误差是不可避免的,多种稳健的波束形成器被提出,他们的焦点就是增加对导向矢量误差的容忍度。然而这些波束形成器往往是以牺牲信号噪声干扰比为代价的,而且需要的麦克风阵列数也随之增加。本文所引用的波束形成器是 Hoshuyama提出的一种基于广义旁瓣对消器的稳健的波束形成器,其阻塞滤波器和多输入对消器分别应用了系数约束自适应滤波器(CCAF)和检漏自适应滤波器(LAF)。此波束形成器的主要特点是:

1.可以为大的目标信号方向误差提供足够的容忍度,最大目标信号方向误差方位可由用户自行定义;2.适用于小型麦克风阵列;3.具有良好的抗干扰噪声性能。

一个用于接收M个麦克风信号的旁瓣对消器如图所示。事先设定一个等间隔宽带线性麦克风阵列,各种信号,包括目标信号和噪声都以平面波的方式传播,且假设目标信号的精确传播方向已知。

一个宽带旁瓣对消器包括一个波束形成器(FBF),一个阻塞滤波器(BM)和一个多输入对消器(MC)。固定波束形成器增强了目标信号,d(k)是固定波束形成器在采样时刻k的输出, Xm(k) 是第m个阵列的输出信号。多输入对消器可以自适应地固定波束形成器的输出延迟信号中减去同阻塞滤波器输出信号Ym( k )相关的分量,其中Q是迟延量。阻塞滤波器是一种空域阻带滤波器,它可以抑制目标信号而使干扰信号通过。如果多输入对消器的输入信号Ym( k )只包含干扰信号,则多输入对消器就可以抑制干扰信号而抽取目标信号。然而,如果Ym( k )中包含有目标信号分量,则在多输入对消器中也会消除目标信号。

GSC结构的波束形成算法结构图

在一些简单的宽带旁瓣对消器中,阻塞滤波对导向矢量误差非常敏感,非常容易泄漏目标。而在实际工作中,不可能确切地知道目标信号的到达方向,所以导向矢量误差是不可避免的。因此,信号的消除是一个很值得重视的问题。

有许多信号处理的方法用来避免目标信号的消除。一些稳健的波束形成器给多输入对消器的自适应算法引入约束。带有泄漏,噪声,范数约束的自适应算法都可以限制不期望的信号消除。当存在小的指向矢量误差时,这些稳健的波束形成器可以是目标信号通过。然而,当存在较大的目标信号误差时,对干扰信号的消除也会受到限制。

一些稳健的波束形成器在阻塞滤波中使用改进的空域滤波器。这种滤波器可以消除存在的指向矢量误差。然而,这种滤波器只能适用于存在较小的目标方向误差的时候。当存在较大目标方向误差时,空域滤波器会损失抑制干扰的自由度。这种自由度的损失会大大降低抑制干扰的性能。

目标追踪或校准是稳健波束形成的另一种方式。这能够允许较大的指向矢量误差存在而不会损失自由度,同时也不会降低干扰抑制的性能。然而,如果目标信号是脉冲信号的时候,就会发生错误追踪。而且,进行精确地目标追踪需要使用矩阵论,这就要求很大的运算量。

这篇关于基于 GSC 麦克风阵列波束形成 (简述)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719715

相关文章

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启

【Java String】简述String类比较和常量池内存分析

一、引出正题 String 类型对象进行比较时,我们一般使用 equals() 的方式进行值比较,但是有时候可能会出现 == 对象比较的方式。 在使用 == 比较的时候,往往是和String在JVM内存存储结构有关,这也引起了部分同学使用时的错误,那么接下来我们来详细分析一下此问题。 二、举例说明 1、new String("xx")都是在堆上创建字符串对象。当调用 intern() 方

LeetCode题解:2341. 数组能形成多少数对,哈希表,详细注释

原题链接 LeetCode题解:2341. 数组能形成多少数对 解题思路: 遍历数组,并使用Map缓存数字出现的次数关系 如果出现偶数次,map.set(num, true)如果出现奇数次,map.set(num, false) 剩余数字的数量为nums.length - 2 * pairCount /*** @param {number[]} nums* @return {number[

手动依赖注入;AutowireCapableBeanFactory简述

概述 spring boot虽然帮我们把bean的依赖注入基本都默认配置好了;但有些时候,业务场景中一些对象实例不在spring生命周期中,但是对象中的属性又需要被spring依赖注入(属性在spring容器管理中); 比如一些servle的filter类,其中的一些属性又需要依赖一些spring的bean 我遇到的情况是这样的,实现FactoryBean接口获取到的自定义bean因为没有参

MQTT.js 简述

MQTT.js 简述 简介 MQTT 是一种轻量级的消息传输协议,常用于物联网(IoT)设备间的通信。mqtt.js 是一个 JavaScript 库,支持在 Node.js 和浏览器中使用,用于通过 MQTT 协议与 MQTT Broker 进行通信。 安装 在 Node.js 中,可以通过以下命令安装: npm install mqtt --save 在浏览器中使用: <s

麦克风MIC 工作原理以及灵敏度调整

https://blog.csdn.net/Charles0512/article/details/50472467?locationNum=6&fps=1 1、先看MIC电路连接 这是个差分输入的例子,MICP2和MICN2是一对差分信号,经过C156的滤波,输入到MIC两端 MIC两引脚分别是到地和供电,上图的R177参数就关系到MIC输入的灵敏度 2、电阻R177影响灵敏度分析 M

SOC 阵列:创新算力的未来之路

一、SOC阵列的概念与发展历程 SOC 阵列是由多个特定功能集成电路组合在一个芯片上的系统或产品,包含硬件系统及嵌入式软件。从传统集成电路到 SOC 经历多个阶段,初期电路由分立元件组成,后集成到单芯片集成电路中,其发展遵循摩尔定律,从 SSI 到 MSI、LSI 再到代表 VLSI 的 SOC 阵列。SOC 阵列在电子系统中地位凸显,实现小型化、提高效率、降低功耗和整体性能,如在便携设备中使设

简述Struts2中Redirect和Dispatcher的区别

Redirect 把一个 HTTP 返回码(譬如 SUCCESS)以及返回的页面位置一起重新发给 Web  服务器,然后由 Web 服务器产生一个新的 HTTP 请求,就会产生一个新的线程, 保存在原来 Action 执行的线程中的数据,就无法访问,所以无法显示出“hello  world!” ; 而 Dispatcher 则不同,它只是发出内部的资源请求,只需要一个 HTTP 请求, 就

有temp表包含A,B两列,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数

有temp表,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数 建表语句如下 CREATE TABLE temp(A STRING ,B STRING );INSERT INTO TABLE temp VALUES('2010','1'),('2011','1'),('2012','1'),('2013','0'),('2014',