|
Algorithm 1: Partition-Based Clustered-Sparse Bayesian Learning Algorithm |
|
Input: the received pilot signal ; the dictionary matrix ; the noise variance ;
|
|
the length of discrete paths L; the maximum number of iterations ;
|
|
the maximum number of discrete paths in one cluster ; the threshold for
|
|
prunning small hyperparameters ; the threshold to stop the whole
|
|
algorithm .
|
|
Initialize: the list of path power ; the number of clusters ;
|
|
the list of cluster structure : , and the delay range of
|
|
the 1st cluster ; the iteration counter .
|
| Channel Estimation: |
|
1: .
|
|
2: .
|
|
3: .
|
| Cluster Evolution: |
|
4: for
do
|
|
5: for
do
|
|
6: , and update with .
|
|
7: end for
|
|
8: .
|
|
9: using the most significant continuous paths.
|
|
10: , where and can be obtained through .
|
|
11: end for
|
| Cluster Partition: |
|
12: FindIndex.
|
|
13: if
is not empty then
|
|
14: and .
|
|
15: Split(, ), where is splitted into C clusters
|
|
according to .
|
|
16: FindIndex and .
|
|
17: end if
|
|
18: for
do
|
|
19: Update , and in according to , and , respectively.
|
|
20: end for
|
| Check stopping conditions: |
|
21: .
|
|
22: return the sub-part of until or
|
|
.
|
|
Output: the pruned channel with the covariance matrix and the
|
|
cluster list .
|