Far Field Notes (3) Equivalence of MWF, MaxSNR, and MVDR Filters


這是 far field 筆記系列第三篇, 主要為自己學習用, 如有錯誤還請指正. 主要參考 Microphone Array Signal Processing Ch6 和 Speech Processing in Modern Communication: Challenges and Perspectives Ch9.3.4

在 narrow-band 的情形下, Multi-channel Wiener Filter (MWF), maximum SNR (MSNR) 和 Minimum Variance Distortionless Response (MVDR) 三者求出來的 filter 解只差在 norm 大小不同. 但反應在最後的 full-bank 行為仍然不同. 這部分可看書. 本篇主要紀錄 narrow-bank 下三者為何 equivalent. 算是書本的摘要筆記吧.


Signal Model

在 frequency doamin 下, 我們有如下的關係

$$\begin{align} Y_n(j\omega)=G_n(j\omega)S(j\omega)+V_n(j\omega) \\ =X_n(j\omega)+V_n(j\omega)\mbox{, }n=1,2,...,N \\ \end{align}$$ $N$ 是麥克風數量, $S(j\omega)$ 是原始訊號, $G_n(j\omega)$ 是聲源到 mic $n$ 的 impluse response, $V_n(j\omega)$ 是 noise, 而 $X_n(j\omega)$ 是 mic $n$ 的訊號. 我們希望還原的是 $X_1(j\omega)$ 而不是 $S(j\omega)$.
排成 vector 形式如下

$$\begin{align} Z(j\omega)=\mathbf{h}^H(j\omega)\mathbf{y}(j\omega) \\ =\mathbf{h}^H(j\omega)[\mathbf{x}(j\omega)+\mathbf{v}(j\omega)] \\ \end{align}$$ 其中

$$\begin{align} \mathbf{y}(j\omega)=[Y_1(j\omega),Y_2(j\omega),...,Y_N(j\omega)]^T \\ \mathbf{x}(j\omega)=S(j\omega)[G_1(j\omega),G_2(j\omega),...,G_N(j\omega)]^T=S(j\omega)\mathbf{g}(j\omega) \\ \mathbf{v}(j\omega)=[V_1(j\omega),V_2(j\omega),...,V_N(j\omega)]^T \\ \mathbf{h}(j\omega)=[H_1(j\omega),H_2(j\omega),...,H_N(j\omega)]^T \\ \end{align}$$ 注意到

$$\begin{align} \Phi_{xx}(j\omega)=\mathbb{E}\left[\mathbf{x}(j\omega)\mathbf{x}^H(j\omega)\right]=\phi_{ss}(j\omega)\mathbf{g}(j\omega)\mathbf{g}^H(j\omega) \end{align}$$

MWF

將 error term 寫出來

$$\begin{align} \mathcal{E}(j\omega)=Z(j\omega)-X_1(j\omega) \\ =\mathbf{h}^H(j\omega)\mathbf{v}(j\omega)+[\mathbf{h}(j\omega)-\mathbf{u}]^H\mathbf{x}(j\omega)\\ =\color{orange}{\mathcal{E}_v(j\omega)}+\color{blue}{\mathcal{E}_x(j\omega)} \\ \end{align}$$ 其中 $\mathbf{u}$ 是一個 $N\times 1$ 的 vector, 只有第一個是1, 其他是0. Error term 可以拆成兩項, 分別對應了 noise reduction 程度和 speech distortion 程度
MWF 的目標函式如下:
$$\begin{align} J_{MWF}[\mathbf{h}(j\omega)]=\mathbb{E}\left[| \mathcal{E}(j\omega) |^2\right]\\ = \color{orange}{ \mathbb{E}\left[| \mathcal{E}_v(j\omega) |^2\right] } + \color{blue}{ \mathbb{E}\left[| \mathcal{E}_x(j\omega) |^2\right] } \end{align}$$

