位相面を用いた面のイレギュラリティの公差解析

この記事では、位相面を使用して軸外し放物面 (OAP) のイレギュラリティを公差解析する方法を紹介します。OpticStudio では、この方法をあらゆる面タイプで使用できます。記事「軸外しミラーへの位相面の追加」では、OAP に位相面を挿入して配置する方法を紹介しました。ここでは、この位相面を使用して、同じミラーの面のイレギュラリティをさまざま方法で公差解析します。その方法として、手動操作、Zemax プログラミング言語 (ZPL) マクロの使用、Mathematica を通じたアプリケーション プログラミング インターフェイス (ZOS-API) の使用、Matlab を通じた ZOS-API の使用があります。

最後に、大規模な公差解析にイレギュラリティの公差解析を組み込む方法について説明します。

著者: Erin Elliot, Michael Humphreys

ダウンロード

記事の添付資料

はじめに

OpticStudio では、TEZI 公差解析オペランドを使用すると、それぞれ軸上アパチャーを持つ標準面、偶数次非球面、トロイダル面のイレギュラリティを自動的に公差解析できます。他のタイプの面 (軸外しアパチャー) では、位相面を使用する汎用的な方法で面のイレギュラリティを公差解析できます。

以降の各セクションでは、ゼルニケ フリンジ位相面を使用して軸外し放物面のイレギュラリティを公差解析する方法を紹介します。「軸外しミラーへの位相面の追加」の続編として、手動、ZPL マクロ、ZOS-API によって OAP のイレギュラリティを公差解析するために位相面を使用する方法を示します。

光学系の製造

光学面の製造では、完璧な形状のミラーからの許容偏差を面のイレギュラリティ (完璧な形状からの RMS 偏差) として指定することが普通です。市販のレンズやミラーでは、たとえば波長 0.6328 µm の HeNe レーザーによるテストで面に 0.1 λのイレギュラリティが見られることがあります。ヌル テスト用などのカスタム レンズの中には、イレギュラリティの仕様が 0.01 λという厳しい値になっているものもあります。 

通常、イレギュラリティの形態は不明です。これまでの研磨では、パワーや非点収差などの低次収差でイレギュラリティが構成されていると見なすことが安全な場合があります。多くの場合、パワー スペクトル密度 (PSD) 曲線に従い、空間周波数が高くなるにつれてイレギュラリティは減少します。ダイヤモンド旋削はこの例外で、部品に高周波のリップルが残ることがあります。

図面作成と部品発注の前に、イレギュラリティの公差解析を実施する必要があります。カスタム部品の場合は、イレギュラリティの形態を部品製造元と検討することが重要です。製造元から類似部品のデータを入手できることもあれば、発生する可能性が高いイレギュラリティの形態を予測できることもあります。製造元から助言を受けられない場合は、空間周波数が高くなるにつれて値が減少する多項式をいくつか使用して、イレギュラリティを公差解析する方法があります。

いずれの場合も、OpticStudio でさまざまな方法によってイレギュラリティをモデル化できます。

着手ファイル

ここでは、ファイル ToleranceIrregularity_v01_StartingFile.zar に保存されている OAP から開始します。次のように、この OAP の直径は 50.8 mm、後方焦点距離は -166.6 mm、ビーム発散角は -36.9°です。絞りは、軸外し部品の前側エッジの位置にあります。

図 1: 後方焦点距離を -166.6 mm とした OAP 設計のレイアウト。

OAP 面の直後にはゼルニケ フリンジ位相面が配置されています。これは、記事「軸外しミラーへの位相面の追加」の説明にあるとおりです。この位相面は、ディセンタとティルトが適用され、OAP の面と一致する曲面を持っています。この面を使用して、軸外し部品のイレギュラリティを公差解析できます。

手動でのイレギュラリティの公差解析

手動で面に摂動を追加する例として、OAP の曲率半径に誤差がある状況を考えます。親放物面の曲率半径を変更しても、部品の中央を中心とするパワー デフォーメーションは得られません。OAP にパワー誤差を追加するための正しい方法は、ゼルニケ位相面を使用することです。OpticStudio のヘルプ ファイルには、ゼルニケ フリンジ位相項が一覧で記述されています。パワー項は Z4 なので、その係数の調整によって光学系に追加される位相の合計は次の式で記述できます。

