4.2 Algorithm for the Exactly Sparse Case
In this section, we assume x̂i ∈ {−L, …, L} for some precision parameter L. To simplify the bounds, we assume L ≤ nc for some constant c > 0; otherwise the log n term in the running time bound is replaced by log L. We also assume that x̂ is exactly k-sparse. We will use the filter G with parameter δ = 1/(4n2L).
Definition 4.1 We say that
•
•
•
The above notion corresponds to the (1/(2B), (1 − α)/(2B), δ, O(B/α log(n/δ))-flat window function. In Appendix D, we give efficient constructions of such window functions, where G can be computed in
The algorithm NOISELESSSPARSEFFT (SFT 3.0) is described as Algorithm 4.1. The algorithm has three functions:
• HASHTOBINS. This permutes the spectrum of
• NOISELESSSPARSEFFTINNER. Given time-domain access to x and a sparse vector ẑ such that
• NOISELESSSPARSEFFT. This iterates NOISELESSSPARSEFFTINNER until it finds x̂ exactly.
Algorithm 4.1 SFT 3.0: Exact Sparse Fourier Transform for k = o(n)
We analyze the algorithm “bottom-up,” starting from the lower-level procedures.
Analysis of NOISELESSSPARSEFFTINNER and HASHTOBINS
For any execution of NOISELESSSPARSEFFTINNER, define the support S = supp(x̂ − ẑ). Recall that πσ,b(i) = σ(i − b) mod n. Define hσ,b(i) = round(πσ,b(i)B/n) and
• “Collision” event Ecoll(i): holds iff hσ,b(i) ∈ hσ,b(S\ {i}), and
• “Large offset” event Eoff (i): holds iff |oσ,b(i)| ≥ (1 − α)n/(2B).
Claim 4.1 For any i ∈ S, the event Ecoll(i) holds with probability at most 4|S|/B.
Proof Consider distinct i, j ∈ S. By Lemma 2.1,
By a union bound over j ∈ S, Pr[Ecoll(i)] ≤ 4 |S| /B.
Claim 4.2 For any i ∈ S, the event Eoff (i) holds with probability at most α.
Proof Note that oσ,b(i) ≡ πσ,b(i) ≡ σ(i − b) (mod n/B). For any odd σ and any l ∈ [n/B], we have that Prb[σ(i − b) ≡ l (mod n/B)]= B/n. Since only αn/B offsets oσ,b(i) cause Eoff (i), the claim follows.
Lemma 4.1 Suppose B divides n. The output û of HASHTOBINS satisfies
Let
Proof The proof can be found in Appendix A.3.
Lemma 4.2 Consider any i ∈ S such that neither Ecoll(i) nor Eoff(i) holds. Let j = hσ,b(i). Then
and j ∈ J.
Proof