可以看成 noise reduction 和 speech distortion 同等重要情況下去求解最好的 $\mathbf{h}$
微分等於零求解得到如下:
$$\begin{align} \Phi_{yy}(j\omega)\mathbf{h}_W(j\omega)=\Phi_{yx}(j\omega)\mathbf{u}=\Phi_{xx}(j\omega)\mathbf{u} \end{align}$$
上式最後推導是由於 $x$ and $v$ 是 independent. 因此最後的 MWF 解為:
$$\begin{align} \mathbf{h}_W(j\omega)=\Phi_{yy}^{-1}(j\omega)\Phi_{xx}(j\omega)\mathbf{u} \\ =\left[ \mathbf{I}_{N\times N} - \Phi_{yy}^{-1}(j\omega)\Phi_{vv}(j\omega) \right]\mathbf{u} \end{align}$$


MVDR

MVDR 要解的問題如下:
$$\min \color{orange}{ \mathbb{E}\left[| \mathcal{E}_v(j\omega) |^2\right] }\\ \mbox{subject to } \color{blue}{\mathbb{E}\left[| \mathcal{E}_x(j\omega) |^2\right]}=0$$ 這也可以看出 MVDR 為什麼叫 MVDR.
首先先將 constraint 改寫成 (改寫 speech distortion error term, 定義在 (11), (12)):
$\left[\mathbf{u}-\mathbf{h}(j\omega)\right]^H\mathbf{x}(j\omega)=0 \\$ 並利用 $\mathbf{x}(j\omega)=S(j\omega)\mathbf{g}(j\omega)$ 可得到
$\mathbf{h}^H(j\omega)\mathbf{g}(j\omega)=G_1(j\omega)$
因此 MVDR 問題的通常如下表達:
$$\min \mathbf{h}^H(j\omega) \Phi_{vv}(j\omega) \mathbf{h}(j\omega) \\ \mbox{subject to } \mathbf{h}^H(j\omega)\mathbf{g}(j\omega)=G_1(j\omega) \\$$ 這個最佳化問題正好就是上一篇的 LCMV, 所以說 MVDR 是 LCMV 的一種 case.
用 Lagrange multipliers 求解得到
$$\begin{align} \mathbf{h}_{MVDR}(j\omega)=G_1^{\ast}(j\omega)\frac{\Phi_{vv}^{-1}(j\omega)\mathbf{g}(j\omega)}{\mathbf{g}^H(j\omega)\Phi_{vv}^{-1}(j\omega)\mathbf{g}(j\omega)} \end{align}$$

對 (18) 進一步推導, 為了精簡以下 ${j\omega}$ 省略不寫
$$\begin{align} \mathbf{h}_{MVDR}=\frac{\Phi_{vv}^{-1}\phi_{ss}\mathbf{g}G_1^{\ast}}{tr\left[\Phi_{vv}^{-1}\phi_{ss}\mathbf{g}\mathbf{g}^H\right]}=\frac{\Phi_{vv}^{-1}\phi_{ss}\mathbf{g}\mathbf{g}^H\mathbf{u}}{tr\left[\Phi_{vv}^{-1}\phi_{ss}\mathbf{g}\mathbf{g}^H\right]} \\ =\frac{ \Phi_{vv}^{-1}\Phi_{xx}\mathbf{u} }{ tr\left[\Phi_{vv}^{-1}\Phi_{xx}\right] } \\ =\frac{ \Phi_{vv}^{-1}(\Phi_{yy}-\Phi_{vv})\mathbf{u} }{ tr\left[ \Phi_{vv}^{-1}(\Phi_{yy}-\Phi_{vv}) \right] } \\ =\frac{ (\Phi_{vv}^{-1}\Phi_{yy}-\mathbf{I})\mathbf{u} }{ tr\left[\Phi_{vv}^{-1}\Phi_{yy}\right]-N } \end{align}$$ (19) 到 (20) 使用了 (9).
(22) 的形式書本說很重要, 因為避免了很難估計的 $\mathbf{g}$, 取而代之的是我們要估計出 $\Phi_{vv}$


MWF 與 MVDR 等價情形

