オーバーサンプリング

オーバーサンプリング

アナログ信号をデジタル化するには、ADコンバータ(ADC)を使いますが、最近はオーバーサンプリングをする事が多くなってきました。

 オーバーサンプリングとは何か、どんなメリットがあって、デメリットはないのかを解説します。数学的な解説よりも直感的な理解でとにかく仕事を先に進めたい方に向けて解説します。そのうち、理論があとからついてくるようになります。

 アナログデータをデジタル化する時に、避けて通れない定理がサンプリング定理です。ADCのクロック周波数の半分までしか、アナログ信号をデジタル化できない。もしくは必要な信号の倍クロックがサンプリングには必要。と覚えている人が多いと思います。

  図で描くと上のようにサンプリング周波数の半分の周波数をアナログ信号からデジタル化できる。という事になります。CDが44.1kHzのサンプリング周波数なので、音楽であるアナログ信号はその半分の周波数である22.05kHzまでデジタル化できる。人間の可聴周波数が~20kHzと言われていますので、十分に高音まで記録できる。というものです。

 さて、ここで上の図の説明では抜けているデータがあります。エイリアスです。エイリアスを含めて図を書き直すと次のようになります。

 エイリアスは日本語では折り返し雑音と訳されます。このエイリアスは雑音としてデータに残ります。日本語訳である「折り返し雑音」の方が説明としてしっくりくるのですが、サンプリング周波数やサンプリング周波数/2の周波数を境に折り返っているのです。

 この様子を図で示すと次のようになります。

 例えば、サンプリング周波数が1MHzであったとき、サンプリング定理のアナログ帯域周波数は1MHz/2=500kHzになります。この時、もし900kHzにノイズが発生すると、1100kHzと100kHzにもノイズが現れるのです。これが折り返し雑音という名称のノイズです。

 したがって、これを防ぐには、サンプリング定理の不要部分をアナログ信号の状態でカットしておく必要があります。つまり、アナログフィルターでサンプリング周波数/2以上のアナログ信号をローパスフィルターでカットする必要があります。

 アナログフィルターを設計したことがある人は気が付くと思いますが、このような急峻な特性を持ったアナログフィルターを設計するのは非常に大変ですし、回路が複雑かつ高価になってしまいます。

 そこで、オーバーサンプリングという手法が提案されました。必要な周波数はそのままで、サンプリング周波数をサンプリング定理の2倍ではなく、それ以上の4倍や8倍、16倍を使うのです。

 図で描くと以下のようになります。サンプリング周波数を4倍にすれば、必要なアナログ信号はサンプリング周波数/2よりも半分以下の周波数なので、青い破線で描いたようなアナログフィルターで十分エイリアスを除去できることになります。

 このようにすることで、アナログフィルターのコストを下げる事ができるのがオーバーサンプリングの大きなメリットです。もし、上図の赤い範囲のエイリアスが気になる場合には、デジタルで急峻なローパスフィルターを作ることで除去することができます。

 オーバーサンプリングのデメリットはサンプリング周波数が上がる。という事です。音声のように20kHz程度であれば、それほど問題にならないのですが、周波数が上がると、ADコンバータのコストも上がりますし、クロックの配線に苦労することになります。この辺りのトレードオフをすることになります。

 ひと昔前までは、デジタルフィルターのコストも高かったことからオーバーサンプリングの設計も厳しい時期がありましたが、現在はFPGAにDSPが搭載されるようになり、PLLでクロックの逓倍も楽にできるようになりましたので、オーバーサンプリングは当たり前に行われるようになりました。