多通道语音增强笔记
-
固定波束形成:利用阵列对特定方向进行波束增强(即目标语音方向),若噪声和目标语音同向,则无显著效果。
-
麦克风接受信号: Y m ( ω , θ ) = H m ( ω , θ ) ∗ e x p ( − k ω τ m ( θ ) ) ∗ S ( ω ) Y_m(\omega,\theta)=H_m(\omega,\theta)*exp(-k\omega \tau _m(\theta))*S(\omega) Ym(ω,θ)=Hm(ω,θ)∗exp(−kωτm(θ))∗S(ω)
H m H_m Hm是麦克风的指向性, τ m \tau_m τm是麦克风时延带来的在频域是上的延迟, S ( ω ) S(\omega) S(ω)是原信号,上式可写为:
Y ( ω , θ ) = d ( ω , θ ) ∗ S ( ω ) Y(\omega,\theta)=d(\omega,\theta)*S(\omega) Y(ω,θ)=d(ω,θ)∗S(ω), d ( ω , θ ) = [ H 1 ( ω , θ ) e x p ( − j τ 1 ( θ ) ) , . . . , H M ( ω , θ ) e x p ( − j τ M ( θ ) ) ] d(\omega,\theta)=[H_1(\omega,\theta)exp(-j\tau_1(\theta)),...,H_M(\omega,\theta)exp(-j\tau_M(\theta))] d(ω,θ)=[H1(ω,θ)exp(−jτ1(θ)),...,HM(ω,θ)exp(−jτM(θ))]为导向向量,当麦克风为全指向性时, H H H全都为1
-
麦克风经滤波后的输出信号: Z ( ω , θ ) = F H ( ω , θ ) Y ( ω , θ ) = F H ( ω ) d ( ω , θ ) S ( ω ) Z(\omega ,\theta)=F^H (\omega ,\theta)Y(\omega ,\theta)=F^H (\omega)d(\omega ,\theta)S(\omega) Z(ω,θ)=FH(ω,θ)Y(ω,θ)=FH(ω)d(ω,θ)S(ω), F F F为滤波器
-
性能指标:
-
噪声增益: G ( ω , θ ) = S N R o S N R i = ∣ F H d ( ω , θ ) ∣ 2 F H ( ω ) Γ n o i s e F ( ω ) G(\omega ,\theta)=\displaystyle{\frac{SNR_o}{SNR_i}}=\displaystyle{\frac{|F^H d(\omega ,\theta)|^2}{F^H (\omega) \Gamma_{noise}F(\omega)}} G(ω,θ)=SNRiSNRo=FH(ω)ΓnoiseF(ω)∣FHd(ω,θ)∣2,若为白噪则 Γ n o i s e = I \Gamma_{noise}=I Γnoise=I
-
指向性: D I ( ω , θ ) = ∣ F H d ( ω , θ ) ∣ 2 F H Γ n o i s e d i f f u s e F ( ω ) DI(\omega ,\theta)=\displaystyle{\frac{|F^H d(\omega ,\theta)|^2}{F^H \Gamma_{noise}^{diffuse}F(\omega)}} DI(ω,θ)=FHΓnoisediffuseF(ω)∣FHd(ω,θ)∣2
-
通常我们可以最大化白噪声增益,即: F ( ω ) = arg max ∣ F H d ( ω , θ ) ∣ 2 F H ( ω ) F ( ω ) F(\omega)=\arg \max \displaystyle{\frac{|F^Hd(\omega ,\theta)|^2}{F^H(\omega)F(\omega)}} F(ω)=argmaxFH(ω)F(ω)∣FHd(ω,θ)∣2,可将问题转化为:
F ( ω ) = arg min F H ( ω ) F ( ω ) s . t . ∣ F H ( ω ) d ( ω , θ ) = 1 ∣ F(\omega)=\arg \min F^H (\omega)F(\omega)\ s.t.\ |F^H(\omega)d(\omega ,\theta)=1| F(ω)=argminFH(ω)F(ω) s.t. ∣FH(ω)d(ω,θ)=1∣
也即期望方向信号增益为0 dB,并最小化噪声输出,最优解为 F ( ω ) = d ( ω , θ ) ∣ d ( ω , θ ) ∣ 2 F(\omega)=\displaystyle{\frac{d(\omega ,\theta)}{|d(\omega ,\theta)|^2}} F(ω)=∣d(ω,θ)∣2d(ω,θ) -
对于一般噪声,其解为: Γ − 1 d ( ω , θ ) d H ( ω , θ ) Γ − 1 d ( ω , θ ) \displaystyle{\frac{\Gamma^{-1}d(\omega ,\theta)}{d^H(\omega ,\theta)\Gamma^{-1}d(\omega ,\theta)}} dH(ω,θ)Γ−1d(ω,θ)Γ−1d(ω,θ), Γ \Gamma Γ表示噪声相关阵
-
-
固定波束的系数是提前计算好的,不需要进行系数更新,计算速度快
-
-
后滤波器算法:使用一个维纳系数 w p o s t w_{post} wpost进一步一直波束形成算法中的残留非点源噪声,即 Z ^ ( ω , θ ) = w p o s t F H ( ω ) Y ( ω , θ ) , w p o s t = σ s 2 ( ω , θ ) σ s 2 ( ω , θ ) + σ n 2 ( ω , θ ) \hat{Z}(\omega ,\theta)=w_{post}F^H(\omega)Y(\omega ,\theta),\ w_{post}=\displaystyle{\frac{\sigma^2_s(\omega ,\theta)}{\sigma^2_s(\omega ,\theta)+\sigma^2_n(\omega ,\theta)}} Z^(ω,θ)=wpostFH(ω)Y(ω,θ), wpost=σs2(ω,θ)+σn2(ω,θ)σs2(ω,θ), σ s 2 ( ω , θ ) \sigma^2_s(\omega ,\theta) σs2(ω,θ)和 σ n 2 ( ω , θ ) \sigma^2_n(\omega ,\theta) σn2(ω,θ)分别代表目标语音信号和噪声的功率谱密度,问题的关键在于:如何让利用多通道信号求解上述功率谱密度
-
Zelinski等人在论文中的求解:
σ s 2 ( ω , θ ) = 2 M ( M − 1 ) ∑ i = 1 M − 1 ∑ j = i + 1 M R { ϕ ^ y i y j ( ω , θ ) } σ n 2 = [ 1 M ∑ i = 1 M ϕ ^ y i y j ( ω , θ ) ] − σ s 2 ( ω , θ ) ] \sigma^2_s(\omega,\theta)=\displaystyle{\frac{2}{M(M-1)}\sum_{i=1}^{M-1}\sum_{j=i+1}^{M}\mathcal{R} \{\hat{\phi}_{y_iy_j}(\omega,\theta)\}}\\ \sigma^2_n=[\displaystyle{\frac{1}{M}}\sum_{i=1}^{M}\hat{\phi}_{y_iy_j}(\omega,\theta)]-\sigma^2_s(\omega,\theta)] σs2(ω,θ)=M(M−1)2i=1∑M−1j=i+1∑MR{ϕ^yiyj(ω,θ)}σn2=[M1i=1∑Mϕ^yiyj(ω,θ)]−σs2(ω,θ)]
在时频域表示: ϕ ^ y i y j ( t , f ) = α ϕ ^ y i y j ( t − 1 , f ) + ( 1 − α ) y i ( t , f ) y j ∗ ( t , f ) \hat{\phi}_{y_iy_j}(t,f)=\alpha \hat{\phi}_{y_i y_j}(t-1,f)+(1-\alpha)y_i(t,f)y_j^*(t,f) ϕ^yiyj(t,f)=αϕ^yiyj(t−1,f)+(1−α)yi(t,f)yj∗(t,f)为观测信号的互功率谱密度 ( i ≠ j ) (i\neq j) (i=j)或自功率谱密度 ( i = j ) (i=j) (i=j), R \mathcal{R} R为取实部操作 -
McCowan等人针对散射噪声的求解:
σ s 2 ( t , f ) = 2 M ( M − 1 ) ∑ i = 1 M − 1 ∑ j = i + 1 M Θ ( t , f ) σ n 2 ( t , f ) = [ 1 M ∑ i = 1 M ϕ ^ y i y j ( t , f ) − σ s 2 ( t , f ) ] \sigma^2_s(t,f)=\displaystyle{\frac{2}{M(M-1)}}\sum_{i=1}^{M-1}\sum_{j=i+1}^{M}\Theta(t,f)\\ \sigma^2_n(t,f)=[\displaystyle{\frac{1}{M}}\sum_{i=1}^{M}\hat{\phi}_{y_i y_j}(t,f)-\sigma^2_s(t,f)]\\ σs2(t,f)=M(M−1)2i=1∑M−1j=i+1∑MΘ(t,f)σn2(t,f)=[M1i=1∑Mϕ^yiyj(t,f)−σs2(t,f)]
其中 Θ = R { ϕ ^ y i y j ( t , f ) } − 1 2 γ i j , d i f f u s e ( f ) ( ϕ ^ y i y i ( t , f ) + ϕ ^ y j y j ( t , f ) ) 1 − γ i j , d i f f u s e ( f ) \Theta=\displaystyle{\frac{\mathcal{R}\{ \hat{\phi}_{y_i y_j}(t,f) \}-\frac{1}{2} \gamma_{ij,diffuse}(f)(\hat{\phi}_{y_i y_i}(t,f)+\hat{\phi}_{y_j y_j}(t,f))}{1-\gamma_{ij,diffuse}(f)}} Θ=1−γij,diffuse(f)R{ϕ^yiyj(t,f)}−21γij,diffuse(f)(ϕ^yiyi(t,f)+ϕ^yjyj(t,f)) -
不足:后滤波器算法可能会像单通道维纳滤波一样引入频谱损伤
-
-
多通道线性预测算法:一种用于降混响的算法
-
其在STFT域下的信号模型如下: y 1 ( t ) = x 1 ( t ) + c H y ~ τ , L c ( t ) y_1(t)=x_1(t)+c^H \widetilde{y}_{\tau,L_{c}}(t) y1(t)=x1(t)+cHy τ,Lc(t), y 1 ( t ) y_1(t) y1(t)为第一个麦克风的观测信号, x 1 ( t ) x_1(t) x1(t)为第一个麦克风的目标语音信号。 y ~ τ , L c \widetilde{y}_{\tau,L_c} y τ,Lc为历史观测向量(含全部麦克风)。 c c c为滤波器系数向量(对每个频带单独处理,忽略索引 f f f)。即若估计出 c c c便可得到降混响后的语音信号 x 1 ( t ) x_1(t) x1(t)
-
Naktani等人对 c c c的估计,假设目标语音服从高斯分布,利用最大似然估计 c c c:
c = arg min c ∑ t = 1 T ∣ y 1 ( t ) − c H y ~ τ , L c T ( t ) ∣ 2 σ x 2 ( t ) c=\mathop{\arg\min}_{c}\sum_{t=1}^T\displaystyle{\frac{|y_1(t)-c^H \widetilde{y}^T_{\tau,L_c}(t)|^2}{\sigma^2_x(t)}} c=argminct=1∑Tσx2(t)∣y1(t)−cHy τ,LcT(t)∣2
但是以此式难以求得 c c c的解析解,因此常用迭代交替更新 c c c和 σ x 2 \sigma^2_x σx2:-
初始化 σ x 2 = max { ∣ y 1 2 ( t ) ∣ , ϵ } \sigma^2_x=\max\{ |y^2_1(t)|,\epsilon\} σx2=max{∣y12(t)∣,ϵ}
-
重复下列操作直至收敛:
( 1 ) c = [ ∑ t = 1 T y ~ τ , L c ( t ) y ~ τ , L c T ( t ) σ x 2 ( t ) ] − 1 ∑ t = 1 T y ~ τ , L c ( t ) y ~ 1 T ( t ) σ x 2 ( t ) ( 2 ) x 1 ( t ) = y 1 ( t ) − c H y ~ τ , L c ( t ) ( 3 ) σ x 2 = max { ∣ x 1 2 ( t ) , ϵ ∣ } (1)\ c=[\sum_{t=1}^T\displaystyle{\frac{\widetilde{y}_{\tau,L_c}(t)\widetilde{y}^T_{\tau,L_c}(t)}{\sigma^2_x(t)}}]^{-1}\sum_{t=1}^T\displaystyle{\frac{\widetilde{y}_{\tau,L_c}(t)\widetilde{y}^T_{1}(t)}{\sigma^2_x(t)}}\\ (2)\ x_1(t)=y_1(t)-c^H\widetilde{y}_{\tau,L_c}(t)\\ (3)\ \sigma^2_x=\max\{|x_1^2(t),\epsilon|\} (1) c=[t=1∑Tσx2(t)y τ,Lc(t)y τ,LcT(t)]−1t=1∑Tσx2(t)y τ,Lc(t)y 1T(t)(2) x1(t)=y1(t)−cHy τ,Lc(t)(3) σx2=max{∣x12(t),ϵ∣}
-
-
-
MVDR:最小无失真响应(Minimum Variance Distortionless Response)
和固定波束算法思路类似,但是其具有自适应能力,即可通过空间扫描来寻找出功率最强的方向
-
广义旁瓣相消:是MVDR的另一种形式,两者已经在数学上被证明是等价的:
其中 W 0 W_0 W0为固定波束, H \mathcal{H} H是分块矩阵, G G G是自适应的噪声抵消器,虚线即自适应过程,论文中的表述为:
w g s c = w d s b ( t , f ) − N ( t , f ) w n c ( t , f ) w_{gsc}=w_{dsb}(t,f)-N(t,f)w_{nc}(t,f) wgsc=wdsb(t,f)−N(t,f)wnc(t,f)
其中 w d s b ( t , f ) = h ( t , f ) ∣ ∣ h ( t , f ) ∣ ∣ 2 , w n c ( t , f ) = ( N H ( t , f ) R n ( t , f ) N ( t , f ) ) − 1 N H ( t , f ) R n ( t , f ) w d s b ( t , f ) w_{dsb}(t,f)=\displaystyle{\frac{h(t,f)}{||h(t,f)||^2}},\ \ w_{nc}(t,f)=(N^H(t,f)R_n(t,f)N(t,f))^{-1}N^H(t,f)R_n(t,f)w_{dsb}(t,f) wdsb(t,f)=∣∣h(t,f)∣∣2h(t,f), wnc(t,f)=(NH(t,f)Rn(t,f)N(t,f))−1NH(t,f)Rn(t,f)wdsb(t,f)w d s b w_{dsb} wdsb为延时求和的股东波束形成器, N ( t , f ) N(t,f) N(t,f)是一个阻塞目标信号的阻塞矩阵, w n c ( t , f ) w_{nc}(t,f) wnc(t,f)为噪声抵消器
-
LCMV:线性约束最小方差:在满足条件的情况下使输出功率最小,也即方差最小:
J = ∑ k = 0 M − 1 ∑ i = 0 M − 1 w k ∗ w i r ( i − k ) + R e [ λ ∗ ( ∑ k = 0 M − 1 w k ∗ e − j θ 0 k − g ) ] J=\sum_{k=0}^{M-1}\sum_{i=0}^{M-1}w^*_kw_ir(i-k)+Re[\lambda^*(\sum_{k=0}^{M-1}w^*_ke^{-j\theta_0k}-g)] J=k=0∑M−1i=0∑M−1wk∗wir(i−k)+Re[λ∗(k=0∑M−1wk∗e−jθ0k−g)]
w w w为波束形成器的权值,需要最小化 J J J,使用Lagrange乘子法: ∇ k J = 2 ∑ i = 0 M − 1 w i r ( i − k ) + λ ∗ e − j θ 0 k \nabla _kJ=2\sum_{i=0}^{M-1}w_ir(i-k)+\lambda^*e^{-j\theta_0k} ∇kJ=2∑i=0M−1wir(i−k)+λ∗e−jθ0k,令 w o , i w_{o,i} wo,i为最优权向量第 i i i个元素则波束形成器最优性条件描述为:
∑ i = 0 M − 1 w o , i r ( i − k ) = − λ ∗ 2 e − j θ 0 k , k = 0 , 1 , . . . , M − 1 \sum_{i=0}^{M-1}w_{o,i}r(i-k)=-\displaystyle{\frac{\lambda^*}{2}e^{-j\theta_0k}},\ \ k=0,1,...,M-1 i=0∑M−1wo,ir(i−k)=−2λ∗e−jθ0k, k=0,1,...,M−1
矩阵形式为:
R w 0 = − λ ∗ 2 s ( θ 0 ) , s ( θ 0 ) = [ 1 , e − j θ 0 , . . . , e − j ( M − 1 ) θ 0 ] T Rw_0=-\displaystyle{\frac{\lambda^*}{2}}s(\theta_0), \ \ s(\theta_0)=[1,e^{-j\theta_0},...,e^{-j(M-1)\theta_0}]^T Rw0=−2λ∗s(θ0), s(θ0)=[1,e−jθ0,...,e−j(M−1)θ0]T
可得 w o = − λ ∗ 2 R − 1 s ( θ 0 ) ( ∗ ) w_o=-\displaystyle{\frac{\lambda^*}{2}}R^{-1}s(\theta_0)\ \ (*) wo=−2λ∗R−1s(θ0) (∗),其中 R R R为接收信号的相关矩阵(非奇异),由线性约束条件 w o H s ( θ 0 ) w^H_os(\theta_0) woHs(θ0)对 ( ∗ ) (*) (∗)两边进行Hermite变换,再乘以 s ( θ 0 ) s(\theta_0) s(θ0),利用上式可得:
λ = − − 2 g s H ( θ 0 ) R − 1 s ( θ 0 ) \lambda=-\displaystyle{\frac{-2g}{s^H(\theta_0)R^{-1}s(\theta_0)}} λ=−sH(θ0)R−1s(θ0)−2g
最终得到:
w o = g ∗ R − 1 s ( θ 0 ) s H ( θ 0 ) R ( − 1 ) s ( θ 0 ) w_o=\displaystyle{\frac{g^*R^{-1}s(\theta_0)}{s^H(\theta_0)R^(-1)s(\theta_0)}} wo=sH(θ0)R(−1)s(θ0)g∗R−1s(θ0)
由于是再约束条件下使输出功率最小,故沿不同于 θ 0 \theta_0 θ0方向上的信号会被削弱,此被称为线性约束最小方差(LCMV)波束形成器-
亦可引出MVDR: g = 1 g=1 g=1时, w o = R − 1 s ( θ 0 ) s H ( θ 0 ) R − 1 s ( θ 0 ) w_o=\displaystyle{\frac{R^{-1}s(\theta_0)}{s^H(\theta_0)R^{-1}s(\theta_0)}} wo=sH(θ0)R−1s(θ0)R−1s(θ0),沿着对应于 θ 0 \theta_0 θ0的方向产生无失真响应,此时 J m i n = w o H R w o J_{min}=w_o^HRw_o Jmin=woHRwo将 w o w_o wo代入有: J m i n = 1 s H ( θ ) R − 1 s ( θ ) J_min=\displaystyle{\frac{1}{s^H(\theta)R^{-1}s(\theta)}} Jmin=sH(θ)R−1s(θ)1,将 J m i n J_{min} Jmin表示为 θ \theta θ的函数,推广此结果并获得以方向为变量的方差估值函数,MVDR的(空间)功率谱为:
S M V D R = 1 s H ( θ 0 ) R − 1 s ( θ 0 ) , s ( θ ) = [ 1 , e − j θ , . . . , e − j ( M − 1 ) θ ] S_{MVDR}=\displaystyle{\frac{1}{s^H(\theta_0)R^{-1}s(\theta_0)}},\ \ s(\theta)=[1,e^{-j\theta},...,e^{-j(M-1)\theta}] SMVDR=sH(θ0)R−1s(θ0)1, s(θ)=[1,e−jθ,...,e−j(M−1)θ] -
《自适应滤波器原理》中的广义旁瓣相消如下,其中 w q w_q wq是权向量 w w w满足约束条件的部分, w a w_a wa是不受约束的部分,提供了滤波器设计的自由度, w q w_q wq类似固定的约束无失真响应滤波器, C a C_a Ca为信号阻塞矩阵,阻断了角频率处的接收信号,其功能是消除静态权向量为 w q w_q wq的带通滤波器旁瓣渗透出的干扰
-
-
盲源分离:观测信号由多种未知信号混合而成,想要将这些信号分离,例子:
x 1 ( t ) = a 11 s 1 ( t ) + a 12 s 2 ( t ) + a 13 s 3 ( t ) x 2 ( t ) = a 21 s 1 ( t ) + a 22 s 2 ( t ) + a 23 s 3 ( t ) x 3 ( t ) = a 31 s 1 ( t ) + a 32 s 2 ( t ) + a 33 s 3 ( t ) x_1(t)=a_{11}s_1(t)+a_{12}s_2(t)+a_{13}s_3(t)\\ x_2(t)=a_{21}s_1(t)+a_{22}s_2(t)+a_{23}s_3(t)\\ x_3(t)=a_{31}s_1(t)+a_{32}s_2(t)+a_{33}s_3(t) x1(t)=a11s1(t)+a12s2(t)+a13s3(t)x2(t)=a21s1(t)+a22s2(t)+a23s3(t)x3(t)=a31s1(t)+a32s2(t)+a33s3(t)
其中 x x x为观测信号, s s s为源信号,若系数矩阵是可逆的,则:
s 1 ( t ) = w 11 x 1 ( t ) + w 12 x 2 ( t ) + w 13 x 3 ( t ) s 2 ( t ) = w 21 x 1 ( t ) + w 22 x 2 ( t ) + w 23 x 3 ( t ) s 3 ( t ) = w 31 x 1 ( t ) + w 32 x 2 ( t ) + w 33 x 3 ( t ) s_1(t) = w_{11}x_1(t)+w_{12}x_2(t)+w_{13}x_3(t)\\ s_2(t) = w_{21}x_1(t)+w_{22}x_2(t)+w_{23}x_3(t)\\ s_3(t) = w_{31}x_1(t)+w_{32}x_2(t)+w_{33}x_3(t) s1(t)=w11x1(t)+w12x2(t)+w13x3(t)s2(t)=w21x1(t)+w22x2(t)+w23x3(t)s3(t)=w31x1(t)+w32x2(t)+w33x3(t)
独立假设:若信号非高斯,课决定 w w w使得 y i = w i 1 x 1 ( t ) + w i 2 x 2 ( t ) + w i 3 x 3 ( t ) y_i=w_{i1}x_1(t)+w_{i2}x_2(t)+w_{i3}x_3(t) yi=wi1x1(t)+wi2x2(t)+wi3x3(t)之间是统计独立的,则可认为源信号是统计独立的-
独立成分分析(ICA): X = A S X=AS X=AS,只知道观测样本 X X X,在源信号 S S S和混合矩阵 A A A未知的条件下,假设源信号 s i s_i si之间统计独立,来求解混合矩阵 A A A和源信号 S S S
-
假设条件:
a. 各个成分之间是统计独立的
b. 独立成分是服从非高斯分布的(只允许一个成分副总高斯分布,若有两个及以上则无法分离)
c. 假设混合矩阵是方阵
-
无法确定的因素:不能确定独立成分的方差和能量,不能确定独立成分顺序
-
ICA有许多不同的算法
-
b. 独立成分是服从非高斯分布的(只允许一个成分副总高斯分布,若有两个及以上则无法分离)
c. 假设混合矩阵是方阵
-
无法确定的因素:不能确定独立成分的方差和能量,不能确定独立成分顺序
-
ICA有许多不同的算法
-