マイケルソン干渉計の原理と応用 — 光路差をナノメートルで測る

長さ4kmの真空パイプの中を走る光で、陽子の半径の1/200という距離の変化を測る。これがLIGOという重力波検出器が実際にやっていることです。物差しを当てるわけにもいかない、電子顕微鏡でも到底届かないこのスケールを、どうやって測っているのでしょうか。答えは驚くほど古典的で、19世紀末にアルバート・マイケルソンが考案したマイケルソン干渉計という、鏡2枚と半透明の板1枚でできた装置です。

マイケルソン干渉計の発想はひとことで言えば「光を2つに分け、別々の道を通らせてから、また重ねる」だけです。それだけのことで、2つの道の長さの差が光の波長(可視光なら0.5マイクロメートル程度)を単位とした縞模様に変換されます。波長という「自然が用意した超精密な物差し」で長さを測る装置、と言い換えてもいいでしょう。

この道具を理解すると、一見バラバラに見える次のような技術が、すべて同じ1本の式から出てくることがわかります。

  • レーザー測長器:半導体露光装置のステージ位置を、ナノメートル精度でリアルタイムに測る。工場の中でいま動いている技術です。
  • フーリエ変換赤外分光(FTIR):プラスチックの種類を数秒で同定したり、大気中のCO₂濃度を測ったりする分析装置。実はマイケルソン干渉計そのものです。
  • 光コヒーレンストモグラフィ(OCT):眼底の断層像をミクロン分解能で撮る医療機器。白色光干渉の応用です。
  • 重力波検出器:時空のひずみ $h \sim 10^{-21}$ を捉える、人類史上もっとも高感度な測長装置。

本記事では、この4つがすべて「同じ干渉の式」の別の顔であることを、式の導出を省略せずに追いかけながら示します。とくに大事なのが、干渉縞のコントラスト(可視度)が光源のスペクトルのフーリエ変換になっているという事実です。この一点を押さえると、「なぜ白色光では縞がすぐ消えるのか」「なぜ干渉計で分光ができるのか」が同じ理由だとわかります。

本記事の内容

  • マイケルソン干渉計の構成と、光路差 $\Delta L$ の作られ方
  • 2光束干渉の強度式 $I = 2I_0(1+\cos(2\pi \Delta L/\lambda))$ の導出(省略なし)
  • 縞計数 $N = 2\Delta d/\lambda$ による変位計測と、その分解能の見積もり
  • 有限スペクトル幅の光源での可視度、複素コヒーレンス度 $\gamma(\tau)$ とウィーナー・ヒンチンの定理
  • コヒーレンス長 $l_c \approx \lambda^2/\Delta\lambda$ の導出と数値例
  • 白色光干渉によるゼロ光路差検出
  • フーリエ変換分光(FTIR)の原理、分解能、アポダイゼーション
  • Pythonによるインターフェログラム生成・可視度測定・FFTによるスペクトル復元
  • 重力波検出器における動作点とショットノイズ限界

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

マイケルソン干渉計とは — 「差」を縞に変換する装置

マイケルソン干渉計の構成:光源からの光をビームスプリッタで2つの腕に分け、鏡で往復させて重ね合わせる模式図

装置の全体像を先に見ておきましょう。光源から出た光はビームスプリッタで2つに分かれ、それぞれの腕の鏡で折り返して戻り、同じビームスプリッタで再び重なります。図でまず目を止めてほしいのは、光が往復するという点です。可動鏡を $\Delta d$ だけ動かすと、その腕の光路は行きと帰りで2回ぶん伸びるので、光路差は $2\Delta d$ 変わります。もうひとつ、出力が検出器側と光源側の2つあることも図から読み取れます。これが後で「暗いときに光はどこへ行ったのか」という問いの答えになります。

長さを測る道具は、ふつう「基準となる目盛り」を持っています。ものさしならミリの目盛り、ノギスならバーニヤ、レーザー距離計なら光の飛行時間です。ところが、ナノメートルのスケールになると、そもそも目盛りを刻めません。刻めたとしても、その目盛り自体が温度で伸び縮みしてしまいます。

そこでマイケルソンが使ったのが、光の波長そのものを目盛りにするというアイデアです。ヘリウムネオンレーザーの波長は632.8ナノメートル。この長さは物理定数と原子のエネルギー準位で決まっているので、温度でも時間でも変わりません。理想的な目盛りです。問題は「どうやってその目盛りを読むか」でした。

ここで干渉が登場します。同じ光源から出た光を2つに分け、片方を距離 $d_1$、もう片方を距離 $d_2$ の経路に送って、再び重ね合わせます。2つの光は同じ源から出たので、出発時点では位相がそろっています。しかし到着時点では、通ってきた距離の差だけ位相がずれています。このずれが波長の整数倍なら明るく、半整数倍なら暗くなる。つまり、明暗を数えるだけで距離の差が波長単位でわかるのです。

位相差による明暗の作られ方:光路差0で強め合い、λ/4で中間、λ/2で完全に打ち消し合う3つの波形

言葉だけではつかみにくいので、2つの光の波を実際に重ねてみたのが上の図です。左は光路差ゼロで山と山がぴったり重なり、振幅が2倍(強度は4倍)になっています。右は光路差が波長の半分で、片方の山にもう片方の谷が来るため、足し算の結果が完全にゼロになります。中央のように中途半端な光路差では中間の明るさになり、この連続的な変化があとで「位相補間」による高分解能測長を可能にします。

この「明暗のカウンタ」という見方は本質的です。マイケルソン干渉計は距離そのものを測る装置ではありません。2本の腕の距離の差の変化を、光の波長を単位として数え上げる装置です。だから絶対距離は測れませんが、変化には途方もなく敏感になります。片方の鏡を波長の1/4だけ動かすと、往復で波長の半分の光路差が生まれ、明るかった場所がまるまる暗くなる。158ナノメートルの動きが、明→暗という誰にでもわかる変化になるわけです。

ここまでで「なぜ干渉が測長に使えるのか」の直感がつかめたはずです。次に、この直感を装置の具体的な構造に落とし込みましょう。どこで光を分け、どこで重ね、なぜ余計なガラス板(補償板)が必要になるのかを見ていきます。

装置の構成 — ビームスプリッタ・2枚の鏡・補償板

マイケルソン干渉計の部品は驚くほど少なく、本質的には次の4つだけです。

  1. 光源:レーザー、白色光ランプ、赤外線グローバーなど。何を使うかで装置の性格が根本的に変わります(後述)。
  2. ビームスプリッタ(BS):入射光を50%反射・50%透過に分ける半透明の板。ふつうガラス基板に金属や誘電体多層膜を蒸着したものです。
  3. 2枚の鏡 $M_1$, $M_2$:それぞれの腕の終端にあり、光を来た道へ折り返します。片方を固定鏡、もう片方を可動鏡にするのが典型です。
  4. 検出器:フォトダイオード、CCD、あるいは人間の目。

光路をたどってみましょう。光源から出た光はビームスプリッタに45度で入射し、半分は透過して鏡 $M_1$ へ、半分は反射して鏡 $M_2$ へ向かいます。それぞれの鏡で反射して戻ってきた光は、再びビームスプリッタで分割され、その一部どうしが検出器方向で重なります。ここで初めて干渉が起きます。

ビームスプリッタから $M_1$ までの距離を $d_1$、$M_2$ までの距離を $d_2$ とします。光は行って帰ってくるので、それぞれの腕で光が進む距離は $2d_1$ と $2d_2$ です。したがって光路差(optical path difference, OPD)は

$$ \begin{equation} \Delta L = 2d_1 – 2d_2 = 2(d_1 – d_2) \end{equation} $$

となります。この「2倍」が効いてくるのが重要な点で、鏡を $\Delta d$ だけ動かすと光路差は $2\Delta d$ 変化します。感度が2倍になるわけです。

腕の中が真空や空気でない場合、つまり屈折率 $n$ の媒質が入っている場合は、幾何学的な距離ではなく光学的距離 $n \times d$ を使います。光は屈折率の高い媒質中では遅く進むので、位相の進み具合を測るには屈折率をかけた距離が必要だからです。腕1に長さ $\ell$、屈折率 $n$ のガスセルが入っているなら、その分だけ光路が $2(n-1)\ell$ 増えたことになります。この事実が、後で述べる屈折率測定の原理そのものになります。

補償板(compensator plate) についても触れておきましょう。ビームスプリッタが厚さ $t$、屈折率 $n_g$ のガラス基板の片面に半透膜を付けたものだとすると、片方の腕の光はこのガラスを3回通り、もう片方は1回しか通りません。単色光ならこの差は $\Delta L$ のオフセットとして吸収できますが、白色光や広帯域光では致命的です。ガラスの屈折率は波長によって変わる(分散)ので、波長ごとに違うオフセットが乗ってしまい、縞が波長ごとにバラバラの位置に出てしまうからです。そこでビームスプリッタと同じ厚さ・同じ材質の板(補償板)を短い方の腕に入れて、両腕がガラスを通る回数を等しくします。マイケルソン自身の装置にもこの板が入っていました。

ここまでで、装置がどのように光路差 $\Delta L$ を作り出すかがわかりました。次は、その $\Delta L$ が検出器の明るさにどう表れるかを、複素振幅から式を立てて導きます。ここが記事の中核です。

2光束干渉の強度式を導く

干渉の式を「$I = I_1 + I_2 + 2\sqrt{I_1 I_2}\cos\delta$」と天下りに覚えている人は多いと思いますが、この式がどこから来るかを一度きちんと追っておくと、後の可視度やコヒーレンスの議論が一気に見通しよくなります。出発点は「電場は足せるが、強度は足せない」という当たり前の事実です。

複素振幅で表す

単色平面波の電場を、実部を取る約束のもとで複素表示します。角周波数 $\omega$、波数 $k = 2\pi/\lambda$ として、腕 $j$($j=1,2$)を通ってきた光の検出器上での電場は

