## 4 Semi-Blind Receiver
Due to the partitioned structure of \(\mathbf{u}\), the Jacobian matrix \(\mathbf{J}\) can be written as \(\mathbf{J}=\left[\mathbf{J}_{\mathbf{u}_{\mathbf{S}}},\ \mathbf{J}_{\mathbf{u}_{\mathbf{H}}}\right]\), where \(\mathbf{J}_{\mathbf{u}_{\mathbf{S}}}\in\mathbb{C}^{NPM_{D}\times NR}\) and \(\mathbf{J}_{\mathbf{u}_{\mathbf{H}}}\in\mathbb{C}^{NPM_{D}\times M_{D}M_{ \mathrm{S}}}\) are respectively given by:  
\[\mathbf{J}_{\mathbf{u}_{\mathbf{S}}}=\mathbf{I}_{N}\otimes\left(\left(\mathbf{ I}_{P}\otimes\mathbf{H}\right)\mathbf{F}_{1}\right) \tag{35}\]  
\[\mathbf{J}_{\mathbf{u}_{\mathbf{H}}}=\mathbf{\Pi}\left(\mathbf{I}_{M_{D}} \otimes\left(\left(\mathbf{I}_{P}\otimes\mathbf{S}\right)\mathbf{F}_{2}\right) \right). \tag{36}\]  
The permutation matrix \(\mathbf{\Pi}\in\mathbb{C}^{NPM_{D}\times M_{D}PN}\) is given by:  
\[\mathbf{\Pi}=\sum_{m_{D}=1}^{M_{D}}\sum_{n=1}^{N}\mathbf{e}_{n}^{(N)}\Big{(} \mathbf{e}_{m_{D}}^{(M_{D})}\Big{)}^{T}\otimes\mathbf{I}_{P}\otimes\mathbf{e}_ {m_{D}}^{(M_{D})}\Big{(}\mathbf{e}_{n}^{(N)}\Big{)}^{T} \tag{37}\]  
where \(\mathbf{e}_{n}^{(N)}\) and \(\mathbf{e}_{m_{D}}^{(M_{D})}\) are the \(n\)-th and \(m_{D}\)-th column vectors of the identity matrices \(\mathbf{I}_{N}\) and \(\mathbf{I}_{M_{D}}\), respectively. ```
First stage: \(\bullet\) Compute the LS estimate of \(\mathbf{Z}\): \(\mathbf{Z}=\mathbf{Y}_{3}\)\(\left(\mathbf{F}_{3}\right)^{\dagger}\); \(\bullet\) Rearrange \(\mathbf{Z}\) to a rank-one matrix \(\Xi\); \(\bullet\) Apply the SVD on \(\mathbf{\Xi}\): \(SVD\left(\mathbf{\Xi}\right)=\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{H}\); \(\bullet\) Calculate initialization matrices \(\mathbf{S}^{(0)}\) and \(\mathbf{H}^{(0)}\) : \(\mathbf{S}^{(0)}=unvec\left(\mathbf{V}_{\cdot 1}^{*}/v_{1,1}^{*}\right)\), \(\mathbf{H}^{(0)}=unvec\left(\sigma_{1}\mathbf{U}_{\cdot 1}v_{1,1}^{*}\right)\). Second stage :  Initialization: Initialize \(\mathbf{u}^{(0)}=\left[\mathbf{u}_{\mathbf{S}^{(0)}}^{\mathsf{T}},\mathbf{u}_ {\mathbf{H}^{(0)}}^{\mathsf{T}}\right]^{T}\), \(\lambda^{(0)}=\max\left(\text{diag}\left(\mathbf{J}^{(0)H}\mathbf{J}^{(0)} \right)\right)\) and \(\tau=2\); set \(\varepsilon=10^{-5}\) and \(i=1\); while\(\left|\phi\left(\mathbf{u}^{(i)}\right)-\phi\left(\mathbf{u}^{(i-1)}\right) \right|\Big{/}\phi\left(\mathbf{u}^{(i)}\right)\Big{|}\geqslant\varepsilon\)do Step 1. Compute \(\mathbf{J}^{(i)}{}^{H}\mathbf{J}^{(i)}\) and \(\mathbf{g}^{(i)}\) respectively; Step 2. Compute \(\Delta\mathbf{u}^{(i)}\): \(\Delta\mathbf{u}^{(i)}=-\Big{(}\mathbf{J}^{(i)}{}^{H}\mathbf{J}^{(i)}+\lambda ^{(i)}\mathbf{I}_{Q}\Big{)}^{-1}\mathbf{g}^{(i)}\); Step 3. Update \(\mathbf{u}^{(i+1)}\): \(\mathbf{u}^{(i+1)}=\mathbf{u}^{(i)}+\Delta\mathbf{u}^{(i)}\); Step 4. Calculate the gain rate \(\alpha\): \(\alpha=\frac{\phi\left(\mathbf{u}^{(i+1)}\right)\cdot\phi\left(\mathbf{u}^{(i) }\right)}{\delta^{(i)}}\), where \(\delta^{(i)}=\Big{(}\mathbf{J}^{(i)}\Delta\mathbf{u}^{(i)}\Big{)}^{H}\mathbf{ z}\left(\mathbf{u}^{(i)}\right)+\frac{1}{2\left\|\mathbf{I}^{(i)}\Delta \mathbf{u}^{(i)}\right\|_{F}^{2}}\); Step 5. Update \(\lambda\) : If \(\alpha\geqslant 0\), \(\mathbf{u}^{(i+1)}\) is ture, and set \(\lambda^{(i+1)}=\lambda^{(i)}\max\left(1-(2\alpha-1)^{3},\;1/3\right)\) and \(\tau=2\). Otherwise, \(\mathbf{u}^{(i+1)}\) is invalid, and set \(\lambda^{(i+1)}=\tau\lambda^{(i)}\) and \(\tau\gets 2\tau\); Step 6. \(i\gets i+1\); endAcquire \(\mathbf{S}^{(\infty)}\) and \(\mathbf{H}^{(\infty)}\): \(\mathbf{S}^{(\infty)}=\left(unvec\left(\mathbf{u}_{\mathbf{S}}^{(\infty)} \right)\right)^{T}\), \(\mathbf{H}^{(\infty)}=\left(unvec\left(\mathbf{u}_{\mathbf{H}}^{(\infty)} \right)\right)^{T}\). Compute \(\mathbf{H}_{new}^{(\infty)}\): If \(L<\min\left(M_{S},M_{D}\right)\), \(\mathbf{H}_{new}^{(\infty)}=SVP\left(\mathbf{H}^{(\infty)}\right)\). Otherwise, \(\mathbf{H}_{new}^{(\infty)}=\mathbf{H}^{(\infty)}\).