フィルタの基礎:アンチエイリアシング

フィルタの基礎:アンチエイリアシング

著者の連絡先情報

要約

A/Dコンバータ(ADC)は、A/D変換機能を提供するデバイスです。つまり、アナログ信号をサンプリングしてデジタル・データを生成する役割を果たします。本稿では、この種の処理を伴うシステムのことをサンプル・データ・システムと呼ぶことにします。サンプル・データ・システムにおいて、サンプリング周波数(サンプリング・レート)の1/2よりも高い周波数成分のサンプリングを行ったとします。その場合、得られたデータを基にD/Aコンバータ(DAC)を使用してアナログ信号を再生すると、もともと対象としていた周波数帯域内にエイリアス(折り返し)の成分が生じます。この現象を「エイリアシング」(シフト)と呼びます。多くの場合、エイリアシングは好ましくない副作用となります。そのため、対象とする信号帯域外の周波数の高い成分がサンプリングされること(アンダーサンプリング)を防ぐために、ADCの前段にはアンチエイリアシング(折り返しノイズ防止)フィルタが配置されます。その単純なフィルタ処理により、アンダーサンプリングを防止するということです。一方で、アンダーサンプリングは意図的に利用されることもあります。エイリアシングを発生させることにより、ADCをミキサーのように機能させるということです。

本稿では、サンプル・データ・システムで使われるフィルタの要件について説明します。その上で、エイリアシングの詳細について解説を加えます。更に、アンチエイリアシングを実現するためにはどのような種類のフィルタを使用すればよいのかを明らかにします。

フィルタによる処理は、様々な回路で当たり前のように使用されています。例えば、携帯電話で通話する際には、レシーバー側で他のすべてのチャンネルにフィルタを適用し、通話に使用するチャンネルの信号だけを受信するようにします。また、ステレオ・オーディオ・システムのイコライザを調整する際には、バンドパス・フィルタを使用し、特定の周波数帯域のオーディオ信号を選択的に増幅/減衰させます。

事実上すべてのサンプル・データ・システムでは、フィルタが重要な役割を果たしています。実際、ほとんどのADCの前段には、信号帯域(A/D変換の対象としたい周波数範囲)外の高い周波数成分を除去するためにフィルタが配置されています。なお、ADC製品の中には、その種のフィルタ機能を内蔵しているものもあります。

以下では、サンプル・データ・システム、フィルタに求められる要件、エイリアシングについて詳しく解説していきます。

背景

サンプル・データ・システムは、ある周波数以下の成分しか適切に処理することはできません。その周波数をナイキスト周波数と呼びます。サンプル・データ・システムで使用するサンプリング周波数は、対象とする入力信号の最高周波数の2倍以上に設定する必要があります。このサンプリング定理(標本化定理、ナイキスト定理、ナイキスト基準)に違反すると、信号帯域内に不要な(または望ましくない)信号成分が現れることになります。これをエイリアシングと呼びます。 

例えば、1kHzまでの信号をデジタル化したい場合には、最低2kHzのサンプリング周波数を使用する必要があります。実際には、フィルタに求められる要件を緩和するために、ある程度のマージンが確保されます。つまり、実際のサンプリング周波数としては、2kHzよりも高い周波数が選択されます。 

サンプル・データ・システムとエイリアシングについて理解するために、ここでは古典的な映画撮影の例を取り上げることにします。例えば、西部劇の映画に馬車が加速していく場面があったとします。その場合、車輪の速度は想定どおりに高まっていきます。しかし、引き続き映像を観ていると、車輪の速度が遅くなり、やがては止まったように見えるはずです。更に馬車が加速すると、車輪は逆向きに回転しているかのように見えるでしょう。それ以外のアクションは引き続き普通に行われているので、実際の車輪は逆回転していないことがわかります。

このような現象はなぜ起きるのでしょうか。それは、映像のフレーム・レートが車輪の回転を的確に捉えられるほど高くないからです。つまり、フレーム・レートが低すぎることから、上記のような現象が生じます。

