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

サンプリング定理 83

ドキュメント内 , (ページ 84-89)

連続信号をサンプリングして離散信号を取り出すことにより、元の信号 (関数)の情報がどれくら い失われるのか、どのくらい保存されているのか、これは大事な問題である。離散 Fourier 変換で も考えたが(定理3.2.6)、ここでは周期関数でないf: RCに関する、有名なサンプリング定理を 紹介する。

以下のサンプリング定理の定式化と証明は、木村 [18] を参考にした(私はこの辺りの話題には詳 しくないけれど、他の色々な文献を見たところ、割と標準的な説明のようである)。

余談 5.0.1 (歴史覚書) ある意味で良くある話なので1、時間に余裕があれば話をするべきかも。

ナイキスト (Harry Nyquist, 1889–1976, スウェーデン) が 1928 年に予想したこと2を、シャノン (Calude E. Shannon, 1916–2001) がシャノン [4]3(1949年)の中で、染谷そ め やいさお勲 が染谷 [19] (1949年) の 中で、独立に証明したが、実はロシアのKotel’nikovは 1933 年にこの結果を得ていた、ということ は良く知られている。

でも実は数学分野では、もっと遡ることが出来て、補間法の公式として、E. T.Whittaker (1873–ホ イ テッカ ー 1956, 応用数学の大家) が 1915年に、小倉金之助お ぐ ら (1885–1962, 数学史・数学教育分野で大変有名な 先生だけれど、こういう研究をしていたとは!)が1920年に得ていた(Butzer他[20] —これは解読 すべき論文かもしれない。Whittaker のは補間法で、小倉のは正しくサンプリング定理である、と 言っているように読める。メイン・ストリームに合流しなかった研究成果は意味がない、と言う人 は多いのだけれど、Whitakker にしても小倉にしても、決してマイナーな人ではないので、気づか れなかったことをどのように捉えるべきか、考え込んでしまう。)。

一方で、定理がどのように応用されるかは、定理を発見した人も見通せず、その定理が必要な人 達に知られないというのも仕方がない面がある。実際に必要を感じた人達が独立に発見し、それを 生かすこと道を整備することは重要な業績である。電子通信情報学会編「電子情報通信学会創立100 周年記念マイルストール— 100年の偉業を振り返り未来に繋ぐ」[21] を見ると、通信の分野で、染 谷の業績が非常に高く評価されていることが良く分かる。

1必要がある場合は、ほぼ同時にたくさんの人が考える。ロシア人も後から一言もの申す(実際、ロシアの研究者が 先んじている場合が少なくないが、彼らの業績は西側に伝わりにくいのでそういうことになるみたい)。応用からは離れ て、数学者がずっと以前に片付けていることも結構ある。

2”Certain topics in telegraph transmission theory”の中で帯域幅W の信号を伝送するには、サンプリング周期を 1

2W 以下にする必要がある、と述べたそうである。

3“Communication in the presence of noise”の中で信号を復元する公式を導出した。

定理 5.0.2 (サンプリング定理, Nyquist, Shannon, 染谷) 関数 x:RC のFourier変換 X(ω) = 1

−∞

x(t)eiωtdt

(∃W >0)(∀ω∈R:|ω| ≥W) X(ω) = 0 を満たすならば、このような W を任意に一つ取って

T := π W とおくとき、次式が成り立つ。

(∀t∈R) x(t) =

n=−∞

x(nT)sinπ(n−t/T) π(n−t/T) =

n=−∞

x(nT) sinc [π(n−t/T)].

つまり、W

2π 以上の周波数成分を含まない信号は、サンプリング周波数fs := 1 T = W

π でサンプリ ングした離散信号から復元できる。言い換えると、f 以上の周波数成分を含まない信号は、2f 以上 のサンプリング周波数でサンプリングしたデータから復元できる。

証明 Fourier 変換の反転公式を思い出そう。

X(ω) := 1

−∞

x(t)eiωtdtR) とおくとき

x(t) = 1

−∞

X(ω)eiωt (tR).

仮定|ω| ≥W ⇒X(ω) = 0より

(5.1) x(t) = 1

W

W

X(ω)eiωt (tR) この式は周期2W の関数の Fourier 係数の式に似ている。実際、

関数X(ω) (|ω| ≤W) の Fourier 級数展開

cn:= 1 2W

W

W

X(ω)einWπω とおくとき

X(ω) =

n=−∞

cneinWπω (|ω| ≤W).

そこで (dn=cn と対応させて)

dn := 1 2W

W

W

X(ω)einWπω とおくとき

(5.2) X(ω) =

n=−∞

dneinWπω (|ω| ≤W)

が成り立つことが分かる。

dn の定義式と (5.1) を見比べると dn= 1

· π W · 1

W

W

X(ω)e·nWπ= 1

T x(nT), T := π

W.

(Fourier変換 X(ω) の Fourier 係数dn が、元の関数のサンプリング・データになっている!)

(5.2) は次のように書き換えられる:

X(ω) = T

n=−∞

x(nT)einωT (|ω| ≤W).

これを (5.1) に代入して x(t) = 1

W

W

(

√T

n=−∞

x(nT)einωT )

eiωt = T

n=−∞

x(nT)

W

W

eiω(tnT)dω.

右辺の積分は

W

W

eiω(tnT) = eiW(tnT)−eiW(tnT)

i(t−nT) = 2 sinW(t−nT)

t−nT = 2 sinTπ(nT −t) T(n−t/T)

= 1 T

2 sinπ(n−t/T) n−t/T . (実は、以前 1

2a

a

−a

eixξ dx= sin(aξ)

という計算をしてある。それを使えば良い。) ゆえに

