波束和BSS问题中的gevd

- 波束部分

1. MaxSNR Beamforming
根据MaxSNR Beamforming的公式有: w = a r g _ m a x w h R s w w h R n w w=arg\_max \frac{w^hR_sw}{w^hR_nw} w=arg_maxwhRnwwhRsw,其中 w w w即为滤波器系数。如上的无约束最大值问题对于 w s n r = k ∗ w s n r w_{snr}=k*w_{snr} wsnr=kwsnr仍然是成立的,也就是有一个尺度上的无约束。可设定 w h R n w w^hR_nw whRnw=1;则转化为: a r g _ m a x w h R s w 1 arg\_max\frac{w^hR_sw}{1} arg_max1whRsw w h R n w = 1 w^hR_nw=1 whRnw=1。如上问题为一个有约束的优化问题,可通过拉格朗日乘子约束转化为无约束问题:
f ( w ) = w h R s w + λ ( w h R n w − 1 ) f(w)=w^hR_sw+\lambda(w^hR_nw-1) f(w)=whRsw+λ(whRnw1)
通令求 f ( w ) f(w) f(w)的微分=0即可转化为GEVD问题: R s w = λ R n w R_sw=\lambda R_nw Rsw=λRnw
λ 1 \lambda_1 λ1, λ 2 \lambda_2 λ2, w 1 w_1 w1, w 2 w_2 w2为( R s R_s Rs, R n R_n Rn)的广义特征值和对应的特征向量, λ 1 \lambda_1 λ1> λ 2 \lambda_2 λ2。其中 w 1 w_1 w1即为上述问题的解。而 w 2 w_2 w2 m i n f ( w ) min{f(w)} minf(w)问题的解。
如果 R s R_s Rs是秩1矩阵,即 R s = a a H R_s=aa^H Rs=aaH。则 a a H w 1 = γ a = λ R n w 1 aa^Hw_1=\gamma a=\lambda R_nw_1 aaHw1=γa=λRnw1,进而有 a = β R n w 1 a=\beta R_nw_1 a=βRnw1。a即为源s的RTF或者理解为导向向量(此处省去了常数因子)。

对于R_s,R_n均为正定的Hermitian矩阵来说,具有如下性质: w 1 R s w 2 = w 1 R n w 2 = 0 w_1R_sw_2=w_1R_nw_2=0 w1Rsw2=w1Rnw2=0。注意这也是aux-iva中常用的正交迭代约束。

