首页 > 其他分享 >时延求和(Delay-and-Sum, DAS)波束形成器

时延求和(Delay-and-Sum, DAS)波束形成器

时间:2024-10-19 17:20:31浏览次数:3  
标签:cos right Sum Delay DAS mathcal left 阵元 mathrm

目录

1. 问题描述

假设存在一个声源以及由N个阵元组成的麦克风阵列,且声源到各个阵元的传播信道只会引入时延与衰减,即
y n ( k ) = α n s [ k − t − F n ( τ ) ] + v n ( k ) = x n ( k ) + v n ( k ) , n = 1 , 2 , … , N , ( 1.1 ) \begin{aligned} y_{n}(k)& =\alpha_ns\left[k-t-\mathcal{F}_n(\tau)\right]+v_n(k) \\ &=x_n(k)+v_n(k), n=1,2,\ldots,N, \end{aligned}(1.1) yn​(k)​=αn​s[k−t−Fn​(τ)]+vn​(k)=xn​(k)+vn​(k),n=1,2,…,N,​(1.1)
其中 y n ( k ) y_{n}(k) yn​(k)是各个阵元接收到的信号, α n \alpha_n αn​是声源到各个阵元的衰减系数,在0到1之间, s ( k ) s(k) s(k)是未知的声源信号, t t t是从声源到第一个阵元的传播时延, F n ( τ ) \mathcal{F}_n(\tau) Fn​(τ)是第1个阵元与第 n n n个阵元之间的相对时延, v n ( k ) v_n(k) vn​(k)是第 n n n个阵元接收到的噪声信号。
我们把第一个阵元接收到的信号作为参考信号,那么我们的目标就是通过处理N个阵元的观测含噪信号 y n ( k ) y_{n}(k) yn​(k),来复原在第一个阵元上接收到的纯净语音信号 x 1 ( k ) = α 1 s [ k − t ] x_{1}(k)=\alpha_1s\left[k-t\right] x1​(k)=α1​s[k−t]。

2. DAS波束形成

