このアプリケーションノートは、このシリーズのパート1の続編として機能します。 ボックスカー平均化器によるSNR測定の改善このアプリケーションノートでは、デュアルボックスカーアベレージャの構成と動作原理について説明し、特に以下の実装に重点を置いています。 Mokuクラウドコンパイル Moku:Pro で。
その ボックスカーアベレージャー は、低デューティサイクル信号を測定するための信号対雑音比(SNR)を改善する上で重要な役割を果たす、広く使用されている計測器です。特定のイベントによってトリガーされる狭いゲート内で信号を統合することにより、パルス間のノイズ寄与を効果的に分離します。複数のゲートイベントを平均化することで、測定のSNRがさらに向上します。このアプリケーションノートでは、ボックスカーアベレージャの実装について詳しく説明します。 Moku:Pro Mokuクラウドコンパイル. ボックスカーツールは利用可能 こちらMoku:Proの使い方ガイドをダウンロードするには、ここをクリックしてください。 こちら.
ボックスカー平均化器の動作原理
ボックスカー平均化装置と ロックインアンプ ボックスカーアベレージャは、繰り返し信号を検出する際のSNR性能を向上させる上で重要な役割を果たします。ボックスカーアベレージャは、入力信号に時間領域のボックスカーウィンドウを適用し、適用されたボックスカーウィンドウ外の時間的ノイズ成分を効果的に軽減します。一方、ロックインアンプは、狭帯域フィルタを使用して中心周波数付近の狭い範囲内の信号を抽出し、通過帯域外のノイズを除去します。したがって、ボックスカーアベレージャは、低デューティサイクル信号の処理に特に適しています。このようなシナリオでは、時間領域信号の大部分は通常ノイズであるためです。図1は、ボックスカーアベレージャの動作原理を示しています。ユーザー定義のトリガー信号は、トリガーから一定の遅延後にボックスカーゲートウィンドウをアクティブにします。ゲートウィンドウにより、入力信号がウィンドウ幅にわたって加算されます。次に、機器は、 n ボックスカー積分器から得られた結果を基に、必要な減衰または増幅のためにゲイン ステージで出力を調整します。

図 1: ボックスカー アベレージャの動作原理。入力信号は、トリガー信号によってアクティブになるボックスカー ウィンドウ内で統合されます。システム遅延を補正するために、ボックスカー ウィンドウとトリガー エッジの間にトリガー遅延が導入されます。統合された結果は平均化され、ゲイン ステージを通過してボックスカー アベレージャ出力が生成されます。
ボックスカーアベレージャの基本構造は、ボックスカー積分器(ゲート)とアベレージャという2つの主要コンポーネントで構成されています。ボックスカー積分器は入力信号をフィルタリングし、対象信号のないサイレントウィンドウから発生する不要なノイズを除去します。続いて、アベレージャはボックスカー積分器からの出力を処理し、最終出力を生成する前に追加の信号平均化を実行します。それでは、ボックスカーアベレージャを使用して処理される実際の信号について詳しく見ていきましょう。図2は、トリガー信号とパルス信号のプロットを示しています。注目すべきは、トリガー信号の立ち上がりエッジと対応するパルス信号の間に遅延が見られることです。この遅延は、信号経路内の電気部品によって導入される固有の遅延によるものです。ボックスカー積分ウィンドウとパルス信号を同期させるには、トリガーの発生に対して積分処理に手動で遅延を導入することができます。この時間調整は、 トリガー遅延 ボックスカー平均化器のパラメータ。図 2 では、トリガー遅延は約 176 ナノ秒ですが、ゲート幅は 320 ナノ秒に及び、実質的にパルス信号全体を網羅しています。

図2:トリガー信号(オレンジ色のトレース)の振幅は150mVです。176nsの遅延の後、幅320ナノ秒のボックスカーウィンドウがアクティブ化され、測定されます。トリガー遅延とゲート幅を設定した後、ボックスカー積分結果を平均化することでノイズレベルをさらに低減することに焦点が移ります。このプロセスでは、S1からの結果が S5 までの平均が計算され、最終出力が計算されます。

