|
Algorithm 2: Noise-Corrected Clustered-Sparse Channel Estimation Algorithm |
|
Input: the received signal ; the noise variance ; the length of discreted paths L;
|
|
the maximum number of iterations ; the maximun number of discreted
|
|
paths in one cluster ; the threshold for prunning small
|
|
hyperparameters ; the threshold to stop the whole algorithm .
|
|
Initialize: The PB-CSBL algorithm is utilized to obtain the posterior mean
|
|
and covariance matrix ; the noise vector ; the list of path
|
|
power ; the iteration counter .
|
| Cluster Evolution: |
|
1: for
do
|
|
2: for
do
|
|
3: , and update with .
|
|
4: end for
|
|
5: .
|
|
6: using the most significant continuous paths.
|
|
7: , where and can be obtained through .
|
|
8: end for
|
| Cluster Partition: |
|
9: FindIndex.
|
|
10: if is not empty then
|
|
11: and .
|
|
12: Split(, ), where is splitted into C clusters according
|
|
to .
|
|
13: end if
|
|
14: for
do
|
|
15: Update , and in according to , and , respectively.
|
|
16: end for
|
| Data Detection: |
|
17: Refer to (36) and (37).
|
| Noise Measurement: |
|
18: Update the noise vector according to (38).
|
| Channel Estimation: |
|
19: .
|
|
20: Obtain according to (11).
|
|
21: FindIndex and .
|
|
22: Refer to (32) and (33).
|
| Check stopping conditions: |
|
23: .
|
|
24: return the sub-part of until or .
|
|
Output: the pruned channel with the covariance matrix , the cluster list ,
|
|
the noise vector , and the transmitted data symbols for .
|