seegongsik
単語帳
SC · サンプリングと離散

DTFT と DFT

DTFT は離散信号の本当の周波数スペクトルで、z 変換を単位円の上で見たものだ。DFT はその連続スペクトルを、コンピュータが計算できるよう N 個の周波数で標本化したものだ。信号周波数を動かし、それが DFT の目盛りにぴったり合えば綺麗な一点、目盛りの間に挟まると複数の桁へ漏れる(リーケージ)のを自分で見る。

目盛りに合えば一点、ずれれば漏れ

上は長さ N=16 の離散コサイン x[n] = cos(ω₀n) だ。下の金色の曲線がその DTFT の大きさ、すなわち ω を連続に掃いた本当のスペクトルで、青い棒が ω = 2πk/N の N 個の DFT 目盛りでその曲線を標本した値だ。破線は信号の本当の周波数 ω₀ だ。ω₀ スライダーを動かし、ω₀ が青い目盛り一つにぴったり合えばその桁だけ立ち他は 0 になる綺麗な一点を作れ。目盛りの間に挟まると隣の桁へエネルギーが漏れる。

離散コサイン x[n] = cos(ω₀n), N=16
DTFT の大きさ(金の曲線)と DFT 目盛り(青の棒)
信号周波数 ω₀0.98 rad
信号周波数と DFT 目盛り
ω₀ = 0.98 · N = 16 · bin Δ = 2π/N = 0.39
nearest bin k = 2 at ω = 0.79
信号周波数 ω₀ が二つの DFT 目盛りの間に挟まった。どの目盛りも信号の山に合わず、エネルギーが複数の桁へ広く漏れる。これがスペクトルリーケージだ。DFT が DTFT 曲線の脇の山まで標本しているのだ。
目盛りの間 (漏れ)

単位円の上で見るスペクトル

離散信号 x[n] の DTFT は X(e^(jω)) = Σₙ x[n] e^(−jωn) だ。これは E3 の z 変換 X(z) = Σ x[n] z⁻ⁿ で z を単位円上の z = e^(jω) に置いたものとまったく同じだ。だから DTFT は z 平面の単位円を一周する上で見たスペクトルで、システムの周波数応答になる。一つの特徴は周期性だ。e^(−jωn) が ω について 2π 周期なので、DTFT は ω が 2π ごとに同じく繰り返す。これは E1 で見た標本化がスペクトルを fs ごとに複製するという事実の別の顔だ。だから離散信号のスペクトルは −π から π までの一区間だけ見れば十分だ。

観察DTFT X(e) = Σₙ x[n] e−jωn
DTFT は離散信号のスペクトル。
選ぶDTFT = X(z) at z = ?
DTFT は単位円上の z 変換。
空欄DFT X[k] = X(e) at ω = ?
DFT は DTFT を N 点で標本。
自分でfast algorithm for the DFT = ?
FFT は DFT を N log N で計算。

コンピュータが計算する DFT

DTFT は ω が連続なので値が無限にある。コンピュータは無限を計算できないので、一周期 2π を N 等分した ω = 2πk/N (k=0..N−1) でだけ値を取り出す。これが DFT X[k] = Σₙ x[n] e^(−j2πkn/N) で、有限な N 個の入力から有限な N 個の出力を出す。すなわち DTFT 曲線を N 個の目盛りで標本したものだ。DFT をそのまま計算すると N² 回の掛け算がかかるが、1965 年のクーリー–テューキーの FFT が N log N に減らし、デジタル信号処理全体を実用にした。時間領域の畳み込みが DFT 領域では再び掛け算になり、長いフィルタも FFT で速く回せる。

目盛りに外れた周波数の漏れ

信号を有限な N 個だけ切り取って使うと、その切り取りの窓のために DTFT が幅を持つ山(主ローブ)と、その脇に並ぶ小さな山(サイドローブ)を持つ形になる。信号周波数 ω₀ が目盛り 2πk/N にぴったり合えば、その目盛りは主ローブの頂上に、他の目盛りはちょうどサイドローブの間の 0 点に乗り、綺麗な一点になる。しかし ω₀ が目盛りの間に挟まると、すべての目盛りがサイドローブを標本し、エネルギーが複数の桁へ漏れるスペクトルリーケージが起きる。これを減らすため、切るときに両端を滑らかに削る窓関数(ハニング・ハミングなど)を使うと、サイドローブが下がり漏れは減るが、主ローブが広がって近い二つの周波数を見分ける力は落ちる。分解能とリーケージのトレードオフだ。

最初の画面に戻ると

長さ N の離散コサイン一つを置いて、そのスペクトルを見た。金色の DTFT 曲線は ω を連続に掃いた本当のスペクトルで、青い DFT の棒はその曲線を N 個の目盛りで標本した値だった。信号周波数 ω₀ を目盛り 2πk/N にぴったり合わせると、一桁だけ立ち他は 0 の綺麗な一点が出た。目盛りの間へ動かすと、エネルギーが複数の桁へ広がる漏れが見えた。DFT は DTFT の標本にすぎず、DTFT は z 変換を単位円の上で見たものだ。信号の基礎から始まった鎖が、時間・畳み込み・フーリエ・ラプラス・標本化を経て、ここ離散スペクトルで一周を閉じる。

DTFT X(e) = Σₙ x[n] e−jωn は離散信号のスペクトルで、z 変換を単位円 z = e で見たものであり ω について 2π 周期だ(離散化の結果)。DFT X[k] = Σ x[n] e−j2πkn/N はその DTFT を ω = 2πk/N の N 点で標本した有限・計算可能版で、FFT が N log N で速く計算する。信号周波数が目盛りに合えば綺麗な一点目盛りの間ならスペクトルリーケージが起きる(有限窓のサイドローブ)。窓関数で漏れを減らすと分解能とトレードオフになる。
次の章へ

ここで信号とシステムを分析する道具がすべて揃った。時間で見て、フーリエ・ラプラス・z で変換し、標本化してデジタルで扱う方法まで身につけた。さて最終章では、方向が分析から設計へ変わる。次のユニット安定度とラウス判別法では、システムを安定にすることが最初の問いだ。極を直接求めずに、特性方程式の係数だけからすべての極が左半面にあるかを判定するラウス表を立てる。極を解くのが難しい高次システムでも安定かどうかを手で判定し、続いて根軌跡とボード線図で制御器を設計していく。