# A Multi-Source Separation Approach Based on DOA Cue and DNN
## 2 Mixed Signal Dereverberation
### Optimization  
The optimization process is divided into two parts. The first part is to initialize the cost function \(f(\mathbf{W},\mathbf{V},\mathbf{M})\) to obtain \(f_{\mathrm{w}}(\mathbf{W})\) only with respect to \(\mathbf{W}\) and then obtain the optimal \(\mathbf{\hat{W}}\in\mathbb{R}_{0,+}^{K\times L}\) through iteration. The second part is to put the optimal \(\mathbf{\hat{W}}\) into the cost function \(f(\mathbf{W},\mathbf{V},\mathbf{M})\) and obtain the optimal \(\mathbf{\hat{V}}\) and \(\mathbf{\hat{M}}\) by minimizing the cost function. First, \(J_{\mathrm{w}}\Big{(}\mathbf{W},\mathbf{\tilde{W}}\Big{)}\), \(J_{\mathrm{v}}\Big{(}\mathbf{V},\mathbf{\tilde{V}}\Big{)}\) and \(J_{\mathrm{m}}\Big{(}\mathbf{M},\mathbf{\tilde{M}}\Big{)}\) are defined as the auxiliary functions for \(Q_{\beta}(\mathbf{Y}\parallel\mathbf{X})\), \(G_{\mathrm{v}}(\mathbf{V})\) and \(G_{\mathrm{m}}(\mathbf{M})\), respectively [21]. To initialize the cost function, \(M_{k,1}=1\), \(M_{k,n}=0,n=2,\ldots,T\), \(k=1,\ldots,K\) and \(\eta_{n}^{\
u}=0,n=1,\ldots,T\). So, we obtain \(f_{\mathrm{w}}(\mathbf{W})\) only with respect to \(\mathbf{W}\). According to the definition of the auxiliary function [28], in the case of  
Figure 3: Logarithmic spectrum of an RIR signal with \(T_{60}=600\) ms.  
\(\mathbf{W}\in\mathbb{R}_{0}^{+}\) and \(\widetilde{\mathbf{W}}\in\mathbb{R}_{0}^{+}\), there exists \(J_{w}\left(\mathbf{W},\widetilde{\mathbf{W}}\right)\geq f_{w}(\mathbf{W})\). The auxiliary function of \(f_{w}(\mathbf{W})\) is defined as \(J_{w}\left(\mathbf{W},\widetilde{\mathbf{W}}\right)\):  
\[ \begin{array}{l}J_{w}\left(\mathbf{W},\widetilde{\mathbf{W}}\right)=\sum \limits_{k,n,l\choose l,n}\frac{\tilde{W}_{k,l}V_{l,n-k,M_{k,l}}}{\tilde{X}_{ k,n}}\tilde{Q}_{\beta}\left(\Upsilon_{k,n}\parallel\widetilde{X}_{k,n}\frac{W_{ k,l}}{\tilde{W}_{k,l}}\right)+\sum\limits_{k,n,l\choose l,n}\frac{\tilde{Q}_{ \beta}\left(\Upsilon_{k,l}\parallel\widetilde{X}_{k,n}\right)}{\alpha\tilde{ X}_{k,n}}\left(W_{k,l}-\widetilde{W}_{k,l}\right)V_{l,n-k,M_{k,l}}\\ +\sum\limits_{k,n}\tilde{Q}_{\beta}\left(Y_{k,n}\parallel\widetilde{X}_{k,n} \right)\end{array}  \tag{10}\]  
where \(\widetilde{X}_{k,n}=\sum\limits_{h=0}^{H}\sum\limits_{l=1}^{L}\widetilde{W}_{ k,l}V_{l,n-h}M_{k,h}\); \(\tilde{Q}_{\beta}(\cdot)\) is an upper convex function, and \(\tilde{Q}_{\beta}(\cdot)\) is a concave function; \(\tilde{Q}_{\beta}(\cdot)\) can be decomposed into the sum of \(\tilde{Q}_{\beta}(\cdot)\) and \(\tilde{Q}_{\beta}(\cdot)\). The iteration optimization for \(J_{w}\left(\mathbf{W},\widetilde{\mathbf{W}}\right)\) can be used to optimize \(f_{w}(\mathbf{W})\). Specifically, the update equation for \(\mathbf{W}\) can be obtained by setting the gradient of \(J_{w}\left(\mathbf{W},\widetilde{\mathbf{W}}\right)\) as zero:  
\[W_{k,l}^{[t]}=W_{k,l}^{[t-1]}\frac{max\bigg{\{}\left(\sum_{k,n}\left(X_{k,n}^{[ t-1]}\right)^{\beta-2}Y_{k,n}V_{l,h}M_{k,n-h}\right)^{\tau},\zeta\bigg{\}}}{ \left(\sum_{k,n}\left(X_{k,n}^{[t-1]}\right)^{\beta-1}V_{l,h}M_{k,n-h}\right) ^{\tau}} \tag{11}\]  
where \"\((\cdot)^{[t]}\)\" represents the \(t_{th}\) iteration, \(\tau\) is the parameter determined by \(\beta\), \(max\{\cdot\}\) represents the maximum value, and \(\zeta\) is a small constant in order to avoid the elements in \(\mathbf{W}\) from being zero. The same process is conducted for \(\mathbf{V}\) as follows:  
\[V_{l,h}^{[t]}=V_{l,h}^{[t-1]}\frac{max\bigg{\{}\left(\sum_{k,n}\left(X_{k,n}^{[ t-1]}\right)^{\beta-2}Y_{k,n}V_{l,h}M_{k,n-l}-\eta_{n}^{v}\right)^{\tau},\zeta \bigg{\}}}{\left(\sum_{k,n}\left(X_{k,n}^{[t-1]}\right)^{\beta-1}W_{k,l}M_{k,n -l}\right)^{\tau}} \tag{12}\]  
Subsequently, we define a diagonal matrix and a vector to obtain the update function for \(\mathbf{M}\). The diagonal matrix \(\mathbf{A}^{(k)}=\left(a_{h\times h}^{(k)}\right)_{H\times H^{\prime}}\), \(a_{h\times h}^{(k)}\in\mathbb{R}_{0,+}\), \(k=1,\ldots,K\) is defined as:  
\[a_{h,h}^{(k)}=