A New Generalized Orthogonal Matching Pursuit Method

To improve the reconstruction performance of the generalized orthogonal matching pursuit, an improved method is proposed. Columns are selected from the sensing matrix by generalized orthogonal matching pursuit, and indices of the columns are added to the estimated support set to reconstruct a sparse signal.Those columns contain error columns that can reduce the reconstruction performance. Therefore, the proposed algorithm adds a backtracking process to remove the low-reliability columns from the selected column set. For any k-sparse signal, the proposed method firstly computes the correlation between the columns of the sensing matrix and the residual vector and then selects s columns that correspond to the s largest correlation in magnitude and adds their indices to the estimated support set in each iteration. Secondly, the proposed algorithm projects the measurements onto the space that consists of those selected columns and calculates the projection coefficient vector. When the size of the support set is larger than k, the proposed method will select k high-reliability indices using a search strategy from the support set. Finally, the proposedmethod updates the estimated support set using the selected k high-reliability indices.The simulation results demonstrate that the proposed algorithm has a better recovery performance.


Introduction
In recent years, a new theory named compressive sensing (CS) [1] has surpassed the limits of the Nyquist sampling rate.Because CS can recover signals at a sampling frequency far lower than the Nyquist sampling rate, CS has aroused tremendous interests over the past few years [2,3].CS differs from the traditional Nyquist sampling theory and includes three procedures: sparse representation, nonrelated linear measurement, and signal reconstruction.The reconstruction algorithm aims to recover signals accurately from the measurements, and this step is one of most important parts of CS.
Recently, many reconstruction algorithms have been proposed to obtain the original sparse signal from measurements.Two major classes of reconstruction algorithms are  1 -minimization and greedy pursuit algorithms.Common  1 -minimization approaches include basis pursuit (BP) [4], Gradient projection for sparse reconstruction (GPSR) [5], iterative thresholding (IT) [6], and other algorithms.Those algorithms possess good performance in solving a convex minimization problem, but they have a higher computational complexity.
Greedy algorithms have received increasing attention for their excellent performance and small cost in recovering sparse signals from compressed measurements.A greedy algorithm proposed early on was the matching pursuit algorithm (MP) [7].Building on the MP algorithm, the orthogonal matching pursuit algorithm (OMP) [8] was proposed to optimize the MP via orthogonalization of the estimate support set.The OMP has become a well-known greedy algorithm with wide application.The regularized orthogonal matching pursuit algorithm (ROMP) [9] was developed to refine the selected columns of the measurement matrix with a regularized rule to improve the speed of OMP.The stage wise orthogonal matching pursuit (StOMP) [10] selects multiple columns in each iteration via a presupposed threshold.The subspace pursuit (SP) [11] and compressive sampling matching pursuit (CoSaMP) [12] proposed similar improvement methods.Both of these algorithms were proposed with the idea of backtracking, and the difference is that SP selects  columns from the sensing matrix for each iteration, while CoSaMP selects 2.The generalized orthogonal matching pursuit (GOMP) was proposed by Wang et al. [13,14].The algorithm selects  ( ≤ ) columns in each iteration.

Journal of Electrical and Computer Engineering
When  = 1, GOMP is identical to OMP.Compared to OMP, which selects only one column in each iteration, GOMP changes the number of columns that are selected in each iteration to improve the computational efficiency and recovery performance.The generalized OMP (GOMP) has received increasing attention in recent years, because the method can enhance the recovery performance of OMP.Several papers have been published on the analysis of the theoretical performance of GOMP [13][14][15][16][17].

