拡張現実 (AR) 光学系用回折光学系を備えた射出瞳拡張光学系 (EPE) を OpticStudio でシミュレートする方法 : 第 4 部

この記事では、拡張現実 (AR) 光学系向けに、RCWA ツールを使用して射出瞳拡張光学系 (EPE) OpticStudio で設定する例を紹介します。まず k 空間でのグレーティングの設計 (光運動量) について説明し、各グレーティングの詳しい設定を取り上げます。 

著者 Michael Cheng

ダウンロード

記事の添付資料

はじめに

.この記事は 4 部構成記事の第 4 部です。ここでは、射出瞳拡張光学系のフットプリント ダイアグラムを確認する方法と、その像をシミュレートする方法を示します。記事の最後では、EPE 光学系を改善の可能性のある事項と他の検討事項も取り上げます。読者の便宜のために、この 4 部構成記事の他の記事へのリンクを以下に挙げます。 

拡張現実 (AR) 光学系用回折光学系を備えた射出瞳拡張光学系 (EPE) を OpticStudio でシミュレートする方法 : 第 1 部

拡張現実 (AR) 光学系用回折光学系を備えた射出瞳拡張光学系 (EPE) を OpticStudio でシミュレートする方法 : 第 2 部

拡張現実 (AR) 光学系用回折光学系を備えた射出瞳拡張光学系 (EPE) を OpticStudio でシミュレートする方法 : 第 3 部

MTF の計算方法 

この光学系はノンシーケンシャル モードで構築されているため、EPE AR 光学系の MTF の計算には、少しコツが必要です。MTF の計算には、次の 2 つの方法があります。 

(1) ディテクタ (矩形) によって得られる幾何光学的 MTF データを使用する 

(2) ディテクタ (矩形) によるホイヘンス PSF 法を使用して、他のソフトウェア (MATLAB など) PSF MTF に変換する 

次のセクションで、それぞれの方法を紹介します。 

方法 1: 幾何光学的 MTF 

幾何光学的 MTF は、以下に示す数ステップで計算できます。 

1. 本シリーズの 3 で使用したサンプル ファイル step5_image simulation.zar を開きます。 

2.スライド オブジェクトを無視して非表示にします。 

mceclip0.png

1 : [オブジェクトを非表示にし無効にする] (Ignore and Hide Object) 

 

3. 光源 (DLL) を光源 () として、図 2 の様にパラメータに変更します 

mceclip1.png

2 : [光源 ()] (Source Point) のパラメータ値 

 

4. 最後のディテクタの大きさを [X 半幅] (X Half Width) = [Y 半幅] (Y Half Width) = 0.005 まで小さくします。

mceclip2.png

 

5. 光線追跡が完了すると、図 3 のように幾何光学的 PSF MTF が表示されます。図 3 には、フォーカスしたスポットがエアリー ディスクより著しく小さいという非現実的な結果が示されていることに注意してください。これは、光学系の光エンジンと人間の眼の両光学系に理想的なレンズ (近軸レンズ) を使用しているためです。しかし、光エンジン部分のレンズ光学系として現実的なモデルを考慮する場合は、幾何光学的 PSF/MTF 解析でも意味のある結果が得られる可能性があります。

mceclip3.png

3 : 幾何光学的 PSF および MTF 

 

回折 PSF/MTF の計算の準備 

回折 PSF/MTF の計算方法を検討する前に、ノンシーケンシャル モードで光線の位相を正確に扱えるように、2 か所に修正が必要です。幾何光学的 PSF/MTF に関する前のセクションで行った変更に基づき、次の手順を実行します。以下で説明する変更は、すべて step6_calculate_PSF.zar として保存されており、ダウンロード可能な添付ファイルとして提供されています。 

近軸レンズ オブジェクトをユーザー定義オブジェクトの回折 DLL に置き換える 

