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

今回は、ちょっと趣向を変えてみます。
アナログ信号のサンプリングではなく、ディジタル信号処理の中で直接的に信号を発生させた場合に、パラドックスというか、期待通りに行かないケースがあることを説明します。
いま、ディジタル信号処理で、アナログ・シンセのシミュレートをして、のこぎり波を発生させる場合を想像してください。
たとえば、次のようになります。


図 1 : 理想のこぎり波のサンプリング

左から順に、緑、赤、青の線で示した、それぞれの波形は、1 周期が 11 サンプルで、互いに位相をズラしてある、理想のこぎり波です。
線の上の四角いマークがサンプリングされた後の値を示しています。
11 サンプルというのは、のこぎり波の高調波がナイキスト周波数 (fs/2) と一致しないように奇数に選んだものです。
また、位相ズレは、理想のこぎり波の不連続部分がサンプリング・タイミングと一致しないように選んであります。
実際には、(連続時間の) 理想のこぎり波を発生させるわけではありませんが、ディジタル処理で、フェーズ・アキュムレータをインクリメントして発生する場合は、これと等価になります。
サンプルされた後の値だけを示すと次の図のようになります。


図 2 : サンプル値列

実際は、この数値列だけがディジタル信号処理で生成されることになります。
これを DA コンバータでアナログ値に変換することのモデルとして、399 タップの FIR フィルタを使って 8 倍オーバーサンプリングした結果を次に示します。


図 3 : 8 倍オーバーサンプリング・フィルタ後の値

この結果を見ると、「位相のズレた」のこぎり波3つのはずが、位相は一致して「DC オフセットだけが違う」のこぎり波3つになっています。
確かに、図 2 のサンプル値列を見ると、DC オフセットの違う同位相の、のこぎり波に見えるので、意外な結果ではありません。
しかし、もともとは、位相の違う理想のこぎり波をサンプリングしたものに相当していたはずです。
ここで問題を出します。

  • 位相のズレた理想のこぎり波を発生したつもりなのに、アナログ値に変換すると位相がズレずに DC オフセットだけがズレるのはなぜ?
  • 当初の目的通りに、アナログ値に変換後に位相のズレた、のこぎり波となるような波形発生方法は?

解答は後日書きますから、それまで考えてみてください。