Compressive Sensing Model
Compressive sensing requires that the target signal is a sparse signal.It means that if we regard the signal as a dimensional vector , there should be at most  no-zero elements in .However, in practical applications, sparse signals may not exist in all cases.The target signal has to be transformed into a sparse signal based on a set of sparse basis Ψ = { 1 ,  2 ,  3 , . . .,  푁 }.In this case,  can be defined as where ‖‖ 0 = ; ‖ ⋅ ‖ 0 denotes the number of nonzero elements in a vector.Thus, the signal  is equivalently represented by -sparse vector  under some linear transformation Ψ in some domains.The process of compressive sensing can be regarded as a technique that automatically selects relevant information from signals by a measurement.In the theory,  is translated into -dimensional measurements  via a matrix multiplication with Φ.We express it as where Φ is defined as the measurement matrix with dimensions  × .Combining (1) with (2), we can obtain where  CS = ΦΨ.
In most scenarios,  ≪ .Thus, we can interpret that  is compressed into  with a dimension ranging from  to .Clearly, (3) is an underdetermined equation, and it is difficult to obtain an accurate solution based on the equation.That is to say, it is impossible with traditional methods that obtain the inverse of the matrix Φ to reconstruct the original signal  accurately.In this case, we can obtain  by solving the  푝minimization problem: Several methods exist for solving this problem.When  = 1, the problem is a  1 -minimization problem, which can be solved by using a convex optimization algorithm.When  = 0, the problem is a  0 -minimization problem, which can be solved using a greedy algorithm.An appropriate condition for exact recovery is that the matrix  CS satisfies the condition of restricted isometry property (RIP) condition [1].Definition 1.A sensing Matrix  CS is said to satisfy the RIP condition with the smallest number of the -restricted isometry constant  퐾 ( 퐾 ∈ (0, 1)), if holds for any -sparse vector  ∈  푁×1 with ‖‖ 0 ≤ .

GOMP Algorithm
Greedy algorithms are used widely to recover signals in CS due to their simple algorithms and low computational complexity.Two methods exist for improving the OMP algorithm.
The first method is based on the idea of backtracking, as in the subspace pursuit algorithm (SP) [11].The second method selects more than one atom in each iteration, as in GOMP.
The computational complexity of the backtracking method is higher, but it yields higher accuracy in most cases.In this section, we will introduce the GOMP algorithm.GOMP firstly computes the correlation between the columns of the sensing matrix Φ and the residual vector  푘−1 by Φ 耠  푘−1 and then selects  columns that correspond to the  largest correlation in magnitude adding their indices to the estimated support set Λ 푘 in each iteration.Next the projection coefficient vector xΛ  of measurements  onto space of span(Φ Λ  ) is obtained using the least square method (LS).The residual  푘 is revised by subtracting Φ Λ  xΛ  from .These operations are repeated until either the iteration number reaches the maximum  = min{, /}, or the  2 -norm of the residual falls below a threshold .For ease of understanding, we describe the GOMP algorithm in Algorithm 1 according to [13,14].
In Algorithm 1, we observe that the only difference between GOMP and OMP is that the GOMP selects more than one atom in each iteration.The GOMP algorithm selects  ( ≥ 1) atoms in each iteration.When  = 1, the GOMP is identical to OMP.

