## 3 Proposed MIDE Algorithm
### ML Problem Formulation and IDE-Based Algorithm  
Detecting the transmitted symbol vector \(\mathbf{x}\) at the BS can be done by minimizing the squared Euclidean distance between the received signal vector \(\mathbf{y}\) and the hypothesized received signal \(\mathbf{Hx}\) with the vector \(\mathbf{x}\) constrained to the modulation constellation \(\Omega^{N_{t}}\), which can be represented as:  
\[\mathbf{\hat{x}}=\underset{x\in\Omega^{N_{t}}}{\arg\min}\left\|\mathbf{y}- \mathbf{Hx}\right\|_{2}^{2} \tag{3}\]  
It is noted that in Equation (3), the finite-alphabet constraint \(x\in\Omega^{N_{t}}\) can be converted into the indicator function \(\mathbf{I}_{\Omega}\left(\mathbf{\hat{x}}\right)\), which is given by:  
\[I_{\Omega}\left(\mathbf{\hat{x}}\right)=\left\{ \begin{array}{l}0,\text{if} \mathbf{\hat{x}}\in\Omega^{N_{t}}\\ \infty,\text{otherwise}\end{array} \right. \tag{4}\]  
By combining Equation (3) and (4), the signal detection problem can be converted into the constrained optimization problem, which is given by:  
\[\underset{\mathbf{z},\mathbf{\hat{x}}}{\text{minimize}} \left\|\mathbf{y}-\mathbf{Hz}\right\|_{2}^{2}+\mathbf{I}_{\Omega} \left(\mathbf{\hat{x}}\right)\] (5) s.t. \[\mathbf{z}-\mathbf{\hat{x}}=\mathbf{0}\]  
where \(\mathbf{z}\) is the least-squares solution of the least-squares and \(\mathbf{\hat{x}}\) is the estimated transmitted symbol. Since the optimization problem is defined over complex-valued variables, the Lagrangian objective function for the optimization problem in Equation (5) can be remodeled as:  
\[L_{\gamma}\left(\mathbf{z},\mathbf{\hat{x}},\mathbf{u}\right)=\left\|\mathbf{y }-\mathbf{Hz}\right\|_{2}^{2}+\mathbf{I}_{\Omega}\left(\mathbf{\hat{x}} \right)+\gamma\left\|\mathbf{z}-\mathbf{\hat{x}}\right\|+\mathbf{u}^{H}\left( \mathbf{z}-\mathbf{\hat{x}}\right) \tag{6}\]  
where \(\gamma>0\) is the penalty parameter and \(\mathbf{u}\) is the dual vector. In order to solve this problem efficiently, we decompose it into three sub-problems. First, we solve \(\mathbf{z}\) while holding \(\mathbf{\hat{x}}\) and \(\mathbf{u}\) fixed; then, we solve \(\mathbf{\hat{x}}\) while holding \(\mathbf{\hat{z}}\) and \(\mathbf{u}\) fixed; finally, we solve \(\mathbf{u}\) while holding \(\mathbf{\hat{x}}\) and \(\mathbf{z}\) fixed. Specifically, the following procedure is repeated with iterations. \[\mathbf{z}^{k}=\underset{\mathbf{z}}{\arg\min}\,L_{\gamma}\,\left(\mathbf{z},\mathbf{\hat{x}}^{k-1},\mathbf{u}^{k-1}\right) \tag{7}\]  
\[\mathbf{\hat{x}}^{k}=\underset{\mathbf{\hat{x}}}{\arg\min}\,L_{\gamma}\,\left( \mathbf{z}^{k},\mathbf{\hat{x}}^{k},\mathbf{u}^{k-1}\right) \tag{8}\]  
\[\mathbf{u}^{k}=\mathbf{u}^{k-1}+\gamma\left(\mathbf{z}^{k}-\mathbf{\hat{x}}^{ k}\right) \tag{9}\]  
Note that the \(\mathbf{z}\)-minimization procedure is convex, but the \(\mathbf{\hat{x}}\)-update is projected onto a convex set \(\Omega^{N_{t}}\). To make the iterative procedure converge, the IDE-based algorithm is applied to remove the dual vector \(\mathbf{u}\) at each iterative and turn the \(\mathbf{z}\)-update and \(\mathbf{\hat{x}}\)-update to reach a consensus. After manipulation, the \(\mathbf{\hat{x}}\)-update involves solving a linearly-constrained minimum Euclidean-norm problem, and the \(\mathbf{z}\)-update in IDE is given by:\[\mathbf{z}^{k}=\mathbf{\hat{x}}^{k-1}+\left[diag\left(\mathbf{H}^{H}\mathbf{H} \right)\right]^{-1}\mathbf{H}^{H}\left(\mathbf{y}-\mathbf{H}\mathbf{\hat{x}}^{k -1}\right) \tag{10}\]  
Hence, the \(\mathbf{\hat{x}}\)-update step can be represented as:  
\[\mathbf{\hat{x}}^{k+1}=\Pi_{\Omega}\left(\mathbf{z}^{k+1}\right) \tag{11}\]  
where \(\Pi_{\Omega}\left(\cdot\right)\) is the projection onto \(\Omega^{N_{t}}\), i.e., the elements of \(\mathbf{z}^{k+1}\) can be implemented through simple rounding of each component to the closest element in \(\Omega\).