図 3: SNR を向上させるために、ボックスカー積分の 1 つの期間 (S5 から SXNUMX までとラベル付け) の平均を計算します。
ボックスカー平均化器の実装
このセクションの目的は、Liquid Instrumentsから入手可能なボックスカー平均化器の実装に関する包括的なガイドを提供することです。 githubの 図 4 のステップバイステップのフローチャートで示されています。一般的な手順は次のように説明できます。
(1) 適切なトリガーのためのトリガーレベルの調整
ノイズフロアからトリガー信号のピーク値までの範囲内でトリガーレベルを設定します。
(2) ボックスカーゲートウィンドウをパルス信号と同期させ、ゲート幅を設定する
適切なボックスカー ゲート幅を選択し、適切なトリガー遅延を見つけます。光学実験では、光パス遅延と光検出器遅延により、トリガー信号がパルス信号に先行することがよくあります。このようなシナリオでは、トリガー遅延の補正が重要になります。
(3) 平均化器の長さの選択
十分な SNR と速度のバランスを実現するために、適切な平均化サイクル数を選択します。
(4) ゲインステージの調整
出力の飽和を防ぐか、潜在的な量子化エラーを最小限に抑えるために、ステップ 3 の結果に減衰または増幅を適用し、Moku の出力範囲を最大限に活用します。

図4:ボックスカーアベレージャーを実装するための操作フローチャート。以降のセクションでは、PythonコントロールパネルとMoku Cloud Compile(MCC)コントロールレジスタをそれぞれ使用して、Moku:Pro上でボックスカーアベレージャーを構成する手順について説明します。
Python でボックスカー平均化器を制御する
以下は、Python コントロール パネルを使用してボックスカー平均化の手順を実装するための手順です。 (1)トリガーレベルの調整 この実験では、150 mVの振幅を持つトリガー信号が与えられていますが、信号レベルを75 mVに選択することで、ボックスカー積分の安定したトリガーが確保されます。ボックスカーウィンドウは、適切なシステムトリガーが行われた場合にのみ表示されます。そうでない場合、安定したパルス信号もトリガー信号も表示されません。

図 5: 異なるトリガー レベル設定でのシステム応答。(a) トリガー レベル 0.2 V はトリガー信号振幅 0.15 V よりも高いため、ボックスカー ウィンドウはトリガーされず、ボックスカー ウィンドウとパルス信号の両方が存在しない状態になります。(b) トリガー レベルをトリガー信号振幅の半分に相当する 0.075 V に設定すると、ボックスカー ウィンドウとパルス信号の両方が正常にアクティブになります。(2)トリガーボックスカーゲートウィンドウをパルス信号に合わせてゲート幅を設定する これは、反復的な調整と観察のプロセスを通じて、または 自動応答オプション ボタンをクリックします。自動遅延機能は、パルス信号のピーク位置を自動的に識別し、パルスピークからボックスカーウィンドウの中点までの時間差を計算し、それに応じてトリガー遅延を調整します。

図6:パルストリガー遅延は、ボックスカーウィンドウをパルス信号に合わせるために236.8 nsに調整されます。食べた幅 も SNR を最適化するための重要なパラメータです。興味深いことに、ゲート幅の最適な設定は、必ずしもパルス信号全体をキャプチャすることではなく、大部分をキャプチャするだけで十分な場合がよくあります。この戦略は、ノイズ電力と比較して信号電力が低いパルス信号のセクションを除外することで SNR を最適化します。基本的に、信号電力がノイズ電力と比較して無視できるセグメントを削除できます。

図 7: SNR を最適化するために、ボックスカーの幅を調整して、信号の大部分のみをキャプチャします。次に、トリガー遅延をそれに応じて 249.6 ns に調整して、パルスとボックスカー ウィンドウを再調整します。(3)平均化期間数の選択とゲイン段の調整 モードを「アライン」から「平均出力」に変更すると、データ読み出しボックスに平均化された出力信号が表示されます。ボックスカー平均化器の出力は、以下の合計であることに注意してください。 n 平均ではなくボックスカー積分結果を出力するのは、FPGA に除算器を実装するのに時間がかかり、かなりのリソースが必要になるためです。実際の平均ではなく、積分結果を出力する方が効率的です。平均ボックスカー積分は、次の式を使用して計算できます。