Improved GOMP Algorithm
For the usage of greedy algorithms, it is important to generate an estimate of the correct support set.We assume the correct support is , and the estimate of  is Λ 푘 .The goal is to determine the indices for Λ 푘 that are most similar to .GOMP selects  columns from the sensing matrix Φ and added the indices of these columns to the estimated support set Λ 푘 to reconstruct a sparse signal.Those columns contain columns that be selected by error.Although GOMP allows for a number of error indices in Λ 푘 , these error indices will lead to the size of Λ 푘 larger than .This increases the algorithm complexity greatly in the process of estimation of  Λ  and residual update in the GOMP.
In the process of estimation of  Λ  , the projection coefficient vector of the measurements onto the space of span(Φ Λ  ) can be expressed as Input: measurements  ∈  푀×푁 , sensing matrix Φ ∈  푀×푁 , Sparsity , Initialize: number of indices of columns for each selection  ( ≤ ).
iteration count  = 0, residual vector Then record the indices {()} 푖=1,2,3,...,푆 corresponding to the entries. (Augmentation) Algorithm 1: GOMP algorithm. where are the measurements of the signal vector .The cost of ( 6) is where  represents the number of indices of columns for each selection,  is the number of iterations, and  is the dimensionality of measurements  [13].
In the process of estimation of residual update, the residuals in GOMP can be expressed as where  represents the measurements, Φ Λ  is the estimated support set, and xΛ  is the projection coefficient vector of the measurements onto the space of the estimated support set.
where  is the number of iterations and  is the number of indices of columns for each selection.GOMP selects  indices in each iteration and adds them to Λ 푘 .On the -th iteration,  indices will be selected, and the dimensionality of Φ Λ  is  × .If all the indices in the estimated support set Λ 푘 are correct, Λ 푘 is identical to  and  ≈ .Although a selection rule exists to ensure that newly added indices belong to the correct support  in GOMP, it is unavoidable that the error indices are selected and once selected, the error indices of the selected columns will remain in the support set throughout the remainder of the reconstruction process.It means  > .Generally speaking, when a large  is selected, the GOMP should exert higher efficiency than a small .However, as  increases, the probability of the selected error indices increases as well.When a large number of error indices are selected, it leads to a great increase in , further increasing the cost of the algorithm.
To overcome this problem, we propose a method to improve the performance of GOMP.The proposed method will retain the size of the estimated support set as  and update the indices using the backtracking method to reduce the number of error indices, when the number of indices is greater than .Even if an index is deemed reliable in some iteration, when it is considered unreliable in subsequent iterations, the index will be removed from the estimated support set.This can reduce the number of error indices in the estimated support set.
The main difference between the proposed and the conventional GOMP algorithm is that the new algorithm can add or remove the index from the estimated support set at any stage of the recovery process.The proposed algorithm increases the reliability of the indices of the estimated support set and furthermore reduces the cost of the reconstruction process.The process of proposed algorithm is expressed in Algorithm 2.
In Algorithm 2, we observe that the proposed method adds a backtracking step to the GOMP algorithm.When  is small, it has a high accuracy for the identification process.When  = 1, GOMP is identical to OMP.At this step, GOMP has the highest accuracy in the identification step.Algorithm 2: Improved method of GOMP.
As  increases, the probability of the selected error indices increases as well.The proposed method adds a backtracking process to remove those error indices in subsequent iterations.When  ≤ , the proposed method requires more than one iteration to create a -sized support set.When  < , the support set cannot contain  correct indices, and executing the backtracking step is unnecessary and will cause wasteful computation.Therefore, we designed the algorithm to execute the backtracking step when  ≥ .The dimensionality of  Λ  is  × 1 before executing the backtracking step.So the improved algorithm determines whether to execute the backtracking step by the size of  Λ  .Experimental evidence demonstrated that our changes improved the performance.We will describe our simulation in the next section.