时延求和(Delay-and-Sum, DAS)是最简单的波束形成器,广泛用于语音增强降噪。它包含两个步骤,首先对每个阵元接收到的信号进行时延,使其与参考信号对齐,其次将对齐后的信号进行求和。具体时延的大小就是 F n ( τ ) \mathcal{F}_n(\tau) Fn​(τ),即第1个阵元与第 n n n个阵元之间的相对时延,我们先假设它是已知的。那么通过在(1.1)中的信号模型中进行 F n ( τ ) \mathcal{F}_n(\tau) Fn​(τ)的时延,可得
y a , n ( k ) = y n [ k + F n ( τ ) ] = α n s ( k − t ) + v n ( k + F n ( τ ) ) = x a , n ( k ) + v n ( k + F n ( τ ) ) , n = 1 , 2 , … , N , ( 2.1 ) \begin{aligned} y_{\mathrm{a},n}(k)& =y_{n}\left[k+\mathcal{F}_{n}(\tau)\right] \\ &=\alpha_ns(k-t)+v_n(k+\mathcal{F}_{n}(\tau)) \\ &=x_{\mathrm{a},n}(k)+v_n(k+\mathcal{F}_{n}(\tau)) , n=1,2,\ldots,N, \end{aligned}(2.1) ya,n​(k)​=yn​[k+Fn​(τ)]=αn​s(k−t)+vn​(k+Fn​(τ))=xa,n​(k)+vn​(k+Fn​(τ)),n=1,2,…,N,​(2.1)
下标’a’是"aligned"的意思,即对齐。第二步就是将时延对齐后的信号进行求和,就能得到DAS的输出:
z D S ( k ) = 1 N ∑ n = 1 N y a , n ( k ) = α s s ( k − t ) + 1 N v s ( k ) , ( 2.2 ) \begin{aligned} z_{\mathrm{DS}}(k)& =\frac{1}{N}\sum_{n=1}^{N}y_{\mathrm{a},n}(k) \\ &=\alpha_\text{s}s(k-t)+\frac{1}{N}v_\text{s}(k), \end{aligned}(2.2) zDS​(k)​=N1​n=1∑N​ya,n​(k)=αs​s(k−t)+N1​vs​(k),​(2.2)
其中
α s = 1 N ∑ n = 1 N α n , v s ( k ) = ∑ n = 1 N v n [ k + F n ( τ ) ] . \begin{aligned} \alpha_{\mathrm{s}}& =\frac1N\sum_{n=1}^N\alpha_n, \\ v_{\mathrm{s}}(k)&=\sum_{n=1}^Nv_n\left[k+\mathcal{F}_n(\tau)\right]. \end{aligned} αs​vs​(k)​=N1​n=1∑N​αn​,=n=1∑N​vn​[k+Fn​(τ)].​
现在我们考虑一下输入信噪比与通过DAS之后的输出信噪比的关系。由(1.1)易知参考信号 y 1 ( k ) = x 1 ( k ) + v 1 ( k ) = α 1 s ( k − t ) + v 1 ( k ) y_{1}(k)=x_{1}(k)+v_{1}(k)=\alpha_1s(k-t)+v_{1}(k) y1​(k)=x1​(k)+v1​(k)=α1​s(k−t)+v1​(k)的输入信噪比为
S N R = σ x 1 2 σ v 1 2 = α 1 2 σ s 2 σ v 1 2 , ( 2.3 ) \mathrm{SNR}=\frac{\sigma_{x_1}^2}{\sigma_{v_1}^2}=\alpha_1^2\frac{\sigma_s^2}{\sigma_{v_1}^2},(2.3) SNR=σv1​2​σx1​2​​=α12​σv1​2​σs2​​,(2.3)
其中
σ x 1 2 = E [ x 1 2 ( k ) ] , σ v 1 2 = E [ v 1 2 ( k ) ] , σ s 2 = E [ s 2 ( k ) ] \sigma_{x_1}^2=E\left[x_1^2(k)\right], \sigma_{v_1}^2=E\left[v_1^2(k)\right],\sigma_s^2=E\left[s^2(k)\right] σx1​2​=E[x12​(k)],σv1​2​=E[v12​(k)],σs2​=E[s2(k)]
由(2.2)可知输出信噪比为
oSNR = N 2 α s 2 E [ s 2 ( k − t ) ] E [ v s 2 ( k ) ] = N 2 α s 2 σ s 2 σ v s 2 = ( ∑ n = 1 N α n ) 2 σ s 2 σ v s 2 , ( 2.4 ) \begin{aligned} \text{oSNR}& =N^2\alpha_\mathrm{s}^2\frac{E\left[s^2(k-t)\right]}{E\left[v_\mathrm{s}^2(k)\right]} \\ &=N^2\alpha_\mathrm{s}^2\frac{\sigma_s^2}{\sigma_{v_\mathrm{s}}^2} \\ &=\left(\sum_{n=1}^N\alpha_n\right)^2\frac{\sigma_s^2}{\sigma_{v_\mathrm{s}}^2}, \end{aligned}(2.4) oSNR​=N2αs2​E[vs2​(k)]E[s2(k−t)]​=N2αs2​σvs​2​σs2​​=(n=1∑N​αn​)2σvs​2​σs2​​,​(2.4)
其中
σ v s 2 = E { [ ∑ n = 1 N v n [ k + F n ( τ ) ] ] 2 } = ∑ n = 1 N σ v n 2 + 2 ∑ i = 1 N − 1 ∑ j = i + 1 N ϱ v i v j , \begin{gathered} \sigma_{v_{\mathrm{s}}}^2 =E\left\{\left[\sum_{n=1}^Nv_n\left[k+\mathcal{F}_n(\tau)\right]\right]^2\right\} \\ =\sum_{n=1}^N\sigma_{v_n}^2+2\sum_{i=1}^{N-1}\sum_{j=i+1}^N\varrho_{v_iv_j}, \end{gathered} σvs​2​=E⎩ ⎧​[n=1∑N​vn​[k+Fn​(τ)]]2⎭ ⎫​=n=1∑N​σvn​2​+2i=1∑N−1​j=i+1∑N​ϱvi​vj​​,​
其中 ϱ v i v j \varrho_{v_iv_j} ϱvi​vj​​是 v i ( k ) v_\mathrm{i}(k) vi​(k)与 v j ( k ) v_\mathrm{j}(k) vj​(k)的互相关。
接下来分析不同场景下DAS波束输出信噪比相比于输入信噪比能改善多少。
第一种情况:各阵元接收到的噪声互不相关,即互相关 ϱ v i v j = 0 \varrho_{v_iv_j}=0 ϱvi​vj​​=0,且功率相等,衰减系数都为1,即 α n = 1 \alpha_n=1 αn​=1。此时可得
o S N R = N ⋅ S N R . ( 2.5 ) \mathrm{oSNR}=N\cdot\mathrm{SNR}.(2.5) oSNR=N⋅SNR.(2.5)
可以看到,在这种场景下,一个简单的DAS能够让输出信噪比达到N倍于输入信噪比的效果。
第二种情况:(更一般的情况)只假设噪声信号功率相等以及衰减系数为1。这种情况下可得
o S N R = N 1 + ρ s ⋅ S N R , ( 2.6 ) \mathrm{oSNR}=\frac{N}{1+\rho_\mathrm{s}}\cdot\mathrm{SNR},(2.6) oSNR=1+ρs​N​⋅SNR,(2.6)
其中
ρ s = 2 N ∑ i = 1 N − 1 ∑ j = i + 1 N ρ v i v j , ρ v i v j = ϱ v i v j σ v i σ v j . \begin{aligned}\rho_{\mathrm{s}}&=\frac{2}{N}\sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\rho_{v_{i}v_{j}},\\\rho_{v_{i}v_{j}}&=\frac{\varrho_{v_{i}v_{j}}}{\sigma_{v_{i}}\sigma_{v_{j}}}.\end{aligned} ρs​ρvi​vj​​​=N2​i=1∑N−1​j=i+1∑N​ρvi​vj​​,=σvi​​σvj​​ϱvi​vj​​​.​
ρ v i v j \rho_{v_{i}v_{j}} ρvi​vj​​就是 v i ( k ) v_\mathrm{i}(k) vi​(k)与 v j ( k ) v_\mathrm{j}(k) vj​(k)的互相关系数。当各阵元接收到的噪声互不相关(空间白噪声),即 ρ v i v j = 0 \rho_{v_{i}v_{j}}=0 ρvi​vj​​=0, o S N R = N ⋅ S N R \mathrm{oSNR}=N\cdot\mathrm{SNR} oSNR=N⋅SNR,即第一种情况。当各阵元接收到的噪声完全相关,即 ρ v i v j = 1 \rho_{v_{i}v_{j}}=1 ρvi​vj​​=1,此时 o S N R = S N R \mathrm{oSNR}=\mathrm{SNR} oSNR=SNR,即此时DAS波束输出并不能提高SNR,但实际中各阵元接收到的噪声往往不会完全相关,因此DAS总是可以提高SNR。

