シンプルでデジタル・チューニング可能なアクティブRCフィルタ
はじめに
アクティブRCフィルタのカットオフ周波数(fCUTOFF)のチューニングは、スイッチド・キャパシタ回路または連続時間回路を用いて実行できます。単一のパッケージで任意次数フィルタの無限チューニング分解能が必要なアプリケーションでは、スイッチド・キャパシタ方式が適しています(クロック周波数を変えるだけでfCUTOFFをチューニング可能)。連続時間フィルタを数個のカットオフ周波数に合わせてチューニングする必要があるアプリケーションでは、オペアンプ、CMOSスイッチ、抵抗またはキャパシタ・アレイを用いてチューニングできます。
連続時間フィルタは、DACを使用してオペアンプ式積分器のRC時定数を乗算することで、デジタル制御により、広い周波数範囲を高い分解能でチューニングできます(例えば、8ビットDAC内蔵チューナでは256の周波数ステップが可能)。図1に、シンプルで低次かつ低コストの連続時間フィルタ回路を示します。このフィルタは、シリアル・ペリフェラル・インターフェース(SPI)1を介して、いくつかのカットオフ周波数にチューニングできます。これは、抵抗やキャパシタ・アレイを配したスイッチを使用したり、能動部品や受動部品が多数必要な複数のDACを使用したりするよりも簡単なチューニング方法です。

図1. SPIを介してチューニング可能な2次アクティブRCフィルタ。
SPIを介したデジタル制御は、センサーや変換器の信号の帯域制限を制御する様々なアプリケーションで役に立ちます。代表的なアプリケーションには、振動解析用の加速度センサー、ソナー探知用の水中聴音器、直線運動測定用のLVDT、音響受信・録音用のマイクロフォンなどがあります。
SPIを介してチューニング可能な2次フィルタ
図1の回路は、低ノイズCMOSクワッド・オペアンプ(LTC6242)と低ノイズデュアルPGA(プログラマブル・ゲイン・アンプ)(LTC6912-X)の2つのICを用いた状態変数型2次フィルタです。2つのLTC6912-Xアンプ(GAとGB)のゲインは、SPI制御により独立してプログラムされます。SPI制御によるゲイン設定値は、LTC6912-1が1、2、5、10、20、50、100、LTC6912-2が1、2、4、8、16、32、64です。図1のフィルタには3つの反転出力があり、ハイパス、バンドパス、ローパスの周波数応答を提供します。オプションの反転アンプを3つの反転出力の1つに接続すると,非反転または差動フィルタ出力になります。フィルタの2次伝達関数は、回路の共振周波数f0とQ値の関数です。f0周波数は、積分器のRC定数、デュアルPGAゲイン、抵抗R4とR2の比に等しくなります(R4 = R2かつGA = GB = ゲインの場合、f0 = ゲイン/2πRC)。フィルタのQ値は、抵抗R3とR2の比、2つのPGAゲインに等しくなります(R4 = R2かつGA = GBの場合、Q = R3/R2)。フィルタの通過帯域ゲインは、ローパス、バンドパス、ハイパスの各フィルタについて、それぞれ抵抗比R4/R1、R3/R1、R2/R1に等しくなります。
チューニング可能なローパスまたはハイパス・フィルタ
2次の振幅応答の形状は、カットオフ周波数に対し相対的なf0周波数およびQ値に依存します。2次のバターワース・ハイパス応答またはローパス応答では、f0周波数はfCUTOFF(f–3dB)に、フィルタのQ値は0.707になります。2次のベッセル・ハイパス応答またはローパス応答では、f0周波数は1.274 × fCUTOFFに、フィルタのQ値は0.577になります。図2はバターワース・ローパス・フィルタのチューニング可能範囲を示しており、100Hzの積分器周波数(R = 1.58MΩ(±1%)、C = 1000pF(±5%))とLTC6912-2を使用して、フィルタのfCUTOFFを100Hzから6.4kHzまでチューニングしています。図3は、図2のバターワース・ローパス・フィルタの応答とは正反対のバターワース・ハイパス・フィルタのチューニング可能範囲を示しています。ステップ変化に対する出力応答は5/fCUTOFFにほぼ等しくなります(例えば、ステップ変化が1kHz × fCUTOFFに相当する場合、ステップ変化の5ミリ秒後にフィルタが安定します)。チューニング可能な最大のf0周波数は、オペアンプのゲインと帯域幅の積と、チューニングに使用される最大PGAゲインに対する回路の感度の関数です。ここに示したアンプでは、経験データに基づくと、最大f0 = 800kHz/[Q × ゲイン]の場合、ゲイン誤差は2dB以下に制限されます。例えば、LTC6912-1の最低のゲイン設定値1、2、5、10のみを使用してチューニングすると、2次バターワース・ローパス・フィルタ(f0 = fCUTOFF)を110kHz(最大f0 = 800kHz/[0.707 × 10])にチューニングできます。

図2. LTC6912-2を使用したチューニング可能な2次バターワース・ローパス応答。

図3. LTC6912-2を使用したチューニング可能な2次バターワース・ハイパス応答。
チューニング可能なバンドパス・フィルタ
2次フィルタの–3dB帯域幅は、中心周波数(fCENTER)をQ値で割った値に等しくなります(帯域幅 = fCENTER/Q)。積分器のRC値の許容値に対する2次バンドパス・フィルタの感度は、フィルタのQ値に比例します。一般的にQ ≤ 4のため、2次バンドパス・フィルタには、フィルタの2つの積分器の±1% Rと±5% Cを使用するのが実用的です。Q > 4である2次バンドパス・フィルタの感度は、Qが1単位増加するごとに急激に増加するため、フィルタの2つの積分器には±1% RC成分の使用が望まれます。
図4は、2kHzの積分器周波数(R = 205k( ±1%)、C = 390pF( ±5%))と、ゲイン設定値が1、2、4、8のLTC6912-2を使用 して、2kHzか ら16kHzまでチューニングされた図1のバンドパス・フィルタを示しています。図4のチューニング済みの中心周波数応答は、2kHz、4kHz、8kHz、16kHzの設計値より2.73%低く、2つの積分器の回路RC値の誤差に等しくなっています(測定値はそれぞれ、Rが約206k、Cが約403pF)。16kHzでのゲイン誤差は、フィルタの周波数f0が、Q = 4、PGAゲイン = 8の場合に最大のf0周波数に近づくためです(最大f0 = 25kHz = 800kHz/[4 × 8})。最大f0周波数は、LTC6912-Xオペアンプのゲインと帯域幅の積の関数です。

図4. ゲインが1~8のLTC6912-1を用いたチューニング可能な2次バンドパス・フィルタ。
その他のフィルタ・オプション
図5に2次ノッチ・フィルタの例を示します。ノッチ・フィルタの積分器周波 数 は500Hz(1/[2π × 316kΩ × 1000pF])で、1、2、4、8のPGAゲインを使用すると、ノッチ周波数はそれぞれ、500Hz、1kHz、2kHz、4kHzにチューニングされます。上記のフィルタはいずれも、2つの2次回路をカスケード接続することにより、SPIを介してチューニング可能な4次フィルタにすることができます。

図5. SPIを介してチューニング可能な2次ノッチ・フィルタ。
著者について
この記事に関して
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}