2 つの近軸レンズ オブジェクトを、ユーザー定義オブジェクトで回折 DLL "NSC_Paraxial_Lens.dll" を設定し、回折グレーティングに置き換えます。"NSC_Paraxial_Lens" DLL は、近軸レンズ オブジェクトと同じ機能を果たすと同時に、光線の位相を正しく処理できるように設計されています。この記事の執筆時点 (2021 4 18 ) のバージョンでは、ノンシーケンシャル モードの組み込み近軸レンズ オブジェクトが出力光線の位相を正しく計算しません。そのため、コヒーレントな解析はいずれも不正確になります。上記の回折 DLL は、今回の例に限らず、近軸レンズを含む光学系でコヒーレント解析が必要になる、すべての場合に使用できます。ただし、この NSC_Paraxial_Lens.dll を使用する場合、いくつかの制約が存在することに注意してください。その中には、ユーザーの要求に応じて解消できるものもありますが、理論上、解消できない制約もあることに注意してください。制約には、次のようなものがあります。 

* NSC_Paraxial_Lens の両側の材質の屈折率には 1.0 しか設定できません。それ以外の値を設定すると、光線がオブジェクトに到達した時点で中断されます。この記事では近軸レンズを空気中に配置しているため、この制約は問題になりません。この制約は、ユーザーの要求に応じて解消できます。 

* DLL では、光線が -z 側から入射するものと仮定しています。回折フェイスに +z 側から入射する光線は中断されます。このため、2 番目の回折グレーティング オブジェクトを X 軸周りに 180 度回転させ、光線が回折レンズの -z 方向から入射するようにしています。この制約は、ユーザーの要求に応じて解消できます。 

* DLL 0 次の透過に対してのみ機能します。他の次数は無視されます。このため、[開始次数] (Start Order) [終了次数] (Stop Order) は、どちらも 0 に設定してください。この回折 DLL を使用する場合、他の数値を設定しても無意味です。この制約は、解消しても意味がないため、解消できません。 

* DLL は定義された共役に対してのみ機能します。言い換えれば、物体と像の距離が既知の場合にしか機能しないということです。この制約は解消できません。近軸レンズは仮想的で非現実的な部品だからです。したがって、設計者が、設計がある程度完成に近づいた段階で、光エンジンを収差が考慮された現実的なものに変更して、より現実的な条件で評価できるようにすることを推奨します。 

mceclip4.png

4 : 近軸レンズを回折 DLL NSC_Paraxial_Lens.dll が設定された回折グレーティングに置換 

 

2 番目の (回転) グレーティングを、Polygon_grating.dll を設定したユーザー定義オブジェクトで再定義

この記事の執筆時点 (2021 4 18 ) のバージョンには、ブール ネイティブ/CAD オブジェクトでは光線の位相を正しく処理できないというバグがあります。この問題を回避するために、2 番目のグレーティングをユーザー定義オブジェクト (Polygon.dll) を使用して再構築します。このユーザー定義オブジェクトでは、ポリゴンの平板をユーザーが直接定義できます。各頂点は、オブジェクトのパラメータ (p1x, p1y, p2x, p2y,...) によって指定します。これは、ブール ネイティブ/CAD を使用してポリゴンの平板を定義するより便利なはずです。mceclip5.png

Figure 5. ブール ネイティブ、押し出し、回折グレーティングの 3 つのオブジェクトをPolygon_grating.dll を設定したユーザー定義オブジェクトに置換 

 

RCWA DLL のバージョンの確認 

光線の位相を正しく処理するには、2021 4 18 よりも後にコンパイルされた RCWA DLL を使用する必要があります。これは、図 6 に示すとおり、RCWA の視覚化ツールで確認できます ([プログラミング] (Programming) タブ→ [ユーザー拡張機能] (User Extensions) [RCWA の視覚化] (RCWA Visualization)) 

mceclip6.png

6 : RCWA 視覚化ツールによる RCWA DLL のバージョンの確認 

 

瞳関数とホイヘンス PSF を得るためのディテクタ 

7 に示すとおり、ディテクタは解析用のアパチャーにより切り詰められた瞳関数を確認するために、環オブジェクトの直後に配置します。 

