Lock-in Spectrum Finder
概要
Lock-in Spectrum Finder は、ロックイン検出(マトリックス射影)の原理を用いて、極めて高い分解能で指定した周波数帯域のスペクトルを計算・表示するウィジェットです。 通常のFFTベースのスペクトラムアナライザでは分解能が不足するような特定の狭帯域や、低ノイズフロアでの微小信号の検出に特化しています。
[!WARNING] 測定値に関する注意事項 本ウィジェットは、ノイズに埋もれた微弱な信号の「有無」や「周波数」を発見することに特化しています。 ロックイン検出の性質上、設定した計算ポイント(Basis Points)の周波数と実際の信号周波数が完全に一致していない場合、表示される振幅レベルは真の値より小さく表示されることがあります。そのため、長時間の積分を行っていても、画面上の振幅値はあくまでピーク位置を特定するための目安としてご利用ください。特定の周波数における厳密な振幅や位相を知る必要がある場合は、本ウィジェットで周波数を特定した上で、専用の Lock-in Amplifier ウィジェットを使用し、対象周波数に完全に同期させて測定を行ってください。
他のウィジェットとの連携・使い分け
本ウィジェットは特定の狭帯域における微小信号の「探索」に特化しています。目的に応じて以下のウィジェットと使い分けることで、より効果的な測定が可能です。
- Spectrum Analyzer 全体的な帯域の周波数成分やノイズ分布を広範囲に素早く把握したい場合は、まず Spectrum Analyzer を使用します。そこで見つけた微小なピークやノイズの正体をより詳細に、極めて高い分解能で確認したい場合に、本ウィジェットに切り替えて(特にZoomモードを活用して)深掘りします。
- Lock-in Amplifier 本ウィジェットの探索により、目的の信号の正確な周波数が特定できた場合は、Lock-in Amplifier を使用します。特定した周波数に完全に同期(ロック)させることで、実際の正確な振幅や位相の測定、長時間の安定性評価などが可能になります。
モード
用途に合わせて2つの分析モードから選択できます。
- Scan (スキャンモード)
- 指定した開始周波数から終了周波数までの範囲を計算します。
- 広帯域全体の高精度なスペクトルを確認したい場合に使用します。
- Zoom (ズームモード)
- 特定の中心周波数の周囲(スパン)のみを極めて高い分解能で計算します。
- デジタルダウンコンバージョン(DDC)とダウンサンプリングを内部で組み合わせており、特定のピーク周辺の詳細な観察に最適です。
操作・設定項目
共通設定
- Start Analysis / Stop Analysis ボタン
- クリックして測定の開始・停止を切り替えます。
- Mode (モード)
BasicまたはZoomを選択します。
- Buffer Size (バッファサイズ)
- 一度に取得・処理するデータ長を指定します。
- サイズを大きくすると周波数分解能が向上しますが、計算の更新頻度は下がります(Basicモードでは最大 512k、Zoomモードでは最大 16M)。
- Input Ch (入力チャンネル)
- 分析対象のチャンネル (
Left (Ch 1)またはRight (Ch 2)) を選択します。
- 分析対象のチャンネル (
- Averages (平均回数)
- スペクトル計算結果の指数移動平均(EMA)回数を指定します(1~1000)。測定値のばらつきを抑えてプロットの精度を向上させます。
- Basis Points (計算ポイント数)
- スペクトルを計算するポイント(ビン)の数を設定します(16 ~ 1024)。
- 数が多いほど細かく表示されますが、計算の負荷が増加します。
- Window (窓関数)
- 分析に使用する窓関数 (
none,blackmanharris,hann,hamming) を選択します。
- 分析に使用する窓関数 (
- Display Unit (表示単位)
- 縦軸の表示単位を
dBFS、dBV、dB SPLから選択します。 dBVやdB SPLを使用する場合、Settingsキャリブレーション値(入力オフセットやSPLオフセット)が適用されます。
- 縦軸の表示単位を
Scan モード専用設定
- Start Freq (開始周波数)
- 分析の開始周波数 (Hz) を指定します。
- Stop Freq (終了周波数)
- 分析の終了周波数 (Hz) を指定します。
- Spacing (間隔)
- スペクトルを計算する周波数間隔を
Log(対数)、Lin(リニア)、Integer(整数)、Int x Sync(整数 × サンプル同期)、各種Octave(1/3 Octave等)、Scan List Onlyから選びます。グラフのX軸表示もこれに連動して切り替わります。 - Scan List Only:
Scan Targetsタブで定義されたターゲット周波数のみを計算します。対数X軸(Log X-Axis)オプションを有効にすることで、プロットを対数スケールで表示できます。 - Integer: すべての計算周波数が最も近い整数値に丸められ、人工的な信号(1000Hzなど自然数で設定された信号)のピークを正確に捉えやすくなります。
- Int x Sync: バッファサイズに完全同期する周波数(サンプリングレート ÷ バッファサイズの整数倍)に丸められます。オーディオジェネレータ等でバッファに同期生成された信号の精密な位相・振幅測定に最適です。
- Octave: 指定された基準周波数 (Octave Ref Freq) に基づいて対数的なオクターブ間隔(N分の1オクターブバンド)で周波数を配置します。
- スペクトルを計算する周波数間隔を
- Scan Targets:
- Include Scan Targets: チェックを入れると、後述の Scan Targets タブで定義されたターゲット周波数が基本の計算ポイントに追加されます。これにより、電源ノイズの高調波(16次まで等)のような重要な周波数を漏らさずに精密測定できます。
- Octave Ref Freq: オクターブバンド計算時の基準となる周波数を指定します。
Scan Targets タブ
特定のターゲット周波数を管理するための機能を提供します。
- デフォルトの設定: 電源ノイズの基本波と16次までの高調波など、一般的なノイズ周波数がプリセットされています。
- Add / Delete: 任意の周波数とメモを手動で追加・削除できます。
- Import / Export: ターゲットリストをJSONファイルとして書き出し・読み込みが可能です。
- Zoom to Selected: 選択したターゲット周波数を中心とした Zoom モードに素早く切り替わります。
Target Generators タブ
Target Generators タブでは、スキャンターゲットを自動生成するためのルールを構成できます。
- Mains Power (電源ノイズ): 基本の電源周波数 (50Hz / 60Hz または両方)、一般的な機器のスイッチング周波数などを選択し、指定した次数までの高調波ターゲット周波数を生成します。
- Musical Scale (音階): 設定可能なA4の基準周波数(デフォルト 440 Hz)に基づき、標準的な音階 (C0 から G9) に対応するターゲット周波数を生成します。音律として、十二平均律(
12-Tone Equal Temperament)、二十四平均律(24-Tone Equal Temperament)、純正律(Just Intonation)から選択可能です。 - Apply Generation Settings: このボタンを押すと、これらのターゲットが生成され、Scan Targets タブの現在のターゲットリストに追加されます。
Audio Sonification タブ
Audio Sonification タブは、検出された信号に応じたオーディオ出力を提供し、電源ノイズやその他の狭帯域信号を「聴く」ことができます。
- Enable Sonification: 音声出力機能の有効/無効を切り替えます。
- Sonification Mode (出力モード):
- Level Monitor (Fixed Pitch): 現在の分析チャンク内で最も強い信号の振幅を音量として反映した、一定のピッチの音を出力します。
- Frequency Mapping (Variable Pitch): 最も強い信号の周波数と振幅の両方を、音の高さ(ピッチ)と音量として出力します。
- Manual Tuner: 手動で指定した周波数のみを監視し、その帯域の信号レベルに応じた音を出力します。特定の狭帯域を聴きたい場合に便利です。
- Manual Tuner / Volume (Gain): マニュアルチューナーのターゲット周波数と、ソニフィケーションのマスターゲインを設定します(dB単位で-120dBまで設定可能で、非常に微弱な信号の観察を可能にします)。
- Output Channel: ソニフィケーション音声を左(Left)、右(Right)、または両方(Both)のチャンネルにルーティングします。
Zoom モード専用設定
- Zoom Center (ズーム中心周波数)
- ズーム分析の中心となる周波数 (Hz) を指定します。
- Track Peak (ピークに追従)
- チェックを入れると、一回の分析が終わるごとに検出された最大のピーク周波数を新しい中心周波数として自動的に更新します。少しずつピークが移動する場合や、中心周波数をより正確に特定したい場合に便利です。
- Zoom Span (±ズームスパン)
- 中心周波数からの分析幅(±Hz)を指定します。(例:Center=1000Hz, Span=10Hz の場合、990Hz~1010Hzの範囲を分析します)
- Resolution (RBW & Step)
- Zoomモードでのみ表示されます。現在の設定(サンプリングレート、バッファサイズ、窓関数、ポイント数)に基づいて計算された、実際の分解能帯域幅(RBW)と各ポイント間の周波数ステップ(Step)を Hz 単位でリアルタイムに確認できます。
グラフの読み方
- 横軸 (Frequency): 周波数 (Hz) を表します。
- 縦軸 (Amplitude): 信号の振幅レベルを指定した単位 (dBFS, dBV, dB SPL) で表します。キャリブレーションが行われている場合は、入力オフセットやマイクオフセットが加味されます。
- スキャッタープロットのツールチップ: グラフ上の赤いターゲットマーカーをクリックすると、そのポイントの厳密な周波数 (Frequency)、振幅 (Magnitude)、位相 (Phase)、および登録されたメモ (Cause/Note) が詳細なツールチップとして表示されます。
- 計算中はグラフ上に現在の計算進捗を示す赤い縦線(スイープライン)が表示され、逐次スペクトルが更新されていきます。平均化(Averages)が設定されている場合、計算の進捗状況に現在の平均回数も表示されます。