of 98 /98
Sparse Fourier Transform (lecture 2) Michael Kapralov 1 1 IBM Watson EPFL St. Petersburg CS Club November 2015 1 / 72
• Author

others
• Category

## Documents

• view

0

0

Embed Size (px)

### Transcript of Sparse Fourier Transform (lecture 2) - EPFLtheory.epfl.ch/kapralov/sfft-minicourse15/lec2.pdfGiven x...

• Sparse Fourier Transform(lecture 2)

Michael Kapralov1

1IBM Watson → EPFL

St. Petersburg CS ClubNovember 2015

1 / 72

• Given x ∈Cn, compute the Discrete Fourier Transform of x :

x̂f =1n

∑j∈[n]

xjω−f ·j ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x̂ approximately

In last lecture:

Ï 1-sparse noiseless case: two-point sampling

Ï 1-sparse noisy case: O(logn loglogn) time and samples

Ï reduction from k -sparse to 1-sparse case, via filtering

2 / 72

• Given x ∈Cn, compute the Discrete Fourier Transform of x :

x̂f =1n

∑j∈[n]

xjω−f ·j ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x̂ approximately

In last lecture:

Ï 1-sparse noiseless case: two-point sampling

Ï 1-sparse noisy case: O(logn loglogn) time and samples

Ï reduction from k -sparse to 1-sparse case, via filtering

2 / 72

• Given x ∈Cn, compute the Discrete Fourier Transform of x :

x̂f =1n

∑j∈[n]

xjω−f ·j ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x̂ approximately

In last lecture:

Ï 1-sparse noiseless case: two-point sampling

Ï 1-sparse noisy case: O(logn loglogn) time and samples

Ï reduction from k -sparse to 1-sparse case, via filtering

2 / 72

• Given x ∈Cn, compute the Discrete Fourier Transform of x :

x̂f =1n

∑j∈[n]

xjω−f ·j ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x̂ approximately

In last lecture:

Ï 1-sparse noiseless case: two-point sampling

Ï 1-sparse noisy case: O(logn loglogn) time and samples

Ï reduction from k -sparse to 1-sparse case, via filtering

2 / 72

• Partition frequency domain into B ≈ k buckets

-0.001

-0.0005

0

0.0005

0.001

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

3 / 72

• Partition frequency domain into B ≈ k buckets

-0.001

-0.0005

0

0.0005

0.001

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

4 / 72

• Partition frequency domain into B ≈ k buckets

-0.001

-0.0005

0

0.0005

0.001

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

4 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

5 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• Partition frequency domain into B ≈ k buckets

-0.0008

-0.0006

-0.0004

-0.0002

0

0.0002

0.0004

0.0006

0.0008

-1000 -500 0 500 1000

time

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

For each j = 0, . . . ,B−1 let

