Skip to main content
. 2019 Aug 13;19(16):3531. doi: 10.3390/s19163531
Algorithm 4 NIHT

 Input: A=ΦΨ,y,k
 Initialize:
 Λ0=argmax|Λ|=k∥AΛTy∥1//find the columns ofAT that are the// most strongly correlated with residualx0=AΛ0†y// find the best coefficients for residual approximationt=0
 Output: k-sparse coefficient vector x
 whilet<Niterdo
  rt=Axt−y // update residual
  ρ=minj∥aj∥21∥a1∥2,…,1∥aN∥2 // step size vector
  qt=ρ⊙(ATrt) // normalized gradient vector
  Λt+1=Λt+1★ // initialize the set of sparsity Λt+1
  ift>0then
   while (stop criterion on Λt+1) do
   x˜t+1=xt−μt(Λt+1)qt  // update xt with step size μt given by (46)
   Λt+1=suppk,Ψ(x˜t+1)  // update set of sparsity Λt+1
   xt+1=F(x˜t+1,Λt+1)  // find sparse vector xt+1
   end while
  else
   x˜t+1=xt−μt(IN)qt
   [xt+1]k=F(x˜t+1,suppk,Ψ(x˜t+1))  // find sparse vector xt+1
  end if
  t=t+1
 end while