信号のサンプリングとナイキストの定理

信号周波数とサンプリング周波数を設定して、信号が忠実に捉えられるか、エイリアシングが起きるかを確認しよう。

インタラクティブシミュレーションを読み込んでいます...

異なる二つの周波数が、まったく同じ標本を残しうる

サンプリングは、サンプリング周波数が存在する最も速い振動を捉えている場合にのみ機能します。fs < 2 fsignal の場合、異なる連続周波数が同一のサンプルを生成するため、再構成は誤った低いエイリアス周波数に固定されてしまいます。

1つの波に最低2点

波を正確にとらえるには、上がるところと下がるところの両方を捕まえる必要があり、1周期あたり最低2つの標本が要ります。それより少ないと、同じ点が多くの異なる波に当てはまってしまい、デジタル化されたコピーは間違って推測します。CD音声が1秒あたり44,100標本を使うのは、人間の聴覚が約20 kHzまでで、2 × 20 kHzが十分な余裕を残すからです。

映画で車輪が逆回転して見える理由

ワゴンホイール効果は、目に見える世界のナイキストです。映画カメラは動きを毎秒24フレームで標本化します。スポーク付きの車輪が1フレームの間にスポーク間隔よりわずかに少なく回ると、各コマは前より少し手前で止まり、目には車輪がゆっくり逆回転して見えます。音声のエイリアシングと同じ数学で、フレームレートが標本化周波数にあたり、速い回転が偽の遅い回転に折り返されます。