$$ \begin{equation} E_j(t) = \mathrm{Re}\left[ A_j\, e^{i(k L_j – \omega t)} \right] \end{equation} $$

と書けます。ここで $L_j$ は腕 $j$ の光路長($L_1 = 2d_1$, $L_2 = 2d_2$)、$A_j$ は実振幅です。位相 $k L_j$ は「距離 $L_j$ を進む間に何ラジアン波が回ったか」を表しています。波長 $\lambda$ 進むごとに $2\pi$ 回るので、$k = 2\pi/\lambda$ をかけるのは自然でしょう。

検出器上での合成電場は、単純に和になります(マクスウェル方程式が線形だから)。

$$ E(t) = E_1(t) + E_2(t) $$

強度は時間平均

光検出器が測るのは電場そのものではなく、電場の2乗の時間平均、すなわち強度です。可視光の周波数は $5\times10^{14}$ Hz 程度で、どんな検出器もこの振動には追従できません。検出器が見ているのは

$$ I \propto \langle E(t)^2 \rangle_T $$

です($\langle \cdot \rangle_T$ は光の周期よりずっと長い時間での平均)。複素表示のまま計算すると便利で、$\langle \mathrm{Re}[\tilde{E}e^{-i\omega t}]^2 \rangle = \frac{1}{2}|\tilde{E}|^2$ が成り立ちます。ここで $\tilde{E} = A_1 e^{ikL_1} + A_2 e^{ikL_2}$ は時間依存を除いた複素振幅です。

そこで $|\tilde{E}|^2$ を展開します。まず定義どおり複素共役をかけて、

$$ |\tilde{E}|^2 = \left( A_1 e^{ikL_1} + A_2 e^{ikL_2} \right)\left( A_1 e^{-ikL_1} + A_2 e^{-ikL_2} \right) $$

右辺を分配法則で4項に展開すると、

$$ |\tilde{E}|^2 = A_1^2 + A_2^2 + A_1 A_2 e^{ik(L_1-L_2)} + A_1 A_2 e^{-ik(L_1-L_2)} $$

となります。最後の2項は互いに複素共役なので、オイラーの公式 $e^{i\theta} + e^{-i\theta} = 2\cos\theta$ を使ってまとめられます。

$$ |\tilde{E}|^2 = A_1^2 + A_2^2 + 2 A_1 A_2 \cos\left[ k(L_1 – L_2) \right] $$

各腕を単独で通したときの強度を $I_j \propto \frac{1}{2}A_j^2$ と書き、位相差を

$$ \begin{equation} \delta \equiv k(L_1 – L_2) = k \Delta L = \frac{2\pi \Delta L}{\lambda} \end{equation} $$

と定義すれば、目的の式が得られます。

$$ \begin{equation} I = I_1 + I_2 + 2\sqrt{I_1 I_2}\,\cos\delta \end{equation} $$

第3項が干渉項です。ここに $\Delta L$ の情報がすべて入っています。$I_1 + I_2$ という「足し算の答え」からのズレが干渉なのだ、と読むと直感的でしょう。

対称な干渉計での形

ビームスプリッタが理想的な50:50で、両腕の反射率も等しければ $I_1 = I_2 = I_0$ です。このとき

$$ \begin{equation} I = 2I_0 \left( 1 + \cos\frac{2\pi \Delta L}{\lambda} \right) \end{equation} $$

となり、半角の公式 $1+\cos\delta = 2\cos^2(\delta/2)$ を使えば

$$ \begin{equation} I = 4 I_0 \cos^2\!\left( \frac{\pi \Delta L}{\lambda} \right) \end{equation} $$

とも書けます。$\Delta L = m\lambda$($m$ は整数)で明線($I = 4I_0$)、$\Delta L = (m + 1/2)\lambda$ で暗線($I = 0$)です。$\Delta L$ が $\lambda$ 変わるごとに1周期。この単純な周期性が、干渉計のすべての応用を支えています。

光はどこへ消えたのか — 相補ポート

暗線のとき $I=0$ になりますが、エネルギー保存はどうなっているのでしょうか。実は、マイケルソン干渉計には出力ポートが2つあります。検出器側と、光源側へ戻る側です。ビームスプリッタの反射・透過にはストークスの関係式から要求される位相関係があり、一方の側で反射するときと反対側で反射するときとで $\pi$ の位相差が付きます。この $\pi$ のおかげで、光源へ戻るポートの強度は

$$ I’ = 2I_0\left( 1 – \cos\delta \right) = 4I_0 \sin^2\!\left(\frac{\delta}{2}\right) $$

となり、2つのポートの和は

$$ I + I’ = 4I_0 \quad (\text{$\delta$ によらず一定}) $$

と、きちんと保存します。

検出器ポートと光源側ポートの強度、およびその和が光路差によらず一定になることを示すグラフ

この図は、いま導いた強度式をそのまま描いたものです。紫の検出器ポートと橙の光源側ポートはちょうど逆位相で振動していて、片方が明線のときもう片方は必ず暗線になっています。黒い点線で示した2ポートの和は、光路差をどう変えても $4I_0$ から動きません。エネルギーは消えているのではなく、2つの出口の間で配分が入れ替わっているだけだ、ということが一目でわかります。

検出器側が暗いとき、光はすべて光源へ返っているのです。この事実は重力波検出器で「パワーリサイクリング」という技術に化けます。暗線動作をしているとき、ほぼ全部の光が光源側へ戻ってくるので、そこに鏡を置いて干渉計へ押し戻せば、実効的なレーザーパワーを数十倍にできる、というアイデアです。

強度式が手に入ったので、次はいよいよこれを「測る道具」として使います。鏡を動かしたときに何が起きるかを定量化しましょう。

鏡を動かす — 縞計数による変位計測

可動鏡 $M_1$ を $\Delta d$ だけ動かしたとします。光は往復するので、光路差の変化は

$$ \Delta(\Delta L) = 2\Delta d $$

です。位相差の変化は $\Delta\delta = 2\pi \cdot 2\Delta d/\lambda$。強度は位相差が $2\pi$ 進むごとに1周期するので、通過した縞の本数は

$$ \begin{equation} N = \frac{2 \Delta d}{\lambda} \end{equation} $$

となります。逆に解けば、縞を $N$ 本数えれば変位が

$$ \begin{equation} \Delta d = \frac{N \lambda}{2} \end{equation} $$

とわかります。1本の縞 = 波長の半分の変位。ヘリウムネオンレーザー($\lambda = 632.8$ nm)なら、1本あたり316.4ナノメートルです。

鏡の変位に対する干渉強度の周期変化と、位相補間の分割数に対する変位分解能のグラフ

左のグラフは、可動鏡をゆっくり動かしたときに検出器が見る明るさです。破線を入れた縞の間隔がすべて316.4 nmで一定なのは、光路差が変位の2倍になるからで、鏡の動きがそのまま「本数」というデジタルな量に変換されています。右のグラフは、1周期を何分割まで読むかと分解能の関係で、1/1024まで補間すると0.31 nm、つまり原子の直径と同じスケールに届くことを示しています。縞を数えるだけでも316 nm、間を読めば1000倍細かくというのが測長干渉計の設計の勘所です。

分解能はどこまで伸びるか

「縞を数える」だけだと分解能は $\lambda/2 = 316$ nm で頭打ちに見えます。しかし実際の測長器はナノメートル以下まで測ります。カラクリは位相補間です。強度 $I$ は $\delta$ の連続関数なので、明線と暗線の間の中途半端な明るさから、縞の「何割目」にいるかを読み取れます。強度の測定精度が1%なら位相を1/100の精度で読めるので、

$$ \delta d = \frac{\lambda}{2} \times \frac{1}{100} = 3.16\ \text{nm} $$

まで届きます。市販のレーザー測長器は電子回路で1/1024程度まで補間するので、分解能は0.3nm台になります。

ただし、強度だけを見ていると動く方向がわかりません。$\cos\delta$ は偶関数なので、$\delta$ が増えたのか減ったのかを区別できないからです。実際の装置では偏光板と$\lambda/4$板を組み合わせて、位相が90度ずれた2つの信号 $\cos\delta$ と $\sin\delta$(クアドラチャ信号)を作ります。この2つを$xy$平面にプロットするとリサジュー円が描かれ、円周をどちら回りに回るかで方向が、回転角 $\arctan2(\sin\delta, \cos\delta)$ で位相が一意に決まります。これがインクリメンタルエンコーダの光学版です。

90度位相のずれた2つの信号と、それをxy平面に描いたリサジュー円で移動方向を判別する図

左のグラフは鏡が途中で前進から後退へ転じた場合の2つの信号です。$\cos\delta$ だけを見ていると前半と後半の波形は区別がつきませんが、$\sin\delta$ との進み遅れの関係が入れ替わっているのがわかります。右のリサジュー円ではこの違いが回転の向きとして現れ(見やすさのため後退側を内側の円に描いています)、さらに原点からの角度を読めば縞の途中の位相まで一意に決まります。方向判別と位相補間が1枚の円で同時に解決する、というのがクアドラチャ検出の強みです。

屈折率も測れる

腕の一方に長さ $\ell$ のガスセルを入れ、内部を真空から圧力 $p$ の気体で満たすとします。光路長の変化は $2(n-1)\ell$ なので、通過する縞の本数は

$$ N = \frac{2(n-1)\ell}{\lambda} $$

です。空気の屈折率は $n – 1 \approx 2.7 \times 10^{-4}$(常温常圧、可視光)。$\ell = 10$ cm、$\lambda = 632.8$ nm とすると

$$ N = \frac{2 \times 0.10 \times 2.7\times10^{-4}}{632.8\times10^{-9}} \approx 85.3\ \text{本} $$