ûjf ={

x̂f , if f ∈ j-th bucket0 o.w.

Restricted to a bucket, signal is likely approximately 1-sparse!

6 / 72

• We want time domain access to u0: for any a= 0, . . . ,n−1,compute

u0a =∑

− n2B ≤f≤ n2Bx̂f ·ωf ·a.

Let

Ĝf ={

1, if f ∈ [− n2B : n2B ]0 o.w.

Thenu0a = (x̂·+a ∗ Ĝ)(0)

For any j = 0, . . . ,B−1

uja = (x̂·+a ∗ Ĝ)(j ·nB)

7 / 72

• We want time domain access to u0: for any a= 0, . . . ,n−1,compute

u0a =∑

− n2B ≤f≤ n2Bx̂f ·ωf ·a.

Let

Ĝf ={

1, if f ∈ [− n2B : n2B ]0 o.w.

Thenu0a = (x̂·+a ∗ Ĝ)(0)

For any j = 0, . . . ,B−1

uja = (x̂·+a ∗ Ĝ)(j ·nB)

7 / 72

• Reducing k -sparse recovery to 1-sparse recovery

For any j = 0, . . . ,B−1

uja = (x̂·+a ∗ Ĝ)(j ·nB)

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

time

magnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitu

de

8 / 72

• Reducing k -sparse recovery to 1-sparse recovery

For any j = 0, . . . ,B−1

uja = (x̂·+a ∗ Ĝ)(j ·nB)

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

time

magnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitu

de

9 / 72

• Reducing k -sparse recovery to 1-sparse recovery

For any j = 0, . . . ,B−1

uja = (x̂·+a ∗ Ĝ)(j ·nB)

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

time

magnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitu

de

10 / 72

• Need to evaluate(x̂·+a ∗ Ĝ)

(j · n

B

)for j = 0, . . . ,B−1.

By the convolution identity

x̂·+a ∗ Ĝ = á(x·+a ·G)Suffices to compute

àx·+a ·Gj · nB , j = 0, . . . ,B−1

11 / 72

• Need to evaluate(x̂·+a ∗ Ĝ)

(j · n

B

)for j = 0, . . . ,B−1.

By the convolution identity

x̂·+a ∗ Ĝ = á(x·+a ·G)

Suffices to compute

àx·+a ·Gj · nB , j = 0, . . . ,B−1

11 / 72

• Need to evaluate(x̂·+a ∗ Ĝ)

(j · n

B

)for j = 0, . . . ,B−1.

By the convolution identity

x̂·+a ∗ Ĝ = á(x·+a ·G)Suffices to compute

àx·+a ·Gj · nB , j = 0, . . . ,B−1

11 / 72

• Suffices to compute

àx·+a ·Gj · nB , j = 0, . . . ,B−1

Sample complexity? Runtime?

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Computing x ·G takes Ω(N) time and samples!

11 / 72

• Suffices to compute

x ·Gj · nB , j = 0, . . . ,B−1

Sample complexity? Runtime?

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Computing x ·G takes Ω(N) time and samples!

11 / 72

• Suffices to compute

x ·Gj · nB , j = 0, . . . ,B−1Sample complexity? Runtime?

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Computing x ·G takes Ω(N) time and samples!

11 / 72

• Suffices to compute

x ·Gj · nB , j = 0, . . . ,B−1Sample complexity? Runtime?

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Computing x ·G takes Ω(N) time and samples!

11 / 72

• To sample all signals uj , j = 0, . . . ,B−1 in time domain, it sufficesto compute x ·Gj · nB , j = 0, . . . ,B−1

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Computing x ·G takes supp(G) samples.

Design G with supp(G)≈ k that approximates rectangular filter?

11 / 72

• In this lecture:

Ï permuting frequencies

Ï filter construction

12 / 72

• 1. Pseudorandom spectrum permutations

2. Filter construction

13 / 72

• 1. Pseudorandom spectrum permutations

2. Filter construction

14 / 72

• Pseudorandom spectrum permutationsPermutation in time domain plus phase shift =⇒ permutation infrequency domain

ClaimLet σ,b ∈ [n], σ invertible modulo n. Let yj = xσjω−jb. Then

ŷf = x̂σ−1(f+b).

(proof on next slide; a close relative of time shift theorem)

Pseudorandom permutation:

Ï select b uniformly at random from [n]

Ï select σ uniformly at random from {1,3,5, . . . ,n−1}(invertible numbers modulo n)

15 / 72

• Pseudorandom spectrum permutationsPermutation in time domain plus phase shift =⇒ permutation infrequency domain

ClaimLet σ,b ∈ [n], σ invertible modulo n. Let yj = xσjω−jb. Then

ŷf = x̂σ−1(f+b).

(proof on next slide; a close relative of time shift theorem)

Pseudorandom permutation:

Ï select b uniformly at random from [n]

Ï select σ uniformly at random from {1,3,5, . . . ,n−1}(invertible numbers modulo n)

15 / 72

• Pseudorandom spectrum permutationsPermutation in time domain plus phase shift =⇒ permutation infrequency domain

ClaimLet σ,b ∈ [n], σ invertible modulo n. Let yj = xσjω−jb. Then

ŷf = x̂σ−1(f+b).

(proof on next slide; a close relative of time shift theorem)

Pseudorandom permutation:

Ï select b uniformly at random from [n]

Ï select σ uniformly at random from {1,3,5, . . . ,n−1}(invertible numbers modulo n)

15 / 72

• Pseudorandom spectrum permutationsClaimLet yj = xσjω−jb. Then ŷf = x̂σ−1(f+b).Proof.

ŷf =1n

∑j∈[n]

yjω−f ·j

= 1n

∑j∈[n]

xσjω−(f+b)·j

= 1n

∑i∈[n]

xiω−(f+b)·σ−1i (change of variables i =σj)

= 1n

∑i∈[n]

xiω−σ−1(f+b)·i

= x̂σ−1(f+b)

16 / 72

• -0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Design G with supp(G)≈ k that approximates rectangular filter?

Our filter Ĝ will approximate the boxcar. Bound collisionprobability now.

16 / 72

• Partition frequency domain into buckets, permute spectrum

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

Frequency i collides with frequency j only if |σi −σj | ≤ nB .

17 / 72

• Partition frequency domain into buckets, permute spectrum

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

Frequency i collides with frequency j only if |σi −σj | ≤ nB .

18 / 72

• Partition frequency domain into buckets, permute spectrum

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

Frequency i collides with frequency j only if |σi −σj | ≤ nB .

19 / 72

• Partition frequency domain into buckets, permute spectrum

-0.5

0

0.5

1

-1000 -500 0 500 1000

frequency

collision

Frequency i collides with frequency j only if |σi −σj | ≤ nB .

20 / 72

• Collision probabilityLemmaLet σ be a uniformly random odd number in 1,2, . . . ,n. Then forany i , j ∈ [n], i 6= j one has

Prσ[|σ · i −σj | ≤ n

B

]=O(1/B)

Proof.Let ∆ := i − j = d2s for some odd d .The orbit of σ ·∆ is 2s ·d ′ for all odd d ′.

[ ]σi − nB σi σi + nB

There are O( n

B2s)

values of d ′ that make σ ·∆ fall into [− nB , nB ],out of n/2s+1.

21 / 72

• Collision probabilityLemmaLet σ be a uniformly random odd number in 1,2, . . . ,n. Then forany i , j ∈ [n], i 6= j one has

Prσ[|σ · i −σj | ≤ n

B

]=O(1/B)

Proof.Let ∆ := i − j = d2s for some odd d .The orbit of σ ·∆ is 2s ·d ′ for all odd d ′.

[ ]σi − nB σi σi + nB

There are O( n

B2s)

values of d ′ that make σ ·∆ fall into [− nB , nB ],out of n/2s+1.

21 / 72

• Collision probabilityLemmaLet σ be a uniformly random odd number in 1,2, . . . ,n. Then forany i , j ∈ [n], i 6= j one has

Prσ[|σ · i −σj | ≤ n

B

]=O(1/B)

Proof.Let ∆ := i − j = d2s for some odd d .The orbit of σ ·∆ is 2s ·d ′ for all odd d ′.

[ ]σi − nB σi σi + nB

There are O( n

B2s)

values of d ′ that make σ ·∆ fall into [− nB , nB ],out of n/2s+1.

21 / 72

• Collision probabilityLemmaLet σ be a uniformly random odd number in 1,2, . . . ,n. Then forany i , j ∈ [n], i 6= j one has

Prσ[|σ · i −σj | ≤ n

B

]=O(1/B)

Proof.Let ∆ := i − j = d2s for some odd d .The orbit of σ ·∆ is 2s ·d ′ for all odd d ′.

[ ]σi − nB σi σi + nB

There are O( n

B2s)

values of d ′ that make σ ·∆ fall into [− nB , nB ],out of n/2s+1.

21 / 72

• Collision probabilityLemmaLet σ be a uniformly random odd number in 1,2, . . . ,n. Then forany i , j ∈ [n], i 6= j one has

Prσ[|σ · i −σj | ≤ n

B

]=O(1/B)

Proof.Let ∆ := i − j = d2s for some odd d .The orbit of σ ·∆ is 2s ·d ′ for all odd d ′.

[ ]σi − nB σi σi + nB

There are O( n

B2s)

values of d ′ that make σ ·∆ fall into [− nB , nB ],out of n/2s+1.

21 / 72

• 1. Pseudorandom spectrum permutations

2. Filter construction

22 / 72

• Rectangular buckets Ĝ have full support in time domain...

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

time

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

frequency

Approximate rectangular filter with a filter G with small support?

Need supp(G)≈ k , so perhaps turn the filter around?

23 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

Have supp(G)=B ≈ k , but buckets leak

24 / 72

• =⇒

In what follows: reduce leakage at the expense of increasingsupp(G)

25 / 72

• Window functionsDefinitionA symmetric filter G is a (B,δ)-standard window function if

1. Ĝ0 = 12. Ĝf ≥ 03. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

26 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Ĝf :=sin(π(B+1)f/n)(B+1) ·πf/n

For all |f | > n2B we have

|Ĝf | ≤1

(B+1)πf/n ≤1π/2

≤ 2/π≤ 0.9

27 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Ĝf :=sin(π(B+1)f/n)(B+1) ·πf/n

For all |f | > n2B we have

|Ĝf | ≤1

(B+1)πf/n ≤1π/2

≤ 2/π≤ 0.927 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Consider powers of the sinc function:

Ĝrf :=(sin(π(B+1)f/n)(B+1) ·πf/n

)rFor all |f | > n2B we have

|Ĝf |r ≤ (0.9)r28 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Consider powers of the sinc function:

Ĝrf :=(sin(π(B+1)f/n)(B+1) ·πf/n

)rFor all |f | > n2B we have

|Ĝf |r ≤ (0.9)r29 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Consider powers of the sinc function: ĜrfFor all |f | > n2B we have

|Ĝf |r ≤ (0.9)r

So setting r =O(log(1/δ)) is sufficient!

30 / 72

• Window functions

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

Consider powers of the sinc function: ĜrfFor all |f | > n2B we have

|Ĝf |r ≤ (0.9)r

So setting r =O(log(1/δ)) is sufficient!31 / 72

• Window functionsDefinitionA symmetric filter G is a (B,δ)-standard window function if

1. Ĝ0 = 12. Ĝf ≥ 03. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

32 / 72

• Window functionsDefinitionA symmetric filter G is a (B,δ)-standard window function if

1. Ĝ0 = 12. Ĝf ≥ 03. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

How large is supp(G)⊆ [−T ,T ]? 33 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?

By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], so

supp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

33 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], so

supp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

32 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], so

