## 2 Methods
### Dual-Driven Learning-Based MIMO Signal Detection
\begin{array}{c}\text{Re}(\mathbf{y}_{k})\\ \text{Im}(\mathbf{y}_{k})\end{array} \right]=\left[ \begin{array}{cc}\text{Re} (\mathbf{H}_{k})&-\text{Im}(\mathbf{H}_{k})\\ \text{Im}(\mathbf{H}_{k})&\text{Re}(\mathbf{H}_{k})\end{array} \right]\left[ \begin{array}{c}\text{Re}(\mathbf{s}_{k})\\ \text{Im}(\mathbf{s}_{k})\end{array} \right]+\left[ \begin{array}{c}\text{Re} (\mathbf{n}_{k})\\ \text{Im}(\mathbf{n}_{k})\end{array} \right]. \tag{3}\]  
We can drop the subscript \(k\) in Equation (3) for brevity since the dual-driven learning-based MIMO detector operates equally across all subcarriers. Equation (3) can be expressed as  
\[\mathbf{\overline{y}}=\mathbf{\overline{H}}\mathbf{\overline{s}}+\mathbf{ \overline{n}}. \tag{4}\]  
To detect symbols \(\mathbf{\overline{s}}\) with a known \(\mathbf{\overline{H}}\), \(\mathbf{\overline{y}}\), and noise variance \(\sigma_{n}^{2}\), the OAMP algorithm iteratively passes information between a linear estimator (LE) and a nonlinear estimator (NLE) [24]:  
\[\mathbf{r}_{t} =\mathbf{\widehat{s}}_{t}+\mathbf{W}_{t}\big{(}\mathbf{\overline{y}}- \mathbf{\overline{H}}\mathbf{\widehat{s}}_{t}\big{)}, \tag{5}\] \[\mathbf{\widehat{s}}_{t+1} =\eta_{t}(\mathbf{r}_{t}). \tag{6}\]  
Equations (5) and (6) represent the LE and NLE in the OAMP algorithm. \(\mathbf{r}_{t}\) and \(\mathbf{\widehat{s}}_{t+1}\) are the LE and NLE's outputs, representing the information exchanged in each iteration;  
Figure 3: Structure of the proposed dual-driven learning-based MIMO symbol detection network. and \(t+1\) are the iteration indexes; \(\mathbf{W}_{t}\) is the decorrelated matrix; and \(\eta_{t}(\cdot)\) is the nonlinear divergence-free estimator [24]. The LE and NLE error vectors, \(\mathbf{p}_{t}\) and \(\mathbf{q}_{t}\), are defined as \(\mathbf{p}_{t}=\mathbf{r}_{t}-\mathbf{\overline{s}}\) and \(\mathbf{q}_{t}=\mathbf{\widehat{s}}_{t}-\mathbf{\overline{s}}\). The error variance estimators \(\tau_{t}^{2}\) and \(v_{t}^{2}\) of \(\mathbf{p}_{t}\) and \(\mathbf{q}_{t}\) are defined as \(\tau_{t}^{2}=\frac{1}{2N_{\text{t}}}\mathbb{E}\Big{[}\|\mathbf{p}_{t}\|_{2}^{2 }\Big{]}\) and \(v_{t}^{2}=\frac{1}{2N_{\text{t}}}\mathbb{E}\Big{[}\|\mathbf{q}_{t}\|_{2}^{2} \Big{]}\), respectively [24]. \(\mathbb{E}[\cdot]\) and \(\left\|\cdot\right\|_{2}\) denote the expectation function and the \(\ell_{2}\) norm, respectively. According to the OAMP algorithm [24], \(v_{t}^{2}\) can be calculated as follows:  
\[v_{t}^{2}=\frac{\left\|\mathbf{\overline{y}}-\mathbf{\overline{H}}\mathbf{ \widehat{s}}_{t}\right\|_{2}^{2}-N_{\text{r}}\sigma_{\mathbf{n}}^{2}}{\text{ tr}\left(\mathbf{\overline{H}}^{\text{T}}\mathbf{\overline{H}}\right)}, \tag{7}\]  
where \(\text{tr}\left(\mathbf{\overline{H}}^{\text{T}}\mathbf{\overline{H}}\right)\) denotes the trace of matrix \(\mathbf{\overline{H}}^{\text{T}}\mathbf{\overline{H}}\). In our implementation, we incorporate a smoothing technique to update \(v_{t+1}^{2}\) by using a convex combination of the previous estimate \(v_{t}^{2}\) and the newly calculated estimate \(v_{t+1}^{2}\) based on Equation (7): \(v_{t+1}^{2}=\frac{1}{2}\big{(}v_{t+1}^{2}+v_{t}^{2}\big{)}\). Additionally, to prevent stability issues, we set the final value \(v_{t+1}^{2}\) for each iteration to \(v_{t+1}^{2}=\text{max}\big{(}v_{t+1}^{2},\epsilon\big{)}\), where \(\text{max}(\cdot)\) returns the maximum value and \(\epsilon\) is set to \(\epsilon=1\times 10^{-10}\). This ensures that the value of \(v_{t+1}^{2}\) does not become too small, maintaining calculation stability. As mentioned earlier, the matrix \(\mathbf{W}_{t}\) is the decorrelated matrix, which satisfies \(\text{tr}\big{(}\mathbf{I}-\mathbf{W}_{t}\mathbf{\overline{H}}\big{)}=0\) to ensure that \(\mathbf{p}_{t}\) and \(\mathbf{\overline{s}}\) are uncorrelated. Here, \(\mathbf{I}\) denotes the identity matrix.