これについて理解するために、車輪によく見えるマークを付けた状態を想定しています(図1)。つまり、そのようなマークを付けた車輪を回転させるケースについて考えます。ここでは、一定のタイミングで車輪のスナップショットを撮影することにします。これは、サンプリングを実施していることに相当します。映画の撮影に使用するカメラは、1秒間に一定の数のスナップショットを撮影することによって動きを捉えます。車輪の離散的な画像をフィルムに記録していくわけですが、そのカメラは本質的にサンプル・データ・システムに相当すると言えるでしょう。それと同様に、ADCは変化する電気信号の一連のスナップショットを取得します。 

馬車が動き始めたときには、最初の加速が始まることになります。その際、サンプル・レート(カメラのフレーム・レート)は車輪の回転速度をはるかに上回っています。つまり、サンプリング定理が満たされている状態にあります。サンプル・レートが車輪の回転速度の2倍よりも高いので、そのカメラは車輪の動きを正確に捕捉することができます。その映像を再生すると、想定どおりに車輪が加速しているように見えます(図1a、図1b)。 

そのまま馬車が加速していくと、車輪はいずれナイキスト周波数に相当する速度に達します。その際に撮影された映像は、図1cのように180°離れた位置に2つの点が見える状態になります。通常、人間の目は、それら2つの点がどの時間に対応しているのかを区別することはできません。つまり、それらの点は同時に存在するように見えます。これが、車輪が止まっているように見える状態です。このとき、車輪の回転速度はサンプル・レートに基づいて把握することができます。ただ、回転の方向は確かめようがありません。更に馬車が加速し続けると、サンプリング定理が満たされない状態になります。このとき、車輪は2とおりの見え方をする可能性があります。つまり、車輪が順方向に回転しているようにも見えますし、逆方向に回転しているようにも見えます(図1d)。車輪がどのように「見える」のかに基づけば、回転方向についてはどちらも正しいように思えます。しかし、実際にはエイリアシングが発生しているためにそのように見えているだけです。エイリアシングによって、システムには不要な周波数成分が存在しており、それと実際の信号とを区別できない状態になっているのです。順方向と逆方向の両方の動きの情報が存在している状態にあるとも言えます。通常、人間の目は、逆方向の成分または順方向の成分の「約数(分周したもの)」または「イメージ」を見ていることになります。目と脳の組み合わせによってデータを処理するわけですが、その方法では基本である順方向の成分を知覚できなくなります。

図1. 馬車の車輪の例

図1. 馬車の車輪の例

この例では、もう1つ注目すべきことがあります。それは、サンプル・レートが正確に車輪の回転速度と等しい状態では、取得したデータからはほとんど有用な情報は得られないというものです。つまり、マークが常に車輪の全く同じ位置に現れるので、それ以上のことは何もわからない状態になります。実際、車輪が回転しているのか静止しているのかということすら判断できません。

ここで、数学的な観点から上記の内容を確認してみましょう。ここでは、車輪が正弦(sin)と余弦(cos)の座標を持つ単位円であると想定します。そして、余弦値が正と負のピーク(位相が180°ずれている)に達する状態でサンプリングを実施したとします。その場合、サンプリング定理が満たされ、サンプリングされた2つのデータ・ポイントから元の余弦値を再構成することができます。このように、サンプリング定理を満たすことは、元の信号を再構成する上で不可欠です。追加される点が多くなるほど、元の信号を再現する能力が向上することになります。 

続いて、上記の例の内容を周波数領域で考えてみます。図2に示したのは、サンプル・データ・システムの周波数応答の例です。サンプリングされたデータに対応する成分が、サンプル・レートの整数倍の位置に複製されていることに注目してください(これらは元の信号の「イメージ」です)。これは、サンプル・データ・システムの基本的な特性です。図2aは、サンプリング定理が満たされている場合の例です。そのため、信号帯域内にエイリアシングは生じていません。一方、図2bは対象とする帯域内の信号の最高周波数がサンプリング・レートの1/2よりも高い場合の例です。つまり、サンプリング定理が満たされていないことになります。図中の重なり合った領域にはエイリアシングが発生します。馬車の車輪の例と同様に、エイリアシングによって周波数fTの信号成分がfT'の位置にも現れます。