mceclip7.png

7 : アイ ボックス内の 4 つのオブジェクトの多層構造 

 

mceclip8.png

8 : 切り詰められた瞳関数 : 左側がコヒーレント放射照度、右側がコヒーレント位相

 

さらに、ホイヘンス PSF を計算するために、眼の光学系のディテクタに対する PSF 波長番号をゼロ以外の値に設定する必要があります。値は、評価する光の波長に対してシステム エクスプローラに表示される波長番号に設定してください。ホイヘンス PSF の評価では、1 波長のみの光線を追跡することが重要です。この設定は、光線追跡に時間がかかる場合が多いため、使用はホイヘンス PSF の評価が必要な場合に限る必要があることにも注意してください。ホイヘンス PSF のシミュレーション結果は図 10 のようになります。

mceclip9.png

9 : ディテクタ上でホイヘンス PSF を評価するために [PSF 波長番号] ([PSF Wave #) にゼロ以外の値を設定 : PSF 波長番号は、システム エクスプローラで定義した波長番号に対応 

 

mceclip10.png

10 : 左側の図 : 人間の眼のディテクタで計算したホイヘンス PSF、右側の図 : 切り詰められる前の射出瞳における位相の分布

 

以上で、MTF 計算に必要なデータはすべて揃いました。次のセクションでは、PSF と瞳関数を使用して MTF を計算する方法を解説します。 

 

PSF についての解説

なぜ PSF にわずかなシフトがあり、瞳関数に斜めの位相があるのか、疑問に思う読者もいるでしょう。その答えは、2 番目のグレーティングの周期の精度が十分でないためです。図 11 と図 12 に示すように、2 番目のグレーティングの周期の有効桁数を増やすと、このわずかな誤差を取り除くことができます。得られる値は 0.27779397 サイクル/ミクロンです。 

mceclip11.png

11 : 瞳関数の斜めの位相と得られる PSF からシフトを取り除くために 2 番目のグレーティング周期をより正確な値に変更 

 

mceclip12.png

12 : 2 番目のグレーティングの周期をより正確に値に変更した後のシミュレーション結果 

 

 

方法 2: フーリエ変換によるホイヘンス PSF MTF への変換 

特定の PSF から MTF を計算することは簡単です。以下に、MATLAB による計算例を示します。 

1. 1MATLAB のインタラクティブ拡張機能ボイラプレート コードを生成します。

mceclip13.png

13 : MATLAB 用のインタラクティブ拡張機能ボイラプレートのコード 

 

2. OpticStudio に戻り、図 13 に示すようにインタラクティブ拡張機能のアイコンをクリックしてアクセスを有効化します。 

mceclip14.png

14 : [インタラクティブ拡張機能] (Interactive Extension) にアクセスの開始 

 

3. 添付された MATLAB コードを開いて実行します。このコードは、この記事の例に合わせて設定されていることに注意してください。他の光学系に使用する場合、PSF を観測するディテクタの番号を 25 行目、瞳の半径を 60 行目、近軸レンズの焦点距離を 61 行目で指定する必要があります。 

 

4. 結果は図 14 のようになります。

mceclip15.png

Figure 15. MATLAB で計算した MTF

 

まとめ

この記事では、AR 光学系に使用する射出瞳拡張光学系の設計を紹介しました。いくつかのサンプル ファイルがこの記事に添付されています。各ファイルで重要な設計上の要点について説明しました。この光学系に使用する 3 つのグレーティングを取り上げました。導波路でのビーム伝搬のフットプリントを確認する方法、このような光学系の画像シミュレーションを実行する方法を説明しました。光学系の性能向上の可能性についても述べました。最後に、PSF/MTF を計算する各種方法にいて検討しました。 

 

前の記事

拡張現実 (AR) 光学系用回折光学系を備えた射出瞳拡張光学系 (EPE) を OpticStudio でシミュレートする方法 : 第 3 部

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

コメント

0件のコメント

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