x(t) =

n=−∞

x(nT)sinπ(n−t/T) π(n−t/T) .

この証明はあまり見通しが良くないような気がする。後で少し違ったやり方で証明する(かもしれ ない…と言って、その後放置している)。

6 離散時間 Fourier 変換と Fourier ファミリー

6.1 離散時間 Fourier 変換

正とは限らない整数を添え字に持つ複素数列 {fn}n∈Z を離散信号と呼ぶ。

離散信号 {fn}n∈Z は、fn =f(n) とすることで、関数 f: ZC とみなせる。離散信号全体の集 合をCZ で表す。

f の離散時間 Fourier 変換(discrete-time Fourier transform, DTFT) とは、

(6.1) Ff(ω) =fb(ω) :=

n=−∞

f(n)einωR) で定義される関数 fbのことをいう。

fbは、実は周期2π の関数である。実際、

fb(ω+ 2π) =

n=−∞

f(n)ein(ω+2π)=

n=−∞

f(n)einωi2nπ =

n=−∞

f(n)einω =fb(ω).

ゆえに ω∈[0,2π] (あるいはω [−π, π])で考えれば十分である。

f(n) は関数fbの第(−n) Fourier 係数と見做せるので(これはちゃんと理解するべし)、

(6.2) f(n) = 1

π

π

fb(ω)einω (n Z) が成り立つ。これが離散時間 Fourier 変換の反転公式である。

念のため後から補足

次のようにも考えられる。=n とするとき、

(einω, eimω)

=

π

π

einωeimω =

π

π

ei(mn)ω =

[ei(mn)ω i(m−n)

]π

π

= 0 であるから {e−inω} は直交系であり、(6.1) は直交系による fbの展開である。

(einω, einω)

=

π

π

einωeinω=

π

π

= 2π であるから、e−inω の係数 f(n)は

f(n) = (f, einω) (einω, einω) =

π

π

f(ω)einω

2π = 1

π

π

f(ω)einω dω.

無限和だから収束が問題になるが、ある程度の知識がある人を対象に簡単に触れておくと、

• {f(n)}n∈Z について、有限エネルギー条件

n=−∞

|f(n)|2 <∞ (つまり {f(n)} ∈ 2(Z) という こと) を課した場合、fb∈L2(0,2π) であり、(6.1) は L2 における等式と解釈すれば良い。

• {f(n)}n∈Z について、

n=−∞

|f(n)|<∞ という条件 (つまり{f(n)} ∈ℓ1(Z) ということ)を課 すと、(6.1) の右辺は一様に絶対収束し、和は連続な関数となる (Weierstrass の M-test を使 う、知っている人にとっては「良くある議論」)。

6.2 Fourier ファミリーの一覧表

これまでに出て来た、Fourier 変換、Fourier 級数 (Fourier係数)、離散時間 Fourier 変換、離散

Fourier変換の一覧表を作って整理してみよう。

伝統的な数学科のカリキュラムでは、Fourier変換、Fourier係数 (Fourier級数) について学ぶが、

離散 Fourier 変換 (discrete Fourier transform) や、離散時間 Fourier 変換 (discrete-time Fourier

transform)は学ばないことが多い。

対象 操作の名前 変換の定義式 反転公式

R上の関数 Fourier変換 fb(ξ) = 1

−∞

f(x)eixξdx R) f(x) = 1

−∞

fb(ξ)eixξ R上の周期関数 Fourier係数 cn= 1

0

f(x)einxdx (nZ) f(x) =

n=−∞

cneinx

Z 上の関数 (離散 信号)

離散時間 Fourier 変換

fb(ω) =

n=−∞

f(n)einω [0,2π]) f(n) = 1

0

fb(ω)einω

Z 上 の 周 期 関 数 (周期的離散信号)

離散Fourier変換 Cn= 1 N

N1 j=0

fjωnj (0nN1), fj=

N1 n=0

Cnωnj

ω:= exp (2πi

N )

しばらく観賞。

式が良く似ていることに注目しよう。(その気になれば、もっと似せることも出来るけれど、それ はやらないでおいた。)

どれもいわゆる「変換」であり、それぞれ (例えば) L2(R)→L2(R), L2(0,2π)→ℓ2(Z),2(Z) L2(0,2π),CN CN の同型を与える( 1

2π や 1

N を公平に分配すると、内積を保つようになる。)。

離散 Fourier 変換は、Fourier係数を求める計算の離散化とみなすことができる。それは (定数倍

の調節をすれば)CN 上のユニタリ変換になっていて、逆変換は順方向の変換と良く似たものになる (そのあたりは、定数倍の調節をすればL2(R)上のユニタリ変換になる、Fourier変換と似て来るの は不思議である)。

一方、離散時間Fourier 変換は、離散Fourier変換よりももっと知名度が低いが、数学的には、関

数にそのFourier 係数を対応させる写像の逆写像と等価と言えるので(上の表で2行目と3行目の定

義式と反転公式の部分をたすきがけすると分かる)、実は知っていることになる。

今から用語を変えることは不可能だと思うが、例えば「離散時間 Fourier変換」, 「離散 Fourier 変換」をそれぞれ「離散Fourier変換」, 「離散Fourier係数」とすれば分かりやすかっただろうと 思う。

R 上の周期関数は、R 上の関数であるから、Fourier 変換をすることも考えられるが、素朴にや ると積分が発散してしまう。超関数論を用いると、デルタ関数で表すことが出来る。

ドキュメント内 , (ページ 84-89)