# Comparison of CS-Based Channel Estimation for Millimeter Wave Massive MIMO Systems
## 4 A Comparison of Sparse Signal Recovery Algorithms
### Convex Relaxation Algorithms  
(1) CVX-based Algorithm: It is hard to solve an optimization problem when the objective function to minimize the \(l_{0}\) norm is nonconvex. Fortunately, \(l_{1}\) norm has been proved to approximate it well and widely used in prior works [9; 10; 11]. By transforming the objective function from \(l_{0}\) norm to \(l_{1}\) norm, the optimization problem in Equation (12) can be formulated as a convex optimization problem, which can be expressed as  
\[\mathbf{\hat{h}}=\underset{\mathbf{h}}{\arg\min}\left\|\mathbf{h}\right\|_{1} +\lambda\|\mathbf{y}-\mathbf{\Phi}\mathbf{\Psi}\mathbf{h}\|_{2} \tag{13}\]where \(\lambda\) controls the tradeoff between the sparseness and estimation error and it is a key parameter that affects the rate of convergence, which needs to be updated in each iteration.  
To work out such a convex optimization problem, there are numerous toolboxes such as CVX and SeDumi [26; 27]. For the existing toolboxes, we can directly use them since the algorithms have been integrated into software such as MATLAB. However, the toolboxes are restricted by the hardware because the size of channel matrix may exceed the hardware memory when the transmitter and receiver deploy massive MIMO antennas. In addition, transforming the sparse channel recovery as a convex optimization problem will cause some performance loss and the quantization error of angles will limit the estimated performance. Besides, some extra procedures are included in the common toolboxes, which will increase the computational complexity of algorithm.  
(2) IR-based Algorithm: Except the existing toolboxes, authors in [9] adopted the gradient descent and iterative reweighting (IR) method to solve the minimum \(l_{0}\) norm problem. By replacing the objective function with a log-sum function, the optimization problem in Equation (12) can be rewritten as  
\[\min_{\mathbf{h},\mathbf{\theta}_{T},\mathbf{\theta}_{R}}S^{(i)}\left(\mathbf{h},\mathbf{ \theta}_{T},\mathbf{\theta}_{R}\right)\overset{\Delta}{=}\lambda^{-1}\mathbf{h}^ {H}\mathbf{D}^{(i)}\mathbf{h}+\left\|\mathbf{y}-\mathbf{\Phi}\mathbf{\
abla} \mathbf{h}\right\|_{2}^{2} \tag{14}\]  
where \(\mathbf{D}^{(i)}\) is a diagonal matrix and its elements are the estimation of path gains at the \(i\)th iteration. Then, by defining the maximal tolerance of channel gain error and the corresponding optimal value of objective function \(S\) at the \(i\)th iteration, we can update the \(\hat{\mathbf{\theta}}_{R}^{(i+1)}\) and \(\hat{\mathbf{\theta}}_{T}^{(i+1)}\) and compute the residue in each iteration via gradient descent method until the error is less than the threshold or iteration reaches the maximum.  
By using the gradient descent and IR method, the quantization error of angles and limited hardware memory can be effectively avoided. However, the complexity increases as complex matrix operations such as derivation are involved, which cannot meet the requirement of low delay. To reduce the computational complexity, some preconditioning procedures can be adopted such as the suitable choice of initial candidates and the iteration step size [9].