根据如上性质,推导出 a H w 2 = 0 a^Hw_2=0 aHw2=0, a a a理解为导向向量或者delay_sum的滤波器系数,其正交的 w 2 w_2 w2理解为 a a a构造出来的BM系数。
2. gev beamforming和MVDR的关系
w m v d r = R n − 1 a a H R n − 1 a = γ w m a x s n r β w H R n w = α w m a x s n r w_{mvdr}=\frac{R_n^{-1}a}{a^HR_n^{-1}a}=\frac{\gamma w_{maxsnr}}{\beta w^HR_nw}=\alpha w_{maxsnr} wmvdr=aHRn1aRn1a=βwHRnwγwmaxsnr=αwmaxsnrMVDR只是gev 波束中通过约束 a = a / ( a 1 ) a=a/(a_1) a=a/(a1)限制 a a a的大小,解决scaling问题一种方式,二者的滤波器系数方向都是一样的。
3. scale问题
一般在说scale问题的时候大家会想到的是ica类的盲源方法,但gev波束同样也存在。在1.中已经对其产生的原因进行了解释。论文中一般会有这样的一种方式来解决: g b a n = s q r t ( w H R n H R n w / N ) w H R n w g_{ban}=\frac{sqrt(w^HR_n^HR_nw/N)}{w^HR_nw} gban=wHRnwsqrt(wHRnHRnw/N),看上去和MVDR很像。笔者猜测就是 w m v d r = g b a n ∗ w g e v w_{mvdr}=g_{ban}*w_{gev} wmvdr=gbanwgev(细节推导这里就不体现了),但该公式的物理意义是什么?
g b a n = ( w H R n H R n w / N ) w H R n w = λ ( w H R s H R s w ) / N λ w H R s w = ( w H R s H R s w ) / N w H R s w g_{ban}=\frac{\sqrt{(w^HR_n^HR_nw/N)}}{w^HR_nw}=\frac{\lambda \sqrt{(w^HR_s^HR_sw)/N}}{\lambda w^HR_sw}=\frac{\sqrt{(w^HR_s^HR_sw)/N}}{w^HR_sw} gban=wHRnw(wHRnHRnw/N) =λwHRswλ(wHRsHRsw)/N =wHRsw(wHRsHRsw)/N
( g b a n ∗ ( w H ( R n + R s ) w ) ) 2 = w H ( R s H R s + R n H R n ) w / N (g_{ban}*(w^H(R_n+R_s)w))^2=w^H(R_s^HR_s+R_n^HR_n)w/N (gban(wH(Rn+Rs)w))2=wH(RsHRs+RnHRn)w/N
因为声源 s s s和噪声 n n n并不相关,则
w H ( R s H R s + R n H R n ) w / N = w H ( R s + R n ) H ( R s + R n ) w = w H R x H R x w w^H(R_s^HR_s+R_n^HR_n)w/N=w^H(R_s+R_n)^H(R_s+R_n)w=w^HR_x^HR_xw wH(RsHRs+RnHRn)w/N=wH(Rs+Rn)H(Rs+Rn)w=wHRxHRxw
如上有:
g b a n = ( w H R x H R x w / N ) w H R x w g_{ban}=\frac{\sqrt{(w^HR_x^HR_xw/N)}}{w^HR_xw} gban=wHRxw(wHRxHRxw/N)
w H R x w {w^HR_xw} wHRxw解释为波束后的能量, ( w H R x H R x w / N ) \sqrt{(w^HR_x^HR_xw/N)} (wHRxHRxw/N) 为波束后的输出和mic信号相关取模。类似于公式 E ( x y ) E ( y y ) \frac{E(xy)}{E(yy)} E(yy)E(xy)。通过这种方式可以使得波束后输出信号scale和mic端的信号一个尺度。该方法和ica中只提取一路信号后用Minimal Distortion Principle准则解决scale问题是一致的。
4. 波束的痛点
如上的推导虽然完整,但 R n R_n Rn R s R_s Rs在没有外界信息的情况下是不可获得的。一般基于mask的方式对 R n R_n Rn R s R_s Rs进行估计。 R s = E ( m a s k s ∗ X X H ) R_s=E(mask_s*XX^H) Rs=E(masksXXH) R n = E ( m a s k n ∗ X X H ) R_n=E(mask_n*XX^H) Rn=E(masknXXH)mask表征什么样的物理意义,我们这里暂且认为 m a s k t f s = ∣ s t f ∣ / ∣ x t f ∣ mask_{tf}^s=|s_{tf}|/|x_{tf}| masktfs=stf/xtf(这里只讨论幅度谱的mask)。遗憾的是mask也难以得到。当然我们也可以通道doa_mask或者nn_mask的形式获得。波束问题通过mask控制 R n R_n Rn R s R_s Rs的更新过程,而自适应对消则通过mask控制步长。下面我们讨论下盲分离是如何看待这一问题的

- 盲分离部分

