アプリケーションノート

LabVIEWによるロックインアンプの周波数掃引

Moku:Lab と LabVIEW を使用したプログラミングチュートリアル

このアプリケーションノートでは、Moku:Lab の LabVIEW API を使用して自動テストシーケンスを構築する方法について段階的なチュートリアルを提供します。多くの電子システムは、特定の動作周波数で最適に動作します。ロックイン測定の信号対雑音比を最大化するには、システムの伝達関数を見つけて、最適な変調周波数を使用することが重要です。この例では、局部発振器(LO)の周波数をスキャンし、測定された振幅をLO周波数の関数としてプロットするLabVIEW VIを構築します。次に、このVIを使用してバンドパスフィルタの伝達関数を測定します。

印刷可能なバージョンをダウンロード


周波数スイープのロックイン検出

ロックイン アンプ (LIA) は、ノイズの多い背景から非常に弱い発振信号を抽出するように設計されています。 LIA は入力信号を受け取り、それを特定の周波数の局部発振器 (LO) と混合します。次に、狭帯域ローパス フィルターを適用して高周波成分を減衰します。ロックイン アンプの原理の詳細については、次のビデオをご覧ください。 https://youtu.be/H2O2ADqEkHM この検出方法により、任意の周波数での信号応答を狭い帯域幅で測定できます。測定された周波数の中心は、LO の周波数によって定義されます。 LO の周波数をスイープすることにより、システムの伝達関数を測定できます。このような応答プロットを使用して、システムの共振、最適な変調周波数、およびインピーダンスを決定できます。これは、ロックイン測定で最大の信号対雑音比を得るために実行する必要のあるテストです。このアプリケーションノートでは、Moku:Lab の LabVIEW API を使用して、LO 周波数をスイープし、バンドパスフィルタの応答を測定する自動テストシーケンスを構築する方法を説明します。

図1: 自動テスト シーケンスの一般的なフロー。


セットアップユーティリティ

Moku:Lab LabVIEW API のインストール ファイルと手順は次の場所にあります。 https://www.liquidinstruments.com/software/labview.

完全な LabVIEW .VI ファイルは、ここからダウンロードできます。 https://liquidinstruments.squarespace.com/s/20-0304_AppNote_LabVIEWLIAFrequencySweep.vi

LabVIEWでMoku:Labを制御・操作するには、Moku:Labとコンピュータを同じネットワークに接続する必要があります。この例では、Moku:Lab とコンピューターを同じ Wi-Fi ルーターにワイヤレスで接続しました。

ネットワーク上で Moku:Lab を見つけるには、IP アドレスが必要です。 IP アドレスを見つけるには、iPad を同じ Wi-Fi ネットワークに接続し、Moku:Lab の iPad アプリを起動します。そして、Moku:Labのアイコンを長押しするとIPアドレスが表示されます。あるいは、コンピュータに Python と PyMoku がインストールされている場合は、「moku list」コマンドを使用して Moku:Lab の IP アドレスを見つけることができます。

LO は Moku:Lab の出力 2 から生成され、バンドパス フィルターの被測定デバイス (DUT) を通過し、戻り信号が Moku:Lab の入力 1 で測定されます。

図2: Moku:Lab とコンピューターは同じルーターにワイヤレスで接続されました。 DUT は Moku 出力 2 と入力 1 の間に挿入されました。


LabVIEW VIの構築

Moku:Lab に接続し、デフォルト設定を展開します。

LabVIEW VIの構築を開始するには、まずLabVIEWを起動し、「セットアップもく」パレットをプログラムにドラッグします。

ステップ1:「セットアップもく」パレットをVIにドラッグします

このパレットは、Moku:Lab の IP アドレスと機器の名前という 2 つの文字列入力を受け取ります。ユーザーが IP アドレスを入力するためのプレースホルダーをユーザー インターフェイス上に作成します。 Lock-In Amplifier インストゥルメントはプログラム全体で使用されるため、デフォルトのインストゥルメント名として設定します。次に、http-reference、moku コマンドのフィードバック、およびエラー出力を「execute cmd」パレットに渡します。