図2a. サンプル・データ・システムの周波数応答(その1)。エイリアシングが発生していない場合の例です。

図2a. サンプル・データ・システムの周波数応答(その1)。エイリアシングが発生していない場合の例です。

 

図2b. サンプル・データ・システムの周波数応答(その2)。エイリアシングが発生している場合の例です。

図2b. サンプル・データ・システムの周波数応答(その2)。エイリアシングが発生している場合の例です。

アンダーサンプリング

アプリケーションによっては、効果的かつ強力なツールとしてアンダーサンプリングを利用できます。具体的には、変調された周波数の高いキャリア信号をADCによってサンプリングし、周波数の低いイメージを生成します。それにより、ADCをミキサーのようにして活用するということです。その場合、ADCはダウンコンバータとして機能すると言ってもよいでしょう。アンダーサンプリングには、重要な長所があります。それは、サンプリング定理を満たせない、対応サンプル・レートが低いADCを使用できるというものです。通常、このことはコストの面で大きなメリットになります。ここでは例として、帯域幅が100kHz(10MHzを中心に±50kHz)で変調が施された10MHzのキャリア信号について考えます。このキャリア信号を、4MHzでアンダーサンプリングするとします。その場合、1次の和と差の項(f1 + f2とf1 - f2)に対応する14MHzと6MHz、2次の項(2f1、2f2、2f1 + f2、f1 + 2f2、| 2f1 - f2 |、| f1 - 2f2 |)に対応する8MHz、20MHz、18MHz、24MHz、2MHz、16MHzの各帯域に信号成分を生成することができます。ここでは、それらのうち2MHz帯に現れるイメージ信号を対象にするとしましょう。つまり、10MHz帯の信号を意図的に4MHzでサンプリング(デジタル化)して、2MHz帯にエイリアスを生成しているということです。この状態でデジタル領域の信号処理(フィルタリングとミキシング)を行えば、元の50kHzの信号(帯域幅が100kHzの信号)を復元することができます。この手法では、大規模なアナログ処理を行う必要がありません。これは、アンダーサンプリングがもたらす重要なメリットの1つです。デジタル領域で行う処理については、回路の性能や特性を変更したい場合でもソフトウェアを修正するだけで済みます。一方、アナログ領域で処理を行う場合、回路の特性を変更するにはハードウェア・コンポーネントやレイアウトの修正が必要になります。それにはかなりのコストがかかる可能性があります。 

但し、アンダーサンプリングにも欠点はあります。1つは、対象とする信号帯域に不要な信号が現れる可能性があり、それらと目的とする信号を区別することができないというものです。また、アンダーサンプリングを利用する場合、ADCの入力周波数範囲が非常に広くなるケースが多くなります。上に示した例でも、サンプル・レートは4MHzですが、ADCのフロント・エンドとしては10MHz帯の信号に対応できるものを使用しなければなりません。なお、ADCの前にアナログ・ミキサーを配置するという手法も有用です。それにより、変調されたキャリア信号をベースバンドにシフト・ダウンすると、ADCに必要な入力帯域幅は4MHzではなく50kHzになります。この場合、ADCのフロント・エンドと入力フィルタの要件も緩和することができます。

図3a. アンダーサンプリングの例

図3a. アンダーサンプリングの例

図3b. アンダーサンプリングによってデジタル化した場合のイメージ信号(1次と2次)

図3b. アンダーサンプリングによってデジタル化した場合のイメージ信号(1次と2次)

オーバーサンプリング

