If flag2 = 0, Jt = max {,L}, search for the most matching first L atomic indexes; if flag2 > 0, Jt = max {, }, select the first L1 atomic indexes.
(2)
Ct = Λt−2 ∪ Jt.
(3)
,Ft = max {,L}. Store the first L (L1) optimal atomic indexes in Ct into Ft.
(4)
. Calculate the residual.
(5)
If ║rt║2 ≥ Th2, go to 6; otherwise, judge whether flag1 = 0 is satisfied. If it is satisfied, set flag1 = 1, Λt = Ft = Ft−1, rt−1 = rt−2, L = L − S1, t=t + 1 and go to 1; if not, output .
(6)
If ║rt║2 ≤ Th1, go to 7; otherwise, judge whether ║rt║2 ≥ ║rt−1║2 is satisfied. If it is satisfied, there are Stage=Stage+1, S = round () = S1, t=t + 1, and if flag1 = 1, make S1 = 0.45S, L=L+S1, go to 1; otherwise, there are Λt = Ft, rt−1 = rt, t=t + 1, go to 1.
(7)
−1flag2 = flag2 + 1, if ║rt║2 ≥ ║rt−1║2, Stage=Stage + 1, S = round (a ln (S0 + Stage)) = S1, t=t + 1, go to 1, and if flag1 = 1, so S1 = 0.2S, L=L+S1, go to 1; otherwise, Λt = Ft, rt-1 = rt-2, t=t + 1, go to 1.
Until iteration stop condition is true.
Output: Estimated sparse signal ; estimated signal sparsity .