– 波束部分
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 =a r g m a x w h R n w w h R s w ,其中w w w即为滤波器系数。如上的无约束最大值问题对于w s n r = k ∗ w s n r w{snr}=k*w_{snr}w s n r =k ∗w s n r 仍然是成立的,也就是有一个尺度上的无约束。可设定w h R n w w^hR_nw w h R n w=1;则转化为:a r g _ m a x w h R s w 1 arg_max\frac{w^hR_sw}{1}a r g _m a x 1 w h R s w 且w h R n w = 1 w^hR_nw=1 w h R n w =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 )=w h R s w +λ(w h R n w −1 )
通令求f ( w ) f(w)f (w )的微分=0即可转化为GEVD问题:R s w = λ R n w R_sw=\lambda R_nw R s w =λR n w。
设λ 1 \lambda_1 λ1 ,λ 2 \lambda_2 λ2 ,w 1 w_1 w 1 ,w 2 w_2 w 2 为(R s R_s R s ,R n R_n R n )的广义特征值和对应的特征向量,λ 1 \lambda_1 λ1 >λ 2 \lambda_2 λ2 。其中w 1 w_1 w 1 即为上述问题的解。而w 2 w_2 w 2 为m i n f ( w ) min{f(w)}m i n f (w )问题的解。
如果R s R_s R s 是秩1矩阵,即R s = a a H R_s=aa^H R s =a a H。则a a H w 1 = γ a = λ R n w 1 aa^Hw_1=\gamma a=\lambda R_nw_1 a a H w 1 =γa =λR n w 1 ,进而有a = β R n w 1 a=\beta R_nw_1 a =βR n w 1 。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 w 1 R s w 2 =w 1 R n w 2 =0。注意这也是aux-iva中常用的正交迭代约束。
根据如上性质,推导出a H w 2 = 0 a^Hw_2=0 a H w 2 =0,a a a理解为导向向量或者delay_sum的滤波器系数,其正交的w 2 w_2 w 2 理解为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}w m v d r =a H R n −1 a R n −1 a =βw H R n w γw m a x s n r =αw m a x s n r MVDR只是gev 波束中通过约束a = a / ( a 1 ) a=a/(a_1)a =a /(a 1 )限制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}g b a n =w H R n w s q r t (w H R n H R n w /N ),看上去和MVDR很像。笔者猜测就是w m v d r = g b a n ∗ w g e v w_{mvdr}=g_{ban}w_{gev}w m v d r =g b a n ∗w g e v (细节推导这里就不体现了),但该公式的物理意义是什么?
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}g b a n =w H R n w (w H R n H R n w /N )=λw H R s w λ(w H R s H R s w )/N =w H R s w (w H R s H R s w )/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 (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
因为声源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 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
如上有:
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}g b a n =w H R x w (w H R x H R x w /N )
w H R x w {w^HR_xw}w H R x w解释为波束后的能量,( w H R x H R x w / N ) \sqrt{(w^HR_x^HR_xw/N)}(w H R x H R x w /N )为波束后的输出和mic信号相关取模。类似于公式E ( x y ) E ( y y ) \frac{E(xy)}{E(yy)}E (y y )E (x y )。通过这种方式可以使得波束后输出信号scale和mic端的信号一个尺度。该方法和ica中只提取一路信号后用Minimal Distortion Principle准则解决scale问题是一致的。
4. 波束的痛点
如上的推导虽然完整,但R n R_n R n 和R s R_s R s 在没有外界信息的情况下是不可获得的。一般基于mask的方式对R n R_n R n 和R s R_s R s 进行估计。R s = E ( m a s k s ∗ X X H ) R_s=E(mask_sXX^H)R s =E (m a s k s ∗X X H ) R n = E ( m a s k n ∗ X X H ) R_n=E(mask_nXX^H)R n =E (m a s k n ∗X X H )mask表征什么样的物理意义,我们这里暂且认为m a s k t f s = ∣ s t f ∣ / ∣ x t f ∣ mask_{tf}^s=|s_{tf}|/|x_{tf}|m a s k t f s =∣s t f ∣/∣x t f ∣(这里只讨论幅度谱的mask)。遗憾的是mask也难以得到。当然我们也可以通道doa_mask或者nn_mask的形式获得。波束问题通过mask控制R n R_n R n 和R s R_s R s 的更新过程,而自适应对消则通过mask控制步长。 下面我们讨论下盲分离是如何看待这一问题的。
– 盲分离部分
1. 基础回顾
讨论波束时我们强调R n R_n R n 和R s R_s R s 的估计需要引入外界信息,但在bss框架下则通过引入源模型(source model)这一概念来实现对R n R_n R n 和R s R_s R s 的估计, 可以理解盲分离是一种全盲波束,它通过对信号幅度谱进行假设建模实现混合数据的分离, 而波束是假设数据为高斯分布的半盲分离/提取。
盲分离的一种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 =1 K E [G (y k )]−∑w =1 N w l o g ∣d e t W (w )∣,其中G ( y k ) = − l o g p ( y k ) G(\mathbf{y}_k)=-logp(\mathbf{y_k})G (y k )=−l o g p (y k )。
应用辅助函数(这部分大家还是去看论文吧),则有:J ( w ) < = E [ G ′ ( r w ) / r w ∗ ∑ w = 1 N w ∣ y k ( w ) ∣ 2 ] + R k J(w)。
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)
- 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 )=αe −∣y ∣/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 (y t f )=αe −(y t f )2 /r t f ,时变高斯模型,G ( y ) ′ / y = 1 / r t f G(y)^{‘}/y=1/r_{tf}G (y )′/y =1 /r t f
如上看到, 如果假设源信号为时不变高斯分布,则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 ′(r w )/r w ∣x k (w )∣2 ]=E ∣x k (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))R n =E (1 /r t f ∗X X H )=E (X X H /(m a s k 2 ∗∣∣X ∣∣2 )) 。
2. 优化迭代
对J ( w ) J(w)J (w )进行微分=0操作则有:w l H V l w k = δ l k w_{l}^HV_lw_k=\delta_{lk}w l H V l w k =δl k 即典型的Hybrid Exact-Approximate Joint Diagonalization [HEAD] problem。如果V l V_l V l 按照时不变高斯分布组成的协方差阵形式,该问题很难优化,而在其他数据分布下可通过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 w 1 H V 1 w 1 =1 w 1 H V 1 w 2 =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 w 2 H V 2 w 1 =0 w 2 H V 2 w 2 =1
由上可得:
w 1 V 1 = λ w 1 V 2 w_1V_1=\lambda w_1V_2 w 1 V 1 =λw 1 V 2 ,也就是和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 )=m a x w H V 2 w w H V 1 w ,V 1 V_1 V 1 对应的矩阵为语音阵,V 2 V_2 V 2 对应的矩阵为噪声阵。根据如式依次迭代最终便分离出两个源信号。 由于初始化的问题,在整个全盲求解过程中最终分离的结果顺序未知。
3. scale问题和source image
根据波束篇已经讨论了一种scaling问题的求解方式且适用于盲分离,这里讨论另外一种形式。已知分离矩阵W W W(存在scale问题),则A W = 1 AW=1 A W =1约束下可以得A = W − 1 A=W^{-1}A =W −1。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 .∗W X =[y 1 1 y 1 2 ;y 2 1 y 2 2 ]反应的是[S 1 S 2 S_{1} \quad S_{2}S 1 S 2 ]到[m i c 1 m i c 2 mic_{1} \quad mic_{2}m i c 1 m i c 2 ]的接收信号,即source image,至此scale问题解决。其中A = [ a 11 a 12 ; a 21 a 22 ] A=[a_{11} \quad a_{12};a_{21} \quad a_{22}]A =[a 1 1 a 1 2 ;a 2 1 a 2 2 ]。a 11 + a 12 a_{11}+a_{12}a 1 1 +a 1 2 反应的是对S 1 S1 S 1进行delay_sum为90度的波束。a 11 − a 12 a_{11}-a_{12}a 1 1 −a 1 2 反应的是对S 1 S1 S 1进行差分的波束。即在盲源问题中可以分别求得源S到mic端的接收信号,对于波束问题同样也可以得到source image,只是beamforming 很少进行这样的讨论。在有些论文中我们看到对source image后再进行固定波束delay_sum的处理,是一种基于已知数据方向后的加权修正方式。
4. BSS框架下的扩展讨论*
通过控制r t f r_{tf}r t f 即控制了输出结果,和波束问题一样但加权的系数不同。论文通过导向向量[ e i w τ 1 e i w τ 2 . . . ] [e^{iw\tau_1} \quad e^{iw\tau_2}…][e i w τ1 e i w τ2 …]加权到协方差阵的方式个人认为并不合适,由于导向向量的形式并不能真实反映RTF,加入的不准确先验会影响真实数据构成协方差阵的结果,还不如通过先验r t f r_{tf}r t f 来的直接,比如基于doa信息计算doa_mask来估计r t f r_{tf}r t f (大概估计结果就行,不需要完全准确),bss模型计算出来的r t f r_{tf}r t f 和先验r t f r_{tf}r t f 加权等。对于ive,ilrma,mnmf,和bss和网络的结合这里不进行讨论。 - Minimal Distortion Principle for Blind Source Separation
Original: https://blog.csdn.net/longtaochen/article/details/124107580
Author: longtaochen
Title: 波束和BSS问题中的gevd
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526926/
转载文章受原作者版权保护。转载请注明原作者出处!