となり、85本もの縞が流れます。逆に言えば、縞を1本の精度で数えるだけで屈折率を $10^{-6}$ 程度の精度で測れるということです。同じ理屈が測長の誤差要因にもなります。空気中で1mの距離をレーザー測長するとき、気温が1℃変わると空気の屈折率が約 $10^{-6}$ 変わり、見かけの距離が1マイクロメートルずれます。だから精密測長では温度・気圧・湿度を測ってエドレンの式で屈折率を補正するか、いっそ真空中で測ります。

そのほか実務では、測定軸と移動軸のずれによるコサイン誤差($\Delta d_{\text{true}} = \Delta d_{\text{meas}}/\cos\theta$)や、測定軸が対象からオフセットしていることによるアッベ誤差(傾き角 $\alpha$ とオフセット $s$ で $\alpha s$ の誤差)が効いてきます。干渉計そのものは完璧でも、幾何配置で誤差が入るという教訓です。

ここまでは「光が完全な単色波である」という仮定のもとで議論してきました。しかし現実の光源には必ずスペクトル幅があります。次のセクションでは、この仮定を外したときに何が起きるかを見ます。そこにコヒーレンスとフーリエ変換分光への扉があります。

光は単色ではない — 可視度とコヒーレンス

理想的な単色光なら、鏡をどこまで動かしても縞は同じコントラストで見え続けるはずです。ところが実際にやってみると、光路差をどんどん大きくしていくと縞が薄れ、やがて完全に消えてしまいます。白色光を使うと、ほんの数マイクロメートル動かしただけで縞が消えます。これは何を意味するのでしょうか。

直感:光は「波連」の集まり

古典的な直感としては、実際の光は無限に続く正弦波ではなく、有限の長さの「波の切れ端」(波連, wave train)がランダムな位相でつながったものだと考えます。原子が光を放出する時間は有限なので、1回の放出で作られる波連の長さも有限です。光路差が波連の長さより短ければ、分けた2つの光は「同じ波連の別の部分」なので位相関係がはっきりしていて、きれいな干渉が起きます。しかし光路差が波連の長さを超えると、重ね合わされるのは「別の波連どうし」になります。別の波連の位相はランダムなので、干渉項は平均するとゼロになり、縞が消えるのです。

長い波連と短い波連の比較:短い波連では遅延によって別の波連どうしが重なり位相がランダムになる模式図

上下2段で、波連の長さだけを変えて同じ遅延を与えたのがこの図です。上段(レーザー)では波連が視野より長いので、遅らせた光と元の光は常に「同じ波連の別の場所」どうしであり、位相差が場所によらず一定に保たれます。下段(白色光・LED)では波連の切れ目が遅延より頻繁にやってくるため、重なるのは別々の波連となり、位相差が切れ目ごとにランダムに飛びます。その結果、時間平均すると干渉項が消えて縞が見えなくなる、というのが「コヒーレンス長を超えると縞が消える」の正体です。

この波連の長さこそがコヒーレンス長です。そして、波連が短いということは周波数の幅が広いということ(時間的に短いパルスは広い帯域を持つ、というフーリエ変換の基本性質)。だから「スペクトルが広い光ほど縞がすぐ消える」はずです。以下でこれを定量的に示します。

各周波数成分は独立に干渉する

光源が周波数 $\nu$ の成分をスペクトル密度 $S(\nu)$ だけ含むとします。異なる周波数の光どうしは互いに干渉しません(周波数が違う2つの正弦波の積の時間平均はゼロ)。したがって、検出器が測る強度は、各周波数成分が単独で作る干渉パターンの単なる足し算になります。

光路差 $\Delta L$ に対応する遅延時間

$$ \tau = \frac{\Delta L}{c} $$

と定義しましょう。周波数 $\nu$ の成分の位相差は $\delta = 2\pi \nu \tau$ なので、

$$ \begin{equation} I(\tau) = \int_0^\infty S(\nu)\left[ 1 + \cos(2\pi\nu\tau) \right] d\nu \end{equation} $$

となります。この式は積分を2つに分けられます。第1項は $\tau$ によらない定数

$$ I_{\text{tot}} = \int_0^\infty S(\nu)\, d\nu $$

で、干渉しない「直流成分」です。第2項が縞を作る部分で、これを $I_{\text{tot}}$ で割って規格化したものを考えます。$\cos$ を複素指数の実部として書き直すと、

$$ \int_0^\infty S(\nu)\cos(2\pi\nu\tau)\,d\nu = \mathrm{Re}\left[ \int_0^\infty S(\nu) e^{i 2\pi \nu\tau} d\nu \right] $$

($S(\nu)$ が実数なので実部を取る操作を積分の外に出せます)。そこで

$$ \begin{equation} \gamma(\tau) \equiv \frac{1}{I_{\text{tot}}}\int_0^\infty S(\nu)\, e^{i2\pi\nu\tau}\, d\nu \end{equation} $$

と定義すれば、干渉の式は非常にすっきりした形になります。

$$ \begin{equation} I(\tau) = I_{\text{tot}}\left[ 1 + \mathrm{Re}\,\gamma(\tau) \right] \end{equation} $$

この $\gamma(\tau)$ が複素コヒーレンス度(complex degree of coherence)です。定義から $\gamma(0) = 1$ で、$|\gamma(\tau)| \le 1$ が成り立ちます。

ウィーナー・ヒンチンの定理との関係

$\gamma(\tau)$ は、定義から見て「スペクトルのフーリエ変換」です。これは偶然ではなく、ウィーナー・ヒンチンの定理そのものです。定常なランダム過程としての光電場 $\tilde{E}(t)$ に対して、自己相関関数

$$ \Gamma(\tau) = \left\langle \tilde{E}^*(t)\, \tilde{E}(t+\tau) \right\rangle $$

を考えると、そのフーリエ変換がパワースペクトル密度 $S(\nu)$ になる、というのが定理の主張でした。逆変換の形で書けば

$$ \begin{equation} \Gamma(\tau) = \int_0^\infty S(\nu)\, e^{-i2\pi\nu\tau}\, d\nu \end{equation} $$

です(符号の約束は流儀によります)。そして $\gamma(\tau) = \Gamma(\tau)/\Gamma(0)$ が規格化した自己相関にあたります。

つまり、マイケルソン干渉計は光電場の自己相関を、光路差を掃引することで物理的に計算している装置なのです。干渉計の中を進む光は、自分自身を遅らせたコピーと掛け算されている。これがフーリエ変換分光の原理のすべてです。

可視度=コヒーレンス度の絶対値

実験で測れるのは縞のコントラストです。$\gamma(\tau)$ を振幅と位相に分けて

$$ \gamma(\tau) = |\gamma(\tau)|\, e^{i\left[ 2\pi\bar\nu\tau – \Phi(\tau) \right]} $$

と書きます($\bar\nu$ は中心周波数、$\Phi(\tau)$ はゆっくり変わる位相)。すると

$$ \begin{equation} I(\tau) = I_{\text{tot}}\left[ 1 + |\gamma(\tau)|\cos\left( 2\pi\bar\nu\tau – \Phi(\tau) \right) \right] \end{equation} $$

となります。ここで対称な干渉計なら $I_{\text{tot}} = 2I_0$ なので、記事冒頭で予告した形

$$ I(\tau) = 2I_0\left[ 1 + |\gamma(\tau)|\cos\left( 2\pi\bar\nu\tau – \Phi(\tau) \right) \right] $$

が得られました。単色の式 $I = 2I_0(1+\cos\delta)$ と見比べると、振動項の前に $|\gamma(\tau)|$ という減衰因子が付いただけです。

$\cos$ は $\tau$ の関数として非常に速く振動する(光の周期 $1/\bar\nu \sim 2$ fs)のに対し、$|\gamma(\tau)|$ はゆっくり変わるので、局所的には $\cos$ が $\pm 1$ を取ると考えてよく、

$$ I_{\max} = I_{\text{tot}}(1+|\gamma|), \qquad I_{\min} = I_{\text{tot}}(1-|\gamma|) $$

です。可視度(ビジビリティ) をマイケルソンの定義

$$ \begin{equation} V \equiv \frac{I_{\max} – I_{\min}}{I_{\max} + I_{\min}} \end{equation} $$

で測ると、

$$ V(\tau) = \frac{I_{\text{tot}}\cdot 2|\gamma|}{I_{\text{tot}}\cdot 2} = |\gamma(\tau)| $$

と、きれいに $|\gamma(\tau)|$ に一致します。可視度を測ることは、光源スペクトルのフーリエ変換の絶対値を測ることと同じなのです。

なお、両腕の強度が等しくない場合には $I_1 + I_2 + 2\sqrt{I_1I_2}|\gamma|\cos(\cdots)$ となるので、

$$ V = \frac{2\sqrt{I_1 I_2}}{I_1+I_2}\,|\gamma(\tau)| $$

です。腕のパワーがアンバランスでも可視度は落ちる、ということ。$I_2 = I_1/4$(4倍の差)でも $2\sqrt{I_1I_2}/(I_1+I_2) = 0.8$ なので、意外に鈍感ではあります。

ガウス型スペクトルで具体的に計算する

$S(\nu)$ が中心 $\nu_0$、半値全幅 $\Delta\nu$ のガウス型だとします。半値全幅の定義に合わせて

$$ S(\nu) \propto \exp\left[ -4\ln 2\, \frac{(\nu-\nu_0)^2}{\Delta\nu^2} \right] $$

と書きます($\nu = \nu_0 \pm \Delta\nu/2$ で $\exp(-\ln 2) = 1/2$ になることを確認してください)。$\gamma(\tau)$ を計算するために、まず変数を $\mu = \nu – \nu_0$ と置き換えて中心をずらします。

$$ \gamma(\tau) \propto \int_{-\infty}^{\infty} e^{-a\mu^2} e^{i2\pi(\nu_0+\mu)\tau} d\mu = e^{i2\pi\nu_0\tau} \int_{-\infty}^{\infty} e^{-a\mu^2} e^{i2\pi\mu\tau} d\mu $$

