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

離散 LTI システム

離散 LTI システムはインパルス応答 h[n] 一つで完全に定まる。インパルス δ[n] を入れたときに出るその h[n] を、入力の上で滑らせて掛けて足せば、どんな入力の出力も出る(離散畳み込み)。平滑の強さを動かし、h[n] が入力の雑音をどう削るかを自分で見る。

インパルス応答で雑音を削る

上はこのデジタルフィルタのインパルス応答 h[n] = (1−α)αⁿ だ。インパルス δ[n] を一つ入れると、この形がそのまま出る。下で、薄い線が雑音混じりの入力 x[n](ステップ + 雑音)、金色の棒がその出力 y[n] だ。出力は h[n] を入力の上で滑らせて掛けて足した離散畳み込みだ。平滑の強さ α を上げて h[n] の尾を長く伸ばすと、近傍をより多く平均して雑音が削れる。ただし上げすぎるとステップの角がつぶれる。

インパルス応答 h[n] = (1−α)αⁿ
入力 x[n](薄)と出力 y[n](金)
平滑の強さ α0.20
フィルタと出力
α = 0.20 · h[n] = 0.80·0.20^n
memory ≈ 1.3 samples (IIR)
平滑が弱く、インパルス応答 h[n] の尾が短い。出力が近傍をほとんど平均せず、雑音がそのまま通る。出力の棒が入力のようにギザギザだ。
雑音が残る

インパルス応答がシステムのすべて

離散 LTI システムは線形(入力を足せば出力も足される)で時不変(入力を遅らせれば出力も同じだけ遅れる)なシステムだ。こうしたシステムはインパルス応答 h[n] 一つで完全に決まる。インパルス δ[n](n=0 で 1、他は 0)を入れたときに出る出力が h[n] だ。なぜこれ一つで足りるのか。どんな入力 x[n] も複数のインパルスの和 Σ x[k]·δ[n−k] に分けられるからだ。線形・時不変なので各インパルス x[k]δ[n−k] の出力は x[k]·h[n−k] であり、これらをすべて足せば全体の出力になる。

観察input δ[n] ⟶ output h[n]
δ[n] の出力がインパルス応答 h[n]。
選ぶy[n] = Σₖ h[k] ?
出力は h と x の離散畳み込み。
空欄IIR y[n] = α y[n−1] + (1−α) ?
再帰式は過去の出力を戻す。
自分でfinite h[n] = FIR, recursive = ?
再帰があれば無限応答の IIR。

出力は滑る加重和

その和 y[n] = Σₖ h[k]·x[n−k] が離散畳み込みだ。各出力時刻 n ごとに、インパルス応答 h を時間反転して入力の n の位置に重ね、重なった標本同士を掛けてすべて足す。そして一こま移して次の出力を求める。B 章の連続畳み込みで積分 ∫ が和 Σ に、曲線が標本に変わっただけで原理は同じだ。h[n] が短ければ近い数点だけ、長ければより遠い過去まで混ぜる。滑らかな平均形の h は雑音を削る低域通過、差分形の h は変化を強める高域通過になる。

FIR と IIR、そして差分方程式

インパルス応答が有限の長さで終われば FIR(有限インパルス応答)フィルタだ。長さ M の移動平均 h[n] = 1/M(n=0..M−1)が代表例で、入力標本だけを加重和するので常に安定だ。一方、過去の出力を戻す再帰式なら、インパルス応答が無限に続く IIR(無限インパルス応答)だ。最初の画面のフィルタ y[n] = α·y[n−1] + (1−α)·x[n] がその例で、インパルス応答が h[n] = (1−α)αⁿ なので永遠に尾を引く。この再帰式が差分方程式で、E3 のように z 変換すると H(z) = (1−α)/(1 − α z⁻¹)、極が z = α だ。極が単位円の内(α<1)にあってこそインパルス応答が収まり安定する。少ない係数で長い応答を出す IIR は効率的だが、極が円の外へ出ると発散しうる。

最初の画面に戻ると

上で見たインパルス応答 h[n] = (1−α)αⁿ 一つが、このフィルタのすべてだった。平滑の強さ α を上げて h[n] の尾を伸ばすと、離散畳み込みがより多くの近傍を平均して出力の雑音が削れ、上げすぎるとステップの角がつぶれた。出力は常に y[n] = Σₖ h[k]x[n−k]、すなわち h を入力の上で滑らせた加重和だった。インパルス一つへの応答さえ分かれば、それを滑らせてどんな入力の出力も作れる。離散 LTI システムのすべてが、その小さな h[n] の中に収まっていたのだ。

離散 LTI システムは線形・時不変なので、インパルス応答 h[n](δ[n] の出力)一つで完全に定まる。どんな入力の出力も 離散畳み込み y[n] = Σₖ h[k]x[n−k]、すなわち反転して滑らせた h と入力の加重和だ(B 章の畳み込みの ∫→Σ 離散版)。インパルス応答が有限なら FIR(常に安定)、過去の出力を戻す再帰なら無限に続く IIR だ。再帰式(差分方程式)を z 変換すると H(z) の極が出て、極が単位円の内にあってこそ安定する(E3)。平均形の h は低域通過、差分形の h は高域通過だ。
次のユニットへ

時間の上で畳み込みによって濾した結果は見たが、このフィルタが正確にどの周波数を生かしどの周波数を殺すかは、まだ数で見ていない。次のユニットDTFT と DFTでは、インパルス応答を周波数へ広げる。インパルス応答を単位円上 z = e で評価したものが DTFT、すなわち離散システムの周波数応答だ。平均形 h の DTFT は高い ω で小さくなる低域通過の形で出る。そして無限の DTFT をコンピュータが実際に計算できるよう有限個の周波数で標本化したものが DFT で、それを速く計算するアルゴリズムが FFT だ。畳み込みは周波数領域では再び掛け算になる。