Simulation and Discussion
In this part, we will demonstrate the performance of the proposed algorithm with sparse signals.We used the same sparse signal sources as in GOMP with -sparse to compare the performances of the different algorithms.The components of the sensing matrix were generated randomly with Gaussian distribution, and the size of the sensing matrix was 128 × 256.We used MATLAB 7.0 with a quad-core 64-bit processor in a Windows 10 environment.We executed each algorithm 1000 times and recorded the probability of the exact reconstructions.We set the threshold  = 10 −6 used in [13] in both GOMP and the proposed method.In Figure 1, we compare the probability of successful reconstruction of the proposed method with the ROMP [9], OMP [8], SP [11], CoSaMP [12], and StOMP [10] algorithms.It is evident from Figure 1 that the reconstruction performance of ROMP decreased rapidly with a rise in .When  = 20, the recovery probability was near zero.The probability of successful recovery of OMP decreased at a smaller rate than that of ROMP, and its critical sparsity was reached at  = 55.CoSaMP and StOMP had similar performances.Both retained a high recovery performance when  ≤ 40.The probability of successful recovery of SP was higher than for ROMP, OMP, CoSaMP, and StOMP with the same .For our proposed method, we tested the performance with different  values, representing the number of selected columns in each iteration.We set  = 10 and  = 20.Figure 1 indicates that the smaller the value of , the higher the probability of successful recovery of the proposed algorithm with the same .Compared to the other algorithms, under the same conditions, the proposed method with  = 10 had the highest probability of successful recovery, followed by the proposed method with  = 20, and followed by the SP algorithm.The proposed algorithm with different  values had a higher probability than the other algorithms.
In Figures 2 and 3, we compare the performances of the proposed method and GOMP with different values for the parameter .In Figure 2, we selected smaller  values to compare the algorithms.All algorithms resulted in high levels of probability of recovery when  ≤ 40.The probability of exact recovery decreased with an increase in  and reached zero when  = 70.Both the proposed algorithm and GOMP had a higher probability of exact recovery with a smaller  value.When  = 6, the two algorithms had nearly the same probability values.When  = 9, the proposed method had a higher probability of recovery.The probability of exact reconstruction of both algorithms was 100% when  < 40 and zero when  > 70 for  = 6 and  = 9, and the difference between two algorithms mainly concentrated on the sparsity level from 40 to 70.Therefore, we compared two algorithms with  = 40 to  = 70 in Figure 2.
In Figure 3, we selected a larger value of  to compare the proposed algorithm and GOMP.The probability of exact reconstruction of both algorithms was 100% for  < 10 and zero for  > 70, so we compared the two algorithms with  = 10 to  = 70 for  = 20 and  = 30 in Figure 3.
When  = 40 and  = 20, the probability of exact recovery of GOMP was 48.7%, while the probability value for the proposed method was 99.4%.When  = 40 and  = 30, the resulting probability values were 4.5% for GOMP and 99.4% for the proposed method.These results indicated that, for different  values, the proposed method had a higher probability of exact recovery than the GOMP method.
Figures 2 and 3 demonstrate that, for different  values, the curves of probability for exact recovery were closer to each other for the proposed method than the GOMP method.This indicated that the proposed method had a more stable performance than the GOMP method for different  values.
Based on the analysis and comparison, we determined that even though the proposed algorithm had an additional backtracking process compared to GOMP, the proposed method demonstrated an excellent performance with regard to running time.In order to compare running times for all the algorithms, we ran each algorithm one thousand times to calculate the average running time.The computing environment was the same as for the determination of the probability of exact reconstruction.
In Figure 2, we can see that the probability of extract reconstruction of both algorithms was below 100% for  > 40 with  = 6 and  = 9, and the effective running time should be computed for successful reconstructing.Therefore, we just compared the running time with  < 40 for two methods.The difference was not obvious with  < 5 in running time for both methods with  = 6 and  = 9, so we compared the running time with  > 5 and  < 40 in Figure 4.
In Figure 3, we can see that probability of extract reconstruction of GOMP algorithm with  = 20 was below 100% for  < 20, and with  = 30 for  < 10, and the probability of extract reconstruction of proposed algorithm with  = 20 and    = 30 all were below 100% for  < 40.The effective running time should be computed for successful reconstructing, so we just compared the running time of both algorithms for  = 20 with  < 20, and  = 30 with  < 10.The difference was not obvious in running time for both methods with smaller .Based on the above analysis, we just compared their running time with  > 5 and  < 20 for  = 20, and  > 5 and  < 10 for  = 30.In order to unify the sparsity level scope, we set  from 5 to 20 in Figure 5.
In Figure 4, we set  = 6 and  = 9 to compare the running times for GOMP and the proposed method.The running times for GOMP with  = 6 and the proposed method with  = 6 and  = 9 were nearly identical.The running times under those conditions were less than those for GOMP with  = 9.When  = 40, the running time of the proposed method with  = 6 and  = 9 was less than that of GOMP with  = 6.
In Figure 5, we set  = 20 and  = 30.From Figure 5, we can observe that the running time of the proposed algorithms was less than GOMP for  = 20 with  = 5 to 20, and for  = 30 with  = 5 to 10.This shows that the proposed algorithm has faster speed for reconstructing.
These results show that the proposed method resulted not only in better performance with regard to running time, but also in a higher probability of exact reconstruction.The advantage is more obvious when larger  is taken in both algorithms.

Conclusion
In this paper, a novel method for sparse signal reconstruction has been proposed.The proposed method adds a backtracking step to maintain a -sized estimated support set, avoiding the extra computation cost for an oversized estimated set.At the same time, the proposed method can increase the reliability of the estimated support set by removing the low-reliability columns from the estimated support set.The proposed reconstruction algorithm performs well at not only reconstructing the sparse signal (i.e., when  is small), but also the less sparse signal (i.e., when  is large).The simulation results showed that the proposed method had a better performance than GOMP with regard to both the probability of exact reconstruction and running time, especially with larger  values.In future research, we want to improve on the proposed algorithm to optimize the greedy algorithm further.

Figure 1 :
Figure 1: Reconstruction performance for -sparse Gaussian signal vector as a function of sparsity .

Figure 2 :
Figure 2: Reconstruction performance of GOMP and the proposed method with a small  value.

Figure 3 :
Figure 3: Reconstruction performance of GOMP and the proposed method with a large  value.

Figure 4 :
Figure 4: The average running time of GOMP and the proposed method with a small  value.

Figure 5 :
Figure 5: The average running time of GOMP and the proposed method with a large  value.