光学合成ホログラムを使用して収差を補正する方法

この記事では、シングレット レンズの収差を光学合成ホログラム (OFH) によって低減する方法を紹介します。ホログラムの構成ビームを記述した 2 つの ZMX ファイルについて説明した後、再生ファイルに OFH を設定する方法を示します。つづいて、回折限界のシングレットを実現するために、再生ファイル内の任意の構成ビーム変数に簡単にアクセスする方法を説明します。

著者 Alessandra Croce, Michael Cheng, Erin Elliott

ダウンロード

記事の添付資料

はじめに

光学合成ホログラム (OFH) は、OpticStudio が提供する、すべてのホログラム モデルの中で最も高い汎用性を備えています。このモデルには、構成ビームを記述する 2 つの ZMX ファイルと、ホログラム再生ビームを記述する 1 つの ZMX ファイルが必要です。この例に必要な 3 つのファイルは記事に添付されています。

初期光学系

この記事で検討する光学系 (StartingLens.zmx) は、0.633 nm で動作する単純な両凸レンズと、近軸焦点に配置された像面から構成されます。

layout

OPD 収差図からわかるように、収差の中でも球面収差が支配的です。

opd

このシングレットの前面に光学合成ホログラム (OFH) を配置し、回折限界の性能を達成できるように最適化します。
ナレッジベース記事『OpticStudio でホログラムをモデル化する方法』で説明したとおり、OFH では次の 3 つの ZMX ファイルを使用する必要があります。

  1. 再生ファイル。OFH が配置されたファイルです。
  2. ビーム 1 の構成ファイル
  3. ビーム 2 の構成ファイル

この例の再生ファイルは "StartingLens.zmx" です。OFH を配置するシングレットが含まれます。
ホログラム構成ファイルの名前は、"OFHSphericalCorrector_1.zmx" と "OFHSphericalCorrector_2.zmx" です。これらの ZMX ファイルは、OFH の構成ファイルとして使用するための命名規則に従っています。つまり、ファイル名は同じですが末尾に "_1"、"_2" が付加されています。構成ファイルは、その他にも数々のルールに準拠する必要があります。
詳細は、ヘルプ ファイルの「[設定] (Setup) タブ → [エディタ] (Editor) グループ ([設定] (Setup) タブ) → [レンズ データ エディタ] (Lens Data Editor) → シーケンシャル面 (レンズ データ エディタ) → 光学合成ホログラム」を参照してください。

構成ファイル

"OFHSphericalCorrector_1.zmx" は構成ファイル 1 として、レンズ前面へのコリメートされたビームの入射だけが記述されています。"OFHSphericalCorrector_2.zmx" は構成ファイル 2 で、構成ファイル 1 に似ていますが、レンズ前面の前に配置される位相プレートが追加されています。この位相プレートは、ゼルニケ フリンジ位相面を使ってモデル化され、初期状態ではすべての項を 0 に設定しています。項 4 と 9 は、それぞれデフォーカスと 3 次球面収差を表し、この後、適当に最適化できるように変数に設定します。

constbeams

上図は、2 つの構成ファイルのレンズ前面までのレイアウトです。レンズ前面は各ファイルで光学系の絞り面としても設定されています。絞り面を、2 つの構成ビームが干渉する場所と仮定しています。ホログラムの特性は、構成ファイル内の絞り面位置における光線交差ベクトルのみで決まります。構成ファイル内の絞り面より後の面は、OFH という観点ではすべて無視されます。したがって、2 つのレイアウトでも、わかりやすくするためにこれらの面は表示していません。

再生光学系の設定

構成ファイルの定義が完了したら、初期光学系 ("StartingLens.zmx") を出発点として、再生光学系の設定に着手できます。はじめに、構成ファイルが両方とも、初期光学系と同じフォルダに保存されていることを確認します。次に、初期光学系のファイルを開き、OFH を設定します。

  1. 面 3 の [コメント] (Comment) セルで、構成ファイル名の共通部分、今回の例では "OFHSphericalCorrector" を指定します。
  2. レンズの前面 (面 3) を光学合成ホログラムに変更します。
  3. ホログラムの形状と動作が正確に考慮されるように、OFH のパラメータを適宜設定します。
    この場合は、次のような設定が必要です。
    1. [形状] (Shape) = 0 は、標準面と同様にコーニック非球面形状に対応します。
    2. [ホロ タイプ] (Holo Type) = 1 は、ホログラム 1 面と同じ構成配置を意味します。つまり、今回の例では無限遠の光源から両方の構成ビームが発散する配置です。
    3. [回折次数] (Diffraction Order) = 1
    4. [曲率] (Curvature) = 1/(レンズ前面の曲率半径) = 0.02 mm-1
    5. [コーニック] (Conic) = 0
    6. [OPD モード] (OPD Mode) = 0 は、ホログラムの光路差計算のデフォルトの方法に対応します。

