ロックイン検出、信号があるのに出力がゼロになる理由

円形の支点から立つ淡い紫の針を、縦の緑のレールと横の短い桃色のレールで受け止める抽象アート。二つの直交した読み取り方向を表す。

弱い信号を測ろうとして、ロックインアンプの表示がゼロになった。そこで「信号がない」と判断すると、見落とすことがあります。ロックイン検出は、信号の大きさだけでなく、基準となる振動とのタイミングの関係も見ているからです。

そのタイミングのずれが位相差です。同じ強さで振動していても、位相差が90度なら、一方の出力はゼロになります。二つの出力XとYをどう読むか、そして平均時間を長くするだけでは解決しない問題を、簡単な計算で見ていきます。

簡単にまとめると?

  • ロックイン検出は、入力に基準信号を掛け合わせ、ゆっくり変わる成分を取り出す測定方法です。基準とそろった周波数の成分を選んで測れます。
  • 一方の出力Xがゼロでも、90度ずれた基準で測るYには信号が残る場合があります。XとYを合わせると、位相差による見落としを減らせます。
  • フィルターをゆっくり応答させると近い周波数の妨害を抑えやすくなりますが、測定も遅くなります。同じ周波数で同期する妨害は、それだけでは区別できません。

ただ増幅するのではなく、基準との関係を測る

例えば、試料へ当てる光を一定の周期で強くしたり弱くしたりして、その応答を光センサーで測る場面を考えます。センサーには、知りたい応答に加えて、周囲の光や回路の雑音も入ります。全部を大きくするだけでは、応答を見分けやすくなるとは限りません。

そこで、光を変調する周期を測定側にも渡し、「この周期に対応する成分」を探します。この比較の相手が参照信号です。入力と参照信号を掛け合わせると、元の周波数の差と和で変化する成分が生じます。同じ周波数どうしなら差はゼロなので、差の成分は一定値になります。[1][2]

次に、ゆっくりした変化を通し、速い変化を弱めるローパスフィルターを使います。和の周波数の成分を十分に弱めれば、基準に対してそろっている成分が残ります。「周期が合う成分を、読みやすいゆっくりした信号へ移す」と考えると、掛け算とフィルターの役割を分けられます。

90度ずれると、Xだけでは見えなくなる

ここからは理想的な正弦波で計算します。入力を v(t) = A sin(ωt + φ) とし、Aは波の最大値を表す振幅、φは参照信号との位相差です。実効値ではありません。参照信号を 2 sin(ωt) と置きます。係数2は計算を分かりやすくするための無次元の倍率です。

掛け算の結果は A cos φ − A cos(2ωt + φ)。速い後半の成分を十分に取り除いた定常値をXと呼ぶと、X = A cos φになります。φが0度ならXはAですが、90度ではcosがゼロになるため、入力が存在していてもXはゼロです。

これは「信号が消えた」のではなく、「その基準方向に対応する成分がゼロ」という意味です。対策は、参照信号を90度ずらした 2 cos(ωt) でも同時に測ること。その出力YはY = A sin φになります。このように直交する二つの位相で測る方法を、二位相検出と呼びます。[2]

入力振幅1mVの計算例。位相差0度ではXが1、Yが0。60度ではXが0.5、Yが0.866。90度ではXが0、Yが1。180度ではXがマイナス1、Yが0。合成振幅Rはいずれも1mV。
入力の最大振幅を1 mVとした独自計算。参照信号の倍率を2とし、同じ周波数、一定の位相差、速い成分を除去した定常状態を仮定しています。測定器の実測値ではありません。

位相差60度ならXは0.5 mV、Yは約0.866 mV。90度ではXが0 mVになり、Yは1 mVです。180度ではXが−1 mVになります。負の表示も故障の意味ではなく、参照に対して反対向きの成分であることを示します。

二つを R = √(X² + Y²) で合わせると、これらの例ではいずれもRは1 mVになります。ただし、Rは常に0以上なので、XとYに雑音だけが残っていても正の値になり得ます。Rが正だからといって、それだけで目的の応答を検出した証拠にはなりません。

