seegongsik
SC · サンプリングと離散

エイリアシング

標本化では、折り返し周波数 fs/2 が鏡のように働きます。それより高い真の周波数はより高くは見えず、鏡に跳ね返って低い周波数として折り返されて入ってきます。この講では真の周波数を上げながら、見かけの周波数が上がり続けずにジグザグに折り返す様子を確かめます。

鏡で跳ね返り折り返す周波数

標本化の速さは fs = 8 に固定され、スライダーは真の信号の周波数 f を変えます。上の図は時間軸です。f が折り返し周波数 fs/2 = 4 を超えると、速い真の信号(金色)の標本を、より遅い偽の信号(赤い点線)がそっくり同じように通り、その偽物の周波数こそが見かけの周波数です。最初の f = 6 では見かけの周波数は 2 です。下の図は折り返し地図で、横軸が真の周波数、縦軸が見かけの周波数、赤い点が現在の位置です。f を上げると見かけの周波数は 4 まで上がってから下がり、f = 8 で 0 になり、また上がるのをジグザグに繰り返します。緑に塗った f < 4 の範囲だけで、見かけの周波数が真の周波数と一致します。

真と偽 (時間軸)
折り返し地図: 見える周波数 vs 真の周波数
真の周波数 f6.00
周波数と折り返し
f = 6.00 · fs = 8.00 · 折り返し fs/2 = 4.00
見かけの周波数 f_a = 2.00
真の周波数 f が折り返し周波数 fs/2 = 4 より高くなっています。鏡に跳ね返って、見かけの周波数は f ではなく f_a = |f − fs·round(f/fs)| という低い偽物になり、標本だけではこの偽物と真の信号を区別できません。f が 4 と 8 の間にあるときは偽のサインが位相を反転して描かれ、車輪が逆回りに見えるのはこのためです。f をさらに上げても、見かけの周波数は 0 と 4 の間をジグザグに行き来するだけです。
エイリアシング (偽に見える)

鏡で折り返す周波数

標本だけを見ると、その点は真の周波数 f のサインでも、fs − f、fs + f、2fs − f のような無数のほかのサインでも同じように説明できます。標本ではこれらを区別できず、復元するときはその中で最も低い周波数、つまり 0 と fs/2 の間に入るものが選ばれます。そのため真の周波数 f を 0 から上げると、見かけの周波数は fs/2 までまっすぐ上がり、fs/2 を鏡として下がって fs で 0 になり、また上がるのを繰り返します。式で書くと見かけの周波数 = |f − fs·round(f/fs)| という三角波で、最初の画面の折り返し地図がまさにこの三角波です。

観察折り返し(ナイキスト)周波数 = fs2
折り返し周波数は標本化の速さの半分です。
選ぶ見かけが真の周波数と一致する条件 f ?
f が fs/2 より低ければ、見えるものが真の周波数です。
空欄fs2 < f < fs → 見かけの周波数 = | f − ?
fs/2 と fs の間の f は |f − fs| に折り返されます。
自分で一般式 fa = | f − fs · ? |
f に最も近い fs の整数倍を引くと偽の周波数が得られます。

車輪・写真・音の中の折り返し

エイリアシングは、標本化が起こるところならどこでも同じ姿で現れます。映画のカメラは一秒に 24 コマ(fs = 24)を撮るので、車輪のスポークがある位置を通る回数が一秒に 12 回(fs/2)を超えると、その動きが折り返されて、ゆっくり回るか逆回りしているように見えます。デジタルカメラのセンサーは画素の間隔で光を標本化するので、それより細かい縞模様の服や格子は太い波模様(モアレ)に折り返されます。音声を fs で標本化するとき、fs/2 より上の音は見当違いの音程で折り返されて入り込み、耳障りな雑音になります。三つとも fs/2 という同じ鏡で起こる同じ現象です。

鏡の前を守るフィルタ

一度折り返された偽物は真の信号とまったく同じ標本を作るので、標本化した後では二つを分け直す方法がありません。だから折り返す前に防ぐ必要があり、そのために標本化の直前に fs/2 より上の成分をあらかじめ削り取る低域通過フィルタ、つまりアンチエイリアシングフィルタを置きます。鏡に映るはずのものを鏡の前で片づけ、折り返して入ってくる周波数そのものをなくすわけです。映画ではシャッターが開いている間の動きをぼかすモーションブラーが、カメラではセンサー前の光学ローパスフィルタが、音声では ADC 前段のアナログフィルタが同じ役目を果たします。標本化の速さを十分に上げること、上げられなければ fs/2 より上を先に捨てること、エイリアシングを防ぐ道はこの二つです。

最初の画面に戻ると

最初の画面では標本化の速さ fs = 8 を固定し、真の周波数 f だけを上げました。f が折り返し周波数 4 より低い間は見かけの周波数が真の周波数と同じでしたが、4 を超えた瞬間に鏡に跳ね返り、見かけの周波数は下がり始めました。速い真の信号の標本を、より遅い偽物がそっくり同じように通り、標本だけでは二つを見分けられませんでした。f をさらに上げても、見かけの周波数は 0 と 4 の間を三角波で行き来するだけでした。車輪が逆回りし、写真に波模様が立ち、音が音程を失うのは、どれもこの一枚の鏡で起こります。真の周波数が fs/2 を超えるかどうかが、見えるものが真実か幻かを分けていました。

エイリアシングは、標本化の速さ fs の半分である折り返し周波数 fs/2 を鏡として起こります。fs/2 より高い真の周波数 f は、標本の上では見かけの周波数 fa = |f − fs·round(f/fs)| という低い偽物に折り返され、f を上げると fa は 0 と fs/2 の間を行き来する三角波になります。f < fs/2 なら忠実(見えるものが真実)で、それより上は幻です。車輪の逆回転、モアレ、音声の音程のゆがみは、どれも同じ折り返しです。折り返された偽物は標本化の後では元に戻せないので、標本化の前にアンチエイリアシング(低域通過)フィルタで fs/2 より上を削って防ぎます。
次のユニットへ

ここまでは標本を時間上の点としてだけ見てきました。これからは、その点の数列そのものを一つの対象として扱う道具が必要です。次のユニット z 変換 は、離散信号のためのラプラス変換です。一つ分の遅れを z⁻¹ という記号にまとめ、離散信号と差分方程式を z の代数に置き換えます。連続時間で s 平面と極が応答を決めたように、離散時間では z 平面とその上の極が同じ役目を果たしますが、安定の境目は虚軸ではなく単位円になります。その違いは、標本化が z = esT によって s 平面を z 平面に巻きつけた結果です。