半径ρはゼルニケ面の [正規化半径] (Norm Radius) 列の値で正規化されます。ρは部品のクリア アパチャーよりもわずかに大きい値に設定します。Z4 の係数の単位は波長数です。Z4 を 0.5 に設定すると、ρ = 1 で追加される波面収差のピーク バレー値は 1 波長と計算できます。 

図 2: Z4 項を 0.5 波長に設定し、正規化半径をゼルニケ面のクリア アパチャーよりもわずかに大きい値に設定した設計。

図 3: ゼルニケ面にピーク バレー値で 1 波長のパワーが追加されたことを示す波面収差マップ。

波面収差から面の誤差への変換

波面収差マップでは、波面収差が P-V 値で 1 波長であることが確認でき (図 3)、RMS 値で 0.27 波長であることが示されています。これは波面収差マップであることから、この値を面の誤差に変換するには注意が必要です。この光学系の主波長は 0.500 µm です。また、波面空間では、面の不整が 2 倍の効果となって現れます。したがって、面の誤差の P-V 値は、(1 波長) x (0.5 µm)/2 = 0.25 µm となります。テスト波長の 0.6328 µm では、この値は P-V 値で 0.395 波長の面仕様に相当します。 

この変換を次の表にまとめます。

波面収差マップでの値
(
波長 0.5 µm)

マイクロメートル単位での値

HeNe での波数
(
波長 0.6328 µm)

波面収差 P-V 値

1.0 λ

0.25 µm

0.395 λ

波面収差 RMS 値

0.27 λ

0.0675 µm

0.107 λ

表 1: 波面収差から面の誤差への変換

ZPL マクロによるイレギュラリティの公差解析

Zemax プログラミング言語 (ZPL) を使用して、位相面を制御し、面のイレギュラリティを公差解析することもできます。 

マクロ ToleranceIrregularity.ZPL には、0.5 µm のシステム波長で 0.05 波長の誤差を位相面に配置する簡潔な ZPL マクロが作成されています (この誤差は、HeNe のテスト波長で 1/50 波長の RMS 面誤差に相当します)。このマクロでは、Z5 ~ Z9 のゼルニケ項を組み合わせて使用しています。これらは、球面収差、あらゆる方向の非点収差、およびあらゆる方向のコマ収差を扱うゼルニケ項です。当初は各項の係数にランダムな値が割り当てられ、波面収差の目標値を達成できるように各係数がスケーリングされます。

このマクロからは、各ゼルニケ係数の値および得られた RMS 波面収差の値が報告されます。変更した OpticStudio ファイルは ToleranceIrregularity_v03_ZPLMacro.zmx として保存されます。このマクロは、あらゆるテキスト エディタで開いて編集できる簡潔なテキスト ファイルです。このマクロを使用するには、それを {Zemax}\Macros フォルダに置く必要があります。[プログラミング] (Programming) タブで [マクロリスト] (Macro List) ボタンを使用して目的のマクロ (ToleranceIrregularity.ZPL) を探し出すことができます。そのファイル名をクリックするとマクロが実行されます。

この 1 枚ミラー光学系の場合、このマクロでは位相面上の位相誤差が射出瞳での RMS 波面収差に等しいと仮定しています。マルチミラー光学系では、この仮定が成立しません。このマクロを一般化したマクロでは、特定の面に対して [解析] (Analyze) → [偏光と表面特性] (Polarization and Surface Physics) → [面] (Surface) の順に選択して [面の位相] (Surface Phase) プロットを使用します。使用する位相面と RMS 位相誤差の目標値をユーザーが指定できるように、マクロを変更することもできます。

図 4: ToleranceIrregularity_v05.ZPL マクロの出力例。

ZOS -APIによるイレギュラリティの公差解析

OpticStudio の API (アプリケーション プログラミング インターフェイス) は、OpticStudio のデータを使用するカスタム シミュレーションを作成するための高機能な手段です。シミュレーションの制御には、数学的手法を使用するか、.NET インターフェイスに対応したプログラミング言語を使用します。このような言語として、Matlab、Python、C#、Mathematica、IDL などがあります。たとえば、OpticStudio でデータを収集し、そのデータを Matlab で解析して表示できます。