同樣為了精簡以下 ${j\omega}$ 省略不寫, 首先我們知道
$$\begin{align} \Phi_{yy}=\Phi_{vv} + \phi_{ss}\mathbf{g}\mathbf{g}^H \end{align}$$ 使用 Woodbury’s identity 可得:
$$\begin{align} \Phi_{yy}^{-1}=\Phi_{vv}^{-1}-\frac{ \Phi_{vv}^{-1}\Phi_{xx}\Phi_{vv}^{-1} }{ 1+tr\left[\Phi_{vv}^{-1}\Phi_{xx}\right] } \end{align}$$ 將 (24) 帶入到 (17) 並經過一些代數替換我們得到
$$\begin{align} \mathbf{h}_{W}=\frac{ \Phi_{vv}^{-1}\Phi_{xx} }{ 1+tr\left[\Phi_{vv}^{-1}\Phi_{xx}\right] }\mathbf{u} \end{align}$$ 這個式子與 MVDR 的 (20) 比較一下我們發現
$$\begin{align} \mathbf{h}_{W}(j\omega)=c(\omega)\mathbf{h}_{MVDR}(j\omega) \end{align}$$ 其中 $c(\omega)$ 是與 $\omega$ 相關的一個 scalar. 因此 MWF 與 MVDR 解只差在一個 $\omega$ 相關的常數項


Maximum SNR (MSNR)

同樣為了精簡以下 ${j\omega}$ 省略不寫, output SNR 定義為:
$$\begin{align} \mbox{oSNR}\left[\mathbf{h}\right]=\frac{ \mathbf{h}^H \Phi_{xx} \mathbf{h} }{ \mathbf{h}^H \Phi_{vv} \mathbf{h} } \end{align}$$

這個等同於 generalized eigenvalue problem.
$$\begin{align} \Phi_{xx}\mathbf{h}=\lambda\Phi_{vv}\mathbf{h} \end{align}$$ 所以
$\mathbf{h}_{MSNR}\mbox{ is eigenvector w.r.t max eigenvalue of matrix } \Phi_{vv}^{-1}\Phi_{xx}$
eigenvector 乘上一個 scalar 仍然是 eigenvector, 因此通常都會將 $\mathbf{h}_{MSNR}$ 的 norm 定為 1

接著我們說明 $\mathbf{h}$ 的解具有以下形式:
$$\begin{align} \mathbf{h}\propto\Phi_{vv}^{-1}\mathbf{g} \end{align}$$ 先假定 (29) 為等式:
$$\begin{align} \mathbf{h}=\Phi_{vv}^{-1}\mathbf{g} \end{align}$$ 利用 (9) 和 (30) 得到以下的推導
$$\begin{align} \Phi_{vv}^{-1}\Phi_{xx}\mathbf{h}=\Phi_{vv}^{-1} \phi_{ss}\mathbf{g}\mathbf{g}^H \mathbf{h}=\left(\Phi_{vv}^{-1}\mathbf{g}\right)\left(\phi_{ss}\mathbf{g}^H\mathbf{h}\right)=\mathbf{h}\lambda \end{align}$$ 我們發現 $\mathbf{h}$ 如有 (30) 的形式, 則為 maximum SNR (27) 的解. 當然 eigenvector 乘上 scalar 仍然是 eigenvector, 所以 (29) 為 maximum SNR 的解.
最後由於 $\Phi_{xx}$ 為 rank 1 所以只會有一個 nonzero eigenvalue, 因此 maximum SNR 所有解的形式必然為 (29) 的形式.


MVDR 與 MSNR 等價情形

檢查下 (18) 的 MVDR 解, 很快就發現滿足 (29) MSNR 的解的形式, 因此
$$\begin{align} \mathbf{h}_{MVDR}(j\omega)=d(\omega)\mathbf{h}_{MSNR}(j\omega) \end{align}$$


結論

MWF, MVDR, MSNR 三個問題的解在 narrowband 上只差在 scalar. 但以 fullband 來說, 表現還是不同的.


Reference

  1. Microphone Array Signal Processing by Jocab Benesty
  2. Speech Processing in Modern Communication: Challenges and Perspectives