| Input parameters: observation y, measurement matrix , threshold , initial step size , . |
| Output parameters: sparse signal . |
| Initialization: signal margin , sparsity , sparse signal , index set , , support set , maximum atomic number . |
| (1) Calculate the correlation coefficient u by the formula , and select an index corresponding to the maximum values from u to be stored in the index set . |
| (2) If , then ; turn to Step (1). |
| (3) Select T in that are greater than . If , decrease the threshold value α; turn to Step (3). If , increase the threshold value ; turn to Step (3). |
| (4) Sort the selected atoms in Step (3) in descending order and select the first values. The corresponding serial numbers of the selected values constitute the set , so and . |
| (5) Determine the initial residual for initialization stage . |
| (6) Select T values greater than in , combine the sequence numbers corresponding to the selected values into a set , and judge the selected atoms in descending order. If the number in set is less than or equal to the current step length L, turn to Step (7); if the number is greater than L, select the first L values and turn to Step (7). |
| (7) Update the index set and the support set, let , and check the number in . If it is greater than , terminate; otherwise, . |
| (8) Calculate the least-squares solution of
and update the residuals . |
| (9) Check the margin . If , terminate; otherwise, , , and turn to Step (6); |
| (10) Output sparse signal . |