「ADALM1000」で、SMUの基本を学ぶトピック12:バンドパス・フィルタ

アナログ・ダイアログの2017年12月号から、アクティブ・ラーニング・モジュール「ADALM1000」について紹介しています。今回も引き続き、このSMU(ソース・メジャー・ユニット)モジュールを使用し、小規模かつ基本的な測定を行う方法を説明します。ADALM1000に関する以前の記事は、こちらからご覧になれます。

図1. ADALM1000 のブロック図
図1. ADALM1000 のブロック図

目的

この実験の目的は、以下の2つです。

  • ローパス・フィルタとハイパス・フィルタをカスケード接続することによって、バンドパス・フィルタを構成します。
  • フィルタの周波数応答の取得を通して、ボーデ・プロッタというソフトウェアの使い方を学びます。

背景

バンドパス・フィルタ(以下、BPF)とは、特定の範囲の周波数だけを通過させ、それよりも低域または高域の周波数成分を遮断(減衰)させるフィルタのことです。つまり、BPFは、2つのカットオフ周波数の間の周波数だけを通過させ、両カットオフ周波数の外側の周波数を減衰させます。

BPFの代表的なアプリケーションの1つは、オーディオ信号の処理です。本来のサウンドに対応する特定の範囲の周波数信号だけを通過させ、残りの部分は減衰させます。その他の用途としては、通信システムが挙げられます。様々な信号の中から特定の信号だけを選択するために、BPFが使用されます。

BPFは、RL(抵抗、インダクタ)で構成したハイパス・フィルタとRC( 抵抗、コンデンサ) で構成したローパス・フィルタをカスケード接続することによって実現できます。ハイパス・フィルタのロールオフ周波数がfLで、ローパス・フィルタのロールオフ周波数がfHであるとすると、両周波数が以下のような関係になるように各部品の値を選択します。

数式1

低い方のカットオフ周波数fLは次式で決まります。

数式2

高い方のカットオフ周波数fHは次式で決まります。

数式3

通過帯域は以下の式で表すことができます。

数式4

fLより低い周波数成分、またはfHより高い周波数成分はBPFによって減衰され、その間の周波数成分だけが通過します。

図2 . BPF の回路例
図2 . BPF の回路例

以前の記事で、並列LC回路の共振について取り上げました。そのとき示した共振周波数の式を使えば、BPFの中心周波数を求めることができます。共振角周波数ωoは次式で表されます。

数式5
数式6

周波数応答

フィルタ回路は、必要な周波数応答が得られるように設計されます。フィルタ回路の周波数応答は、出力電圧の振幅を周波数の関数としてプロットすることで得ることができます。周波数応答を確認すれば、回路の設計が適切であるか否かを把握することが可能です。図3に示したのは、BPFの標準的な周波数応答です。

図3 . BPF の周波数応答
図3 . BPF の周波数応答
図4 . 図3 のBPFの実現方法
図4 . 図3 のBPFの実現方法

準備するもの

  • ADALM1000
  • 抵抗:1MΩ
  • コンデンサ:0.047μF
  • インダクタ:20mH