supp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], sosupp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], sosupp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], sosupp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], sosupp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], sosupp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]

31 / 72

• Let

Gj :={

1/(B+1) if j ∈ [−B/2,B/2]0 o.w.

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

0

0.2

0.4

0.6

0.8

1

1.2

-1000 -500 0 500 1000

time

Let Ĝr := (Ĝ0)r . How large is the support of Gr ?By the convolution identity Gr =G0 ∗G0 ∗ . . .∗G0

Support of G0 is in [−B/2,B/2], so

supp(G∗ . . .∗G)⊆ [−r ·B/2,r ·B/2]31 / 72

• Flat window functionDefinitionA symmetric filter G is a (B,δ,γ)-flat window function if

1. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]

2. Ĝj ∈ [0,1] for all j3. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

32 / 72

• Flat window functionDefinitionA symmetric filter G is a (B,δ,γ)-flat window function if

1. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]

2. Ĝj ∈ [0,1] for all j3. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

33 / 72

• Flat window functionDefinitionA symmetric filter G is a (B,δ,γ)-flat window function if

1. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]

2. Ĝj ∈ [0,1] for all j3. |Ĝf | ≤ δ for f 6∈

[− n2B , n2B ]

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

0.99 fraction of bucket

34 / 72

• Flat window function – construction

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