公差解析では、カスタムのモンテ カルロ シミュレーションの作成で API が特に高機能です。その全容の紹介は、この記事の対象外です。以下に挙げるデモでは、位相の摂動を追加して、ミラー面のイレギュラリティをシミュレートします。光学系の完全なモンテ カルロ シミュレーションを作成するために、この摂動に他の所要の摂動を組み合わせることができます。一度に 1 つずつ摂動を適用することによって光学系の感度を求めることもでき、それに基づいて、たとえば RMS波面収差に対する影響を確認できます (ZOS-API インターフェイスの詳細については、OpticStudio で「プログラミング」→「ZOS-API ヘルプ」→「ZOS-API の概要」を参照してください)。

以降のセクションでは、ミラー上の面の誤差をシミュレートするために、この API を使用して Mathematica と Matlab で位相面に摂動を追加します。また、光学系に見出された波面収差の測定も実施します。

ZOS-API と Mathematica による OAP のイレギュラリティ

TolerancingIrregularity.nb ファイルには Mathematica のプログラムが保存されています (Mathematica をインストールしていない場合は TolerancingIrregularity.pdf を参照してください)。このプログラムでは次の操作が実行されます。

  • OpticStudio に接続する。
  • 着手ファイル ToleranceIrregularity_v01_StartingFile.zmx を開く。このファイルは Downloads フォルダに置いておく必要があります。
  • ゼルニケ係数を読み込んで表示する。
  • すべての幅が 1.2 波長の均一な分布からランダムなゼルニケ係数を生成する。
  • これらの係数をファイルに配置する。
  • RMS 値を計算する。
  • 0.05 波長の RMS 位相誤差が得られるようにゼルニケ係数をスケーリングする。
  • これらの係数をファイルに配置する。
  • ファイルを ToleranceIrregularity_v04_MathematicaOutputFile.zmx として保存する。

この出力ファイルにある波面収差マップと Mathematica で計算した RMS 値が一致するのは、波面からティルトを削除した場合のみであることに注目してください。

追加された位相摂動の RMS 値は、システム波長の 0.5 µm で 0.05 波長です。テスト波長の 0.6328 µm で、ミラーに向かう方向とミラーから離れる方向のダブル パスを考慮すると、この値は 1/50 波長の面の誤差に相当します。

図 5: ゼルニケ フリンジ位相面に 0.05 波長の位相誤差を割り当てた OAP のスポット ダイアグラムと波面収差マップ。

ZOS-API と Matlab による OAP のイレギュラリティ

ToleranceIrregularity.m ファイルにも、位相面に 0.05 波長の誤差を配置する Matlab アプリケーションが作成されています。ゼルニケ データの表示と RMS 位相値の計算を目的とした関数が別途用意されています。また、目的の OAP ファイルが見つからない場合、buildZmxTestFile 関数によってファイルが作成されます。このプログラムの出力例を図 6 に示します。

図 6: ToleranceIrregularity.m を実行して得られる出力。

大規模な公差解析実行への位相面の取り込み

ここまで説明した各マクロを使用して、光学系の性能に面のイレギュラリティが及ぼす影響を確認できます。したがって、面のイレギュラリティに対する感度を計算できることになります。これらのプログラムはすべて、モンテ カルロ シミュレーションを実行するために、他の多くのパラメータに摂動を適用するように変更できます。たとえば、OAP のより充実したシミュレーションでは、パワーの誤差 (位相面の Z4 項を使用)、ティルトとディセンタの誤差 (追加した座標ブレーク面でティルトとディセンタのパラメータに摂動を適用することで実行)、像面位置の最適化などを扱います。 

これらのプログラムでは、摂動を適用した複数のファイルを保存できるほか、摂動を適用したパラメータをリセットして処理を繰り返す前に、単に各ファイルからデータを収集するといったこともできます。たとえば、摂動を適用したすべての値、波面収差、後方焦点距離、像面上での像のセントロイド位置、OAP の頂点を基準とした像面の位置を収集できます。Mathematica や Matlab では、すべてのデータのヒストグラムを作成して、サンプリングが十分かどうかの確認や、得られた確率分布すべての標準偏差の判断などもできます。

このように記述した公差解析の手動ルーチンはさらに難度が高くなりますが、無限ともいえる柔軟性が手に入ります。特に、数理プログラムで ZOS-API インターフェイスを使用する場合にきわめて効果的です。

KA-01792

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

コメント

0件のコメント

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