オーバーサンプリングを適用すると、いわゆる処理利得(processing gain)が得られます。オーバーサンプリングでは、サンプリング定理を満たすために必要な周波数よりもはるかに高いサンプリング周波数によって多くのサンプル・データを取得します。それらのデータにフィルタ処理を適用すれば、システムのノイズ・フロアを効果的に低減することができます(ノイズ・フロアの成分としては広帯域のホワイト・ノイズを想定しています)。ここで、オーバーサンプリングは、多くのサンプルを取得してノイズを平均する平均化の処理とは異なることに注意してください。オーバーサンプリングについては、次のように考えることができます。まず、入力信号は、周波数を掃引することが可能な信号源から得られたものとします。その際、周波数スペクトル全体については、いくつもの「ビン(bin)」に分割して考えることができます。各ビンは一定の幅(サンプリング・レートに依存)を持つとしましょう。すると、各ビンには一定の量のノイズが含まれることになります。広帯域のノイズは、対象となる周波数範囲全体に広がっているからです。ここで、サンプリング・レートを高めるにつれ、ビンの数も増加していくとします。その場合、ノイズの総量には変化はありませんが、ビンが増えることによって分散化(拡散)が進みます。次に、フィルタを使用して、対象とする周波数帯域外のノイズを除去することにします。その結果、各ビンのノイズは減少します。つまり、オーバーサンプリングによってシステムのノイズ・フロアが効果的に低減されるということです。 

ここで具体的な例について考えてみます。ADCとしては、サンプリング・レートが2ksps(ナイキスト周波数は1kHz)を使用することにします。信号の周波数は1kHzであるとしましょう。そして、ADCの後段には1kHz以上の成分を遮断するデジタル・フィルタを配置します。この場合、処理利得は-10×log(1kHz/1kHz) = 0dBとなります。ここで、サンプル・レートを10kspsまで高めたとします。すると、処理利得は-10×log(1kHz/5kHz) = 7dBとなります。これは、約1ビット分、分解能が向上することに相当します。分解能が1ビット高くなれば、S/N比(Signal to Noise Ratio)は約6dB向上します。注意していただきたいのは、オーバーサンプリングそのものによってノイズが低減されるわけではないということです。そうではなく、ノイズを広い帯域幅に分散させ、そのノイズの一部を対象とする帯域外に追いやることで(デジタル・フィルタによる)、ノイズの低減効果が得られるのです。この改善効果は、次式に基づいて得られます。 

[S/N比の改善量〔dB〕] = 10×log A/B

ここで、Aはノイズ、Bはオーバーサンプリングされたノイズです。

別の表現をすると、オーバーサンプリングにより、オーバーサンプリング比の平方根分だけ帯域内のRMS量子化ノイズが低減されます。また、ノイズが1/2に低減されると、3dBの実効処理利得が得られることになります。ここで対象にしているのは、広帯域ノイズだけであることに注意してください。他の発生源からのノイズや他の誤差は、単純にオーバーサンプリングを行うことで除去することはできません。

アンチエイリアシング・フィルタ

上述したような背景を踏まえた上で、アンチエイリアシング・フィルタについて考えてみましょう。フィルタを選択する際の目標は、ADCの入力信号から不要な成分を取り除くことです。言い換えれば、少なくとも回路に悪影響を及ぼさない程度まで不要な成分を減衰させられるカットオフ周波数を実現することが目標になります。アンチエイリアシング・フィルタとしては、この目標を達成できるローパス・フィルタを使用します。では、適切なフィルタを選択するにはどうすればよいのでしょうか。一般に、ローパス・フィルタの応答は図4aのようになります。そのため、以下のようなパラメータに注目する必要があります。

  • 通過帯域における減衰量(またはリップルの大きさ)
  • 阻止帯域における減衰量(ロールオフ)
  • 遷移領域の急峻さ
  • フィルタを通過する際の周波数成分の位相関係

図4a. 現実のフィルタ

図4a. 現実のフィルタ

理想的なフィルタは、図4bのようなブリック・ウォール応答を示します。つまり、遷移比が無限大の応答です。しかし、これを現実のアプリケーションで実現することは不可能です。ロールオフが急峻なほど、フィルタのQ(Quality Factor)は高くなります。Qが高いとフィルタが不安定になり、所望のコーナー周波数で自己発振を起こしてしまう可能性があります。そのため、Qが高いほどフィルタの設計は複雑になります。フィルタを選択する上で重要なのは、干渉信号の周波数とそれに対応する振幅を把握することです。例えば、携帯電話の場合、設計者は最も厳しい条件における隣接信号の振幅と、周波数軸上で現れる位置について把握しています。そのため、それらに応じて設計を行います。ただ、周波数領域で生じ得るすべての信号について予測できるというわけではありません。また、既知の干渉信号であっても、その振幅が大きすぎて適切に減衰させられないこともあります。それでも、アプリケーションや環境の条件を踏まえて、既知の外乱について考慮することを怠ってはなりません。ランダムな干渉の影響を最小限に抑えるように設計を行うことで、より信頼性の高い動作を実現することができます。

