# An Improved Jacobi-Based Detector for Massive MIMO Systems
## 3 Proposed Algorithm for MIMO Detection
### Improved Jacobi Algorithm  
For achieving a fast convergence of the estimation of \(\mathbf{x}\), the SD method is applied to provide an efficient searching direction for Jacobi algorithm [20], which is called the SD-Jacobi iteration in this work. The combined iteration consists of two steps:  
(1) During the first half of the iteration, utilize the SD method to compute symbol vector as  
\[\bar{\mathbf{x}}^{(k+1/2)}=\bar{\mathbf{x}}^{(k)}+\alpha_{k}\mathbf{r}^{(k)}, \tag{5}\]  
where \(\mathbf{r}^{(k)}=\mathbf{b}-\mathbf{A}\bar{\mathbf{x}}^{(k)}\) is the residual vector, and \(\alpha_{k}\) represents the variable step size, respectively. The step size \(\alpha_{k}\), which depends on \(\mathbf{r}^{(k)}\), is determined by  
\[\alpha_{k}=\frac{\left[\mathbf{r}^{(k)},\mathbf{r}^{(k)}\right]}{\left[ \mathbf{A}\mathbf{r}^{(k)},\mathbf{r}^{(k)}\right]}. \tag{6}\]  
(2) During the second half of the iteration, conduct Jacobi iteration, which is given by  
\[\bar{\mathbf{x}}^{(k+1)}=\mathbf{D}^{-1}\left[\left(\mathbf{D}-\mathbf{A} \right)\bar{\mathbf{x}}^{(k+1/2)}+\mathbf{b}\right]=\mathbf{D}^{-1}\left( \mathbf{D}-\mathbf{A}\right)\bar{\mathbf{x}}^{(k+1/2)}+\mathbf{D}^{-1} \mathbf{b}=\mathbf{G}\bar{\mathbf{x}}^{(k+1/2)}+\mathbf{D}^{-1}\mathbf{b}, \tag{7}\]  
where \(\mathbf{G}=\mathbf{D}^{-1}\left(\mathbf{D}-\mathbf{A}\right)=\mathbf{I}- \mathbf{D}^{-1}\mathbf{A}\). Substituting Equation (5) into Equation (7) yields  
\[\bar{\mathbf{x}}^{(k+1)} =\mathbf{G}\left(\bar{\mathbf{x}}^{(k)}+\alpha_{k}\mathbf{r}^{( k)}\right)+\mathbf{D}^{-1}\mathbf{b}=\bar{\mathbf{x}}^{(k)}+\alpha_{k} \mathbf{r}^{(k)}-\mathbf{D}^{-1}\mathbf{A}\left(\bar{\mathbf{x}}^{(k)}+\alpha _{k}\mathbf{r}^{(k)}\right)+\mathbf{D}^{-1}\mathbf{b} \tag{8}\] \[=\bar{\mathbf{x}}^{(k)}+\alpha_{k}\mathbf{r}^{(k)}+\mathbf{D}^{- 1}\left(\mathbf{b}-\mathbf{A}\bar{\mathbf{x}}^{(k)}-\alpha_{k}\mathbf{A} \mathbf{r}^{(k)}\right)=\bar{\mathbf{x}}^{(k)}+\alpha_{k}\mathbf{r}^{(k)}+ \mathbf{D}^{-1}\left(\mathbf{r}^{(k)}-\alpha_{k}\mathbf{A}\mathbf{r}^{(k)}\right)\] \[=\bar{\mathbf{x}}^{(k)}+\alpha_{k}\mathbf{r}^{(k)}+\mathbf{D}^{- 1}\left(\mathbf{r}^{(k)}-\alpha_{k}\mathbf{p}^{(k)}\right),\]  
where \(\left\{ \begin{array}{c}\mathbf{r}^{(k)}=\mathbf{b}-\mathbf{A}\bar{\mathbf{x }}^{(k)}\\ \alpha_{k}=\frac{\left[\mathbf{r}^{(k)},\mathbf{r}^{(k)}\right]}{\left[\mathbf{ p}^{(k)},\mathbf{r}^{(k)}\right]}\\ \mathbf{p}^{(k)}=\mathbf{A}\mathbf{r}^{(k)}.\end{array} \right.\)  
Equation (8) shows that, at each iteration, the involved SD method improves the convergence rate of the Jacobi iteration. However, when the iterative estimation is close to the solution, the SD method no longer provides an efficient iteration direction. Hence, a whole-correction method is applied to continue improving the convergence of the SD-Jacobi iteration afterwards, which is introduced below. The whole-correction method is designed to solve the optimal convergence problem in a linear system [21]. It assigns the different weights to a series of approximate solutions of the iterations to obtain the optimal solution, which is presented below. Suppose \(\bar{\mathbf{x}}_{1},\bar{\mathbf{x}}_{2},\cdots,\bar{\mathbf{x}}_{m}\left(m >1\right)\) are the approximate iterative solutions of the symbol vector in Equation (2), which are assumed mutually exclusive. In this work, let \(\bar{\mathbf{x}}_{1}=\bar{\mathbf{x}}^{(k-m+1)},\bar{\mathbf{x}}_{2}=\bar{ \mathbf{x}}^{(k-m+2)},\cdots,\bar{\mathbf{x}}_{m}=\bar{\mathbf{x}}^{(k)}\), where \(m\) is the number of selected solutions, which isdiscussed later. Considering the different weights to the iterative solutions, the vector \(\bar{\mathbf{x}}\), which represents the updated \(\bar{\mathbf{x}}^{(k)}\), can be expressed as  
\[ \begin{array}{l}\bar{\mathbf{x}}=a_{1}\bar{\mathbf{x}}_{1}+a_{2}\bar{\mathbf{ x}}_{2}+\cdots+a_{m}\bar{\mathbf{x}}_{m},\\ a_{1}+a_{2}+\cdots+a_{m}=1,\end{array}  \tag{9}\]  
where the weight \(a_{i}\) denotes the contribution ratio of \(\bar{\mathbf{x}}_{i}\) to \(\bar{\mathbf{x}}\).