ディジタル信号処理による信号発生とエイリアス(5)

前のプログラムで作成した wave ファイルは (→こちら) に置きました。
saw2.wav」をループ再生して、オシロスコープで観測した写真を下に示します。

下のトレース (ch 2) が wave ファイルの右チャンネルの、フーリエ級数による方法の波形で、ジッタも少なく、安定しています。 この ch 2 でトリガをかけています。
上のトレース (ch 1) が wave ファイルの左チャンネルの、エイリアスを含んだ波形で、1 サンプリング周期分のジッタが生じています。

波形編集ソフトで「saw2.wav」の左チャンネルの波形を見たものが、下の図です。

1024 サンプルで、のこぎり波が 93 周期ですが、上の図では中央に位置している、12 サンプルで1周期を構成している波形が1つだけあり、残りの 92 周期は 11 サンプルで構成されています。
この 11 サンプルと 12 サンプルの波形の混在がジッタの原因となっています。
理想のこぎり波の周波数は 4359.375 Hz ですから、その 11 倍波のエイリアスの周波数は
4359.375 × 11 = 47953.125 = 48000 - 46.875
となって、ベースバンドの 46.875 Hz に落ち、そのレベルは、基本波の 1/11 になります。
同様に計算すると、22 倍波のエイリアスは、ベースバンドの 93.75 Hz の成分となって、そのレベルは基本波の 1/22 になります。
この、ベースバンドに落ちたエイリアスの周波数と、レベルを表にすると、

n 倍波 周波数
[Hz]
相対レベル
11 46.875 1/11 = (1/1)*(1/11) = -20.83 dB
22 93.750 1/22 = (1/2)*(1/11) = -26.85 dB
33 140.625 1/33 = (1/3)*(1/11) = -30.37 dB
44 187.500 1/44 = (1/4)*(1/11) = -32.87 dB
55 234.375 1/55 = (1/5)*(1/11) = -34.81 dB

と続いていき、結局、ベースバンドの DC 付近に落ちたエイリアスは、

  • 周波数 = 46.875 Hz
  • レベルが元の波形の 1/11 = -20.83 dB

の、のこぎり波となることが分かります。
この低周波成分は、wave ファイルの再生音を耳で聞いても、はっきりと分かります。
saw2.wav」を FFT にかけて、DC 近傍と、のこぎり波の基本波の付近のレベルを表にすると、下のようになります。

周波数
[Hz]
L ch
[dB]
R ch
[dB]
0.000 -69.91 -121.17
46.875 -20.83 -109.56
93.750 -26.84 -124.80
140.625 -30.36 -113.87
187.500 -32.84 -121.22
234.375 -34.77 -120.78
281.250 -36.33 -126.74
328.125 -37.65 -117.09
375.000 -38.78 -121.32
... ... ...
4218.750 -30.61 -118.24
4265.625 -27.23 -111.79
4312.500 -21.58 -132.94
4359.375 0.00 0.00
4406.250 -20.00 -121.72
4453.125 -26.44 -115.24
4500.000 -30.09 -121.69

左チャンネルの計算結果は、上の理論値と良く一致していることが分かります。
右チャンネルのエイリアスのレベルは -100 dB より小さいレベルで、16 ビットサンプルのダイナミック・レンジが 96 dB であることを考えれば、演算誤差のレベルで、実質ゼロと考えられます。