• 検索結果がありません。

畳み込みの Fourier 変換は Fourier 変換の積

ドキュメント内 , (ページ 95-101)

第 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 があるとき、fjf(j) と書けば、数列は関数f: Z∋j 7→fj C とみなせることが分かるであろう。

定数因子もきちんと示すため、Fourier 変換、畳込みの定義式をそのつど書くことにする。

この項目は重要なので、勉強してもらうために期末試験に「証明せよ」という問題を出題したと ころ、乱暴なことをして減点される取る学生が多かった(こういうのを減らすのがこちらの目標だっ たりする)。証明は、どの場合も、積分(あるいは ∑

) の順序交換してから変数変換をする、という ことなので覚えるの簡単だと思うんだけど。

7.5.1 普通の関数 Fourier 変換

f を R を定義域とする関数 f: RC とするとき、f の Fourier 変換Ff (fbとも書く)は Ff(ξ) = f(ξ) :=b 1

−∞

f(x)eixξdxR) で定義される。Ff: RC である。

この項では、この記号を基本として、他の “Fourier変換”の記号をこれに真似て書くことにする。

f, g: RC に対して、fg の畳み込み f ∗gf ∗g(x) :=

−∞

f(x−y)g(y)dy (xR) で定める。f ∗g: RC である。

実は

(7.20) F[f∗g](ξ) =

2πFf(ξ)Fg(ξ) が成り立つ。

証明 h:=f ∗g とおくと

F[f ∗g](ξ) = 1

−∞

h(x)eixξdx

= 1

−∞

(∫

−∞

f(x−y)g(y)dy )

eixξdx

= 1

−∞

(∫

−∞

f(x−y)g(y)eixξdx )

dy

= 1

−∞

(∫

−∞

f(x−y)eixξdx )

g(y)dy.

右辺の ( ) 内の広義積分を lim で表してから、変数変換する。u = x− y とおくと、dx = du, x=u+y, eixξ =ei(u+y)ξ =eiuξeiyξ であるから、

−∞

f(x−y)eixξdx= lim

R→∞

R

R

f(x−y)eixξdx= lim

R→∞

Ry

Ry

f(u)eiuξeiyξ du

=eiyξ lim

R→∞

Ry

Ry

f(u)eiuξ du

=eiyξ

−∞

f(u)eiuξ du.

(積分の上端、下端に y が現れるけれども、結局は消えてしまうのが大事なところである。) これ から

F[f ∗g](ξ) = 1

−∞

( eiyξ

−∞

f(u)eiuξdu )

g(y)dy

= 1

−∞

f(u)eiuξdu

−∞

g(y)eiyξdy

=

2πFf(ξ)Fg(ξ).

注意 7.5.1 (期末試験に現れる間違い) 要点は「積分順序を交換してから、内側の積分を変数変換す

る」というものだが、「公式を証明せよ」という問題を期末試験に出題すると、積分順序を交換せず に、いきなりx−y=z として、xz に変数変換して

−∞

(∫

−∞

f(x−y)g(y)eiξxdy )

dx=

−∞

(∫

−∞

f(z)g(y)eiξ(z+y)dy )

dz

という式変形をする人がいる。これはめちゃくちゃなのだが、分かるだろうか?内側の積分の変数 である y が、外側の積分の変数変換の式x−y =z に現れるのはおかしい。これは次項 7.5.2 の場 合にやると分かりやすいかもしれない。

π

π

(∫ π

π

f(x−y)g(y)einxdy )

dx=

πy

πy

(∫ π

π

f(z)g(y)ein(z+y) )

dz のようになり、内側の積分変数が外側の積分の上端、下端に現れる。

7.5.2 周期関数の “Fourier 変換 ” — Fourier 係数

f: RC を周期 2π の関数とするとき、cn:= 1 2π

π

π

f(x)einxdx (n Z) を f の Fourier係数 と定義したが、これを (周期関数)f の “Fourier変換”と呼ぶことにして、記号 Ff あるいはfbで 表すことにしよう(この記号は実際に良く使われている)。すなわち

Ff(n) = f(n) :=b 1 2π

π

π

f(x)einxdx (nZ) Ff: ZC である。

周期 2π の関数f, g: RCに対して、f と g の畳み込み f ∗gf∗g(x) := 1

π

π

f(x−y)g(y)dy (xR) で定める。f ∗g: RC は周期 2π である。

実は

(7.21) F[f ∗g](n) = Ff(n)Fg(n).

証明 h:=f ∗g とおくと

F[f ∗g](n) = 1 2π

π

π

h(x)einx dx

= 1 2π

π

π

( 1 2π

π

π

f(x−y)g(y)dy )

einx dx

= 1

(2π)2

π

π

(∫ π

π

f(x−y)g(y)einxdx )

dy

= 1

(2π)2

π

−π

(∫ π

−π

f(x−y)einxdx )

g(y)dy.

右辺の ( ) 内の積分を変数変換する。u=x−y とおくと、dx =du,x=−π のときu =−π−y, x=π のとき u=π−y, x=u+y, einx =ein(u+y)n =einueiny であるから、

π

π

f(x−y)einxdx=

πy

πy

f(u)ein(u+y) du=einy

πy

πy

f(u)einu du.

関数 u7→f(u)einu は周期 2π であるから、[−π−y, π−y] での積分は [−π, π]での積分に等しい。

F[f ∗g](n) = 1 (2π)2

