Sparse Fourier Transform (lecture 2) - EPFLtheory.epfl.ch/kapralov/sfft-minicourse15/lec2.pdfGiven x...
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
û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
û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
û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
û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
û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
û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
û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
û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
û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
û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
Ĝf ={
1, if f ∈ [− n2B : n2B ]0 o.w.
Thenu0a = (x̂·+a ∗ Ĝ)(0)
For any j = 0, . . . ,B−1
uja = (x̂·+a ∗ Ĝ)(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
Ĝf ={
1, if f ∈ [− n2B : n2B ]0 o.w.
Thenu0a = (x̂·+a ∗ Ĝ)(0)
For any j = 0, . . . ,B−1
uja = (x̂·+a ∗ Ĝ)(j ·nB)
7 / 72
-
Reducing k -sparse recovery to 1-sparse recovery
For any j = 0, . . . ,B−1
uja = (x̂·+a ∗ Ĝ)(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 ∗ Ĝ)(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 ∗ Ĝ)(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 ∗ Ĝ)
(j · n
B
)for j = 0, . . . ,B−1.
We have access to x , not x̂ ...
By the convolution identity
x̂·+a ∗ Ĝ = á(x·+a ·G)Suffices to compute
àx·+a ·Gj · nB , j = 0, . . . ,B−1
11 / 72
-
Need to evaluate(x̂·+a ∗ Ĝ)
(j · n
B
)for j = 0, . . . ,B−1.
We have access to x , not x̂ ...
By the convolution identity
x̂·+a ∗ Ĝ = á(x·+a ·G)
Suffices to compute
àx·+a ·Gj · nB , j = 0, . . . ,B−1
11 / 72
-
Need to evaluate(x̂·+a ∗ Ĝ)
(j · n
B
)for j = 0, . . . ,B−1.
We have access to x , not x̂ ...
By the convolution identity
x̂·+a ∗ Ĝ = á(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
ŷ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
ŷ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
ŷ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 ŷf = x̂σ−1(f+b).Proof.
ŷ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 Ĝ 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 Ĝ 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. Ĝ0 = 12. Ĝf ≥ 03. |Ĝ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
Start with the sinc function:
Ĝf :=sin(π(B+1)f/n)(B+1) ·πf/n
For all |f | > n2B we have
|Ĝ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
Start with the sinc function:
Ĝf :=sin(π(B+1)f/n)(B+1) ·πf/n
For all |f | > n2B we have
|Ĝ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:
Ĝrf :=(sin(π(B+1)f/n)(B+1) ·πf/n
)rFor all |f | > n2B we have
|Ĝ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:
Ĝrf :=(sin(π(B+1)f/n)(B+1) ·πf/n
)rFor all |f | > n2B we have
|Ĝ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: ĜrfFor all |f | > n2B we have
|Ĝ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: ĜrfFor all |f | > n2B we have
|Ĝ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. Ĝ0 = 12. Ĝf ≥ 03. |Ĝ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. Ĝ0 = 12. Ĝf ≥ 03. |Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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 Ĝr := (Ĝ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. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]
2. Ĝj ∈ [0,1] for all j3. |Ĝ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. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]
2. Ĝj ∈ [0,1] for all j3. |Ĝ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. Ĝj ≥ 1−δ for all j ∈[−(1−γ) n2B ,(1−γ) n2B ]
2. Ĝj ∈ [0,1] for all j3. |Ĝ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
|Ĥ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
|Ĥ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
|Ĥ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
|Ĥf | ≤ δ/nfor all f outside of [
−γ n4B
,γn
4B
].
38 / 72
-
Flat window function – constructionTo construct Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ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 Ĝ:
1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], whereU = (1−γ/2) n
2B2. normalize so that Ĝ0 = 1±δ
− n2B 0 n2B
ideal bucket
leakage to other buckets
bounded by δ¿ 1
1−γ fraction of bucket
41 / 72
-
To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where
U = (1−γ/2) n2B
2. normalize so that Ĝ0 = 1±δ
Formally:
Ĝf :=1Z
(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U
)where Z is a normalization factor.
Upon inspection, Z =∑f∈[n] Ĥf works.
42 / 72
-
To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where
U = (1−γ/2) n2B
2. normalize so that Ĝ0 = 1±δ
Formally:
Ĝf :=1Z
(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U
)where Z is a normalization factor.
Upon inspection, Z =∑f∈[n] Ĥf works.
42 / 72
-
To construct Ĝ:1. sum up shifts Ĥ ·−∆ over all ∆ ∈ [−U ,U], where
U = (1−γ/2) n2B
2. normalize so that Ĝ0 = 1±δ
Formally:
Ĝf :=1Z
(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U
)where Z is a normalization factor.
Upon inspection, Z =∑f∈[n] Ĥf works.
43 / 72
-
Formally:
Ĝf :=1Z
(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U
)where Z is a normalization factor.
Upon inspection, Z =∑f∈[n] Ĥf works.(Flat region) For any f ∈ [−(1−γ) n2B ,(1−γ) n2B ] (flat region) onehas
Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U ≥∑
f∈[−γ n4B ,γ n4B ]Ĥf
≥Z − tail of Ĥ≥Z − (δ/n)n ≥Z −δ
44 / 72
-
Formally:
Ĝf :=1Z
(Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U
)where Z is a normalization factor.
Upon inspection, Z =∑f∈[n] Ĥf works.Indeed, for any f 6∈ [− n2B , n2B ] (zero region) one has
Ĥ f−U + Ĥ f+1−U + . . .+ Ĥ f+U ≤∑
f>γ n4BĤf
≤ tail of Ĥ ≤ (δ/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 Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+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 Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+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 Ĝ := 1Z(Ĥ ·−U + . . .+ Ĥ ·+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