波束形成笔记整理

波束形成笔记整理传统波束形成 固定波束形成 自适应波束形成依赖目标场景 环境噪声特性 声场模型假设核心思想 当波束从 0 方向入射时 两个麦克风采集到的信号之间无延时差 语音会叠加增强 采集到的噪音会因为延时差不同或相关性低而没有叠加作用 从其他方向入射的语音也存在延时差 不会被叠加 当波束 15 30 入射由于存在无法叠加作用 所以 0 比其他入射方向增益大 信噪比得到了提升 增加其他方向信号时 通过调节采集的信号延时差为零 来叠加 30 方向的信号 波束形成 时域方法 延

传统波束形成:固定波束形成,自适应波束形成
依赖目标场景:环境噪声特性。声场模型假设
核心思想:当波束从0°方向入射时,两个麦克风采集到的信号之间无延时差, 语音会叠加增强。采集到的噪音会因为延时差不同或相关性低而没有叠加作用。从其他方向入射的语音也存在延时差,不会被叠加。
                当波束15°/30°入射由于存在无法叠加作用,所以0°比其他入射方向增益大,信噪比得到了提升。增加其他方向信号时,通过调节采集的信号延时差为零,来叠加30°方向的信号。
波束形成:时域方法(延时差调零),频域方法(相位变换后相加)
ADC 模拟转数字 离散信号进行STFT(
短时傅里叶变换 ) 为减小信号截断作用 加窗处理。
超指向波束形成 
麦克风间距为波长一半,L个麦克风使用delay-sum方法获得的最大增益为10logL,超过该增益的波束形成为超指向。
对于宽带信号,使用超指向方法获得固定主瓣宽度
劣势:对空域白噪声和阵列误差敏感,
对于利用散射噪声场(噪声能量向各个方向传播的概率相等) MVDR超分辨波束 增强鲁棒性的方法:在权重中加入单位阵后再求方向向量
对于依赖数据的超指向波束形成 增强鲁棒性的方法:对角加载的方法
远场与近场临界值     声源距离大于  2d²(两麦克风之间距离)/λmin(波长最小值) 远场模型。
噪声场 :
相干噪声(环境噪音) 
非相干噪声(器件底噪)
散射噪声(环境反射散射) 建模使用辛格函数 零阶贝塞尔函数
声辐射
不同信号辐射角度不同 波束宽度对于频率无对应改变 会导致 波束后信号频率之比 差异很大,导致失真,语音品质
解决方法:低频带和高频带分别处理
波束形成方法:
1延迟和波束形成方法 delay-sum  非相干噪声(器件底噪) FIR滤波器 
混响条件下 效果不好 低频性能差 适合窄带
主瓣宽度和旁瓣幅度为主要指标
2滤波和波束形成方法 filter-sum 非相干噪声(器件底噪)
混响较强 干扰信号多个方向(包括感兴趣方向) 低频性能差失真小
恒定宽度波束形成方法 
保持各频率能量比例和相位关系不变 减小失真
3超分辨率波束形成   散射噪声(环境反射散射)
麦克风数量少的情况下 假设了散射噪声场 增益可提高
4广义旁瓣相消波束形成 GSC 相干噪声(环境噪音)
第一路固定波束形成结果
第二路阻塞矩阵去掉有用的语音信号
泄露的的语音信号会导致宽带信号损伤 可使用系数约束自适应滤波器CCAF 带有泄露约束的旁瓣抵消器LCDF 广义奇异值分解GSVD 减小泄露
低频性能差 失真 最小化输出功率
最小方差信号无畸变响应波束形成MVDR
在线性约束条件下 使目标方向上输出信号波束输出最小的方法 
不失真特性 用于混响和阵列增强
WebRTC波束基于delay-sum T-F masking 融合的最大信号干扰比SIR
适合处理空间白噪声,散射噪声
5后置滤波器  散射噪声(环境反射散射)
用于处理非相干噪声 提升波束输出
非线性处理导致失真
Zelinski  根据通道间互功率谱密度,采用维纳滤波 抑制不相关散射噪声
mccowan
MMSE 维纳滤波 使用最小均方误差准则
STSA 移植高斯白噪声
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232530.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux如何安装PHPMyAdmin

    Linux如何安装PHPMyAdmin1,我们要以root帐号登入。2,PHP支持模块安装。在CentOS操作系统安装完毕后,其实PHP支持模块并没有安装上去,如果想使用PhpMyAdmin,首先需要安装PHP支持模块,我们需要两个PHP支持模块:一,“PHPscriptinglanguageforcreatingdynamicwebsites”;二,“AmoduleforPHPapplicationsthat

    2022年5月7日
    37
  • 数据库建表语句的使用及简单实战教程_SQL数据库建立一个表

    数据库建表语句的使用及简单实战教程_SQL数据库建立一个表目录介绍需求思路思路1:一张表来表示所有数据(如下图)思路2:两张表,学生表和班级表(如下图)代码扩展1.数据库设计三范式1.数据库表中不能出现重复记录,每个字段是原子性的不能再分(不可重复,不可再分)2.第二范式是建立在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖3.建立在第二范式基础上的,非主键字段不能传递依赖于主键字段。(不要产生传递依赖)2.经典的数据库设计框架–er图介绍本文将用一个简单的tip来简单介绍建表语句,可以作为建表语句的模板使用需求采集一个学校中学生

    2025年10月7日
    4
  • 进程和线程的主要区别(总结)

    进程和线程的主要区别(总结)根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调…

    2022年7月25日
    14
  • 内核态和用户态的区别[通俗易懂]

    内核态和用户态的区别[通俗易懂]当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序…

    2025年12月15日
    3
  • 如何用vscode进行前端开发 知乎_vscode单步调试

    如何用vscode进行前端开发 知乎_vscode单步调试如何用VsCode进行Debug本文以Mac系统,C++程序为例,进行Debug操作安装插件不同的语言需要安装的debug插件不一样,如下Debug页面VsCode的Debug页面如下配置Debug环境点击左侧的Debug图标,默认情况下,展示的是配置提示点击图中的【运行和调试】,选择【GDB/LLDB】环境,之后在下拉列表选择【默认配置】,系统自动创建launch.json文件,用于记录debug的配置信息,其中最主要的是配置调试的程序,program字段,选择要debug运行的

    2022年10月15日
    7
  • 17款漂亮的 HTML5 网站模板免费下载「建议收藏」

    17款漂亮的 HTML5 网站模板免费下载「建议收藏」在过去的几年,设计师们已开始关注和使用HTML5了,如今HTML5得到了更加广泛的应用。今天,本文与大家分享17款免费的HTML5网站模板,看看有没自己喜欢的。

    2022年8月6日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号