全プロセスの詳細解説

  1. 8-bitコンバータにおける1ビットあたり6 dBの法則と端数の1.76 5 ステップ

    8 ビット変換器について、1 ビットあたり 6 dB の法則をゼロから導出せよ(唐突に現れる 1.76 はどこから来るのか?)。そして、この法則が何を保証しないかを述べよ。

    1. 最も近いレベルへと丸めることで生じる誤差は半ステップ以下であり、複雑に変化する信号においては、その誤差は区間全体に均等に広がる。その分散は、一様分布における e² の積分となる。

      Δ=VFS2N,e∼U ⁣(−Δ2,Δ2),σe2=1Δ∫−Δ/2Δ/2 ⁣e2 de=Δ212\Delta=\frac{V_{FS}}{2^{N}},\qquad e\sim\mathcal{U}\!\left(-\tfrac{\Delta}{2},\tfrac{\Delta}{2}\right),\qquad \sigma_e^{2}=\frac{1}{\Delta}\int_{-\Delta/2}^{\Delta/2}\!e^{2}\,de=\frac{\Delta^{2}}{12}
    2. 参照信号は入力範囲全体を満たす正弦波であるため、その電力は振幅の二乗の半分となる。

      Psig=(VFS/2)22=VFS28P_{\text{sig}}=\frac{(V_{FS}/2)^{2}}{2}=\frac{V_{FS}^{2}}{8}
    3. 両者を割り算する。フルスケール範囲が相殺されるため、結果は電圧ではなく純粋にビット数の関数となる。

      SNR=VFS2/8Δ2/12=128(VFSΔ)2=32⋅22N\mathrm{SNR}=\frac{V_{FS}^{2}/8}{\Delta^{2}/12}=\frac{12}{8}\left(\frac{V_{FS}}{\Delta}\right)^{2}=\frac{3}{2}\cdot2^{2N}
    4. 対数を取る。6.02 は 20 log₁₀2 であり(1 ビットでレベル数が 2 倍になる)、1.76 は前行から残された 3/2 である。

      SNRdB=10log⁡10 ⁣32+20Nlog⁡102=1.76+6.02 N\mathrm{SNR_{dB}}=10\log_{10}\!\tfrac{3}{2}+20N\log_{10}2=1.76+6.02\,N
    5. 8 ビット、次いで 16 ビットで評価する。追加の 1 ビットごとに 6 dB 強の価値があるため、CD オーディオの 8 ビットの追加は 48 dB を買っていることになる。

      N=8: 6.02(8)+1.76=49.92 dB;N=16: 98.08 dBN=8:\ 6.02(8)+1.76=49.92\ \mathrm{dB};\qquad N=16:\ 98.08\ \mathrm{dB}

    解答

    49.92 dB であり、1.76 は 10 log₁₀(3/2) である。それは正弦波の平均二乗値と量子化器の一様誤差分散との比であり、ビット数を数えるだけではない公式中の唯一の部分である。出現しないものに注目されたい。それはサンプルレートである。8 kHz で動作する 24 ビット変換器は 146 dB の振幅分解能を持つが、それでも 5 kHz のトーン信号を表現することはできない。ビット数は垂直方向の精度を買い、サンプルレートは帯域幅を買い、一方の量が他方を代替することは決してない。このページの 2 つのスライダーが「品質」を表す 2 つの言い回しではなく、真に独立した軸である理由はここにある。

    SNRdB=6.02 N+1.76=49.92 dB  (N=8)\mathrm{SNR_{dB}}=6.02\,N+1.76=49.92\ \mathrm{dB}\ \ (N=8)
  2. CDにおける30 kHzのトーンと、それがどこに戻ってくるか 7 ステップ

    人間の可聴域をはるかに超える30 kHzの成分をマイクが拾い、事前のフィルターを通さずにそのまま44.1 kHzの変換器に到達したとします。録音データには何が残り、他のどんな音と区別がつかなくなるでしょうか。

    この問題をツールで開く

    1. まずは上限から考える。毎秒44,100サンプルで動作するコンバータが忠実に表現できるのは、そのレートの半分未満のものだけである。今回のトーンはその限界を超えているため、サンプリング結果が後からどのように見えようとも、それが一見して意味するように見えるものを表しているはずがない。

      fNyquist=fs2=44 1002=22 050 Hz30 000>22 050f_{Nyquist}=\frac{f_s}{2}=\frac{44\,100}{2}=22\,050\ \mathrm{Hz}\qquad 30\,000>22\,050
    2. コンバータが実際に何を保存しているかを書き出してみる。コンバータは波形そのものを見ることは決してない。1/44,100秒に1回、波形の値を見るだけであり、それ以外のものは一切見ていない。

      x[n]=sin⁡ ⁣(2πf nfs)=sin⁡ ⁣(2π⋅30 00044 100 n)x[n]=\sin\!\left(2\pi f\,\frac{n}{f_s}\right)=\sin\!\left(2\pi\cdot\frac{30\,000}{44\,100}\,n\right)
    3. ここで、あるサンプルと次のサンプルの間に整数サイクルの波を加えてみる。各サンプルは位相が余分に2πkだけ進むが、正弦波はちょうど何周回っても変化しない。記録される数値は、一桁たりとも違わず完全に一致する。

      sin⁡ ⁣(2π f+kfsfs n)=sin⁡ ⁣(2πffsn+2πkn)=sin⁡ ⁣(2πffsn)k∈Z\sin\!\left(2\pi\,\frac{f+k f_s}{f_s}\,n\right)=\sin\!\left(2\pi\frac{f}{f_s}n+2\pi k n\right)=\sin\!\left(2\pi\frac{f}{f_s}n\right)\qquad k\in\mathbb{Z}
    4. したがって、得られたサンプルは周波数を一意に特定するものではない。特定されるのは周波数の族であり、再生側はその構成要素の中から1つを選ばなければならない。再生側が選ぶのは0に最も近いものであり、これは30,000 Hzからサンプリングレートの最も近い倍数までの距離となる。

      k=round⁡ ⁣(30 00044 100)=1,falias=∣30 000−1⋅44 100∣=14 100 Hzk=\operatorname{round}\!\left(\frac{30\,000}{44\,100}\right)=1,\qquad f_{alias}=\left|30\,000-1\cdot44\,100\right|=14\,100\ \mathrm{Hz}
    5. これが、ツールが表示する数値である。14,100 Hzは細く甲高い笛のような音であり、大半の若い聴者には聞こえるものの、加齢とともに真っ先に聞こえなくなる音の一つである。しかも、その音はその部屋の中には存在していなかった。録音するという行為そのものによって、耳に聞こえない成分が聞こえる音へと変えられてしまったのである。

      OSR=fs2fsignal=44 1002⋅30 000=0.735<1\mathrm{OSR}=\frac{f_s}{2f_{signal}}=\frac{44\,100}{2\cdot30\,000}=0.735<1
    6. 他にどのような音が同じ場所に落ち着くのでしょうか。同じ系列の音すべてです。しかも無数にあります。サンプリング周波数一つ分高い音は、まったく同じ数値となって現れます。折り返された音はすべてのサンプルの符号が反転して現れますが、これは位相が反転しただけの同じ音です。いずれにしても、録音データはサンプルごとに一つの数値を保持するだけで、どの音がその数値を作り出したかという記録は残しません。

      ∣k fs±14 100∣={14 100, 30 000, 58 200, 74 100, 102 300, … }\left|k\,f_s\pm14\,100\right|=\{14\,100,\ 30\,000,\ 58\,200,\ 74\,100,\ 102\,300,\ \dots\}
    7. これが、フィルタがアナログでなければならず、コンバータの前段に配置されなければならない理由である。そしてこのことが、フィルタの遮断特性がいかに急峻でなければならないかを決定づける。20 kHzを通過させ、22,050 Hzまでに遮断しなければならず、その間隔はオクターブのおよそ7分の1にすぎない。アナログ電子回路でこれを実現するのは難しく、これこそがオーバーサンプリングコンバータが存在する実際的な理由である。サンプリングを高速化すればガードバンドが広がり、アナログフィルタは緩やかなもので済むようになり、急峻な遮断という過酷な処理はコストの低いデジタル演算へと移行できる。

      log⁡222 05020 000=0.141 octave\log_{2}\frac{22\,050}{20\,000}=0.141\ \text{octave}

    解答

    14,100 Hz、それも元の強度のままである。44.1 kHzでサンプリングされた30 kHzのトーンは14,100 Hzのトーンと区別がつかず、58,200 Hz、74,100 Hz、および |k·fs ± 14,100| のその他すべての要素についても同様である。エイリアシングはサンプリングの瞬間に情報を破壊するため、事後にどれほど処理を行おうとも、折り返されたトーンを再び分離することはできない。それを防ぐことができる唯一の場所は、コンバータの前段である。

    falias=∣f−fsround⁡ ⁣(ffs)∣=14 100 Hzf_{alias}=\left|f-f_s\operatorname{round}\!\left(\tfrac{f}{f_s}\right)\right|=14\,100\ \mathrm{Hz}
参考文献 (2)