図 8: モードを「Align」から「Average Output」に変更して出力値を読み取ります。次に、量子化エラーや出力飽和を回避するために出力ゲインを設定します。
MCC 制御レジスタ
Moku:Pro には、ボックスカー アベレージャを実装するためのレジスタを直接制御できる便利な機能があります。入力、制御、および出力ポートに割り当てられたデータ タイプの詳細な概要を表 1 に示します。Moku:Pro の制御レジスタの実際の構成は、この表に概説されている仕様と一致しています。ユーザーは、制御レジスタ 0 から 5 を調整することで、ボックスカー アベレージャの機能を完全に構成でき、Python コントロール パネルと同じレベルの制御が可能になります。

表 1: ボックスカー平均化器の入力、制御、および出力ポートの構成。Moku:Pro は図 9 に示すようにセットアップされました。この構成では、Moku:Pro はマルチインストゥルメント モードで動作し、スロット 1 でのボックスカー平均化器の実装とスロット 2 での出力モニタリングを可能にします。スロット 1 の MCC ブロックは、信号入力に In 1 を、トリガー入力に In 2 を使用します。MCC ブロックからの出力である Out A と Out B は、スロット 2 のオシロスコープに接続され、ボックスカー平均化器の出力信号を視覚化します。

図9:Moku:Proのマルチインストゥルメントモード構成。In 1は信号入力でIn Aに接続され、In 2はトリガー信号です。ボックスカーアベレージャの2つの出力、Out AとOut Bは、結果を表示するためにオシロスコープに接続されています。MCCブロックの制御レジスタは、図10に示す値で構成されています。トリガーレベルは2,244に設定されており、これは75 mVのトリガー閾値振幅に対応します(2244 LSB(LSBは最下位ビットを表す)をMoku:Proのデジタル分解能である29925 LSB/Vで割った値)。アライメント処理の前に、トリガー遅延を0に設定できます。ゲート幅が320 nsの場合、その制御レジスタは100に構成されています(320 nsをMoku:Proのクロック周期である3.2 nsで割った値)。平均長さ は 100 に設定されており、出力が 100 個の個別のボックスカー積分から得られた平均であることを示しています。この値は、最終出力の品質に基づいて微調整できます。ゲイン コントロールは 65,536 に設定されており、実質的に最下位 16 ビット (小数ビット) をすべてゼロ、整数ゲイン (最上位 16 ビット) を 1 に設定しています。この設定により、ボックスカー平均化出力の単位ゲインが確立されます。顕著な量子化エラーが発生した場合は、この値を増やして出力を増幅できます。たとえば、この制御レジスタを 655,360 に設定すると、信号に 10 倍のゲインが適用されます。逆に、飽和が観測された場合は、値を 32,768 に調整して、信号に 0.5 倍の減衰を適用できます。

図 10: トリガー レベルは 2,244 (75 mV) に設定され、ゲート幅は 100 に設定されて初期幅は 320 ns です。スイッチ コントロールは 2 に設定され、ボックスカー ウィンドウと入力信号が同時に表示されます。トリガー遅延は 0 に設定され、システムのネイティブ遅延が明確に観察されます。青色のトレースはボックスカー ウィンドウを表し、赤色のトレースはパルス信号です。ボックスカー ウィンドウのピークと中間点の時間差は 237 ns と測定されました。図 10 から、トリガー遅延補正を適用する前は、青色のトレースが赤色のトレースに比べて 237 ns 先行していることがわかります。そこで、トリガー遅延を 74 クロック周期に設定して調整を行いました。図 11 に示すように、この調整により青色と赤色のトレースが正常に整列し、すべての統合入力信号が有効なパルス信号であることが確認されました。