1. 基础回顾
讨论波束时我们强调 R n R_n Rn R s R_s Rs的估计需要引入外界信息,但在bss框架下则通过引入源模型(source model)这一概念来实现对 R n R_n Rn R s R_s Rs的估计,可以理解盲分离是一种全盲波束,它通过对信号幅度谱进行假设建模实现混合数据的分离,而波束是假设数据为高斯分布的半盲分离/提取
盲分离的一种objective function为:
J ( W ) = ∑ k = 1 K E [ G ( y k ) ] − ∑ w = 1 N w l o g ∣ d e t W ( w ) ∣ J(W)=\sum^K_{k=1}E[G(\mathbf{y}_k)]- \sum_{w=1}^{N_w}log|detW(w)| J(W)=k=1KE[G(yk)]w=1NwlogdetW(w),其中 G ( y k ) = − l o g p ( y k ) G(\mathbf{y}_k)=-logp(\mathbf{y_k}) G(yk)=logp(yk)
应用辅助函数(这部分大家还是去看论文吧),则有: J ( w ) < = E [ G ′ ( r w ) / r w ∗ ∑ w = 1 N w ∣ y k ( w ) ∣ 2 ] + R k J(w)<=E[G^{'}(r_w)/r_{w}*\sum^{N_w}_{w=1}|y_k(w)|^2]+R_k J(w)<=E[G(rw)/rww=1Nwyk(w)2]+Rk
J ( w ) < = ∑ w = 1 N w w h V k ( w ) w + R k , V ( k ) = E [ G ( y ) / r ∗ x ( w ) x ( w ) h ] J(w)<=\sum_{w=1}^{N_w}w^hV_k(w)w+R_k,V(k)=E[G(y)/r*x(w)x(w)^h] J(w)<=w=1NwwhVk(w)w+Rk,V(k)=E[G(y)/rx(w)x(w)h]

  • ica: p ( y ) = α e − ( y ) 2 / 2 p(y)=\alpha e^{-(y)^2/2} p(y)=αe(y)2/2,时不变高斯模型, G ( y ) ′ / y = 1 G(y)^{'}/y=1 G(y)/y=1

  • ica: p ( y ) = α e − ∣ y ∣ / 2 p(y)=\alpha e^{-|y|/2} p(y)=αey/2,laplace模型, G ( y ) ′ / y = 1 / ∣ y ∣ G(y)^{'}/y=1/|y| G(y)/y=1/y

  • ica: p ( y t f ) = α e − ( y t f ) 2 / r t f p(y_{tf})=\alpha e^{-(y_{tf})^2/r_{tf}} p(ytf)=αe(ytf)2/rtf,时变高斯模型, G ( y ) ′ / y = 1 / r t f G(y)^{'}/y=1/r_{tf} G(y)/y=1/rtf
    如上看到,如果假设源信号为时不变高斯分布,则 E [ G ′ ( r w ) / r w ∣ x k ( w ) ∣ 2 ] = E ∣ x k ( w ) 2 ∣ E[G^{'}(r_w)/r_{w}|x_k(w)|^2]=E|x_k(w)^2| E[G(rw)/rwxk(w)2]=Exk(w)2,这也是波束中协方差阵的形式。 平时我们说bss问题是最大化非高斯准则,如果源信号是高斯信号则是不可分的(其对应为 J ( w ) J(w) J(w)函数很难优化, w w w找不到一个优化方向)。这句话成立的前提是我们并不知道哪段是语音,哪段是干扰,需要用全盲的方法去做,而对于半盲的方法类似波束,则可以提取出期望信号。这里再多提一句,时变高斯模型组成的协方差阵在WPE中使用。回顾到波束部分的协方差阵估计,在已知mask的情况下,假设源数据为时变高斯信号,则加权协方差阵的形式为: R n = E ( 1 / r t f ∗ X X H ) = E ( X X H / ( m a s k 2 ∗ ∣ ∣ X ∣ ∣ 2 ) ) R_n=E(1/r_{tf}*XX^H)=E(XX^H/(mask^2*||X||^2)) Rn=E(1/rtfXXH)=E(XXH/(mask2X2))
    2. 优化迭代
    J ( w ) J(w) J(w)进行微分=0操作则有: w l H V l w k = δ l k w_{l}^HV_lw_k=\delta_{lk} wlHVlwk=δlk即典型的Hybrid Exact-Approximate Joint Diagonalization [HEAD] problem。如果 V l V_l Vl按照时不变高斯分布组成的协方差阵形式,该问题很难优化,而在其他数据分布下可通过ip,ip2,iss,iss2等方法进行迭代求解,具体可参考文献。
    两个源两个mic的情况下(对于多源问题同样可以转化为GEVD问题来求解,这里不进行推导)满足:
    w 1 H V 1 w 1 = 1 w 1 H V 1 w 2 = 0 w_1^HV_1w_1=1 \qquad w_1^HV_1w_2=0 w1HV1w1=1w1HV1w2=0
    w 2 H V 2 w 1 = 0 w 2 H V 2 w 2 = 1 w_2^HV_2w_1=0 \qquad w_2^HV_2w_2=1 w2HV2w1=0w2HV2w2=1
    由上可得:
    w 1 V 1 = λ w 1 V 2 w_1V_1=\lambda w_1V_2 w1V1=λw1V2,也就是和maxSnr波束类似的GEVD问题的解析解形式。选择最大特征值对应的特征向量则可表征为: f ( w ) = m a x w H V 1 w w H V 2 w f(w)=max\frac{w^HV_1w}{w^HV_2w} f(w)=maxwHV2wwHV1w, V 1 V_1 V1对应的矩阵为语音阵, V 2 V_2 V2对应的矩阵为噪声阵。根据如式依次迭代最终便分离出两个源信号。由于初始化的问题,在整个全盲求解过程中最终分离的结果顺序未知。
    3. scale问题和source image
    根据波束篇已经讨论了一种scaling问题的求解方式且适用于盲分离,这里讨论另外一种形式。已知分离矩阵 W W W(存在scale问题),则 A W = 1 AW=1 AW=1约束下可以得 A = W − 1 A=W^{-1} A=W1。A表征源S到mic的传递函数。对于 A . ∗ W X = [ y 11 y 12 ; y 21 y 22 ] A.*WX=[y_{11} \quad y_{12};y_{21} \quad y_{22}] A.WX=[y11y12;y21y22]反应的是[ S 1 S 2 S_{1} \quad S_{2} S1S2]到[ m i c 1 m i c 2 mic_{1} \quad mic_{2} mic1mic2]的接收信号,即source image,至此scale问题解决。其中 A = [ a 11 a 12 ; a 21 a 22 ] A=[a_{11} \quad a_{12};a_{21} \quad a_{22}] A=[a11a12;a21a22] a 11 + a 12 a_{11}+a_{12} a11+a12反应的是对 S 1 S1 S1进行delay_sum为90度的波束。 a 11 − a 12 a_{11}-a_{12} a11a12反应的是对 S 1 S1 S1进行差分的波束。即在盲源问题中可以分别求得源S到mic端的接收信号,对于波束问题同样也可以得到source image,只是beamforming 很少进行这样的讨论。在有些论文中我们看到对source image后再进行固定波束delay_sum的处理,是一种基于已知数据方向后的加权修正方式。
    4. BSS框架下的扩展讨论
    通过控制 r t f r_{tf} rtf即控制了输出结果,和波束问题一样但加权的系数不同。论文通过导向向量 [ e i w τ 1 e i w τ 2 . . . ] [e^{iw\tau_1} \quad e^{iw\tau_2}...] [eiwτ1eiwτ2...]加权到协方差阵的方式个人认为并不合适,由于导向向量的形式并不能真实反映RTF,加入的不准确先验会影响真实数据构成协方差阵的结果,还不如通过先验 r t f r_{tf} rtf来的直接,比如基于doa信息计算doa_mask来估计 r t f r_{tf} rtf(大概估计结果就行,不需要完全准确),bss模型计算出来的 r t f r_{tf} rtf和先验 r t f r_{tf} rtf加权等。对于ive,ilrma,mnmf,和bss和网络的结合这里不进行讨论。

  • Minimal Distortion Principle for Blind Source Separation

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值