## 5 Noise-Corrected Clustered-Sparse Channel Estimation
### Data Detection and Noise Measurement
Thus, the average noise power of the \(q\)th group can be calculated as  
\[\lambda_{g}^{(q)}=\frac{Q}{KM}\mathcal{I}\  
NC-CSCE algorithm can be further simplified by using the techniques in [34; 41], however, these simplifications may lead to the performance degradation of channel estimation because of the errors introduced by the approximations. The details of the simplifications are omitted here.  
```
0: the received signal \(\mathbf{y}\); the noise variance \(\lambda\); the length of discreted paths \(L\); the maximum number of iterations \(r_{max}\); the maximum number of discreted paths in one cluster \(LC_{max}\); the threshold for prunning small hyperparameters \(\gamma_{th}\); the threshold to stop the whole algorithm \(\epsilon\).
0:
1:for\(d=1,2,\dots,C\)do
2:for\(i=1,2,\dots,L_{d}\)do
3:\(\gamma_{d,i}\leftarrow\frac{1}{M}Tr\left[\mathbf{\mathrm{B}}_{d}^{-1}\left( \overline{\mathbf{\Sigma}}_{\mathbf{h}}^{d,i}+\overline{\mathbf{\mathrm{p}}}_{ \mathbf{h}}^{d,i}\left(\overline{\mathbf{\mathrm{p}}}_{\mathbf{h}}^{d,i}\right)^ {H}\right)\right]\), and update \(\mathbf{\gamma}_{list}\) with \(\gamma_{d,i}\).
4:endfor
5:\(L^{\prime}_{d}\gets min(L_{d},LC_{max})\).
6:\(\mathbf{\mathrm{B}}_{d}\leftarrow\frac{1}{L^{\prime}_{d}}\sum\limits_{i=1}^{L^{ \prime}_{d}}\frac{\overline{\mathbf{\Sigma}}_{\mathbf{h}}^{d,i}+\overline{\mathbf{ \mathrm{p}}}_{\mathbf{h}}^{d,i}\left(\overline{\mathbf{\mathrm{p}}}_{\mathbf{h}}^ {d,i}\right)^{H}}{\gamma_{d,i}}\) using the \(L^{\prime}_{d}\) most significant continuous paths.
7:\(\beta_{d}\leftarrow\frac{\alpha_{1}}{\alpha_{0}}\), where \(\alpha_{1}\) and \(\alpha_{0}\) can be obtained through \(\mathbf{\mathrm{B}}_{d}\).
8:endfor
9:Cluster Partition:
10:\(\mathbf{p}^{(0)}\leftarrow\mathrm{FindIndex}(0<\mathbf{\gamma}_{list}<\gamma_{th})\).
11:if\(\mathbf{p}^{(0)}\) is not empty then
12:\(\mathbf{\gamma}_{list}^{(old)}\leftarrow\mathbf{\gamma}_{list}\) and \(\mathbf{\gamma}_{list}[\mathbf{p}^{(0)}]\leftarrow\mathbf{0}\).
13:\(\mathbf{\mathrm{CLS}}\leftarrow\mathrm{Split}(\mathbf{\mathrm{CLS}},\mathbf{p}^{(0)})\), where \(\mathbf{\mathrm{CLS}}\) is splitted into \(C\) clusters according to \(\mathbf{p}^{(0)}\).
14:endif
15:for\(d=1,2,\dots,C\)do
16: Update \(R_{d}\), \(\mathbf{\mathrm{T}}_{d}\) and \(\mathbf{\mathrm{B}}_{d}\) in \(\mathbf{\mathrm{CLS}}\) according to \(\mathbf{p}^{(0)}\), \(\mathbf{\gamma}_{list}\) and \(\beta_{d}\), respectively.
17:endfor
18:Data Detection:
19:Refer to (36) and (37).
20:Noise Measurement:
21:Update the noise vector \(\mathbf{\lambda}\) according to (38).
22:Channel Estimation:
23:\(\mathbf{\Sigma}_{0}\leftarrow diag(\mathbf{\Gamma}_{1}\otimes\mathbf{\mathrm{B}}_{1},\mathbf{ \Gamma}_{2}\otimes\mathbf{\mathrm{B}}_{2},\dots,\mathbf{\Gamma}_{C}\otimes\mathbf{ \mathrm{B}}_{C})\).
24:Obtain \(\mathbf{U}\) according to (11).
25:\(\mathbf{p}^{(1)}\leftarrow\mathrm{FindIndex}(\mathbf{\gamma}_{list}\geq\gamma_{th})\) and \(\mathbf{U}\leftarrow\mathbf{U}[:,\mathbf{p}^{(1)}\otimes(1:M)]\).
26:Refer to (32) and (33).
27:Check stopping conditions:
28:\(r\gets r+1\).
29:return the sub-part of Cluster Evolution until \(r\geq r_{max}\) or \(\|\gamma_{list}-\gamma_{list}^{(old)}\|_{2}^{2}<\epsilon\).
30:the pruned channel \(\overline{\mathbf{\mu}}_{\mathbf{h}}\) with the covariance matrix \(\overline{\mathbf{\Sigma}}_{\mathbf{h}}\), the cluster list \(\mathbf{\mathrm{CLS}}\), the noise vector \(\mathbf{\lambda}\), and the transmitted data symbols \(\mathbf{\mathrm{x}}_{\mathbf{d}}^{(m)}\) for \(m=1,2,\dots,M\).
```  
**Algorithm 2**Noise-Corrected Clustered-Sparse Channel Estimation Algorithm  
Based on the noise-resistant Bayesian channel estimation in the NC-CSCE algorithm, the MSE bound of the sparse vector \(\mathbf{h}\) can be expressed as  
\[E\Big{[}\|\mathbf{h}-\widehat{\mathbf{h}}\|_{2}^{2}\Big{]}\geq Tr(\overline{ \mathbf{\Sigma}}_{\mathbf{h}})=Tr\left[\mathbf{\Sigma}_{0}-\mathbf{\Sigma}_{0}\mathbf{U}^{ H}\Big{(}\mathbf{\Lambda}+\mathbf{U}\mathbf{\Sigma}_{0}\mathbf{U}^{H}\Big{)}^{-1} \mathbf{U}\mathbf{\Sigma}_{0}\right], \tag{39}\]where \(\widehat{\widehat{\mathbf{h}}}\) is the estimate of \(\mathbf{h}\).