ここで $a = 4\ln 2/\Delta\nu^2$ と置きました。残った積分はガウス関数のフーリエ変換で、公式

$$ \int_{-\infty}^{\infty} e^{-a\mu^2} e^{i2\pi\mu\tau} d\mu = \sqrt{\frac{\pi}{a}}\, e^{-\pi^2\tau^2/a} $$

を使えます。$\gamma(0)=1$ の規格化を課して定数を落とすと、

$$ \begin{equation} \gamma(\tau) = e^{i2\pi\nu_0\tau}\exp\left[ -\frac{\pi^2 \Delta\nu^2 \tau^2}{4\ln 2} \right] \end{equation} $$

を得ます。$a$ に元の値を戻して $\pi^2\tau^2/a = \pi^2\Delta\nu^2\tau^2/(4\ln 2)$ としました。したがって可視度は

$$ V(\tau) = |\gamma(\tau)| = \exp\left[ -\frac{\pi^2 \Delta\nu^2 \tau^2}{4\ln 2} \right] $$

スペクトルがガウスなら、可視度もガウス。そして幅は逆数関係になっています。$\Delta\nu$ が広いほど $V$ の減衰が速い、という予想どおりの結果です。

ガウス型スペクトルとその可視度曲線を並べ、幅どうしが逆数関係にあることを示す図

左が光源のスペクトル、右がいま導いた $V(\tau) = \exp[-\pi^2\Delta\nu^2\tau^2/(4\ln 2)]$ を光路差の関数として描いたものです。スペクトルがいちばん狭い青(5 nm)は可視度が80 µm付近までゆるやかに落ちるのに対し、いちばん広い緑(50 nm)は10 µmも行かないうちに消えています。左右で幅の大小関係がきれいに逆転しており、フーリエ変換対の「片方が広ければ他方は狭い」という性質が、そのまま干渉計の振る舞いとして現れていることが確認できます。破線は次に導く目安 $\lambda^2/\Delta\lambda$ の位置です。

コヒーレンス時間とコヒーレンス長

「縞が消える距離」を定義するには、どこで消えたと言うかを決める必要があります。よく使われるのは次の2つです。

  • $|\gamma| = 1/e$ になる遅延:$\tau_{1/e} = \dfrac{2\sqrt{\ln 2}}{\pi \Delta\nu} = \dfrac{0.5300}{\Delta\nu}$
  • $|\gamma|$ の半値全幅:$\tau_{\text{FWHM}} = \dfrac{4\ln 2}{\pi\Delta\nu} = \dfrac{0.8825}{\Delta\nu}$

どちらも $1/\Delta\nu$ に $O(1)$ の係数が付いた形です。そこで細かい係数には目をつぶって、コヒーレンス時間

$$ \begin{equation} \tau_c \approx \frac{1}{\Delta\nu} \end{equation} $$

と定義し、それに光速をかけたコヒーレンス長

$$ \begin{equation} l_c = c\,\tau_c \approx \frac{c}{\Delta\nu} \end{equation} $$

とします。これを波長の言葉に直しましょう。$\nu = c/\lambda$ を $\lambda$ で微分すると $d\nu/d\lambda = -c/\lambda^2$ なので、小さな幅については

$$ \Delta\nu = \frac{c\,\Delta\lambda}{\lambda^2} $$

が成り立ちます。これを代入すると、

$$ \begin{equation} l_c \approx \frac{c}{c\Delta\lambda/\lambda^2} = \frac{\lambda^2}{\Delta\lambda} \end{equation} $$

という、光学でもっとも使われる目安式が出ます。コヒーレンス長は中心波長の2乗をスペクトル幅で割ったもの。導出を追えば、これが「$1/\Delta\nu$ を波長で書き直しただけ」だとわかります。

具体的な数値を並べてみましょう。

光源 中心波長 スペクトル幅 コヒーレンス長 $l_c = \lambda^2/\Delta\lambda$
安定化He-Neレーザー 632.8 nm $\Delta\nu \approx 1$ MHz 約 300 m
多モードHe-Neレーザー 632.8 nm $\Delta\nu \approx 1.5$ GHz 約 20 cm
半導体レーザー(DFB) 1550 nm $\Delta\nu \approx 1$ MHz 約 300 m
LED 850 nm 50 nm 約 14.5 µm
スーパールミネセントダイオード 1300 nm 60 nm 約 28 µm
白色光(可視全域) 550 nm 300 nm 約 1.0 µm

白色光のコヒーレンス長は波長の2倍程度しかありません。縞が2本ほどしか見えない計算です。逆に安定化レーザーなら300mの光路差でも干渉します。重力波検出器が数kmの腕を持てるのは、レーザーがこれだけコヒーレントだからです。

なお実務上の注意として、$l_c$ は光路差に対する尺度である点を忘れないでください。マイケルソン干渉計では $\Delta L = 2\Delta d$ なので、可動鏡が動ける範囲は $l_c/2$ です。白色光なら鏡の可動範囲は0.5マイクロメートル程度、ということになります。

コヒーレンス長が短いことは、測長にとっては欠点です。しかし見方を変えると、「縞が特定の位置にしか出ない」という強力な性質でもあります。次はその利点を活かす白色光干渉を見ていきましょう。

白色光干渉 — ゼロ光路差を「見つける」

レーザーで干渉計を組むと、どこに鏡を置いても縞が見えます。便利なようですが、困ることもあります。「いま自分が何本目の縞にいるか」がわからないのです。縞を数え損ねると、その分だけ丸ごと誤差になります($\lambda/2$ の整数倍の不定性、いわゆる次数の不確定性)。

可視全域の白色光によるインターフェログラムと、レーザーとの可視度の比較

上の図は、波長400〜700 nmの可視全域を含む光源で干渉させたときの波形です。はっきりした縞が見えるのは光路差 $\pm$1 µm ほどの範囲だけで、実質2本程度しか数えられません。右のパネルで安定化レーザー(この表示範囲では可視度が平坦)と並べると差は歴然で、レーザーが「どこでも縞が見える代わりに何本目かわからない」のに対し、白色光は「ここしか縞が出ない=ここがゼロ光路差」という絶対的な目印を与えてくれることがわかります。

白色光を使うと、この問題が一気に解決します。コヒーレンス長が1マイクロメートル程度しかないので、縞は $\Delta L = 0$ のごく近傍にしか現れません。逆に言えば、「縞が見えた場所こそがゼロ光路差」という絶対的な基準点が得られます。これは干渉計に「原点」を与えるのと同じです。

この性質を使う代表的な技術が2つあります。

白色光走査干渉計(表面形状測定):試料面を参照鏡と比べる干渉計で、対物レンズを上下に走査しながら各画素の縞コントラストを記録します。ある画素で干渉バーストが最大になった走査位置が、その画素の高さです。段差が波長を超えていても次数の不確定性がないので、深い溝や急な段差のある表面もそのまま測れます。レーザー干渉計だと $\lambda/2$ を超える段差で位相がラップして測れません。

光コヒーレンストモグラフィ(OCT):眼球のような半透明な試料に低コヒーレンス光を入れ、深さ方向の各層からの反射光と参照光の干渉を見ます。ある参照鏡位置で干渉が起きたら、その深さに反射面がある、ということ。深さ分解能はコヒーレンス長で決まり、$\Delta z \approx l_c/2$ です。$\lambda = 1300$ nm、$\Delta\lambda = 60$ nm のスーパールミネセントダイオードなら $l_c = 28$ µm、分解能は約14µm。より広帯域な光源($\Delta\lambda = 150$ nm)を使えば5µmを切ります。「分解能を上げるには帯域を広げる」という、レーザーの常識とは逆の設計指針になるのが面白いところです。

白色光干渉には注意点もあります。分散です。両腕の光学素子が非対称だと(たとえば片方だけガラスを通る、片方だけ長い光ファイバを通る)、波長ごとに位相の進み方が変わり、干渉バーストが引き伸ばされて(チャープして)ピークが鈍ります。さらに、包絡線のピーク(群遅延がゼロの点)と搬送波の位相ゼロの点がずれるという厄介な現象も起きます。前者は群速度、後者は位相速度で決まるからです。補償板を入れる理由も、ここにあります。

さて、白色光干渉では「縞のバースト波形」そのものが得られます。この波形はいま見てきたとおり、光源スペクトルのフーリエ変換に他なりません。ということは — 波形を逆フーリエ変換すればスペクトルが復元できるはずです。それがFTIRです。

フーリエ変換分光(FTIR)の原理

分光器といえばプリズムか回折格子、というイメージがあるかもしれません。波長ごとに違う方向へ曲げて、スリットで切り出して測る方式です。ところが赤外領域の分析装置はほぼすべて、回折格子ではなくマイケルソン干渉計を使っています。なぜでしょうか。答えは「速くて、明るくて、波数が正確だから」です。まず原理から見ましょう。

インターフェログラムとスペクトルはフーリエ変換対

分光では周波数より波数 $\sigma = 1/\lambda$(単位 cm$^{-1}$)を使うのが慣例です。光路差 $\delta$(cm)に対する強度は、前節の式で $\nu\tau \to \sigma\delta$ と読み替えて

$$ \begin{equation} I(\delta) = \int_0^\infty S(\sigma)\left[ 1 + \cos(2\pi\sigma\delta) \right] d\sigma \end{equation} $$

です。この $I(\delta)$ をインターフェログラムと呼びます。直流成分 $\int S\,d\sigma$ を引いた交流成分を

$$ F(\delta) = I(\delta) – \int_0^\infty S(\sigma)\, d\sigma = \int_0^\infty S(\sigma)\cos(2\pi\sigma\delta)\, d\sigma $$

と書きましょう。$\cos$ は偶関数なので、$S$ を負の波数側へ偶関数として拡張して $B(\sigma) = S(|\sigma|)/2$ と定義すれば、