ステップ 2: http 参照を接続し、Moku コマンドとエラーを「execute cmd」パレットにルーティングします。

「cmd 実行」パレットは http 参照をデバイス ハンドルとして使用し、JSON 形式のコマンドを Moku:Lab に渡します。 JSON コマンドは通常、別の VI によって生成されます。また、「cmd 実行」パレットは、コマンド フィードバックを取得してログを記録するためにプログラムに渡します。また、エラー出力フラグを取得して、すべての「cmd 実行」パレットが正常に実行されたことを確認します。フラグが立てられると、プログラムは終了します。 「デフォルト LIA 設定」パレットは、ロックイン アンプを初期化し、すべてのパラメータをデフォルト値に設定するための JSON コマンドを生成します。このコマンドは、Moku:Lab で Lock-In Amplifier 機器を起動するために使用されます。

図3: LIA 機器を接続して初期化します。

ロックイン検出のパラメータを設定する

デバイスが初期化された後、同じ「execute cmd」パレット構造を使用して、ロックイン アンプの設定を変更します (ステップ 3-9)。

ステップ 3: XNUMX つの Moku:Lab 出力を構成します。 XNUMX つは LIA から R (振幅、メイン チャンネル) へ、もう XNUMX つは周波数スイープのために LO (補助発振器) へです。

ステップ 4 と 5: XNUMX つの監視ポイントを設定します。 XNUMX つはメイン出力、もう XNUMX つは AUX 出力にあります。メイン出力モニター ポイントは、後でリアルタイム データを取得するために使用されます。

ステップ 6: 監視ポイントとリアルタイム データ取得の時間基準を設定します。

ステップ 7: メインチ​​ャンネルのゲインを設定します。

ステップ 8: R-Theta 変換の範囲を設定します。 R-Theta 変換の詳細については、Moku:Lab のロックイン アンプのユーザー マニュアルを参照してください。

ステップ 9: ミキサーの直後にローパス フィルターを設定します。

図4: LIAのパラメータを設定するためのパレット。

自動周波数掃引用の For ループ

for ループは、周波数掃引とデータ取得を繰り返すために使用されます。ループの 3 つのカスタマイズ可能なパラメーター (ステップ数、周波数ステップ、初期周波数) を作成します。各反復の開始時に、プログラムは × に基づいて LO の周波数を計算します。 周波数ステップ + 初期周波数。次に、この数値は 11 つに分割され、周波​​数入力 (ステップ XNUMX) およびプロットの X 軸位置として「set demod LIA」パレットに渡されます。

図5: 周波数掃引とデータ取得を繰り返す For ループ。

データ収集前に LO が設定され、安定していることを確認するために、フラット シーケンスを使用してセットアップ部分とデータ収集部分を分離します。 100 ミリ秒の滞留期間の後、「リアルタイム データの取得」コマンドが Moku:Lab に送信されます。 「cmd 実行」パレットは生データを受け取り、「データ解析」パレットに渡して生データを数値配列に変換します。

図6: データ転送、平均化、表示。

「データ解析」パレットの後、aux チャンネル (ch2) からのデータ ストリームが減衰されます。平均関数は、メイン チャネルの数値配列の平均を取るために使用されます。結果はユーザー インターフェイスにプロットされます。


フィルター伝達関数の測定

DUT バンドパス フィルター (ミニ回路 BBP-21.4) の伝達関数を測定するために、初期周波数を 15 MHz、周波数ステップを 400 kHz (40 ステップ) に設定しました。

 

図7: バンドパスフィルターによる周波数掃引解析。

LabVIEW VIは自動的にLOの周波数をスイープし、検出された信号の振幅をプロットします。フィルターのピーク応答は約 22 MHz です。

Moku:Lab LabVIEW API の詳細については、以下をご覧ください。 https://www.liquidinstruments.com/software/labview


ご質問等ございますか?印刷可能なバージョンが必要ですか?

当社までご連絡ください: support@liquidinstruments.com