Читать книгу The Sparse Fourier Transform - Haitham Hassanieh - Страница 11

Оглавление

2

Preliminaries

This chapter will introduce the notation and basic definitions that we will use throughout Part I of this book.

2.1 Notation

We use ω = e−2πi/n as the n-th root of unity and as the -th root of unity. For any complex number a, we use ϕ(a) ∊ [0, 2π]to denote the phase of a. For a complex number a and a real positive number b, the expression a ± b denotes a complex number a′ such that |aa′| ≤ b.

For a vector x ∊ ℂn, its support is denoted by supp(x) ⊂ [n]. We use ||x||0 to denote |supp(x)|, the number of non-zero coordinates of x. Its Fourier spectrum is denoted by , with


For a vector of length n, indices should be interpreted modulo n, so x−i = xn−i. This allows us to define convolution


and the coordinate-wise product (x · y)i = xiyi, so .

We use [n] to denote the set {1,…, n}. All operations on indices in are taken modulo n. Therefore we might refer to an n-dimensional vector as having coordinates {0, 1,…, n − 1} or {0, 1,…, n/2, − n/2 + 1, …, −1} interchangeably. When i ∈ ℤ is an index into an n-dimensional vector, sometimes we use |i| to denote minj≡i (mod n) |j|. Finally, we assume that n is an integer power of 2.

For the case of 2D Fourier transforms which will appear in Chapter 5, we assume that is a power of 2. We use [m] × [m] = [m]2 to denote the m × m grid {(i, j) : i ∊ [m], j ∊ [m]}. For a 2D matrix , its support is denoted by .We also use ||x||0 to denote |supp(x)|. Its 2D Fourier spectrum is denoted by , with


Finally, if y is in frequency-domain, its inverse is denoted by .

2.2 Basics

2.2.1 Window Functions

In digital signal processing [Oppenheim et al. 1999] one defines window functions in the following manner.

Definition 2.1 We define a (∊, δ, w) standard window function to be a symmetric vector F ∈ ℝn with supp(F) ⊆ [−w/2, w/2] such that for all i ∊ [−∊n, ∊n], and for all i ∉ [−∊n, ∊n].

Claim 2.1 For any and δ, there exists an standard window function.

Proof This is a well-known fact [Smith 2011]. For example, for any and δ, one can obtain a standard window by taking a Gaussian with standard deviation and truncating it at . The Dolph-Chebyshev window function also has the claimed property but with minimal big-Oh constant [Smith 2011] (in particular, half the constant of the truncated Gaussian). ■

The above definition shows that a standard window function acts like a filter, allowing us to focus on a subset of the Fourier coefficients. Ideally, however, we would like the pass region of our filter to be as flat as possible.

Definition 2.2 We define a (∊, ∊′, δ, ω) flat window function to be a symmetric vector F ∈ ℝn with supp(F) ⊆ [−w/2, w/2] such that for all i ∈ [−n, ∊n] and for all i ∉ [−∊n, ∊n].

A flat window function (like the one in Figure 2.1) can be obtained from a standard window function by convolving it with a “box car” window function, i.e., an interval. Specifically, we have the following.

Claim 2.2 For any ∊, ∊′, and δ with ′ < , there exists an flat window function.

Note that in our applications we have δ < 1/nO((1) and = 2′. Thus the window lengths w of the flat window function and the standard window function are the same up to a constant factor.

Figure 2.1 An example flat window function for n = 256. This is the sum of 31 adjacent (1/22, 10−8, 133) Dolph-Chebyshev window functions, giving a (0.11, 0.06, 2 × 10−9, 133) flat window function (although our proof only guarantees a tolerance δ = 29 × 10−8, the actual tolerance is better). The top row shows G and in a linear scale, and the bottom row shows the same with a log scale.

Proof Let f = (′)/2, and let F be an standard window function with minimal . We can assume ∊, ∊′ > 1/(2n) (because [−∊n, ∊n] = {0} otherwise), so . Let be the sum of 1 + 2(′ + f)n adjacent copies of , normalized to . That is, we define


so by the shift theorem, in the time domain


Since for |i| ≤ fn, the normalization factor is at least 1. For each i ∈ [−n, ∊n], the sum on top contains all the terms from the sum on bottom. The other 2n terms in the top sum have magnitude at most δ/((′ + )n) = δ/(2(′ + f)n), so . For |i| > ∊n, however, . Thus F′ is an (∊, ∊′, δ, w) flat window function, with the correct w. ■

2.2.2 Permutation of Spectra

Following Gilbert et al. [2005a], we can permute the Fourier spectrum as follows by permuting the time domain:

Definition 2.3 Suppose σ−1 exists mod n. We define the permutation Pσ, a, b by


We also define πσ, b(i) = σ(ib) mod n.

Claim 2.3 .

Proof


Lemma 2.1 If j ≠ 0, n is a power of two, and σ is a uniformly random odd number in [n], then Pr[σj ∊ [−C, C]] ≤ 4C/n.

Proof If j = m2l for some odd m, then the distribution of σj as σ varies is uniform over m′2l for all odd m′. There are thus 2 · round(C/2l+1) < 4C/2l+1 possible values in [−C, C] out of n/2l+1 such elements in the orbit, for a chance of at most 4C/n. ■

Note that for simplicity we will only analyze our algorithm when n is a power of two. For general n, the analog of Lemma 2.1 would lose an n/φ(n) = O(log log n) factor, where φ is Euler’s totient function. This will correspondingly increase the running time of the algorithm on general n.

Claim 2.3 allows us to change the set of coefficients binned to a bucket by changing the permutation; Lemma 2.1 bounds the probability of non-zero coefficients falling into the same bucket.

2.2.3 Subsampled FFT

Suppose we have a vector x ∈ ℂn and a parameter B dividing n, and would like to compute ŷi = x̂i(n/B) for i ∈ [B].

Claim 2.4 is the B-dimensional Fourier transform of . Therefore, can be computed in O(|supp(x)| + B log B) time.

Proof


2.2.4 2D Aliasing Filter

The aliasing filter presented in Section 1.1.2. The filter generalizes to two dimensions as follows:

Given a 2D matrix , and Br, Bc that divide , then for all (i, j) ∈ [Br] × [Bc] set


Then, compute the 2D DFT of y. Observe that is a folded version of :


The Sparse Fourier Transform

Подняться наверх