3. DAS波束响应与波束图

从上面分析我们可以知道DAS其实就是对N个阵元接收到的信号进行时移对齐再加权求和。时域的时移等价于频域的相移,那么如果我们把DAS当作一个N通道滤波器,那么该滤波器各个通道的系数(波束加权向量)就是 1 N e j 2 π f F n ( τ ) \frac{1}{N}e^{j2\pi f{\mathcal{F}}_{n}(\tau)} N1​ej2πfFn​(τ),我们用 h = [ h 1 h 2 ⋯ h N ] T \mathbf{h}=\left[ h_{1} h_{2} \cdots h_{N} \right]^{T} h=[h1​h2​⋯hN​]T来表示。其中 F n ( τ ) \mathcal{F}_n(\tau) Fn​(τ)(TDOA)与声源位置(信号到达方向)和阵列形状有关。在一个给定的阵列的情况下,即阵列形状固定,则 F n ( τ ) \mathcal{F}_n(\tau) Fn​(τ)只与声源位置(信号到达方向)有关。现在引入一个重要的概念:波束响应。
一个阵列的波束响应可以由下式计算
S ( ψ ) = ∑ n = 1 N h n e − j 2 π f F n [ τ ( ψ ) ] = h T ς ( ψ ) , ( 3.1 ) \mathcal{S}(\psi)=\sum_{n=1}^Nh_ne^{-j2\pi f\mathcal{F}_n[\tau(\psi)]}=\mathbf{h}^T\boldsymbol{\varsigma}(\psi),(3.1) S(ψ)=n=1∑N​hn​e−j2πfFn​[τ(ψ)]=hTς(ψ),(3.1)
其中
ς ( ψ ) = [ e − j 2 π f F 1 [ τ ( ψ ) ] e − j 2 π f F 2 [ τ ( ψ ) ] ⋯ e − j 2 π f F N [ τ ( ψ ) ] ] T . \left.\boldsymbol{\varsigma}(\psi)=\left[\begin{array}{cccc}e^{-j2\pi f\mathcal{F}_1[\tau(\psi)]}&e^{-j2\pi f\mathcal{F}_2[\tau(\psi)]}&\cdots&e^{-j2\pi f\mathcal{F}_N[\tau(\psi)]}\end{array}\right.\right]^T. ς(ψ)=[e−j2πfF1​[τ(ψ)]​e−j2πfF2​[τ(ψ)]​⋯​e−j2πfFN​[τ(ψ)]​]T.
且 ψ \psi ψ是信号实际到达方向。