$$ F(\delta) = \int_{-\infty}^{\infty} B(\sigma)\, e^{i2\pi\sigma\delta}\, d\sigma $$

と、ふつうのフーリエ変換の形になります($B$ が偶かつ実なので虚部は打ち消えます)。したがって逆変換で

$$ \begin{equation} B(\sigma) = \int_{-\infty}^{\infty} F(\delta)\, e^{-i2\pi\sigma\delta}\, d\delta, \qquad S(\sigma) = 2\int_{-\infty}^{\infty} F(\delta)\cos(2\pi\sigma\delta)\, d\delta \quad (\sigma > 0) \end{equation} $$

インターフェログラムを測ってフーリエ変換すればスペクトルが出る。これがFTIRのすべてです。装置としては、可動鏡を等速で走らせながらフォトダイオードの出力を記録し、FFTをかけるだけ。回折格子もスリットも要りません。

有限走査長と分解能

理想的には $\delta$ を $-\infty$ から $\infty$ まで測りたいのですが、鏡の移動範囲には限りがあります。最大光路差を $L$ とすると、実際に測るのは

$$ F_{\text{meas}}(\delta) = F(\delta) \cdot \Pi\!\left( \frac{\delta}{2L} \right) $$

です($\Pi$ は $|\delta|畳み込み定理より、時間領域(ここでは光路差領域)での積は、周波数領域(波数領域)での畳み込みになります。矩形関数のフーリエ変換は

$$ \mathcal{F}\left[ \Pi\!\left(\frac{\delta}{2L}\right) \right] = 2L\,\mathrm{sinc}(2\sigma L) = \frac{\sin(2\pi\sigma L)}{\pi\sigma} $$

($\mathrm{sinc}(x) = \sin(\pi x)/(\pi x)$)なので、復元されるスペクトルは真のスペクトルにこのsinc関数を畳み込んだものになります。この畳み込み核を装置関数(instrument line shape, ILS)と呼びます。

sinc関数の最初のゼロ点は $\sigma = 1/(2L)$、半値全幅は $0.6035/L$ です。したがって

$$ \begin{equation} \Delta\sigma_{\text{res}} \approx \frac{1}{2L} \end{equation} $$

が分解能の目安になります。$L = 0.5$ cm なら $1$ cm$^{-1}$、$L = 5$ cm なら $0.1$ cm$^{-1}$。分解能を上げたければ、鏡をもっと長く走らせればよいという、実に単純な設計則です。回折格子分光器で分解能を上げようとすると格子を大きくしたり焦点距離を伸ばしたりで装置が巨大化しますが、FTIRは走査距離だけの問題です。

サンプリングとナイキスト周波数

インターフェログラムは離散的にサンプリングされます。サンプリング間隔を $\Delta\delta$ とすると、サンプリング定理から測れる最大波数は

$$ \sigma_{\text{Nyq}} = \frac{1}{2\Delta\delta} $$

です。これを超える成分は折り返し(エイリアシング)を起こします。

ここでFTIRの巧妙な工夫が出てきます。可動鏡の位置を測るために、同じ干渉計にHe-Neレーザーを一緒に通すのです。He-Neの干渉信号はゼロクロスを $\lambda_{\text{He-Ne}}/2 = 316.4$ nm ごとに作るので、そのゼロクロスをトリガにして赤外信号をサンプリングします。すると $\Delta\delta = 3.164\times10^{-5}$ cm となり、

$$ \sigma_{\text{Nyq}} = \frac{1}{2 \times 3.164\times10^{-5}} = 15803\ \text{cm}^{-1} $$

これは可視域(約15800 cm$^{-1}$ = 632.8 nm)まで測れることを意味し、中赤外(400〜4000 cm$^{-1}$)には十分すぎます。しかも鏡の速度がふらついても、サンプリング点は常に正確な光路差に対応します。鏡の駆動機構の精度をレーザーの波長精度に置き換えてしまう、という発想です。

FTIRが速くて明るくて正確な理由

FTIRが回折格子を駆逐した理由は、伝統的に3つの「利得」で説明されます。

  1. フェルゲット利得(多重化利得):回折格子分光器は一度に1つの波数しか測りませんが、FTIRは全波数を同時に測ります。$M$ 個の分解点を測るのに、格子なら各点に $T/M$ の時間しか割けませんが、FTIRは全点に $T$ をかけられます。検出器雑音が支配的な場合、SN比は $\sqrt{M}$ 倍良くなります。$M = 3000$ なら約55倍。中赤外では検出器雑音が支配的なので、この利得がフルに効きます。
  2. ジャキノー利得(スループット利得):格子分光器は細いスリットで光を絞る必要がありますが、干渉計は円形の広い開口を使えます。同じ分解能で比べて100倍以上明るくなります。
  3. コンヌ利得(波数精度):波数軸がHe-Neレーザーの波長で決まるので、内部に「標準器」を持っているのと同じです。校正なしで $10^{-6}$ 台の波数確度が出ます。

一方、可視・紫外域では検出器雑音よりショットノイズが支配的なので、フェルゲット利得は消えます(むしろ多重化することで強い成分のショットノイズが弱い成分に乗ってしまう「多重化不利益」が生じます)。だからFTIRが赤外の道具として発展した、というのは技術史として納得のいく話です。

アポダイゼーション — サイドローブを抑える

矩形窓のsinc型ILSには問題があります。サイドローブが大きいのです。最初のサイドローブは主ピークの約21.7%($-13.3$ dB)もあり、しかも負の値を取ります。強い吸収帯の隣に、実在しない偽のピークやディップが並んでしまいます。

そこで、インターフェログラムに矩形窓ではなく端で滑らかにゼロへ落ちる窓関数 $A(\delta)$ をかけます。これをアポダイゼーション(apodization, ギリシャ語で「足を取り除く」の意)と呼びます。よく使われるのは次のような窓です。$x = \delta/L$ として、

  • 三角窓(Bartlett):$A = 1 – |x|$
  • Happ-Genzel:$A = 0.54 + 0.46\cos(\pi x)$
  • Blackman-Harris 3項:$A = 0.42323 + 0.49755\cos(\pi x) + 0.07922\cos(2\pi x)$

三角窓のフーリエ変換は $\mathrm{sinc}^2$ で、サイドローブは4.7%まで下がります。代わりに主ピークの半値全幅は $0.6035/L$ から $0.8859/L$ へ、約1.47倍に広がります。サイドローブ抑制と分解能はトレードオフであり、これはフィルタ設計や短時間フーリエ変換における窓関数の話とまったく同じ構造です。FTIR装置の分解能仕様が $1/(2L)$ ではなく $1/L$ で表示されることが多いのは、アポダイゼーション後の実効的な幅を反映しているからです。

実際の装置では、インターフェログラムの中心バーストの位置ずれや光学系の分散による位相誤差の補正(Mertz法など)も必要になりますが、原理としては上で述べたことがすべてです。

ここまで理論を積み上げてきました。次は実際にPythonでインターフェログラムを作り、可視度を測り、FFTでスペクトルを復元して、いま導いた式が本当に成り立つかを確かめましょう。

具体例 — 数値で押さえる

コードに入る前に、代表的な数値を手計算で押さえておきます。

例1:レーザー測長の分解能 He-Neレーザー($\lambda = 632.8$ nm)で干渉計を組み、可動鏡を1本の縞ぶん動かしたときの変位は $\lambda/2 = 316.4$ nm です。電子回路で位相を1/1024まで補間すると、分解能は $316.4/1024 = 0.31$ nm。原子の大きさ(約0.3nm)と同じオーダーです。

例2:マイケルソン・モーリーの実験 腕の長さ $L = 11$ m、$\lambda = 590$ nm(ナトリウムD線)、地球の公転速度 $v = 3.0\times10^4$ m/s とすると、エーテル仮説が予言する装置90度回転時の縞のずれは

$$ \Delta N = \frac{2Lv^2}{\lambda c^2} = \frac{2 \times 11 \times (3.0\times10^4)^2}{590\times10^{-9} \times (3.0\times10^8)^2} \approx 0.37\ \text{本} $$

0.37本というのは、当時の装置で十分に検出できる量でした。それが観測されなかったことが、特殊相対性理論への道を開いたわけです。マイケルソン干渉計の感度がいかに高いか、そしてその高感度が物理の歴史を変えたかを示す例です。

例3:白色光干渉で見える縞の本数 可視全域(400〜700 nm、中心550 nm、幅300 nm)なら $l_c = 550^2/300 = 1008$ nm ≈ 1.0 µm。縞の周期は $\lambda = 0.55$ µm なので、見えるのは実質2本程度。実際、白色光干渉計の写真では中央の白い縞の両側に数本の色付き縞があるだけです。

例4:FTIRの分解能 最大光路差 $L = 0.25$ cm(可動鏡の移動距離は $L/2 = 1.25$ mm)の装置なら、未アポダイズ時の分解能は $1/(2L) = 2$ cm$^{-1}$、三角窓をかけると半値全幅は $0.886/0.25 = 3.5$ cm$^{-1}$ となります。だからカタログには「4 cm$^{-1}$」と書かれる、というわけです。

これらの数値をコードで再現しながら、理論式の妥当性を確認していきましょう。

Pythonでの実装

準備と単色光のインターフェログラム

まずは単色光の場合。式 $I = 2I_0(1+\cos(2\pi\Delta L/\lambda))$ を素直にプロットし、相補ポートとの和が一定になること(エネルギー保存)を確認します。

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

# 日本語フォント設定
for cand in ["Hiragino Sans", "Yu Gothic", "Noto Sans CJK JP", "IPAexGothic", "Meiryo"]:
    if any(cand == f.name for f in matplotlib.font_manager.fontManager.ttflist):
        plt.rcParams["font.family"] = cand
        break
plt.rcParams["axes.unicode_minus"] = False

lam = 0.6328          # He-Ne波長 [um]
I0 = 1.0              # 片腕あたりの強度
dL = np.linspace(-2*lam, 2*lam, 2001)   # 光路差 [um]

delta = 2*np.pi*dL/lam                  # 位相差 [rad]
I_det = 2*I0*(1 + np.cos(delta))        # 検出器ポート
I_src = 2*I0*(1 - np.cos(delta))        # 光源へ戻るポート(相補)

fig, ax = plt.subplots(figsize=(9, 4.5))
ax.plot(dL, I_det, lw=2, label="検出器ポート $2I_0(1+\\cos\\delta)$")
ax.plot(dL, I_src, lw=2, ls="--", label="光源側ポート $2I_0(1-\\cos\\delta)$")
ax.plot(dL, I_det + I_src, lw=1.5, ls=":", color="k", label="2ポートの和(一定)")
ax.set_xlabel("光路差 $\\Delta L$ [$\\mu$m]")
ax.set_ylabel("強度(片腕強度 $I_0$ 単位)")
ax.set_title("単色光のマイケルソン干渉:光路差1波長ごとに1周期")
ax.legend(loc="center right", fontsize=9)
ax.grid(alpha=0.3)
plt.tight_layout()
plt.show()

print("最大/最小:", I_det.max(), I_det.min())
print("2ポート和の変動幅:", np.ptp(I_det + I_src))

出力は最大4.0、最小0.0、2ポートの和の変動幅は0.0(機械精度で厳密に一定)となります。ここから2つのことが読み取れます。第一に、干渉縞は光路差が波長 $\lambda = 0.6328$ µm 変わるごとに1周期し、光路差ゼロでは必ず明線になります。第二に、検出器が真っ暗なとき光は消滅したのではなく、すべて光源側ポートへ返っています。この相補性がパワーリサイクリングの物理的な根拠です。

光源のスペクトル幅とインターフェログラムの減衰

次に、光源に有限のスペクトル幅を持たせます。ガウス型スペクトルを波数空間で定義し、$\gamma(\tau)$ を数値積分で求めてインターフェログラムを構成します。

import matplotlib.pyplot as plt
import numpy as np

lam0 = 0.6328   # 中心波長 [um]

def interferogram(dlam, d_max=60.0, n_delta=60001, n_sigma=2001):
    """ガウス型スペクトル(中心lam0, 半値全幅dlam [um])のインターフェログラムを返す"""
    sig0 = 1.0/lam0                       # 中心波数 [1/um]
    dsig = dlam/lam0**2                   # 波数での半値全幅(dsigma = dlam/lam^2)
    s = np.linspace(sig0 - 4*dsig, sig0 + 4*dsig, n_sigma)
    S = np.exp(-4*np.log(2)*((s - sig0)/dsig)**2)
    S = S/S.sum()                         # 規格化(総和1)
    d = np.linspace(-d_max, d_max, n_delta)          # 光路差 [um]
    # gamma(tau) = sum_sigma S(sigma) exp(i 2 pi sigma d)
    gamma = (np.exp(2j*np.pi*np.outer(d, s))*S).sum(axis=1)
    I = 2*(1 + np.real(gamma))            # 2I0[1 + Re gamma],  I0=1
    return d, I, np.abs(gamma)

fig, axes = plt.subplots(3, 1, figsize=(9, 8), sharex=True)
for ax, dlam in zip(axes, [0.005, 0.02, 0.05]):
    d, I, env = interferogram(dlam)
    ax.plot(d, I, lw=0.4, color="C0")
    ax.plot(d, 2*(1 + env), lw=2, color="C3", label="包絡線 $2I_0(1+|\\gamma|)$")
    ax.plot(d, 2*(1 - env), lw=2, color="C3")
    lc = lam0**2/dlam
    ax.axvline(lc, ls="--", color="k", lw=1)
    ax.axvline(-lc, ls="--", color="k", lw=1)
    ax.set_ylabel("強度")
    ax.set_title(f"スペクトル幅 $\\Delta\\lambda$={dlam*1000:.0f} nm  →  "
                 f"$\\lambda^2/\\Delta\\lambda$={lc:.1f} $\\mu$m(破線)", fontsize=10)
    ax.legend(fontsize=8, loc="upper right")
axes[-1].set_xlabel("光路差 $\\Delta L$ [$\\mu$m]")
plt.tight_layout()
plt.show()

スペクトル幅5nm・20nm・50nmのインターフェログラムと包絡線を3段で比較した図

3つのパネルを比べると、スペクトル幅を5nm→20nm→50nmと広げるにつれ、干渉が起きる範囲が80µm→20µm→8µmと反比例して縮んでいくのがはっきり見えます。破線で示した $\lambda^2/\Delta\lambda$ の位置は、いずれの場合も包絡線がかなり小さくなったあたりに来ています。「スペクトルが広い=波連が短い=すぐ縞が消える」という直感が、そのまま数値で確認できました。

可視度曲線からコヒーレンス長を測る

理論では $V(\tau) = |\gamma(\tau)|$ でした。これを「実験的に」確かめてみましょう。インターフェログラムから直接、1周期分の窓で局所的な最大・最小を取って可視度を計算し、$|\gamma|$ と比べます。

import matplotlib.pyplot as plt
import numpy as np
from numpy.lib.stride_tricks import sliding_window_view

def measure_visibility(d, I, lam0):
    """1縞周期の移動窓で局所的な (Imax-Imin)/(Imax+Imin) を計算する"""
    step = d[1] - d[0]
    w = int(round(lam0/step))
    w += (w + 1) % 2                       # 奇数長にそろえる
    sw = sliding_window_view(I, w)
    mx, mn = sw.max(axis=1), sw.min(axis=1)
    V = (mx - mn)/(mx + mn)
    d_c = d[w//2: w//2 + len(V)]
    return d_c, V

fig, ax = plt.subplots(figsize=(9, 5))
print(f"{'Δλ[nm]':>8} {'λ²/Δλ[um]':>11} {'1/e半幅[um]':>12} {'比':>7}")
for dlam, c in zip([0.005, 0.02, 0.05], ["C0", "C1", "C2"]):
    d, I, env = interferogram(dlam)
    d_c, V = measure_visibility(d, I, lam0)
    lc = lam0**2/dlam
    right = d_c >= 0
    k = np.argmin(np.abs(V[right] - 1/np.e))
    d_e = d_c[right][k]
    print(f"{dlam*1000:8.0f} {lc:11.2f} {d_e:12.2f} {d_e/lc:7.3f}")
    ax.plot(d_c, V, color=c, lw=1.6, label=f"実測 $V$  ($\\Delta\\lambda$={dlam*1000:.0f} nm)")
    ax.plot(d, env, color=c, lw=1, ls="--", label=f"理論 $|\\gamma|$")
ax.axhline(1/np.e, color="k", ls=":", lw=1)
ax.text(48, 1/np.e + 0.02, "$1/e$", fontsize=10)
ax.set_xlim(0, 60)
ax.set_xlabel("光路差 $\\Delta L$ [$\\mu$m]")
ax.set_ylabel("可視度 $V$")
ax.set_title("可視度曲線:実測(縞のコントラスト)と理論 $|\\gamma(\\tau)|$ の一致")
ax.legend(fontsize=8, ncol=2)
ax.grid(alpha=0.3)
plt.tight_layout()
plt.show()

出力は次のようになります。

  Δλ[nm]   λ²/Δλ[um]   1/e半幅[um]      比
       5       80.09        42.42   0.530
      20       20.02        10.78   0.538
      50        8.01         4.45   0.555

実測の縞コントラストと理論の複素コヒーレンス度の絶対値が一致することを示す可視度曲線

実測した可視度曲線は理論の $|\gamma(\tau)|$ とぴたりと重なり、最大誤差は$\Delta\lambda=5$ nm のとき0.005程度でした($\Delta\lambda$ が大きいと窓幅1周期の中でも包絡線が変化するため、誤差は0.05程度まで増えます)。そして$1/e$半幅を $\lambda^2/\Delta\lambda$ で割った比は0.53前後で、ガウス型スペクトルに対する理論値 $2\sqrt{\ln 2}/\pi = 0.5300$ と一致しています。目安式 $l_c = \lambda^2/\Delta\lambda$ は係数0.53の精度で正しい、というのが正確な言い方です。

インターフェログラムのFFTでスペクトルを復元する

いよいよFTIRの核心です。中赤外の吸収スペクトルを模した光源スペクトルを用意し、インターフェログラムを合成してから、FFTでスペクトルを取り戻します。サンプリングはHe-Neのゼロクロス($\lambda/2 = 316.4$ nm ごと)を模しました。

import numpy as np

dd = 0.6328e-4/2          # サンプリング間隔 = He-Ne半波長 [cm]
L = 0.5                   # 最大光路差 [cm]
n_half = int(L/dd)
delta = np.arange(-n_half, n_half + 1)*dd     # 両側インターフェログラムの光路差 [cm]

# 真のスペクトル:広い放射の包絡 - 3本の吸収帯
sigma = np.linspace(800., 4000., 3201)        # 波数 [1/cm]
S_true = (np.exp(-0.5*((sigma - 2400)/700)**2)
          - 0.85*np.exp(-0.5*((sigma - 1600)/8)**2)
          - 0.70*np.exp(-0.5*((sigma - 2350)/12)**2)
          - 0.60*np.exp(-0.5*((sigma - 3000)/25)**2))
S_true = np.clip(S_true, 0, None)

# インターフェログラム(交流成分)を数値積分で合成
F = (S_true[None, :]*np.cos(2*np.pi*np.outer(delta, sigma))).sum(axis=1)*(sigma[1] - sigma[0])
print("サンプル点数:", len(delta), " センターバースト位置 [cm]:", delta[np.argmax(F)])
print("ナイキスト波数 [1/cm]:", 1.0/(2*dd))

FTIRのインターフェログラム全体とセンターバースト付近の拡大、He-Neゼロクロスによるサンプル点

左が走査全域のインターフェログラム、右がセンターバースト付近を拡大して各サンプル点を重ねたものです。全域で見ると信号のほとんどはゼロ付近に集中していて、中心から離れるほど振幅が小さくなります。これは離れた光路差ほど「細かいスペクトル構造の情報」しか残らないためで、走査を長くすると分解能だけが上がる理由でもあります。右のパネルでは、He-Neの半波長316.4 nmごとの点が波形を十分に細かく拾っていることが確認できます。

サンプル点数は31605点、センターバーストは光路差0の位置にきっちり立ち、ナイキスト波数は15803 cm$^{-1}$ と計算されます。これは可視域まで測れる余裕があることを意味し、中赤外域(〜4000 cm$^{-1}$)の測定には十分です。インターフェログラムが光路差ゼロで鋭いピークを持つのは、そこで全波数成分の位相がそろって同時に強め合うためです。

続いてFFTで戻します。

import matplotlib.pyplot as plt
import numpy as np


def recover(F, dd, win=None, zerofill=16):
    """インターフェログラムをFFTしてスペクトルを復元する"""
    y = F*win if win is not None else F
    n = len(y)*zerofill                        # ゼロフィリング(表示の滑らかさ用)
    y_pad = np.concatenate([y, np.zeros(n - len(y))])
    Y = np.fft.rfft(np.fft.ifftshift(y_pad))   # 中心を先頭に回してからFFT
    nu = np.fft.rfftfreq(n, dd)                # 波数軸 [1/cm]
    return nu, np.abs(Y)

nu, A = recover(F, dd, zerofill=1)
band = (nu > 800) & (nu < 4000)
A_n = A/A[band].max()
S_n = S_true/S_true.max()

fig, ax = plt.subplots(figsize=(9, 5))
ax.plot(sigma, S_n, lw=3, color="0.75", label="真のスペクトル")
ax.plot(nu[band], A_n[band], lw=1.2, color="C3", label="インターフェログラムのFFTで復元")
ax.set_xlabel("波数 $\\sigma$ [cm$^{-1}$]")
ax.set_ylabel("規格化スペクトル")
ax.set_title(f"FTIR:光路差走査 $\\pm${L} cm のインターフェログラムからスペクトルを復元")
ax.legend()
ax.grid(alpha=0.3)
plt.tight_layout()
plt.show()

print("最大絶対誤差:", np.abs(A_n[band] - np.interp(nu[band], sigma, S_n)).max())

インターフェログラムのFFTで復元したスペクトルが真のスペクトルとほぼ完全に一致することを示す図

灰色の太線が真のスペクトル、赤い細線がインターフェログラムをFFTして得たスペクトルで、目で見分けられないほど重なっています。3本の吸収帯の深さ・幅もそのまま再現されており、干渉縞の波形1本から分光情報がまるごと取り出せることが確認できます。回折格子もスリットも使っていない点に注目してください。

復元スペクトルは真のスペクトルとほぼ完全に重なり、最大絶対誤差は0.0017(規格化強度に対して0.17%)でした。1600、2350、3000 cm$^{-1}$ の3本の吸収帯も、それぞれ1602、2350、3001 cm$^{-1}$ の位置に正しく再現されます。位置のずれが1〜2 cm$^{-1}$ に収まっているのは、波数軸の刻みが $1/(2L) = 1$ cm$^{-1}$ だからです。干渉縞の波形をFFTするだけで分光計になることが、実際に確認できました。

アポダイゼーション窓の効果

最後に、窓関数を変えたときに装置関数(ILS)がどう変わるかを調べます。単色光(2000 cm$^{-1}$)のインターフェログラムに各窓をかけ、復元されたピーク形状を比べます。

import matplotlib.pyplot as plt
import numpy as np

x = delta/L
windows = {
    "矩形(アポダイズなし)": np.ones_like(x),
    "三角(Bartlett)":       1 - np.abs(x),
    "Happ-Genzel":            0.54 + 0.46*np.cos(np.pi*x),
    "Blackman-Harris 3項":    0.42323 + 0.49755*np.cos(np.pi*x) + 0.07922*np.cos(2*np.pi*x),
}
F_mono = np.cos(2*np.pi*2000*delta)     # 2000 cm^-1 の単色光

fig, axes = plt.subplots(1, 2, figsize=(11, 4.5))
for name, w in windows.items():
    n2, A2 = recover(F_mono, dd, w, zerofill=16)
    sel = (n2 > 1985) & (n2 < 2015)
    nn, AA = n2[sel], A2[sel]/A2[sel].max()
    idx = np.where(AA >= 0.5)[0]
    fwhm = nn[idx[-1]] - nn[idx[0]]
    d1 = np.diff(AA)
    j = np.where((d1[:-1] < 0) & (d1[1:] > 0))[0]
    j = j[j > np.argmax(AA)][0] + 1                    # ピーク右側の最初の谷
    side = AA[j:].max()
    print(f"{name:22s} FWHM = {fwhm:5.2f} cm^-1,  最大サイドローブ = {100*side:6.2f} %")
    axes[0].plot(nn - 2000, AA, lw=1.6, label=name)
    axes[1].semilogy(nn - 2000, np.maximum(AA, 1e-5), lw=1.6, label=name)
for a, t in zip(axes, ["装置関数(線形表示)", "同(対数表示:サイドローブ)"]):
    a.set_xlabel("波数のずれ [cm$^{-1}$]"); a.set_title(t); a.grid(alpha=0.3)
axes[0].set_ylabel("規格化応答"); axes[0].legend(fontsize=8)
plt.tight_layout()
plt.show()

出力は次のとおりです。

矩形(アポダイズなし)     FWHM =  1.19 cm^-1,  最大サイドローブ =  21.71 %
三角(Bartlett)           FWHM =  1.69 cm^-1,  最大サイドローブ =   4.72 %
Happ-Genzel                FWHM =  1.75 cm^-1,  最大サイドローブ =   0.73 %
Blackman-Harris 3項        FWHM =  2.19 cm^-1,  最大サイドローブ =   0.03 %

4種類のアポダイゼーション窓と、それぞれの装置関数を線形・対数で比較した図

左が窓の形、中央がそれによる装置関数(線形表示)、右が同じものの対数表示です。中央を見ると矩形窓(青)の主ピークがいちばん細く、右の対数表示では同じ青がいちばん高いサイドローブの列を持つことがわかります。Blackman-Harris(赤)はその逆で、サイドローブが対数軸で2桁以上低い代わりに主ピークが太っています。細さと静けさは同時に手に入らないという窓関数の宿命が、そのまま2枚のパネルの対比になっています。

トレードオフが数値としてはっきり現れました。矩形窓は半値全幅1.19 cm$^{-1}$ と最も鋭い(理論値 $0.6035/L = 1.207$ とよく合っています)一方で、サイドローブが21.7%もあります。これは強い吸収帯の隣に「幽霊ピーク」を作る大きさです。Blackman-Harrisはサイドローブを0.03%($-70$ dB)まで叩き潰しますが、幅は1.8倍に広がって隣り合う細い線が分離できなくなります。Happ-Genzelはその中間で、FTIR装置のデフォルト設定によく採用されるのも納得できます。どの窓を選ぶかは「細い線を分離したいか」「微弱な線を偽ピークから守りたいか」という測定目的で決まるわけです。

干渉縞のリングパターン

おまけとして、拡がった光源を使ったときに現れる「等傾角縞」を描いてみます。光軸から角度 $\theta$ で入った光線の光路差は $2d\cos\theta$ になるので、同じ傾きの光線が同じ縞を作り、同心円状のリングが見えます。

import matplotlib.pyplot as plt
import numpy as np

lam_r = 0.6328e-6      # [m]
d_gap = 300e-6         # 2枚の鏡(虚像)の間隔 [m]
f_lens = 0.20          # 結像レンズの焦点距離 [m]
xs = np.linspace(-0.02, 0.02, 601)
X, Y = np.meshgrid(xs, xs)
theta = np.arctan(np.hypot(X, Y)/f_lens)          # 光軸からの角度
I_ring = 2*(1 + np.cos(4*np.pi*d_gap*np.cos(theta)/lam_r))   # 光路差 2 d cos(theta)

fig, ax = plt.subplots(figsize=(5.6, 5.2))
im = ax.imshow(I_ring, extent=[xs[0]*1e3, xs[-1]*1e3, xs[0]*1e3, xs[-1]*1e3],
               cmap="inferno", origin="lower")
ax.set_xlabel("スクリーン上の位置 [mm]"); ax.set_ylabel("スクリーン上の位置 [mm]")
ax.set_title("等傾角縞(ハイディンガーリング)\n光路差 $2d\\cos\\theta$ が同じ角度で同じ縞")
fig.colorbar(im, ax=ax, label="強度")
plt.tight_layout()
plt.show()

print("中心の干渉次数 m0 = 2d/λ =", 2*d_gap/lam_r)

等傾角縞(ハイディンガーリング)の同心円パターンと、中心からの距離に対する強度プロファイル

中心の干渉次数は948.2と計算されます。図には同心円状のリングが現れ、中心付近では間隔が広く、外側へ行くほど密になるのが見て取れます。右のプロファイルで山の位置を読むと、中心から3.75、9.93、13.54、16.39、18.81 mm となっており、隣り合う山の間隔は6.18 → 3.61 → 2.84 → 2.43 mm と外側へ行くほど狭まっています。$\cos\theta \approx 1-\theta^2/2$ より次数の減り方が $\theta^2$ に比例する、つまりリング半径が次数差の平方根に比例するためです。これは $\cos\theta \approx 1 – \theta^2/2$ なので、光路差が $\theta$ の2乗で減っていくためです。鏡の間隔 $d$ をゼロに近づけるとリングは膨らんで中心から吐き出されるように動き、$d=0$ で視野全体が一様になります。実験室でゼロ光路差を探すときの目印がこれです。

重力波検出器への発展

ここまでの道具立てで、冒頭に挙げた重力波検出器の話に戻れます。LIGOやKAGRAは、腕の長さが数kmの巨大なマイケルソン干渉計です。重力波が通過すると、時空そのものが片方の腕を伸ばし、もう片方を縮めます。この効果の大きさがひずみ $h$ で、腕の長さ $L$ に対して

$$ \Delta L = h L $$

の差動変位を生みます。連星ブラックホール合体からの典型的な信号は $h \sim 10^{-21}$。$L = 4$ km のLIGOでは

$$ \Delta L = 10^{-21} \times 4000 = 4\times10^{-18}\ \text{m} $$

です。陽子の半径が約 $8.4\times10^{-16}$ m ですから、その約1/200。この距離を測るために、干渉計はどこまで工夫されているのでしょうか。

どの動作点で測るべきか

強度式 $I(\phi) = 2I_0(1+\cos\phi)$ の $\phi$ を微小変化させたときの信号は

$$ \frac{dI}{d\phi} = -2I_0 \sin\phi $$

です。素朴に考えると、傾きが最大になる $\phi = \pi/2$(半明半暗、クアドラチャ点)が最良に思えます。しかし、光を光子として扱うとショットノイズが効きます。検出した光子数を $n$ とすると、そのゆらぎは $\sqrt{n}$、つまり強度ノイズは $\sqrt{I}$ に比例します。したがって信号対雑音比は

$$ \text{SNR}(\phi) \propto \frac{|dI/d\phi|}{\sqrt{I}} = \frac{2I_0|\sin\phi|}{\sqrt{2I_0(1+\cos\phi)}} $$

です。ここで $\sin^2\phi = (1-\cos\phi)(1+\cos\phi)$ という因数分解を使うと、分子と分母の $(1+\cos\phi)$ が約分できます。

$$ \frac{2I_0|\sin\phi|}{\sqrt{2I_0(1+\cos\phi)}} = \frac{2I_0\sqrt{(1-\cos\phi)(1+\cos\phi)}}{\sqrt{2I_0}\sqrt{1+\cos\phi}} = \sqrt{2I_0}\,\sqrt{1-\cos\phi} $$

動作点の位相に対する検出強度・応答の傾き・信号対雑音比の比較と、光パワーに対するショットノイズ限界のグラフ

左のグラフを見ると、応答の傾き(青破線)が最大になるのはクアドラチャ点 $\phi = \pi/2$ ですが、ショットノイズで割った信号対雑音比(赤実線)は $\phi = \pi$ の暗線で最大になっています。「傾きが最大の点」と「SNRが最大の点」が一致しないのが干渉計の面白いところで、明るい場所は信号も大きいがノイズもそれ以上に大きい、ということです。右のグラフは必要な光パワーの見積もりで、目標の $4\times10^{-18}$ m(赤破線)に届くのは100 W級から、余裕を持つには100 kW級が要ることが読み取れます。

この式は $\phi = \pi$、つまり暗線で最大値 $2\sqrt{I_0}$ を取ります。クアドラチャ点の値 $\sqrt{2I_0}$ と比べて $\sqrt{2}$ 倍優れています。直感的には「暗い場所で測るとショットノイズが小さいので、小さな明るさの変化でも見える」ということです。重力波検出器が暗線(dark fringe)で動作するのはこのためです。ただし暗線ちょうどでは応答が2次($I \propto \phi^2$)になって符号が読めないので、実際にはRF位相変調のサイドバンドや、わずかな局部発振光を足すDCリードアウトで線形な応答を作ります。

ショットノイズ限界の変位感度

暗線近傍で $\phi = \pi + \epsilon$ と置きます。$\cos(\pi+\epsilon) = -\cos\epsilon \approx -1 + \epsilon^2/2$ なので、検出される光子数は入射光子数 $N$ に対して

$$ n = \frac{N}{2}\left( 1 + \cos\phi \right) \approx \frac{N\epsilon^2}{4} $$

です。位相が $\delta\epsilon$ だけ変化したときの光子数変化は $\Delta n = (dn/d\epsilon)\,\delta\epsilon = (N\epsilon/2)\,\delta\epsilon$、ノイズは $\sqrt{n} = \sqrt{N}\epsilon/2$。SNRが1になる条件は

$$ \frac{(N\epsilon/2)\,\delta\epsilon}{\sqrt{N}\epsilon/2} = \sqrt{N}\,\delta\epsilon = 1 \quad\Longrightarrow\quad \delta\phi_{\min} = \frac{1}{\sqrt{N}} $$

となります。$\epsilon$ が約分で消えたのがポイントで、動作点の細かい設定によらず、位相感度は光子数の平方根の逆数という美しい結果です。これが標準量子限界(ショットノイズ限界)です。

位相と光路差の関係 $\phi = 2\pi\Delta L/\lambda$ で、マイケルソン干渉計では鏡の差動変位 $\delta L$ が光路差 $2\delta L$ を生むので $\phi = 4\pi \delta L/\lambda$。したがって最小検出変位は

$$ \begin{equation} \delta L_{\min} = \frac{\lambda}{4\pi\sqrt{N}} \end{equation} $$

です。数値を入れてみましょう。$\lambda = 1064$ nm(Nd:YAGレーザー)の光子エネルギーは $h c/\lambda = 1.87\times10^{-19}$ J。パワー $P$ で1秒間積分すると $N = P/(hc/\lambda)$ 個の光子が使えます。

ビームスプリッタでのパワー 1秒あたりの光子数 $\delta L_{\min}$
1 W $5.4\times10^{18}$ $3.7\times10^{-17}$ m/$\sqrt{\text{Hz}}$
100 W $5.4\times10^{20}$ $3.7\times10^{-18}$ m/$\sqrt{\text{Hz}}$
100 kW $5.4\times10^{23}$ $1.2\times10^{-19}$ m/$\sqrt{\text{Hz}}$

1Wでは $3.7\times10^{-17}$ m にしか届かず、目標の $4\times10^{-18}$ m には10倍足りません。パワーを100 kWまで上げると $1.2\times10^{-19}$ m まで届きます。実際のLIGOは、レーザー出力数十Wをパワーリサイクリング(暗線で戻ってくる光を再利用)で数kWに、さらに腕に置いたファブリペロー共振器で100 kW以上に増強しています。しかもファブリペロー共振器は光を数百回往復させるので、位相応答自体も $2\mathcal{F}/\pi$(フィネス $\mathcal{F}$)倍に増幅されます。これらを掛け合わせて、ようやく $10^{-19}$〜$10^{-20}$ m/$\sqrt{\text{Hz}}$ の感度に到達するわけです。

近年はさらにスクイーズド光を注入して、ショットノイズを標準量子限界より下げる技術も実用化されています。$\delta\phi = 1/\sqrt{N}$ という「限界」は、位相と振幅の量子ゆらぎを対等に扱った場合の話であって、位相側のゆらぎだけを絞れば破れるのです。とはいえ出発点は本記事で導いた $I = 2I_0(1+\cos\delta)$ という一本の式でした。19世紀の装置がそのまま最先端の物理を支えている、というのは干渉計の懐の深さを物語っています。

まとめ

本記事では、マイケルソン干渉計を「2光束干渉の式」から出発して、測長・分光・重力波検出まで一気に見渡しました。要点を整理します。

  • 強度式:複素振幅の重ね合わせと時間平均から $I = I_1 + I_2 + 2\sqrt{I_1I_2}\cos\delta$ が出る。対称な干渉計では $I = 2I_0(1+\cos(2\pi\Delta L/\lambda)) = 4I_0\cos^2(\pi\Delta L/\lambda)$。2つの出力ポートの和は一定で、エネルギーは保存する。
  • 測長:鏡を $\Delta d$ 動かすと光路差は $2\Delta d$ 変わり、縞が $N = 2\Delta d/\lambda$ 本流れる。1本 = $\lambda/2$ = 316 nm(He-Ne)。位相補間で0.3 nm級の分解能に届く。方向判別にはクアドラチャ信号が要る。
  • コヒーレンス:有限スペクトル幅では $I = 2I_0(1+|\gamma(\tau)|\cos(\cdots))$ となり、可視度 $V = |\gamma(\tau)|$。$\gamma$ は光源スペクトルのフーリエ変換(ウィーナー・ヒンチンの定理)であり、干渉計は物理的に自己相関を計算する装置と言える。
  • コヒーレンス長:$l_c \approx c/\Delta\nu = \lambda^2/\Delta\lambda$。ガウス型スペクトルでは $1/e$ 半幅がこの0.53倍という数値も実測で確認した。白色光なら約1 µm、安定化レーザーなら数百 m。
  • 白色光干渉:縞が $\Delta L = 0$ にしか出ないので、次数の不確定性のない絶対基準が得られる。表面形状測定とOCTの基礎。
  • FTIR:インターフェログラムをFFTするだけでスペクトルが出る。分解能は $1/(2L)$、サンプリングはHe-Neゼロクロス、窓関数のトレードオフ(矩形はFWHM 1.19 cm$^{-1}$/サイドローブ21.7%、Blackman-Harrisは2.19 cm$^{-1}$/0.03%)まで数値で確認した。
  • 重力波検出:暗線動作が最良であることを $\text{SNR} \propto \sqrt{2I_0}\sqrt{1-\cos\phi}$ から導き、ショットノイズ限界 $\delta L_{\min} = \lambda/(4\pi\sqrt{N})$ を得た。100 kW級のパワーとファブリペロー共振器が必要になる理由も数値で示した。

干渉計の議論は、結局のところ「2つの複素振幅を足して2乗する」だけです。そこにスペクトルの重ね合わせを持ち込むとコヒーレンスとフーリエ分光が出てきて、光子の粒子性を持ち込むとショットノイズ限界が出てくる。同じ装置が波動光学・フーリエ解析・量子光学の交差点に立っているのが、マイケルソン干渉計の面白さです。

次のステップとして、以下の記事も参考にしてください。