図4b. 理想的なフィルタ

図4b. 理想的なフィルタ

注目すべき信号の周波数を把握したら、フィルタ設計用のシンプルなプログラムを使用することで、フィルタのトポロジを決定することができます。その際には、プログラムに対し、通過帯域、阻止帯域、遷移領域に関して満たすべき要件を入力として与えます。図5に示すように、基本的なフィルタは4種類に大別することができます。

図5. 4種類のフィルタ

図5. 4種類のフィルタ

それぞれの種類のフィルタには、長所と短所があります。例えば、バターワース・フィルタは通過帯域の応答が最も平坦になります。つまり、対象とする信号帯域にわたり、減衰量を最も小さく抑えられるということです。一方、ベッセル・フィルタではロールオフ特性がより緩やかになります。ただ、この種のフィルタであれば線形の位相応答が得られます。つまり、フィルタを通過する際、信号の遅延は周波数が異なっても同じ値になるということです。一般に、群遅延は周波数に関する位相応答の導関数として定義されます。多くの場合、線形の位相応答は一定の群遅延として規定されます。チェビシェフ・フィルタは、ロールオフ特性がより急峻です。但し、通過帯域のリップルが大きくなります。非常に急峻なロールオフ特性が必要になる場合には、楕円関数フィルタが適切な選択肢になるでしょう。 

多くの場合、シンプルなアンチエイリアシング・フィルタが必要な場合には、シンプルな単極のパッシブ・フィルタ(RCフィルタ)を使用するとよいでしょう。それ以外のフィルタが必要になるケースでは、アクティブ・フィルタ(オペアンプを使用)を選択すると良い結果が得られるはずです。アクティブ・フィルタには1つの長所があります。それは、多次のフィルタが必要な場合に、フィルタの動作が外付け部品の値の影響を受けにくいというものです。特に、フィルタのQの値からの影響を受けにくいと言えます。

通常、アンチエイリアシング・フィルタについてはコーナー周波数の位置を厳密に設定する必要はありません。つまり、設計にある程度の余裕を持たせることができます。例えば、最大限の平坦性が必要な場合でも、通過帯域の減衰量が十分に大きければ、単にコーナー周波数の値をより高く設定することで問題を解決できます。阻止帯域の減衰量が小さすぎる場合には、フィルタの極の数を増やします。あるいは、フィルタを通過した後の信号を増幅することにより、不要な信号に対して相対的に信号の振幅を大きくするという方法でも対応できます。

Maxim Integrated(現在はアナログ・デバイセズの一部門)は、アンチエイリアシングの用途に最適な低消費電力のローパス・フィルタ製品を数多く提供しています。代表的な製品としては、以下のようなものがあります。

  • MAX7490:ユニバーサルなスイッチトキャパシタ・フィルタ
  • MAX740x/MAX741x:超小型、低消費電力、スイッチトキャパシタ方式のローパス・フィルタ・ファミリ
  •  MAX274/MAX275:ユニバーサルな連続時間型フィルタ

また、フィルタを独自に設計したいお客様向けには、低消費電力、高精度のオペアンプ製品を提供しています。更に、フィルタの設計に役立つハンドブックなども用意しています。設計を行う際には、ぜひそれらも活用してください。

参考資料

Delta-Sigma Data Converters Theory, Design, and Simulation(デルタ・シグマ変調方式のデータ・コンバータ、その理論/設計/シミュレーション)、Edited by Norsworthy、Schreier and Temes、IEEE Press、ISBN 0-7803-1045-4

アプリケーション・ノート 4422「専用集積回路を使ったアナログ・フィルタ設計

MAXFILTERBRDのデータ・シート:MAX7408-MAX7415/MAX7418-MAX7425の評価キット

EE-Sim設計およびシミュレーション・ツール