第 7 章 畳み込み 88
7.5 畳み込みの Fourier 変換は Fourier 変換の積
目標は、色々なものに対して、畳み込み f ∗g と “Fourier変換” Ff が定義できるが、すべての 場合に
F[f ∗g] =定数×(Ff Fg) (畳み込みのFourier変換は、Fourier変換の積) が成り立つことを確かめること。
(f, g と f∗g はつねに同種のものであるが、f と Ff は違う種類のものになる場合もある。)
5普通の関数の世界に単位元がなくても、れいいんし零因子が存在しないのならば、“分数”を考えることが出来て、0でないf について、f
f を考えると、f に依らないものになり、実はそれが単位元になる。それをδと定義しよう、という調子で 議論を展開する。
数列は Z 上の関数とみなせることを注意しておく。実際、数列 {fj}j∈Z があるとき、fj を f(j) と書けば、数列は関数f: Z∋j 7→fj ∈C とみなせることが分かるであろう。
定数因子もきちんと示すため、Fourier 変換、畳込みの定義式をそのつど書くことにする。
この項目は重要なので、勉強してもらうために期末試験に「証明せよ」という問題を出題したと ころ、乱暴なことをして減点される取る学生が多かった(こういうのを減らすのがこちらの目標だっ たりする)。証明は、どの場合も、積分(あるいは ∑
) の順序交換してから変数変換をする、という ことなので覚えるの簡単だと思うんだけど。
7.5.1 “ 普通の関数 ” の Fourier 変換
f を R を定義域とする関数 f: R→C とするとき、f の Fourier 変換Ff (fbとも書く)は Ff(ξ) = f(ξ) :=b 1
√2π
∫ ∞
−∞
f(x)e−ixξdx (ξ ∈R) で定義される。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 である。
実は
(7.20) F[f∗g](ξ) = √
2πFf(ξ)Fg(ξ) が成り立つ。
証明 h:=f ∗g とおくと
F[f ∗g](ξ) = 1
√2π
∫ ∞
−∞
h(x)e−ixξdx
= 1
√2π
∫ ∞
−∞
(∫ ∞
−∞
f(x−y)g(y)dy )
e−ixξdx
= 1
√2π
∫ ∞
−∞
(∫ ∞
−∞
f(x−y)g(y)e−ixξdx )
dy
= 1
√2π
∫ ∞
−∞
(∫ ∞
−∞
f(x−y)e−ixξdx )
g(y)dy.
右辺の ( ) 内の広義積分を lim で表してから、変数変換する。u = x− y とおくと、dx = du, x=u+y, e−ixξ =e−i(u+y)ξ =e−iuξe−iyξ であるから、
∫ ∞
−∞
f(x−y)e−ixξdx= lim
R→∞
∫ R
−R
f(x−y)e−ixξdx= lim
R→∞
∫ R−y
−R−y
f(u)e−iuξe−iyξ du
=e−iyξ lim
R→∞
∫ R−y
−R−y
f(u)e−iuξ du
=e−iyξ
∫ ∞
−∞
f(u)e−iuξ du.
(積分の上端、下端に y が現れるけれども、結局は消えてしまうのが大事なところである。) これ から
F[f ∗g](ξ) = 1
√2π
∫ ∞
−∞
( e−iyξ
∫ ∞
−∞
f(u)e−iuξdu )
g(y)dy
= 1
√2π
∫ ∞
−∞
f(u)e−iuξdu
∫ ∞
−∞
g(y)e−iyξdy
=√
2πFf(ξ)Fg(ξ).
注意 7.5.1 (期末試験に現れる間違い) 要点は「積分順序を交換してから、内側の積分を変数変換す
る」というものだが、「公式を証明せよ」という問題を期末試験に出題すると、積分順序を交換せず に、いきなりx−y=z として、x を z に変数変換して
∫ ∞
−∞
(∫ ∞
−∞
f(x−y)g(y)e−iξxdy )
dx=
∫ ∞
−∞
(∫ ∞
−∞
f(z)g(y)e−iξ(z+y)dy )
dz
という式変形をする人がいる。これはめちゃくちゃなのだが、分かるだろうか?内側の積分の変数 である y が、外側の積分の変数変換の式x−y =z に現れるのはおかしい。これは次項 7.5.2 の場 合にやると分かりやすいかもしれない。
∫ π
−π
(∫ π
−π
f(x−y)g(y)e−inxdy )
dx=
∫ π−y
−π−y
(∫ π
−π
f(z)g(y)e−in(z+y) )
dz のようになり、内側の積分変数が外側の積分の上端、下端に現れる。
7.5.2 周期関数の “Fourier 変換 ” — Fourier 係数
f: R→C を周期 2π の関数とするとき、cn:= 1 2π
∫ π
−π
f(x)e−inxdx (n ∈Z) を f の Fourier係数 と定義したが、これを (周期関数)f の “Fourier変換”と呼ぶことにして、記号 Ff あるいはfbで 表すことにしよう(この記号は実際に良く使われている)。すなわち
Ff(n) = f(n) :=b 1 2π
∫ π
−π
f(x)e−inxdx (n∈Z) Ff: Z→C である。
周期 2π の関数f, g: R→Cに対して、f と g の畳み込み f ∗g を f∗g(x) := 1
2π
∫ π
−π
f(x−y)g(y)dy (x∈R) で定める。f ∗g: R→C は周期 2π である。
実は
(7.21) F[f ∗g](n) = Ff(n)Fg(n).
証明 h:=f ∗g とおくと
F[f ∗g](n) = 1 2π
∫ π
−π
h(x)e−inx dx
= 1 2π
∫ π
−π
( 1 2π
∫ π
−π
f(x−y)g(y)dy )
e−inx dx
= 1
(2π)2
∫ π
−π
(∫ π
−π
f(x−y)g(y)e−inxdx )
dy
= 1
(2π)2
∫ π
−π
(∫ π
−π
f(x−y)e−inxdx )
g(y)dy.
右辺の ( ) 内の積分を変数変換する。u=x−y とおくと、dx =du,x=−π のときu =−π−y, x=π のとき u=π−y, x=u+y, e−inx =e−in(u+y)n =e−inue−iny であるから、
∫ π
−π
f(x−y)e−inxdx=
∫ π−y
−π−y
f(u)e−in(u+y) du=e−iny
∫ π−y
−π−y
f(u)e−inu du.
関数 u7→f(u)e−inu は周期 2π であるから、[−π−y, π−y] での積分は [−π, π]での積分に等しい。
F[f ∗g](n) = 1 (2π)2
∫ π
−π
( e−iny
∫ π
−π
f(u)e−inu du )
g(y)dy
= 1 2π
∫ π
−π
f(u)e−inu du 1 2π
∫ π
−π
g(y)e−iny dy
=Ff(n)Fg(n).
7.5.3 周期数列の “Fourier 変換 ” — 離散 Fourier 係数
N ∈N に対して ω:=e2πi/N とおく。周期N の周期数列 {fj}j∈Z に対して、Cn:= 1 N
N∑−1 j=0
ω−njfj (n ∈ Z) を{fj}j∈Z の離散 Fourier 係数と定義したが、これを周期数列の “Fourier 変換” と呼ぶこ とにしよう。
f: Z→C を周期 N の関数(周期 N の周期数列)とするとき、
Ff(n) =fb(n) := 1 N
N∑−1 j=0
f(j)ω−nj (n ∈Z)
で定まる Ff を、(周期数列)f の “Fourier変換”と呼ぶ。Ff: Z→C は周期N である。
周期 N の関数 (周期N の周期数列) f, g: Z→C に対して、f と g の畳み込み f∗g を f ∗g(n) :=
N−1
∑
k=0
f(n−k)g(k) (n ∈Z) で定める。f ∗g: Z→C は周期 N の関数である。
実は
(7.22) F[f ∗g](n) = NFf(n)Fg(n).
証明 h:=f ∗g とおくと F[f ∗g](n) = 1
N
N∑−1 j=0
h(j)ω−nj
= 1 N
N∑−1 j=0
(N−1
∑
k=0
f(j−k)g(k) )
ω−nj = 1 N
N∑−1 k=0
(N−1
∑
j=0
f(j−k)g(k)ω−nj )
= 1 N
N∑−1 k=0
(N−1
∑
j=0
f(j−k)ω−nj )
g(k).
右辺の( )内の ∑ を変数(添字)変換する。ℓ=j−k とおくと、j = 0 のときℓ=−k,j =N −1 のとき ℓ=N−1−k, j =ℓ+k, ω−nj =ω−in(ℓ+k)=ω−nℓω−nk であるから、
N∑−1 j=0
f(j−k)ω−nj =
N∑−1−k ℓ=−k
f(ℓ)ω−nℓω−nk =ω−nk
N∑−1−k ℓ=−k
f(ℓ)ω−nℓ.
数列 ℓ 7→f(ℓ)e−nℓ は周期N の周期数列であるから、ℓ=−k,−k+ 1,· · · , N −1−k に対する和は ℓ= 0,1,· · · , N −1に対する和に等しい。
N∑−1−k ℓ=−k
f(ℓ)ω−nℓ =
N∑−1 ℓ=0
f(ℓ)ω−nℓ. ゆえに
F[f ∗g](n) = 1 N
N∑−1 k=0
( ω−nk
N∑−1−k ℓ=−k
f(ℓ)ω−nℓ )
g(k) = 1 N
N∑−1 ℓ=0
f(ℓ)ω−nℓ
N∑−1 k=0
g(k)ω−nk
=NFf(n)Fg(n).
7.5.4 数列の “Fourier 変換 ” — 離散時間 Fourier 変換
数列 {xn}n∈Z に対して、X(ω) :=
∑∞ n=−∞
xne−inω (ω ∈R)を {xn}n∈Z の離散時間Fourier変換と定 義したが、これを数列の “Fourier変換” と呼ぶことにしよう。
f: Z→C に対して、
Ff(ξ) = f(ξ) :=b
∑∞ n=−∞
f(n)e−inξ (ξ ∈R)
で定まる Ff =fbを (数列) f の “Fourier変換” と呼ぶ。Ff: R→C は周期2π である。
f, g: Z→C に対して、f と g の畳み込み f ∗g:Z→C を f ∗g(n) :=
∑∞ k=−∞
f(n−k)g(k) (n ∈Z) で定める。
実は
(7.23) F[f ∗g](ξ) = Ff(ξ)Fg(ξ).
証明 h:=f ∗g とおくと F[f ∗g](ξ) =
∑∞ n=−∞
h(n)e−inξ =
∑∞ n=−∞
( ∞
∑
k=−∞
f(n−k)g(k) )
e−inξ
=
∑∞ k=−∞
( ∞
∑
n=−∞
f(n−k)e−inξ )
g(k) =
∑∞ k=−∞
( ∞
∑
ℓ=−∞
f(ℓ)e−iℓξe−ikξ )
g(k)
= ( ∞
∑
ℓ=−∞
f(ℓ)e−iℓξ
) ( ∞
∑
k=−∞
g(k)e−ikξ )
=Ff(ξ)Fg(ξ).
7.5.5 ( おまけ ) 共役 Fourier 変換
共役Fourier変換についても
F∗[f ∗g] =定数F∗fF∗g が成り立つ。
以下は読まずに飛ばしても構わないであろう。
関数 f: R→CのFourier変換
Ff(ξ) = 1
√2π
∫ ∞
−∞
f(x)e−ixξdx (ξ∈R) に対応する共役 Fourier変換は、関数 g: R→C に対して
F∗g(x) = 1
√2π
∫ ∞
−∞
g(ξ)eixξdξ (x∈R) で定義されるF∗g である。これについては
(7.24) F∗[f∗g](x) = √
2πF∗f(x)F∗g(x) が成り立つ。本質的に(7.20) と同じである。
周期2π の周期関数 f: R→C のFourier変換(Fourier係数) Ff(n) = 1
2π
∫ π
−π
f(x)e−inx dx に対応する共役Fourier変換は、数列g ={g(n)}n∈Z に対して
F∗g(x) =
∑∞ n=−∞
g(n)einx (x∈R) で定義されるF∗g である。これについては
(7.25) F∗[f ∗g] (x) = F∗f(x)F∗g(x)
が成り立つ。本質的に、離散時間Fourier変換についての公式(7.23) F[f ∗g] (ξ) = Ff(ξ)Fg(ξ) と 同じである。
周期 N の周期数列 f ={f(n)}n∈Z のFourier変換(離散Fourier変換) Ff(n) = 1
N
N∑−1 j=0
f(j)ω−nj に対応する共役Fourier変換は、周期数列 g ={g(n)}n∈Z に対して
(7.26) F∗g(j) :=
N∑−1 n=0
g(n)ωnj (j ∈Z) で定義されるF∗g である。これについては
(7.27) F∗[f∗g] =F∗fF∗g
が成り立つ。本質的に、離散Fourier変換についての公式(7.22)F[f∗g] (n) =NFf(n)Fg(n) と同 じである。
数列 f ={f(n)}n∈Z のFourier変換 (離散時間Fourier変換) Ff(ω) =
∑∞ n=−∞
f(n)e−inω
に対応する共役 Fourier変換は、周期 2π の関数 g:R→C に対して F∗g(n) = 1
2π
∫ π
−π
g(x)einx dx で定義されるF∗g である。これについては
F∗[f∗g] =F∗fF∗g
が成り立つ。本質的に、Fourier係数についての公式(7.21)F∗[f∗g] (n) = F∗f(n)F∗g(n) と同じで ある。