π

π

( einy

π

π

f(u)einu du )

g(y)dy

= 1 2π

π

π

f(u)einu du 1 2π

π

π

g(y)einy dy

=Ff(n)Fg(n).

7.5.3 周期数列の “Fourier 変換 ” — 離散 Fourier 係数

N N に対して ω:=e2πi/N とおく。周期N の周期数列 {fj}j∈Z に対して、Cn:= 1 N

N1 j=0

ωnjfj (n Z) を{fj}j∈Z の離散 Fourier 係数と定義したが、これを周期数列の “Fourier 変換” と呼ぶこ とにしよう。

f: ZC を周期 N の関数(周期 N の周期数列)とするとき、

Ff(n) =fb(n) := 1 N

N1 j=0

f(j)ωnj (n Z)

で定まる Ff を、(周期数列)f の “Fourier変換”と呼ぶ。Ff: ZC は周期N である。

周期 N の関数 (周期N の周期数列) f, g: ZC に対して、fg の畳み込み f∗gf ∗g(n) :=

N1

k=0

f(n−k)g(k) (n Z) で定める。f ∗g: ZC は周期 N の関数である。

実は

(7.22) F[f ∗g](n) = NFf(n)Fg(n).

証明 h:=f ∗g とおくと F[f ∗g](n) = 1

N

N1 j=0

h(jnj

= 1 N

N1 j=0

(N1

k=0

f(j−k)g(k) )

ωnj = 1 N

N1 k=0

(N1

j=0

f(j−k)g(k)ωnj )

= 1 N

N1 k=0

(N1

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 であるから、

N1 j=0

f(j−k)ωnj =

N1k ℓ=−k

f(ℓ)ωnℓωnk =ωnk

N1k ℓ=−k

f(ℓ)ωnℓ.

数列 7→f(ℓ)enℓ は周期N の周期数列であるから、ℓ=−k,−k+ 1,· · · , N 1−k に対する和は = 0,1,· · · , N 1に対する和に等しい。

N1k ℓ=k

f(ℓ)ωnℓ =

N1 ℓ=0

f(ℓ)ωnℓ. ゆえに

F[f ∗g](n) = 1 N

N1 k=0

( ωnk

N1k ℓ=k

f(ℓ)ωnℓ )

g(k) = 1 N

N1 ℓ=0

f(ℓ)ωnℓ

N1 k=0

g(k)ωnk

=NFf(n)Fg(n).

7.5.4 数列の “Fourier 変換 ” — 離散時間 Fourier 変換

数列 {xn}n∈Z に対して、X(ω) :=

n=−∞

xneinωR)を {xn}n∈Z の離散時間Fourier変換と定 義したが、これを数列の “Fourier変換” と呼ぶことにしよう。

f: ZC に対して、

Ff(ξ) = f(ξ) :=b

n=−∞

f(n)einξR)

で定まる Ff =fbを (数列) f の “Fourier変換” と呼ぶ。Ff: RC は周期2π である。

f, g: ZC に対して、fg の畳み込み f ∗g:ZC を 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)einξ =

n=−∞

(

k=−∞

f(n−k)g(k) )

einξ

=

k=−∞

(

n=−∞

f(n−k)einξ )

g(k) =

k=−∞

(

ℓ=−∞

f(ℓ)eiℓξeikξ )

g(k)

= (

ℓ=−∞

f(ℓ)eiℓξ

) (

k=−∞

g(k)eikξ )

=Ff(ξ)Fg(ξ).

7.5.5 ( おまけ ) 共役 Fourier 変換

共役Fourier変換についても

F[f ∗g] =定数FfFg が成り立つ。

以下は読まずに飛ばしても構わないであろう。

関数 f: RCのFourier変換

Ff(ξ) = 1

−∞

f(x)eixξdxR) に対応する共役 Fourier変換は、関数 g: RC に対して

Fg(x) = 1

−∞

g(ξ)eixξ (xR) で定義されるFg である。これについては

(7.24) F[f∗g](x) =

2πFf(x)Fg(x) が成り立つ。本質的に(7.20) と同じである。

周期2π の周期関数 f: RC のFourier変換(Fourier係数) Ff(n) = 1

π

π

f(x)einx dx に対応する共役Fourier変換は、数列g ={g(n)}n∈Z に対して

Fg(x) =

n=−∞

g(n)einx (xR) で定義されるFg である。これについては

(7.25) F[f ∗g] (x) = Ff(x)Fg(x)

が成り立つ。本質的に、離散時間Fourier変換についての公式(7.23) F[f ∗g] (ξ) = Ff(ξ)Fg(ξ) と 同じである。

周期 N の周期数列 f ={f(n)}n∈Z のFourier変換(離散Fourier変換) Ff(n) = 1

N

N1 j=0

f(j)ω−nj に対応する共役Fourier変換は、周期数列 g ={g(n)}n∈Z に対して

(7.26) Fg(j) :=

N1 n=0

g(n)ωnj (j Z) で定義されるFg である。これについては

(7.27) F[f∗g] =FfFg

が成り立つ。本質的に、離散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:RC に対して Fg(n) = 1

π

π

g(x)einx dx で定義されるFg である。これについては

F[f∗g] =FfFg

が成り立つ。本質的に、Fourier係数についての公式(7.21)F[f∗g] (n) = Ff(n)Fg(n) と同じで ある。

ドキュメント内 , (ページ 95-101)