# Precise Channel Estimation Approach for a mmWave MIMO System
## 5 Algorithm Description  
Algorithm 1 demonstrates the proposed Ex-ADMM-based mmWave channel estimation scheme, which is originally derived from the ADMM described in [18; 28]. In the proposed Ex-ADMM algorithm, first of all, the parameters \(H^{(0)}=P_{1}^{(0)}=P_{2}^{(0)}=I^{(0)}=D^{(0)}=J^{(0)}=\widetilde{P}_{1}{}^ {(0)}=\widetilde{P}_{2}{}^{(0)}=\overline{I}^{(0)}=\widetilde{D}^{(0)}= \overline{J}^{(0)}=0\) are initialized [18]. The main objective of the proposed algorithm is to update \(H^{(I+1)}\) (in step 2). This step is the most crucial task, which is done by deriving the Lagrangian \(\mathcal{L}_{A}\) to \(\mathcal{L}_{1}\), and then implementing the SVT operator on Equation (22). In order to efficiently update \(H^{(I+1)}\), the SVT operator computes the \(\mu_{i}\) singular values of \(h_{i}\). At every instant, the proposed algorithm is required to run the subsampled version of \(H\) as an input, which is known as \(H_{\Psi}\). For the training procedure, the mmWave MIMO model detailed in Section 2, inspired from [12; 45], has been adopted. For the general case, let us assume that only a single set of transmitter and receiver antennas are operational at each illustration of \(t\). According to the adopted hardware structure described in Section 2, the transmitter's training precoding vectors and the receiver's training combining vectors have non-zero (unit) values at their respective ij-th position in matrix \(\Psi\). At any \(t\)-th training illustration, followed by the matrix \(\Psi\), the subsampled matrix \(H_{\Psi}\) also has the estimated non-zero values in the ij-th positions. In contrast, the length of the training symbols is equal to the position of the non-zero elements, i.e., \(T=M\) and \(M\ll N_{R}N_{T}\). This factor is the stopping criterion of the proposed Ex-ADMM algorithm. In step (3) of the proposed Ex-ADMM algorithm, to maintain the cyclical order, dual variables \(\widetilde{P}_{1}{}^{(I+1)}\) and \(\widetilde{P}_{2}{}^{(I+1)}\) are updated first, with the help of Equations (16) and (17). The values of the dual variables \(P_{1}\) and \(P_{2}\) can be directly calculated using Equations (23), (26), (31) and (34). In step (4), the first subproblem, \(\overline{I}^{(I+1)}\), has been updated using Equation (18). Steps (5) and (6) are used to update the second and third subproblems, \(\widetilde{D}^{(I+1)}\) and \(\overline{J}^{(I+1)}\), using Equations (19) and (20), respectively. \((\ P_{1}^{(I+1)},P_{2}^{(I+1)}I^{(I+1)},D^{(I+1)}\) and \(J^{(I+1)})\) have been updated in step (7) using Equation (21)). The relaxation factor \(\gamma\) provides better NMSE performance and a slightly improved convergence rate for all training lengths. Although Ex-ADMM is better than the other benchmark algorithms described in this paper, there is a major drawback regarding the knowledge produced during its implementation. When the proposed Ex-ADMM algorithm is implemented to solve sparse optimization problems on \(I^{(I+1)},D^{(I+1)},\ J^{(I+1)},\ P_{1}^{(I+1)}\) and \(P_{2}^{(I+1)}\), these parameters start losing their sparse nature. The reason behind this problem is that \(I^{(I+1)},\ D^{(I+1)},\ J^{(I+1)},\ P_{1}^{(I+1)}\) and \(P_{2}^{(I+1)}\) are the algebraic combinations of \((I^{(I)}\) and \(\overline{I}^{(I)})\), \((D^{(I)}\) and \(\overline{D}^{(I)})\), \((J^{(I)}\) and \(\overline{J}^{(I)})\), \((P_{1}^{(I)}\) and \(\overline{P}_{1}^{(I)})\) and \((P_{2}^{(I)}\) and \(\overline{P}_{2}^{(I)})\), respectively. The most expedient way to overcome this problem is, when the proposed algorithm reaches stopping criterion, to run only the cyclical part of the algorithm for one final iteration to ensure the sparsity (i.e., step 8).