ofhsetup

以上の設定でレンズの前面が、初期光学系のレンズ前面と同じ形状の OFH 面になりました。
OFH を含むこの光学系がホログラムの再生光学系を表します。この段階では、構成ファイル 2 の位相プレートには 0 以外の項が一つもありません。OFH は 2 つの同一のビームの干渉によって形成され、光学系に対する効果は一切加味されていません。したがって、再生光学系は元の "StartingLens.zmx" ファイルとまったく同じ形状、動作を示すはずです。

OFH の最適化

前述のとおり、構成ファイル 2 の位相プレートには、ゼルニケ項の 4 と 9 に 2 つの変数が設定されています。次の図のように、マルチコンフィグレーション エディタ ツールバーの [ホログラム変数の追加] (Add Hologram Variables) をクリックすれば、再生ファイルからこれらの変数に簡単にアクセスできます。

addhologramvar

[ホログラム変数の追加] (Add Hologram Variables) ツールでは、構成ファイルにある変数を検索し、見つかった変数をマルチコンフィグレーションの HLGV オペランドとして再生ファイルに追加します。
それらのオペランドは、再生ファイル内の他の任意の変数 (存在する場合) と併用できます。
今回の例では、構成ファイル 1 から 2 つ、構成ファイル 2 から 2 つの合計 4 つの HLGV オペランドが追加されます。

HLGVオペランドは3つの引数を持っています。

  • Surface : 光学合成ホログラム面番号を示します。
  • File #: 変数である構成ファイル1または2を指定します。
  • Variable #: 構成ファイル内でリンクされている変数番号を指定します。構成ファイルで確認することができます。[解析] (Analyze) → [レポート] (Report) → [データ一覧] (Prescription Data) をクリックし、設定からSolves/Variablesを選択します。

PrescriptionData

構成ファイル 2 のオペランド (既に変数の状態を示す "V" が適用されています) にしか興味はないため、構成ファイル 1 のオペランドは削除します。HLGV オペランドを使用すると、構成光学系と再生光学系を閉ループとして同時に最適化できます。HLGV で報告される変数は読み出し専用ではないことに注意してください。これらの値を変更すると、関連する構成ファイルの対応するパラメータも変化します。
最適性能を得られるように光学系を最適化するには、RMS スポットの最適化を目指す評価関数があれば十分です。それには、最適化ウィザードを次のように設定して、[OK] をクリックします。

optwiz

[解析] (Analyze) → [最適化] (Optimize!) をクリックして、光学系を最適化します。再生光学系で収差を補正し、RMS スポットを可能なかぎり最小化するように、構成ファイルの変数がどのように最適化されているかを確認してください。

postopt

ナレッジベース記事『ZOS-API ユーザー解析によるホログラム構成干渉縞の解析』で解説したユーザー解析 Hologram Construction Interference を使用すると、得られるホログラムを視覚化できます。

fringes

エアリー ディスクが表示される標準スポット ダイアグラムを見れば、光学系が回折限界に達していることを簡単に確認できます。このスポットは、より高次の収差が存在することから理想的な点ではありません。

spot

光学系が回折限界にあるにもかかわらず、波面収差マップを開くと、約 31 波長という非現実的な RMS 波面収差が表示されます。これは、ホログラムの光路差計算にデフォルトの方法を使用した場合 (OPD モード = 0 とした場合) に、不正確な結果が得られるケースの一つです。すべてのケースに対応する適切な OPD モードを自動的に決定するための信頼できるアルゴリズムは存在しません。そのため、OFH を含む光学系を最適化する場合、計算が不正確になる恐れがあるため、評価関数では OPD データを使用しないことを推奨します。この例のように OPD の値が明らかに誤っている場合、正確に計算されるまで OPD モードを手動で 1、2、3、4 に設定して、適切な OPD アルゴリズムを判断する必要があります。
今回の固有ファイルでは、OPD モード = 2 で計算すると正確な OPD が得られ、0.009 波長というはるかに現実的な RMS 波面収差が導かれます。OPD の各種計算方法の詳細は、OpticStudio のヘルプ ファイルを参照してください。
最後に、再生ファイルと構成ファイルは HLGV オペランドを介してリンクされているため、再生ファイルを保存すると、関連する両方の構成ファイルも保存されることに注意してください。
この動作は、[ファイル] (File) → [保存] (Save) をクリックしてから、"OFHSphericalCorrector_2.zmx" を OpticStudio の別のインスタンスで開くことで確認できます。ゼルニケ フリンジ位相パラメータに設定した変数の値が、再生ファイルの最適化で見つかった値に変化していることがわかるでしょう。

constbeampostopt

 

KA-01811

この記事は役に立ちましたか?
4人中3人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。