## 3 Proposed Methods
### The Enhanced OMP Channel Estimation Algorithm
In the proposed CPS-IOMP algorithm, the index of the selected column of the simplified dictionary matrix can be written as  
\[\lambda_{s}=\underset{i=1,\mathcal{L}_{2}\rightarrow\cdots\mathcal{L}_{U}}{ \operatorname{argmax}}\left|\langle\mathbf{a}_{i},\mathbf{r}_{s-1}\rangle\right|, \tag{24}\]  
where \(\langle\cdot\rangle\) denotes the inner product operation, \(|\cdot|\) denotes the absolute value of a scalar, \(s\) is the iteration time, \(\mathbf{r}_{s-1}\) is the residual vector in the previous iteration, and the initialized residual vector, \(\tau_{0}\), is \(\mathbf{y}_{\text{P}}\). Then, the index is added to the support set, \(\mathcal{I}\). That is,  
\[\mathcal{I}=\mathcal{I}\cup\{\lambda_{s}\}. \tag{25}\]  
Obviously, the initialized support set is blank. According to the support set, the coefficients can be measured via the least-squares (LS) method as  
\[\hat{\mathbf{h}}_{s}=\mathbf{\Lambda}^{\dagger}[\mathcal{I}]\mathbf{y}_{\text{P}}, \tag{26}\]  
where \((\cdot)^{\dagger}\) denotes the Moore-Penrose pseudo-inversion operation and \(\mathbf{\Lambda}[\mathcal{I}]\) denotes the submatrix of \(\mathbf{\Lambda}\) with the column index belonging to set \(\mathcal{I}\). Finally, the residual vector can be updated as  
\[\mathbf{r}_{s}=\mathbf{y}_{\text{P}}-\mathbf{\Lambda}[\mathcal{I}]\hat{\mathbf{h}}_{s}. \tag{27}\]  
The procedure of the CPS-IOMP algorithm is summarized in Algorithm 1. ```
Input: dictionary matrix, \(\mathbf{\Lambda}\); received preamble signal after Doppler compensation, \(\mathbf{y}_{\text{P}}\); threshold \(\eta\). Initialization: residual vector, \(\mathbf{r}_{0}=\mathbf{y}_{\text{P}}\); support set, \(\mathcal{I}=\mathcal{O}\). 1: Perform the correlation processing between the received preamble signal after Doppler compensation and the locally generated preamble signal. 2: Search for the correlation peaks with normalized amplitude larger than threshold \(\eta\). 3: Estimate the channel sparsity \(k\) and construct the simplified dictionary matrix \(\Lambda\). 4: for \(s=1\) to \(k\) do
5: Perform (24);
6: Perform (25);
7: Perform (26);
8: Perform (27);
9: end for Output:\(\hat{\mathbf{h}}_{k}\). ```  
**Algorithm 1**CPS-IOMP algorithm  
For the CPS-IOMP algorithm, the threshold selected in the channel sparsity estimation module impacts both the computational complexity and estimation accuracy. A smaller threshold filters more correlation peaks, which results in more columns in the simplified dictionary matrix and higher computational complexity. In addition, a smaller threshold increases the estimated channel sparsity, which leads to more iterations in the CPS-IOMP algorithm and increases the computational complexity. And an excess estimated sparsity may potentially reduce performance. Conversely, a larger threshold filters fewer correlation peaks, which leads to a lower estimated channel sparsity. When the estimated channel sparsity is too small, both the computational complexity and the performance of the proposed channel estimation algorithm reduce significantly. Hence, the threshold should be selected to achieve a trade-off between computational complexity and estimation performance. In the next section, we determine the selection of the threshold based on the simulation results of the performance of the CPS-IOMP algorithm over different thresholds and computational complexities.