| Algorithm 1: The proposed algorithm for one-dimensional signal processing. |
|
Input: A column vector of length N: b ∈ ℂN × 1 Number of sinusoid components: s A column vector for coarse estimation: ∈ ℂk× 1, s < k < N IDFT matrix: Points number added each time: δ Extraction rate: β (β << 1) Output: Spectral peak positions ẑ = [z1,…, zs]T Initialize: Coarse spectral peak positions ẑc = zeros(s, 1) 1: /* Coarse estimation stage */ 2: Set = b(1: k) 3: Calculate tempValue = sort(FFT()) 4: Generate ẑc = tempValue(k-s + 1: k) 5: /* Iteration stage */ 6: For j from 1 to s THEN 7: For h from k + 1 to N STEP δ THEN 8: Set (h: h + δ −1) = b(h: h + δ-1) 9: Calculate n= β × h 10: Obtain bn by randomly extracting n rows from 11: Obtain by correspondingly extracting n rows of 12: IF h == k + 1 THEN 13: Obtain 14: Else 15: Obtain 16: End IF 17: END FOR 18: Set zj = z 19: END FOR 20: Return ẑ |