また、この計算の係数を、そのまま実機の表示へ当てはめることはできません。最大振幅表示か実効値表示か、参照波形と内部の倍率がどうなっているかを確認します。例えば資料[1]の±1で切り替える矩形波の検波では、正弦波入力に対する平均値に2/πという係数が現れます。ここで使った正弦波参照の倍率2とは条件が違います。

近い周波数の妨害は、ゆっくり動く出力として残る

参照が1,000 Hz、妨害が1,001 Hzなら、掛け算の後に1 Hzの差の成分が生じます。差が小さいほどゆっくりした変化になるため、ローパスフィルターを通りやすくなります。「周波数が違えばすべて消える」わけではありません。

この関係を、一段のローパスフィルターで比べます。時定数をτ、周波数差をΔfとすると、差の成分の振幅が残る割合は 1 / √(1 + (2πτΔf)²) です。時定数は、フィルターが変化へ追いつく速さの目安です。以下はこの式による独自の計算例で、資料[2]の二段フィルターを再現したものではありません。

一段フィルターを通った差周波数成分の振幅比
時定数τ 差1 Hz 差10 Hz 一定値への変化に99%追いつく時間
0.1秒 約84.7% 約15.7% 約0.46秒
1秒 約15.7% 約1.59% 約4.61秒

例えば1,001 Hzの妨害の振幅が10 mVなら、τが0.1秒のとき、差の1 Hz成分は約8.47 mV残る計算です。目的の1 mVよりも大きくなり得ます。これは出力に重なるゆっくりした振動の振幅であり、目的信号の直流測定値が8.47 mVになった、という意味ではありません。和の高周波成分は十分に弱められるものとして分けています。

時定数を長くすれば、この妨害は小さくなります。その一方で、試料の応答が変わったときも表示が追いつきにくくなります。一段モデルでは、一定値への変化に対してτで約63.2%、約4.605τで99%まで追いつきます。短時間で条件を切り替える測定なら、前の条件の影響が残ったまま次の値を読まないよう、待ち時間も一緒に決めます。

同じ周波数の妨害は、平均時間だけでは分けられない

もっと厄介なのは、目的信号と同じ周波数で、位相関係も固定された妨害です。差の周波数はゼロなので、時定数を長くしても、その成分は定常値として残ります。

先ほどの規格化で、目的信号が1 mV、同じ位相の妨害が10 mVなら、Xは合計11 mVになります。逆位相の成分なら、互いに打ち消す場合もあります。これは線形な掛け算とフィルターの結果です。測定器は「周期と位相が合う」という関係を見ているのであって、どちらが試料から来た信号かを判別しているわけではありません。

光を遮った状態でも同期成分が残るか、試料を外すと変わるか、配線を通じた変調信号の回り込みがないか。こうした背景の確認を組み合わせて、信号の由来を切り分けます。大きな妨害で入力段が飽和して波形がひずんでいれば、後段で平均しても元の波形は取り戻せません。

ゼロの表示を見たときに確認する順番

まず、表示しているのがXだけなのか、YやRも読めるのかを確認します。次に、参照と入力の周波数が合っているか、位相関係が安定しているかを見ます。周波数がわずかにずれていれば、位相差が時間とともに回り、XとYも動きます。その変化がフィルターに抑えられて、小さく見えている可能性があります。

そのうえで、時定数と測定の待ち時間、入力の過大信号、背景だけを測った値を確かめます。XとYは位相による見落としを減らすための手掛かりであり、Rは雑音の由来まで保証する数値ではありません。何を参照にし、どの時間幅で、どの成分を読んでいるかをそろえることで、ゼロにも正の値にも意味を与えられます。

出典

  1. University of Washington, The Phase Sensitive (Lock-in) Detector。位相敏感検波、位相差と出力、周波数差の扱いを参照。公開PDFの改訂日は未確認。
  2. Andrew J. Harvie and John C. de Mello, OLIA: An Open-source Lock-in Amplifier, arXiv:2211.08889v2, 2022年11月22日。二位相検出の式と参照信号の同期条件を参照。本稿の数値例は独自計算です。