Let H be a (2B/γ,δ/n)-standard window function. Note that

|Ĥf | ≤ δ/nfor all f outside of [

−γ n4B

,γn

4B

].

35 / 72

• Flat window function – construction

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

1−γ/2 fraction of bucket

Let H be a (2B/γ,δ/n)-standard window function. Note that

|Ĥf | ≤ δ/nfor all f outside of [

−γ n4B

,γn

4B

].

36 / 72

• Flat window function – construction

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

Let H be a (2B/γ,δ/n)-standard window function. Note that

|Ĥf | ≤ δ/nfor all f outside of [

−γ n4B

,γn

4B

].

37 / 72

• Flat window function – construction

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

Let H be a (2B/γ,δ/n)-standard window function. Note that

|Ĥf | ≤ δ/nfor all f outside of [

−γ n4B

,γn

4B

].

38 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

39 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

39 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

39 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

39 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

40 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

40 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• Flat window function – constructionTo construct Ĝ:

1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n

2B2. normalize so that Ĝ0 = 1±δ

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

41 / 72

• To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where

U = (1−γ/2) n2B

2. normalize so that Ĝ0 = 1±δ

Formally:

Ĝf :=1Z

(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U

)where Z is a normalization factor.

Upon inspection, Z =∑f∈[n] Ĥf works.