现考虑一个均匀线列阵,如下图所示。
在这里插入图片描述
假设声源位于远端,入射角为 θ \theta θ,那么第 n n n个阵元与参考阵元之间的TDOA可以写成
F n ( τ ) = ( n − 1 ) τ = ( n − 1 ) d cos ⁡ ( θ ) / c , ( 3.2 ) \mathcal{F}_n(\tau)=(n-1)\tau=(n-1)d\cos(\theta)/c,(3.2) Fn​(τ)=(n−1)τ=(n−1)dcos(θ)/c,(3.2)
其中 c c c是声速, d d d是阵元间距。
我们据此来设计一个DAS波束形成器,即让该DAS指向 θ \theta θ的方向。那么该阵列的波束响应为
S D S ( ψ , θ ) = 1 N ∑ n = 1 N [ e j 2 π ( n − 1 ) f d cos ⁡ ( θ ) / c ] e − j 2 π ( n − 1 ) f d cos ⁡ ( ψ ) / c = 1 N ∑ n = 1 N e − j 2 π ( n − 1 ) f d [ cos ⁡ ( ψ ) − cos ⁡ ( θ ) ] / c , ( 3.3 ) \begin{gathered} \mathcal{S}_{\mathrm{DS}}(\psi,\theta) =\frac{1}{N}\sum_{n=1}^{N}\left[e^{j2\pi(n-1)fd\cos(\theta)/c}\right]e^{-j2\pi(n-1)fd\cos(\psi)/c} \\ =\frac1N\sum_{n=1}^Ne^{-j2\pi(n-1)fd[\cos(\psi)-\cos(\theta)]/c}, \end{gathered}(3.3) SDS​(ψ,θ)=N1​n=1∑N​[ej2π(n−1)fdcos(θ)/c]e−j2π(n−1)fdcos(ψ)/c=N1​n=1∑N​e−j2π(n−1)fd[cos(ψ)−cos(θ)]/c,​(3.3)
其中 ψ \psi ψ是信号实际到达方向。
波束图就是波束响应的幅值
A D S ( ψ , θ ) = ∣ S D S ( ψ , θ ) ∣ = ∣ sin ⁡ [ N π f d ( cos ⁡ ψ − cos ⁡ θ ) / c ] N sin ⁡ [ π f d ( cos ⁡ ψ − cos ⁡ θ ) / c ] ∣ . ( 3.4 ) \begin{aligned} \mathcal{A}_{\mathrm{DS}}(\psi,\theta)& =|\mathcal{S}_{\mathrm{DS}}(\psi,\theta)| \\ &=\left|\frac{\sin\left[N\pi fd(\cos\psi-\cos\theta)/c\right]}{N\sin\left[\pi fd(\cos\psi-\cos\theta)/c\right]}\right|. \end{aligned}(3.4) ADS​(ψ,θ)​=∣SDS​(ψ,θ)∣= ​Nsin[πfd(cosψ−cosθ)/c]sin[Nπfd(cosψ−cosθ)/c]​ ​.​(3.4)
实际中还会将它转换成dB,变为 20 l g A D S ( ψ , θ ) 20lg\mathcal{A}_{\mathrm{DS}}(\psi,\theta) 20lgADS​(ψ,θ)
以下是一个10阵元,阵元间距为8cm,频率为2000Hz,DAS指向方向为90°的均匀线列阵的波束图
在这里插入图片描述
从波束图可以看到,当信号到达方向为90°,即我们设计的DAS指向方向时,波束响应为0dB,也就是信号能够无损通过,而当信号到达方向为其它角度时,通过DAS时都会受到不同程度的抑制。这也就是为什么说波束形成器具有指向性。该波束图的主瓣宽度也可以令 A D S ( ψ , θ ) \mathcal{A}_{\mathrm{DS}}(\psi,\theta) ADS​(ψ,θ)等于0计算得到为 2 sin ⁡ − 1 [ c / ( N d f ) ] 2\sin^{-1}\left[c/(Ndf)\right] 2sin−1[c/(Ndf)]。显然,主瓣宽度越小越好,且它会随着 N , d , f N,d,f N,d,f的增大而减小。孔径定义为阵列总长度除以波长,即 ( N − 1 ) d f / c (N-1)df/c (N−1)df/c,所以孔径越大,主瓣越窄,方位分辨率越高。既然增加阵元间距 d d d可以使主瓣变窄,那是不是意味着可以无限制的增加 d d d呢?这就引入了空域采样定理:为了避免空域混叠现象(出现栅瓣),阵元间距要小于等于半波长, d ≤ λ 2 = c 2 f d\leq\frac{\lambda}{2}=\frac{c}{2f} d≤2λ​=2fc​。
至于栅瓣是什么,如下图所示
在这里插入图片描述
我们发现除了在我们设计的DAS指向角度90°外,还出现了两个角度的波束响应到达了 0 d B 0dB 0dB,这就是栅瓣,栅瓣会导致我们无法分辨信号的到达方向,因此我们的阵元间距一定要小于等于半波长。