手順

  1. 1kΩの抵抗R1、0.047μFのコンデンサC1、20mHのインダクタL1を使用し、ソルダーレス・ブレッドボード上で、図4、図5に示すようなフィルタ回路を構成します。
    図5 . BPF を構成するためのブレッドボード上の接続
    図5 . BPF を構成するためのブレッドボード上の接続
  2. チャンネルAの「AWG Min」の値を0.5に設定し、「Max」の値を4.5Vに設定します。これにより、回路の入力電圧として、2.5Vを中心とする4Vp-pのサイン波が得られます。次に、「AWG A Mode」ドロップダウン・メニューで「SVMI」モードを選択します。続いて、「AWG A Shape」ドロップダウン・メニューでは、「Sine」を選択します。更に、「AWGB Mode」ドロップダウン・メニューで「Hi-Z」モードを選択します。
  3. ALICE Curves」ドロップダウン・メニューから、表示のために「CA-V」と「CB-V」を選択します。また、「Trigger」ドロップダウン・メニューでは、「CA-V」と「Auto Level」を選択します。そして、「Hold Off」を2ミリ秒に設定します。画面のグリッド上に約2サイクル分のサイン波が表示されるまで、時間基準を調整してください。「Meas CA」ドロップダウン・メニューから、「CA-V」の下の「P-P」を選択します。「CB」についても、同様に設定します。更に、「Meas CA」メニューで「A-B Phase」を選択します。
  4. 低い周波数(この例では100Hz)からスタートし、スコープ画面を使って出力電圧「CB-V」のピークtoピーク値を測定します。その値はチャンネルAの出力よりもかなり小さいはずです。チャンネルBのピークtoピーク電圧がチャンネルAのピークtoピーク電圧の約0.7倍になるまで、チャンネルAの周波数を少しずつ上げていきます。Vp-pの70%を計算し、オシロスコープ上でその値になる周波数を確認します。それが、このBPFにおいてRLで決まるハイパス部分のカットオフ(ロールオフ)周波数になります。
  5. 引き続き、チャンネルBのピークtoピーク電圧がチャンネルAのピークt oピーク電圧の約0 . 7倍に戻るまで、チャンネルAの周波数を上げていきます。その値になったところで、オシロスコープ上で周波数を確認します。それが、BPFにおいてRCで決まるローパス部分のカットオフ(ロールオフ)周波数です。BPFの場合、振幅が70%になるカットオフ周波数は、低域側と高域側にそれぞれ1つずつ存在することに注意してください。

ALICEのボーデ・プロッタによる周波数応答のプロット

デスクトップ・ソフトウェアであるALICEを使えば、対象とする回路が周波数に対して、振幅、位相についてどのような挙動を示すのか確認することができます。つまりは、ボーデ線図を表示することが可能です。その手順は次のようになります。

ここでは、図4 のBPFを対象とします。R1は1.0 kΩ 、C1は0.047 μF 、L1は20mHです。この条件下で、入力周波数を500Hzから12kHzまで掃引し、チャンネルAと同Bの信号の振幅と、両チャンネルの間の相対的な位相角をプロットしてみます。

図4の回路をADALM1000に接続した状態で、ALICEを起動します。そして、ボーデ・プロッタを開きます。

Mode」ドロップダウン・メニューの下で、「Peak Hold」モードを選択します。続いて、「FFT」ウィンドウ・メニューの下で「Flat Top Window」を選択します。次に、「+Samples」ボタンを何度かクリックして、4096サンプルに設定します。更に、「Curves」メニューの下で「CA-dBV」、「CB-dBV」、「Phase B-A」を選択します。

続いて、「Option」ドロップダウン・メニューの下で「Cut-DC」をクリックします。

ここで、「AWG Channel A Min」の値を1.086に設定し、「Max」の値を3.914に設定します。それにより、アナログ入力範囲の中央値である2.5V を中心とする1Vrms(0dBV)の振幅が得られます。「AWG A」モードを「SVMI」に設定し、「Shape」を「Sine」に設定します。続いて、「AWG Channel B」を「Hi-Z」モードに設定します。ここで、「Sync AWG」チェック・ボックスがチェックされていることを確認してください。

Start Frequency」ボタンを使い、500Hzから掃引を開始するように設定します。また、「Stop Frequency」ボタンを使って、12kHzで掃引を停止するようにします。掃引するチャンネルとしては、「CH-A」を選択してください。その上で、「Sweep Steps」ボタンを使って、周波数のステップ数を入力します。ここでは700に設定します。

ここで、緑色の「Run」ボタンを押して周波数の掃引を実行します。掃引の終了後(700ポイントの処理には数分かかるかもしれません) 、図6のような画面が表示されるはずです。プロットが画面のグリッドにフィットするようにしたい場合は、「LVL」と「dB/div」ボタンを操作してください。

結果を記録すると共に、スクリーン・キャプチャ・ツールを使ってボーデ線図を保存し、実験レポートの中に含めておきます。

図6 . ボーデ・アナライザの設定
図6 . ボーデ・アナライザの設定

このBPFの周波数特性について理解を深めるために、インダクタを取り除いてローパスの周波数応答をプロットしてみます。先ほどと同じように周波数掃引を行い、ゲイン(CB-db - CA-dB)と相対位相(CA - CB)のスナップショットを取得します。次に、コンデンサを取り除き、インダクタを元に戻してハイパスの周波数応答をプロットします。図7のボーデ線図は、このようにして得た結果です。ローパスとハイパスのゲインが等しくなり、相対的な位相の和がゼロになる(約70°と約-70°)周波数は、共振周波数に等しいことに注目してください。

