配布プリントに板書内容を加筆したもの

畳み込みの Fourier 変換は Fourier 変換の積
桂田 祐史
2014 年 12 月 12 日, 12 月 17 日
目標は、色々なものに対して、畳み込み f ∗ g と “Fourier 変換” Ff が定義できるが、すべての場
合に
F[f ∗ g] = 定数 × (Ff Fg) (畳み込みの Fourier 変換は、Fourier 変換の積)
が成り立つことを確かめること。
(f, g と f ∗ g はつねに同種のものであるが、f と Ff は違う種類のものになる場合もある。)
数列は Z 上の関数とみなせることを注意しておく。実際、数列 {fj }j∈Z があるとき、fj を f (j) と
書けば、数列は関数 f : Z ∋ j 7→ fj ∈ C とみなせることが分かるであろう。
1
普通の Fourier 変換
f を R を定義域とする関数 f : R → C とするとき、f の Fourier 変換 Ff (fb とも書く) は
∫ ∞
1
b
f (x)e−ixξ dx (ξ ∈ R)
Ff (ξ) = f (ξ) := √
2π −∞
で定義される。Ff : R → C である。
今日の講義では、この記号を基本として、他の “Fourier 変換” の記号をこれに真似て書くことにする。
f, g : R → C に対して、f と g の畳み込み f ∗ g を
∫ ∞
f ∗ g(x) :=
f (x − y)g(y)dy (x ∈ R)
−∞
で定める。f ∗ g : R → C である。
実は
F[f ∗ g](ξ) =
2
√
2πFf (ξ)Fg(ξ).
周期関数の “Fourier 変換” — Fourier 係数
∫ π
1
f : R → C を周期 2π の関数とするとき、cn :=
f (x)e−inx dx (n ∈ Z) を f の Fourier 係数と
2π −π
定義したが、これを (周期関数) f の “Fourier 変換” と呼ぶことにして、記号 Ff あるいは fb で表す
ことにしよう (この記号は実際に良く使われている)。すなわち
∫ π
1
b
f (x)e−inx dx (n ∈ Z)
Ff (n) = f (n) :=
2π −π
Ff : Z → C である。
1
周期 2π の関数 f, g : R → C に対して、f と g の畳み込み f ∗ g を
∫ π
1
f ∗ g(x) :=
f (x − y)g(y)dy (x ∈ R)
2π −π
で定める。f ∗ g : R → C は周期 2π である。
実は
F[f ∗ g](n) = Ff (n)Fg(n).
3
周期数列の “Fourier 変換” — 離散 Fourier 係数
N ∈ N に対して ω :=
e2πi/N
とおく。周期 N の周期数列 {fj }j∈Z
N −1
1 ∑ −nj
に対して、Cn :=
ω
fj
N
j=0
(n ∈ Z) を {fj }j∈Z の離散 Fourier 係数と定義したが、これを周期数列の “Fourier 変換” と呼ぶこと
にしよう。
f : Z → C を周期 N の関数 (周期 N の周期数列) とするとき、
N −1
1 ∑
b
Ff (n) = f (n) :=
f (j)ω −nj
N
(n ∈ Z)
j=0
で定まる Ff を、(周期数列) f の “Fourier 変換” と呼ぶ。Ff : Z → C は周期 N である。
周期 N の関数 (周期 N の周期数列) f, g : Z → C に対して、f と g の畳み込み f ∗ g を
f ∗ g(n) :=
N
−1
∑
f (n − k)g(k)
(n ∈ Z)
k=0
で定める。f ∗ g : Z → C は周期 N の関数である。
実は
F[f ∗ g](n) = N Ff (n)Fg(n).
4
数列の “Fourier 変換” — 離散時間 Fourier 変換
数列 {xn }n∈Z に対して、X(ω) :=
∞
∑
xn e−inω (ω ∈ R) を {xn }n∈Z の離散時間 Fourier 変換と定
n=−∞
義したが、これを数列の “Fourier 変換” と呼ぶことにしよう。
f : Z → C に対して、
∞
1 ∑
f (n)e−inξ
Ff (ξ) = fb(ξ) :=
N n=−∞
(ξ ∈ R)
で定まる Ff = fb を (数列) f の “Fourier 変換” と呼ぶ。Ff : R → C は周期 2π である。
f, g : Z → C に対して、f と g の畳み込み f ∗ g : Z → C を
f ∗ g(n) :=
∞
∑
f (n − k)g(k)
(n ∈ Z)
k=−∞
で定める。
実は
F[f ∗ g](ξ) = Ff (ξ)Fg(ξ).
2
h := f ∗ g とおくと
∫ ∞
1
F[f ∗ g](ξ) = √
h(x)e−ixξ dx
2π −∞
)
∫ ∞ (∫ ∞
1
=√
f (x − y)g(y)dy e−ixξ dx
2π −∞
−∞
)
∫ ∞ (∫ ∞
1
−ixξ
=√
f (x − y)g(y)e
dx dy
2π −∞
−∞
)
∫ ∞ (∫ ∞
1
−ixξ
=√
f (x − y)e
dx g(y)dy.
2π −∞
−∞
普通の Fourier 変換の場合
u = x − y とおくと、dx = du, x = u + y, e−ixξ = e−i(u+y)ξ = e−iuξ e−iyξ であるから、
)
∫ ∞ (∫ ∞
1
−iuξ −iyξ
F[f ∗ g](ξ) = √
f (u)e
e
du g(y)dy
2π −∞
−∞
∫ ∞
∫ ∞
1
−iuξ
f (u)e
du
g(y)e−iyξ dy
=√
2π −∞
−∞
√
= 2πFf (ξ)Fg(ξ).
周期関数の “Fourier 変換” の場合
F[f ∗ g](n) =
=
=
=
h := f ∗ g とおくと
∫ π
1
h(x)e−inx dx
2π −π
)
∫ π( ∫ π
1
1
f (x − y)g(y)dy e−inx dx
2π −π 2π −π
)
∫ π (∫ π
1
−inx
f
(x
−
y)g(y)e
dx
dy
(2π)2 −π
−π
)
∫ π (∫ π
1
−inx
f (x − y)e
dx g(y)dy.
(2π)2 −π
−π
u = x − y とおくと、dx = du, x = −π のとき u = −π − y, x = π のとき u = π − y, x = u + y,
e−inx = e−in(u+y)n = e−inu e−iny であるから、
)
∫ π (∫ π
1
−inu −iny
F[f ∗ g](n) =
f (u)e
e
du g(y)dy
(2π)2 −π
−π
∫ π
∫ π
1
1
−inu
=
f (u)e
du
g(y)e−iny dy
2π −π
2π −π
= Ff (n)Fg(n).
3
周期数列の “Fourier 変換” の場合
h := f ∗ g とおくと
N −1
1 ∑
h(j)ω −nj
N
j=0
(
)
N −1 N −1
1 ∑ ∑
=
f (j − k)g(k) ω −nj
N
j=0
k=0


N
−1 N
−1
∑
∑
1

f (j − k)g(k)ω −nj 
=
N
j=0
k=0


N −1 N −1
1 ∑ ∑
f (j − k)ω −nj  g(k).
=
N
F[f ∗ g](n) =
j=0
k=0
ℓ = j − k とおくと、j = 0 のとき ℓ = −k, j = N − 1 のとき ℓ = N − 1 − k, j = ℓ + k,
ω −nj = ω −in(ℓ+k) = ω −nℓ ω −nk であるから、
( −1−k
)
N −1 N∑
1 ∑
F[f ∗ g](n) =
f (ℓ)ω −nℓ ω −nk g(k)
N
k=0
ℓ=−k
(N −1−k
)
N
−1
∑
1 ∑
f (ℓ)ω −nℓ g(k)ω −nk
=
N
k=0
ℓ=−k
(N −1
)
N
−1
1 ∑ ∑
=
f (ℓ)ω −nℓ g(k)ω −nk
N
=
1
N
k=0
N
−1
∑
ℓ=0
f (ℓ)ω −nℓ
N
−1
∑
ℓ=0
g(k)ω −nk
k=0
= N Ff (n)Fg(n).
数列の “Fourier 変換” の場合
h := f ∗ g とおくと
F[f ∗ g](ξ) =
=
∞
∑
n=−∞
(
∞
∑
n=−∞
=
=
=
h(n)e−inξ
∑
(
)
∞
∑
f (n − k)g(k) e−inξ
k=−∞
∞
∑
)
f (n − k)e
k=−∞ n=−∞
( ∞
∞
∑
∑
k=−∞ m=−∞
( ∞
∑
f (m)e−imξ e−ikξ
)(
−imξ
∞
∑
k=−∞
= Ff (ξ)Fg(ξ).
4
g(k)
)
f (m)e
m=−∞
−inξ
g(k)
)
g(k)e
−ikξ