标签:cos,right,Sum,Delay,DAS,mathcal,left,阵元,mathrm
From: https://blog.csdn.net/qq_45936824/article/details/143023408

相关文章

  • Python酷库之旅-第三方库Pandas(158)
    目录一、用法精讲721、pandas.Timedelta.round方法721-1、语法721-2、参数721-3、功能721-4、返回值721-5、说明721-6、用法721-6-1、数据准备721-6-2、代码示例721-6-3、结果输出722、pandas.Timedelta.to_pytimedelta方法722-1、语法722-2、参数722-3、功能7......
  • C - sum(牛客小白月赛102)
    题目链接:C-sum题目描述:示例说明:解:这题典型的贪心问题,是求最小的操作次数。首先我们可以先算出这n个数的和s,s和sum的大小有三种情况。当s=sum时,一个数字也不用修改,答案为0。而剩下的两种情况可以合为一种情况来做。首先我们要知道如果把这n个数都变为相反数,则s也会变为......
  • 闯关leetcode——112. Path Sum
    大纲题目地址内容解题代码地址题目地址https://github.com/f304646673/leetcode/tree/main/112-Path-Sum内容GiventherootofabinarytreeandanintegertargetSum,returntrueifthetreehasaroot-to-leafpathsuchthataddingupallthevalues......
  • dockerfile中nuget源加载失败Retrying 'FindPackagesByIdAsync' for source 'xxx'
    问题描述:最近jenkins打包总是提示微软源加载不到Retrying'FindPackagesByIdAsync'forsource'https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/index.json'.Anerroroccurredwhilesendingtherequest.解决方案:dockerfile中添加国内源,改用华......
  • 盘点6个Pandas中批量替换字符的方法
    大家好,我是Python进阶者。一、前言前几天在Python最强王者群有个叫【dcpeng】的粉丝问了一个关于Pandas中的问题,这里拿出来给大家分享下,一起学习。想问一下我有一列编码为1,2,3,4的数据,如何将1批量换为“开心”,2批量换为“悲伤”这种字符替换呢?二、解决过程思路挺简单,限定Pandas......
  • 常用Python数据分析开源库:Numpy、Pandas、Matplotlib、Seaborn、Sklearn介绍
    文章目录1.常用Python数据分析开源库介绍1.1Numpy1.2Pandas1.3Matplotlib1.4Seaborn1.5Sklearn1.常用Python数据分析开源库介绍1.1NumpyNumpy(NumericalPython)是Python数据分析必不可少的第三方库,Numpy的出现一定程度上解决了Python运算性能不佳的问题,同......
  • uniapp精仿微信源码,基于SumerUI和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,视
    uniapp精仿微信源码,基于SumerUI和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,视频商城小工具等,朋友圈视频号即时聊天用于视频,商城,直播,聊天,等等场景,源码分享sumer-weixin介绍uniapp精仿微信,基于SumerUI3.0和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,视频......
  • pandas随笔(七)-- 统计文本中单词出现的次数(词频统计)
    题目描述编写解决方案,找出单词'bull'和'bear'作为独立词有出现的文件数量,不考虑任何它出现在两侧没有空格的情况(例如,'bullet','bears','bull.',或者'bear'在句首或句尾不会被考虑)。返回单词'bull'和'bear'以及它们对应的出现文件数量,顺序没有限制。测试用例输......
  • 采用黑白仪表盘风格提高清晰度-Stimulsoft Dashboards.JS 2024.4.1
    采用黑白仪表盘风格提高清晰度2024年10月16日StimulsoftDashboards.JS2024.4.1采用了时尚、现代的设计和一致的报告格式,并采用了新的单色预设主题。StimulsoftDashboards.JS是一个JavaScript库,旨在在Web应用程序中构建交互式仪表板。......
  • python pandas写入excel
    #--coding:utf-8--importdatetimeimportpandasaspdfromcommon_toolimportget_ip_areafromdb.mysqlConnectionimportMyPymysqlPoolfromdb_configimportdata_report_dbsex_dict={"-1":"未知","0":"女&......