図7 . ローパスとハイパスの応答
図7 . ローパスとハイパスの応答

問題

  1. 式1と式2を使って、構成したBPFのカットオフ周波数を求めてください。計算によって得た値と実験によって得られた値を比較し、なぜ違いが生じるのか的確に説明してください。答えはStudentZoneブログで確認できます。

注記

アクティブ・ラーニング・モジュールを使用する記事では、本稿と同様に、ADALM1000に対するコネクタの接続やハードウェアの設定を行う際、以下のような用語を使用することにします。まず、緑色の影が付いた長方形は、ADALM1000が備えるアナログI/Oのコネクタに対する接続を表します。アナログI/Oチャンネルのピンは、「CA」または「CB」と呼びます。電圧を印加して電流の測定を行うための設定を行う場合には、「CA-V」のように「-V」を付加します。また、電流を印加して電圧を測定するための設定を行う場合には、「CA-I」のように「-I」を付加します。1つのチャンネルをハイ・インピーダンス・モードに設定して電圧の測定のみを行う場合、「CA-H」のように「-H」を付加して表します。

同様に、表示する波形についても、電圧の波形は「CA-V」と「CB-V」、電流の波形は「C A - I 」と「CB- I」のように、チャンネル名とV( 電圧) 、I( 電流)を組み合わせて表します。

本稿の例では、ALICE(Active Learning Interface for Circuits and Electronics)の Rev 1.1 を使用しています。

同ツールのファイル(alice-desktop-1.1-setup.zip)は、こちらからダウンロードすることができます。

ALICEは、次のような機能を提供します。

  • 電圧/電流波形の時間領域での表示、解析を行うための2チャンネルのオシロスコープ
  • 2チャンネルのAWG(任意信号発生器)の制御
  • 電圧と電流のデータのX/Y軸プロットや電圧波形のヒストグラムの表示
  • 2チャンネルのスペクトル・アナライザによる電圧信号の周波数領域での表示、解析
  • スイープ・ジェネレータを内蔵したボーデ・プロッタとネットワーク・アナライザ
  • インピーダンス・アナライザによる複雑なRLC回路網の解析、RLCメーター機能、ベクトル電圧計機能
  • 既知の外付け抵抗、または50Ωの内部抵抗に関連する未知の抵抗の値を測定するためのDC抵抗計
  • 2.5Vの高精度リファレンス「AD584」を利用して行うボードの自己キャリブレーション。同リファレンスはアナログ・パーツ・キット「ADALP2000」に含まれている
  • ALICE M1Kの電圧計
  • ALICE M1Kのメーター・ソース
  • ALICE M1Kのデスクトップ・ツール

詳細についてはこちらをご覧ください。

注) このソフトウェアを使用するには、PC にADALM1000を接続する必要があります。

図8 . ALICE Rev 1.1のデスクトップ・メニュー
図8 . ALICE Rev 1.1のデスクトップ・メニュー

著者

Doug Mercer

Doug Mercer

Doug Mercerは、1977年にレンセラー工科大学で電気電子工学の学士号を取得しました。同年にアナログ・デバイセズに入社して以来、直接または間接的に30種以上のデータ・コンバータ製品の開発に携わりました。また、13件の特許を保有しています。1995年にはアナログ・デバイセズのフェローに任命されました。2009年にフルタイム勤務からは退きましたが、名誉フェローとして仕事を続けており、Active Learning Programにもかかわっています。2016年に、レンセラー工科大学 電気/コンピュータ/システム・エンジニアリング学部のEngineer in Residenceに指名されました。

Antoniu Miclaus

Antoniu Miclaus

Antoniu Miclausは、アナログ・デバイセズのシニア・ソフトウェア・エンジニアです。Linuxやno-OSドライバを対象とした組み込みソフトウェアを担当。それ以外に、アナログ・デバイセズのアカデミック・プログラムやQAオートメーション、プロセス・マネージメントにも携わっています。2017年2月から、ルーマニアのクルジュナポカで勤務。クルジュナポカ技術大学で電子工学と通信工学の学士号、バベシュボヨイ大学でソフトウェア・エンジニアリングの修士号を取得しています。