42 / 72

• To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where

U = (1−γ/2) n2B

2. normalize so that Ĝ0 = 1±δ

Formally:

Ĝf :=1Z

(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U

)where Z is a normalization factor.

Upon inspection, Z =∑f∈[n] Ĥf works.

42 / 72

• To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where

U = (1−γ/2) n2B

2. normalize so that Ĝ0 = 1±δ

Formally:

Ĝf :=1Z

(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U

)where Z is a normalization factor.

Upon inspection, Z =∑f∈[n] Ĥf works.

43 / 72

• Formally:

Ĝf :=1Z

(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U

)where Z is a normalization factor.

Upon inspection, Z =∑f∈[n] Ĥf works.(Flat region) For any f ∈ [−(1−γ) n2B ,(1−γ) n2B ] (flat region) onehas

Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U ≥∑

f∈[−γ n4B ,γ n4B ]Ĥf

≥Z − tail of Ĥ≥Z − (δ/n)n ≥Z −δ

44 / 72

• Formally:

Ĝf :=1Z

(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U

)where Z is a normalization factor.

Upon inspection, Z =∑f∈[n] Ĥf works.Indeed, for any f 6∈ [− n2B , n2B ] (zero region) one has

Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U ≤∑

f>γ n4BĤf

≤ tail of Ĥ ≤ (δ/n)n ≤ δ

45 / 72

• Flat window function

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

How large is support of Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+U

)?

By time shift theorem for every q ∈ [n]

Gq :=Hq · 1ZU∑

j=−Uωqj

Support of G a subset of support of H!

46 / 72

• Flat window function

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

How large is support of Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+U

)?

By time shift theorem for every q ∈ [n]

Gq :=Hq · 1ZU∑

j=−Uωqj

Support of G a subset of support of H!

46 / 72

• Flat window function

− n2B 0 n2B

ideal bucket

leakage to other buckets

bounded by δ¿ 1

1−γ fraction of bucket

How large is support of Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+U

)?

By time shift theorem for every q ∈ [n]

Gq :=Hq · 1ZU∑

j=−Uωqj

Support of G a subset of support of H!46 / 72

• Flat window functions – construction

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

*

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

=

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

-0.2

0

0.2

0.4

0.6

0.8

1

-1000 -500 0 500 1000

frequency

47 / 72