図11:トリガー遅延を74に調整してトリガー信号に236.8 nsの遅延を導入し、青色(ボックスカーウィンドウ)と赤色(パルス信号)のトレースを正常に位置合わせしました。SN比を向上させるため、ゲート幅を272 nsに調整し、ノイズ電力に対して信号電力が低いパルス信号の不要なセグメントを破棄しました。その後、トリガー遅延を再較正して、修正されたボックスカーウィンドウをパルス信号に再位置合わせしました。

図12:ゲート幅とトリガー遅延を微調整することで、パルス信号の不要な部分を除去し、最終結果のSN比を向上させます。パラメータを設定したら、スイッチ制御値を0に設定して、ボックスカーアベレージャの結果がMCCのOut Aポートから送信されるようにします。

図13: スイッチ制御はボックスカー平均化器出力をアクティブにするように設定されており、ゲイン制御は327に調整され、値が0.00499倍に縮小され、(a)に示す出力飽和が防止されます。実際の出力値は式(1)を使用して復元できます。
ディスカッション
このセクションでは、現在のボックスカー平均化器の制限について概説します。さらに、より複雑なアプリケーションに対応するための潜在的な機能強化を提案します。
最大ゲート幅
ゲート幅は 16 ビットで、最大 65536 サンプルに相当します。したがって、達成可能な最大ゲート長は、Moku:Pro では 209.715 µs、Moku:Lab では 524.288 µs、Moku:Go では 2.097 ms です。この計算は、同じく 16 ビットのトリガー遅延に拡張でき、達成可能な最大トリガー遅延はゲート長と同じままです。追加のトリガー遅延は、位相ロック ループまたは有限インパルス応答 (FIR) フィルターを適用することで導入できます。
デュアルボックスカーアベレージャー
特定の実験シナリオでは、励起パルスまたは刺激パルスは、測定対象信号パルスの周波数の半分で動作するように構成されます。これは、レーザー繰り返し周波数の半分に設定されたレーザー変調周波数を使用するポンププローブ分光法などのアプリケーションに見られます。このような場合、対象物の励起状態に関する情報を含む実際の信号は、2番目のパルスごとにのみ存在し、最初のパルスにはバックグラウンドレベルが含まれます。目的の信号を分離して抽出するには、最初のパルスと2番目のパルスの差分を取るデュアルボックスカー平均化アプローチが不可欠になります。重要なのは、この減算処理は、関連する信号を抽出するだけでなく、取得された信号中のDCベースラインを除去するという二重の目的を果たすことです。MCCによって実現される適応性により、デュアルボックスカー平均化器の実装が容易になります。この点に関する詳細な考察は、今後のアプリケーションノートで提供されます。

図14: 各トリガーは 2 つのボックスカー ウィンドウ (高: パルス ボックスカー ウィンドウ、低: ベースライン ボックスカー ウィンドウ) をアクティブにして、2 つのプローブ パルス (ポンプありとなし) を同時に積分します。出力は、2 つの積分結果の差です。
製品概要
このアプリケーションノートでは、ボックスカーアベレージャの原理について解説します。ボックスカーアベレージャの実装と機能について説明します。 Mokuクラウドコンパイル (MCC)に Moku:Proボックスカー平均化器のSimulinkの例を調べるには、 こちらボックスカー平均化器の構成は、 Python コントロール パネルまたは直接制御レジスタ。さらに、このアプリケーション ノートでは、将来の反復における潜在的な改善点についても説明します。
ご質問がある場合
ナレッジベースのFAQから回答を見つけてください
デバイスの機能や機器の機能について質問がある場合は、当社の広範な情報を確認してください。 ナレッジベース 探している答えを見つけるために。また、人気の記事をすぐに確認したり、製品やトピックごとに検索を絞り込んだりすることもできます。
ユーザーフォーラムに参加してください
新しい機能をリクエストしたいですか?共有できるサポートのヒントがありますか?使用例から新機能の発表など、 ユーザーフォーラム 製品のアップデートだけでなく、Liquid Instruments や当社のグローバル ユーザー コミュニティとのつながりも提供するワンストップ ショップです。



