| Algorithm 2: The proposed method for two-dimensional signal processing. |
|
Input: A two-dimensional signal: B∈ ℂN × M Number of estimated spectral peaks: s A matrix for coarse estimation: ∈ ℂN × k, s < k < M Input column vector of the second dimensional transformation: Columns number added each time: δ IDFT matrix: 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: For i from 1 to k THEN 4: Calculate = max (FFT((:, i))) 5: Obtain (j) = 6: END FOR 6: Perform tempValue = sort (FFT()) 6: Generate Ẑc = tempValue ((k-s): k) 5: /* Iteration stage */ 6: For j from 1 to s THEN 7: For h from (k + 1) to M STEP δ THEN 8: Generate (:, h: h + δ-1) = B (:, h: h + δ-1) 3: For i from h to (h + δ-1) THEN 4: Calculate = max (FFT((:, i))) 4: Set (i) = 5: END FOR 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 ẑ |