Skip to main content
. 2019 Dec 3;19(23):5330. doi: 10.3390/s19235330
Input parameters: observation y, measurement matrix  Φ, threshold α, initial step size  L0, δk.
Output parameters: sparse signal θ.
Initialization: signal margin r=y, sparsity k0=1, sparse signal θ=0, index set Λ0=, F0=, support set A0=, maximum atomic number Smax=M/2.
   (1) Calculate the correlation coefficient u by the formula u={ui|ui=|r,φi|,i=1,2,,N}, and select an index corresponding to the k0 maximum values from u to be stored in the index set Λ0.
   (2) If ||ΦΛ0TY||21δK1+δK||Y||2, then k0=k0+L; turn to Step (1).
   (3) Select T in u={ui|ui=|r,φi|,i=1,2,,N} that are greater than Th=αargmaxi=1,2,,N|r,φi|. If T<k0 , decrease the threshold value α; turn to Step (3). If T>Smax, increase the threshold value α; turn to Step (3).
   (4) Sort the selected atoms in Step (3) in descending order and select the first k0 values. The corresponding serial numbers of the selected values constitute the set J0, so F0=F0J0 and  A0=A0φJ0.
   (5) Determine the initial residual r=y(A0TA0)1A0Ty  for initialization stage stage=1.
   (6) Select T values greater than Th=αargmaxi=1,2,,N|r,φi| in u={ui|ui=|r,φi|,i=1,2,,N}, combine the sequence numbers corresponding to the selected values into a set Jt, and judge the selected atoms in descending order. If the number in set Jt 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 Ft=Ft1J0 , and check the number in Ft. If it is greater than Smax, terminate; otherwise, At=At1φJt.
   (8) Calculate the least-squares solution of y=Atθ, θt=(AtTAt)1AtTy , and update the residuals rt=yAtθt=y(AtTAt)1AtTy.
   (9) Check the margin rt. If rtε1(ε1103), terminate; otherwise, stage=stage + 1, L=stageL, and turn to Step (6);
   (10) Output sparse signal θ.