- 波束部分
1. MaxSNR Beamforming
根据MaxSNR Beamforming的公式有:w=arg_maxwhRswwhRnww=arg\_max \frac{w^hR_sw}{w^hR_nw}w=arg_maxwhRnwwhRsw,其中www即为滤波器系数。如上的无约束最大值问题对于wsnr=k∗wsnrw_{snr}=k*w_{snr}wsnr=k∗wsnr仍然是成立的,也就是有一个尺度上的无约束。可设定whRnww^hR_nwwhRnw=1;则转化为:arg_maxwhRsw1arg\_max\frac{w^hR_sw}{1}arg_max1whRsw且whRnw=1w^hR_nw=1whRnw=1。如上问题为一个有约束的优化问题,可通过拉格朗日乘子约束转化为无约束问题:
f(w)=whRsw+λ(whRnw−1)f(w)=w^hR_sw+\lambda(w^hR_nw-1)f(w)=whRsw+λ(whRnw−1)
通令求f(w)f(w)f(w)的微分=0即可转化为GEVD问题:Rsw=λRnwR_sw=\lambda R_nwRsw=λRnw。
设λ1\lambda_1λ1,λ2\lambda_2λ2,w1w_1w1,w2w_2w2为(RsR_sRs,RnR_nRn)的广义特征值和对应的特征向量,λ1\lambda_1λ1>λ2\lambda_2λ2。其中w1w_1w1即为上述问题的解。而w2w_2w2为minf(w)min{f(w)}minf(w)问题的解。
如果RsR_sRs是秩1矩阵,即Rs=aaHR_s=aa^HRs=aaH。则aaHw1=γa=λRnw1aa^Hw_1=\gamma a=\lambda R_nw_1aaHw1=γa=λRnw1,进而有a=βRnw1a=\beta R_nw_1a=βRnw1。a即为源s的RTF或者理解为导向向量(此处省去了常数因子)。
对于R_s,R_n均为正定的Hermitian矩阵来说,具有如下性质:w1Rsw2=w1Rnw2=0w_1R_sw_2=w_1R_nw_2=0w1Rsw2=w1Rnw2=0。注意这也是aux-iva中常用的正交迭代约束。
根据如上性质,推导出aHw2=0a^Hw_2=0aHw2=0,aaa理解为导向向量或者delay_sum的滤波器系数,其正交的w2w_2w2理解为aaa构造出来的BM系数。
2. gev beamforming和MVDR的关系
wmvdr=Rn−1aaHRn−1a=γwmaxsnrβwHRnw=αwmaxsnrw_{mvdr}=\frac{R_n^{-1}a}{a^HR_n^{-1}a}=\frac{\gamma w_{maxsnr}}{\beta w^HR_nw}=\alpha w_{maxsnr}wmvdr=aHRn−1aRn−1a=βwHRnwγwmaxsnr=αwmaxsnrMVDR只是gev 波束中通过约束a=a/(a1)a=a/(a_1)a=a/(a1)限制aaa的大小,解决scaling问题一种方式,二者的滤波器系数方向都是一样的。
3. scale问题
一般在说scale问题的时候大家会想到的是ica类的盲源方法,但gev波束同样也存在。在1.中已经对其产生的原因进行了解释。论文中一般会有这样的一种方式来解决:gban=sqrt(wHRnHRnw/N)wHRnwg_{ban}=\frac{sqrt(w^HR_n^HR_nw/N)}{w^HR_nw}gban=wHRnwsqrt(wHRnHRnw/N),看上去和MVDR很像。笔者猜测就是wmvdr=gban∗wgevw_{mvdr}=g_{ban}*w_{gev}wmvdr=gban∗wgev(细节推导这里就不体现了),但该公式的物理意义是什么?
gban=(wHRnHRnw/N)wHRnw=λ(wHRsHRsw)/NλwHRsw=(wHRsHRsw)/NwHRswg_{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
(gban∗(wH(Rn+Rs)w))2=wH(RsHRs+RnHRn)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
因为声源sss和噪声nnn并不相关,则
wH(RsHRs+RnHRn)w/N=wH(Rs+Rn)H(Rs+Rn)w=wHRxHRxww^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_xwwH(RsHRs+RnHRn)w/N=wH(Rs+Rn)H(Rs+Rn)w=wHRxHRxw
如上有:
gban=(wHRxHRxw/N)wHRxwg_{ban}=\frac{\sqrt{(w^HR_x^HR_xw/N)}}{w^HR_xw}gban=wHRxw(wHRxHRxw/N)
wHRxw{w^HR_xw}wHRxw解释为波束后的能量,(wHRxHRxw/N)\sqrt{(w^HR_x^HR_xw/N)}(wHRxHRxw/N)为波束后的输出和mic信号相关取模。类似于公式E(xy)E(yy)\frac{E(xy)}{E(yy)}E(yy)E(xy)。通过这种方式可以使得波束后输出信号scale和mic端的信号一个尺度。该方法和ica中只提取一路信号后用Minimal Distortion Principle准则解决scale问题是一致的。
4. 波束的痛点
如上的推导虽然完整,但RnR_nRn和RsR_sRs在没有外界信息的情况下是不可获得的。一般基于mask的方式对RnR_nRn和RsR_sRs进行估计。Rs=E(masks∗XXH)R_s=E(mask_s*XX^H)Rs=E(masks∗XXH) Rn=E(maskn∗XXH)R_n=E(mask_n*XX^H)Rn=E(maskn∗XXH)mask表征什么样的物理意义,我们这里暂且认为masktfs=∣stf∣/∣xtf∣mask_{tf}^s=|s_{tf}|/|x_{tf}|masktfs=∣stf∣/∣xtf∣(这里只讨论幅度谱的mask)。遗憾的是mask也难以得到。当然我们也可以通道doa_mask或者nn_mask的形式获得。波束问题通过mask控制RnR_nRn和RsR_sRs的更新过程,而自适应对消则通过mask控制步长。下面我们讨论下盲分离是如何看待这一问题的。
- 盲分离部分
1. 基础回顾
讨论波束时我们强调RnR_nRn和RsR_sRs的估计需要引入外界信息,但在bss框架下则通过引入源模型(source model)这一概念来实现对RnR_nRn和RsR_sRs的估计,可以理解盲分离是一种全盲波束,它通过对信号幅度谱进行假设建模实现混合数据的分离,而波束是假设数据为高斯分布的半盲分离/提取。
盲分离的一种objective function为:
J(W)=∑k=1KE[G(yk)]−∑w=1Nwlog∣detW(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=1Nwlog∣detW(w)∣,其中G(yk)=−logp(yk)G(\mathbf{y}_k)=-logp(\mathbf{y_k})G(yk)=−logp(yk)。
应用辅助函数(这部分大家还是去看论文吧),则有:J(w)<=E[G′(rw)/rw∗∑w=1Nw∣yk(w)∣2]+RkJ(w)<=E[G^{'}(r_w)/r_{w}*\sum^{N_w}_{w=1}|y_k(w)|^2]+R_kJ(w)<=E[G′(rw)/rw∗∑w=1Nw∣yk(w)∣2]+Rk。
J(w)<=∑w=1NwwhVk(w)w+Rk,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)/r∗x(w)x(w)h]
-
ica:p(y)=αe−(y)2/2p(y)=\alpha e^{-(y)^2/2}p(y)=αe−(y)2/2,时不变高斯模型,G(y)′/y=1G(y)^{'}/y=1G(y)′/y=1
-
ica:p(y)=αe−∣y∣/2p(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(ytf)=αe−(ytf)2/rtfp(y_{tf})=\alpha e^{-(y_{tf})^2/r_{tf}}p(ytf)=αe−(ytf)2/rtf,时变高斯模型,G(y)′/y=1/rtfG(y)^{'}/y=1/r_{tf}G(y)′/y=1/rtf
如上看到,如果假设源信号为时不变高斯分布,则E[G′(rw)/rw∣xk(w)∣2]=E∣xk(w)2∣E[G^{'}(r_w)/r_{w}|x_k(w)|^2]=E|x_k(w)^2|E[G′(rw)/rw∣xk(w)∣2]=E∣xk(w)2∣,这也是波束中协方差阵的形式。 平时我们说bss问题是最大化非高斯准则,如果源信号是高斯信号则是不可分的(其对应为J(w)J(w)J(w)函数很难优化,www找不到一个优化方向)。这句话成立的前提是我们并不知道哪段是语音,哪段是干扰,需要用全盲的方法去做,而对于半盲的方法类似波束,则可以提取出期望信号。这里再多提一句,时变高斯模型组成的协方差阵在WPE中使用。回顾到波束部分的协方差阵估计,在已知mask的情况下,假设源数据为时变高斯信号,则加权协方差阵的形式为:Rn=E(1/rtf∗XXH)=E(XXH/(mask2∗∣∣X∣∣2))R_n=E(1/r_{tf}*XX^H)=E(XX^H/(mask^2*||X||^2))Rn=E(1/rtf∗XXH)=E(XXH/(mask2∗∣∣X∣∣2))。
2. 优化迭代
对J(w)J(w)J(w)进行微分=0操作则有:wlHVlwk=δlkw_{l}^HV_lw_k=\delta_{lk}wlHVlwk=δlk即典型的Hybrid Exact-Approximate Joint Diagonalization [HEAD] problem。如果VlV_lVl按照时不变高斯分布组成的协方差阵形式,该问题很难优化,而在其他数据分布下可通过ip,ip2,iss,iss2等方法进行迭代求解,具体可参考文献。
两个源两个mic的情况下(对于多源问题同样可以转化为GEVD问题来求解,这里不进行推导)满足:
w1HV1w1=1w1HV1w2=0w_1^HV_1w_1=1 \qquad w_1^HV_1w_2=0w1HV1w1=1w1HV1w2=0
w2HV2w1=0w2HV2w2=1w_2^HV_2w_1=0 \qquad w_2^HV_2w_2=1w2HV2w1=0w2HV2w2=1
由上可得:
w1V1=λw1V2w_1V_1=\lambda w_1V_2w1V1=λw1V2,也就是和maxSnr波束类似的GEVD问题的解析解形式。选择最大特征值对应的特征向量则可表征为:f(w)=maxwHV1wwHV2wf(w)=max\frac{w^HV_1w}{w^HV_2w}f(w)=maxwHV2wwHV1w,V1V_1V1对应的矩阵为语音阵,V2V_2V2对应的矩阵为噪声阵。根据如式依次迭代最终便分离出两个源信号。由于初始化的问题,在整个全盲求解过程中最终分离的结果顺序未知。
3. scale问题和source image
根据波束篇已经讨论了一种scaling问题的求解方式且适用于盲分离,这里讨论另外一种形式。已知分离矩阵WWW(存在scale问题),则AW=1AW=1AW=1约束下可以得A=W−1A=W^{-1}A=W−1。A表征源S到mic的传递函数。对于A.∗WX=[y11y12;y21y22]A.*WX=[y_{11} \quad y_{12};y_{21} \quad y_{22}]A.∗WX=[y11y12;y21y22]反应的是[S1S2S_{1} \quad S_{2}S1S2]到[mic1mic2mic_{1} \quad mic_{2}mic1mic2]的接收信号,即source image,至此scale问题解决。其中A=[a11a12;a21a22]A=[a_{11} \quad a_{12};a_{21} \quad a_{22}]A=[a11a12;a21a22]。a11+a12a_{11}+a_{12}a11+a12反应的是对S1S1S1进行delay_sum为90度的波束。a11−a12a_{11}-a_{12}a11−a12反应的是对S1S1S1进行差分的波束。即在盲源问题中可以分别求得源S到mic端的接收信号,对于波束问题同样也可以得到source image,只是beamforming 很少进行这样的讨论。在有些论文中我们看到对source image后再进行固定波束delay_sum的处理,是一种基于已知数据方向后的加权修正方式。
4. BSS框架下的扩展讨论
通过控制rtfr_{tf}rtf即控制了输出结果,和波束问题一样但加权的系数不同。论文通过导向向量[eiwτ1eiwτ2...][e^{iw\tau_1} \quad e^{iw\tau_2}...][eiwτ1eiwτ2...]加权到协方差阵的方式个人认为并不合适,由于导向向量的形式并不能真实反映RTF,加入的不准确先验会影响真实数据构成协方差阵的结果,还不如通过先验rtfr_{tf}rtf来的直接,比如基于doa信息计算doa_mask来估计rtfr_{tf}rtf(大概估计结果就行,不需要完全准确),bss模型计算出来的rtfr_{tf}rtf和先验rtfr_{tf}rtf加权等。对于ive,ilrma,mnmf,和bss和网络的结合这里不进行讨论。 -
Minimal Distortion Principle for Blind Source Separation

本文探讨了波束形成和盲源分离在信号处理中的应用。MaxSNR波束形成通过优化滤波器系数实现信号增强,而MVDR波束与之相关但解决了尺度问题。在无法获取精确信噪比矩阵时,利用mask估计进行波束形成。盲源分离通过源模型估计信号,采用HEAD问题和迭代算法进行源信号分离,同时解决scale问题。文章还讨论了利用source image解决scale问题以及BSS框架下的扩展策略。
9754

被折叠的 条评论
为什么被折叠?



