Author: Yuan Chen, Chih-Hao Chen
ダウンロード
はじめに
前の記事 拡張現実 (AR) システムのバードバスアーキテクチャ - Part 1 - システムの設定、最適化、およびヒューマンアイシミュレーション
で説明したように、この構造を透過させるには2つの方法があります。ひとつは半反射膜を使用する方法、もうひとつは偏光素子を利用する方法です。偏光素子は、光の効率を高め、漏れ光を改善します。
ノンシーケンシャルモードで偏光要素をモデル化する方法は、ジョーンズ行列オブジェクト、回折オブジェクトにおいてJones Matrix NSC DLLファイルを設定する、およびJSONファイル( sub_wavelength モデル) を用いるという3つがあります。
ノンシーケンシャルモードのジョーンズ行列オブジェクトがいくつかの欠点があります。
1. 光線の伝搬方向がオブジェクトの法線方向である場合にのみ有効です。
2. 波長と入射角の変化に対して複数のジョーンズ行列を定義することはできません。
DLL (回折):Jones Matrix NSCファイルを用いる場合は、反射モードを含め、斜め入射を正しく処理できます。ただし、 多波長および入射角を定義することはできません。
ユーザーによっては、偏光を定義するために必要な実際の材料パラメータにアクセスできず、各偏光状態の測定結果のみ持っている場合があります。したがって、波長と入射角を変えることで定義されるジョーンズ行列の利用が重要になります。JSONファイルには、ジョーンズ行列と同じ概念で、複数の入射角度と波長のための(出力S、出力P、入力S、入力P)コンポーネントが含まれています。
最後の方法であるLumerical_sub_wavelengthモデルを使用する利点は以下の通りです。
- 異方性モデリングをサポートします。
- 複数の入射角と波長に対するデータを保持しています。
- 反射と透過(および回折)を同時にモデル化できます。
- 曲面上の偏光挙動を補正できます。
- 複屈折での光線追跡に比べてはるかに高速です。
このパートでは、偏光要素を持つモデルを作成します。ここでは、Lumericalを使用して四分の一波長板(QWP)モデルを構築し、STACKでシミュレーションを行います。次に、LumericalからエクスポートしたJsonファイルで、Zemax OpticStudioを使用して偏光状態をシミュレートします。
ステップ 1:QWPシミュレーション(Lumerical)
プリズムビームスプリッタ(PBS)は、Lumerical STACKによってシミュレートすることもできます。私たちのモデルでは、膜性能として単純化されています。添付ファイルでは、 Zemax OpticStudioにインポートする.Jsonファイルを生成するための.lsfファイルが提供されています。この.lsfファイルについては、zemax.support@ansys.com でご意見、ご感想を募集しております。お聞かせください。
1.1 QWPの仕様
位相差は入射角と波長の関数です。QWP設計の性能を評価する際には、波長と動作角度範囲の両方を考慮する必要があります。
波長とその重みは、表示特性に基づいて選択されます。この例では、486nm、588nm、656nmが選択されています。
動作角度はMXAI評価関数オペランドを使用して計算できます。この境界オペランドは、定義された [視野] (Field) からマージナル光線と主光線を追跡し、Surfで定義された面の最大入射角を表示します。これはレンズの設計によって異なる場合がありますので、仕様を設定する際には注意してください。
1.2 QWP 設計
このナレッジベースの記事は、このような波長板を設計する方法をよく説明しています。
OpticStudioでの現実的な波長板のモデル化および設計方法
OpticStudioの偏光設定にあまり慣れていないエンジニアの方は、こちらを参考にしてください。
アクロマティック波長板の設計は、通常入射時の性能でははるかに優れていますが、入射角が大きい場合は満足のいく結果を得ることができませんでした。偏光瞳マップに極端な視野角を追加することで、パフォーマンスをすばやく確認することができます。
このQWPの最終的なパラメータは次のとおりです:
材質 | 厚み(um) | Ne@588nm | No@588nm |
Quartz | 15.865 | 1.5443 | 1.5534 |
1.3 QWP シミュレーション
Lumerical STACKについての詳細は、次の記事を参照してください: STACK Product Reference Manual – Ansys Optics
stackrtは、必要な結果を生成するのに適したスクリプトコマンドです。解析的伝達行列法を用いて多層膜を通る平面波の反射と透過を計算します。この関数は、S偏波とP偏波の両方について、透過と反射のパワーの割合(Ts、Tp、Rs、Rp)、および複素反射係数と複素透過係数(ts、tp、rs、rp)を返します。
QWPをシミュレートするために使用されるコードは、次のように生成されたコードです: Antireflective circular polarizers in OLED display – Ansys Optics
1.3.1 システム定義
屈折率、厚さ、入射角θを指定すれば、stackrtシミュレーションを行うことができます。これは、常に入射平面がxz平面(φ = 0)であると仮定します。
ある極角(φ)の入射光に対する異方性層の応答を得るためには、対応する材料の光軸(等価的には誘電率テンソル)を-φだけ回転させる必要があります。
複数の周波数と入射角の結果を得るには、スクリプトの最初にサンプリングを設定し、後で簡単に調整できるようにすることをお勧めします。
システムはSTACKのair-Quartz-airで構成されています:
- 周波数はf、d、cとして選択されています。OpticStudioではミリ単位ではなくメートル単位で使用していることにご注意ください。
- エアの厚みを0に設定できます。QWPでは、最適化されたコンポーネントの厚さを使用します。
- 前述したように、QWPの最大入射角は15.2度です。ここでは、最大角度として16度を選択します。
- φについては、光線は特定の極角から入射する可能性があるため、ここでは0から360までの範囲をカバーする必要があります。
1.3.2 材料データ
ここでは、各層の屈折率を定義します。屈折率を直接入力する前に、この材料が材料データベースにあるかどうかを確認できます。ある場合、getfdtdindex スクリプトコマンドを使用してデータを直接読み取ることができます。詳細については次の記事を参照してください。
getfdtdindex - Script command – Ansys Optics
現在、Quartzのデータはありませんので、ご自分でデータを入力する必要があります。このモデルは非分散型に簡略化されています。屈折率の情報は [材料カタログ] (Material Catalog) にあります。
常光の屈折率は1.5443であり、異常光の屈折率は1.5534です。
材料の屈折率と誘電率のマトリックスが生成されます。
1.3.3 すべての周波数と角度のシミュレーション
内蔵stackrtは極角φを考慮できなかったため、XZ平面外の光線の誘電率行列を回転させなければなりません。回転マトリックスがRであると仮定すると、新しい誘電率マトリックスは次のようになります:
used_function.lsfスクリプトで回転した誘電率行列を計算する関数として記述されています。コードの一部は、見やすくするために非表示になります。この機能は、分散材に対応するように設計されています。使用する角度はオイラー角です。
次に、スクリプトで最も重要な関数に移動します。定義された入射角ですべての周波数の結果を生成します。マトリックスが作成され、シミュレートされた結果が保存されます。
最後に、シミュレーションを実行して、与えられたφでの入射光線の結果を取得します。光線はXZ平面にあると仮定し、X方向のシミュレーションのオイラー角は(角度 – φ)であることに注意してください。
場合によっては、係数を正規化する必要があります。詳細については、次の記事を参照してください: Metamaterial S parameter extraction – Ansys Optics
p偏光の反射は、rppとrspの反射から導出できます。s偏光の反射についても同じです。
データは、.Jsonファイルでエクスポートされるように再編成されます。
QWPは反射板から光が戻ってきてQWPに2回目に当るときに鏡空間に存在することになるため、逆の角度を設定することが重要です。
最後に、すべてのデータは.Jsonファイルに保存され、Zemax OpticStudioにインポートされます。
ステップ2:シミュレーション(OpticStudio)
レンズの設計プロセスについては、 part 1で説明されています。
[NSC グループに変換] (Convert to NSC) といくつかの修正を使用することで偏光素子を使用してシステムパフォーマンスをすばやく確認できます。インポートされた.Jsonファイルがシステムにあるため、テストシステムで機能を確認できます。偏光設定に慣れていないユーザーの場合は、このシステムを使用すると、ノンシーケンシャルモードでの動作をすばやく理解できます。
2.1 テストシステム
上述したように、考慮すべきいくつかの重要な偏光要素があります。吸収偏光子は、眼鏡の底から人間の目への光線を除去するために使用されます。ディスプレイから複数の光線を生成して、さまざまな入射角度でパフォーマンスを確認できます。
最初の偏光光線をランスしてみましょう。光源(光線)光オブジェクトを使用して、特定の方向でパフォーマンスをすばやく確認することをお勧めします。ここでは、Jx = 1を設定し、残りを0に設定して、直線偏光をシミュレートします。[偏光] (Polarization) タブで定義された基準軸によって、初期偏光ステータスが異なる場合があります。 ここでは、Eyが除去されるようにY軸基準を選択します。このフォーラム投稿で生成されたプロットは、非常に直感的です: 初期偏光の定義のビジュアライズ化
PBSに関しては、これをモデル化するいくつかの異なる方法があります。前述のように、Lumerical STACKで生成された.Jsonファイルまたはコーティングで編集された実際のPBS設計によって行うことができます。このモデルでは、PASS_Pコーティングとして簡略化されており、S偏光は反射する状態です。sおよびpの偏光状態を定義する方法の詳細については、ここで説明します: OpticStudioでは、S偏光、P偏光の状態をどのように定義していますか?
このように光が四分の一波長板に向かって反射されます。別の膜を追加することに慣れていない場合は、次のコミュニティ投稿を参照してください: 完全な透過コーティングを設定する方法
QWPは、最初に [複屈折] (Birefringent) → [波形] (Waveplate) モードと比較できます。このモードの詳細については、次の記事を参照してください: 複屈折物質による偏光回転をモデル化する方法
ここでは、オブジェクトの設定の [回折] (diffraction) タブを使用して、プラグインDLL "lumerical-sub-wavelength-XXXXXX.dll"を定義します。XXXXXXは、"2023R1"などのバージョンです。このDLLは、波長板データ(.json)をOpticStudioに読み込みます。回折格子データ(.json)は\Document\Zemax\DLL\Diffractive\フォルダに保存する必要があります。
詳細については、次の記事を参照してください: Lumerical Sub-wavelength Model: Usage in Zemax OpticStudio
最後に、傾斜板の前面にある直線偏光子をモデル化し、底からの光線が人間の目に反射しないようにします。直線偏光子はExを排除することになっています。ここでは、Jones Matrix dllを使用します。詳細については、次の記事を参照してください: DLL (回折): Jones Matrix NSC
屈折率が1でない場合、このdllは正しく動作しないことに注意してください。
この光は、偏光していないものとしてモデル化されます。
2.2 実際のシステム
シーケンシャルモードで設計されたシステムは、組み込みツールを使用してノンシーケンシャルモードに変換できます。[NSC グループに変換] (Convert to NSC Group)偏光素子をモデル化するために、いくつかの修正が追加されました。
- 表示は、Lambertian_overfill.DLLを持つソースDLLオブジェクトによってモデル化されます。これにより、レンズに当たる光線のみが煮沸されるため、シミュレーションが効率的になります。
- [スライド] (Slide) オブジェクトでは、ビットマップ画像をマスクとして使用できます。その位置は、光源オブジェクトからわずかにずれている必要があります。これで、ランバーシアン散乱を伴った画像を光源として構築できます。
- 人間の目をモデル化するには2つの異なる方法があります。ひとつは、ディテクタをアイボックス位置に配置し、角度空間でデータを確認することです。もうひとつの方法は、近軸レンズを追加し、ディテクタを近軸レンズの焦点面に配置することです。私たちが興味を持っているのは位置空間です。そのため我々のモデルでは、近軸レンズを使用したモデルが有効になります。
- 非現実的な光路をブロックすることが重要です。ここでは、アイボックスの位置と視野レンズに遮光板を追加します。
- 傾斜板は、円形板ではなく長方形に近いです。長方形の体積は、その背面にPASS_Pコーティングを適用して使用されます。
- 直線偏光子は、マテリアル設定なしで [ユ ーザー定義] (User Defined) オブジェクトとしてモデル化されます。
- QWPは、曲面鏡に取り付けられたフィルムとしてモデル化されます。回折面をサポートできるオブジェクトを使用して、目的のシェイプを直接モデル化できませんでした。そのため、ブール(ネイティブ)オブジェクトを使用して、回折dllと互換性のあるオブジェクトと別のオブジェクトを組み合わせて、目的のオブジェクト形状を生成する必要があります。親オブジェクトには、[光線はこのオブジェクトを無視する] (Rays Ignore This Object) と [オブジェクトの非表示] (Do Not Draw Object) にチェックを入れてください。詳細については、次の記事を参照してください:
ブール CAD オブジェクト、ブール ネイティブ オブジェクト、複合レンズ オブジェクトと、オブジェクトの組み合わせツールの使用方法
ここまで、すべての設定が完了し、簡単なQWPを使用してパフォーマンスを確認するための解析を実行できます。
前の記事: 拡張現実 (AR) システムのバードバスアーキテクチャ - Part 1 - システムの設定、最適化、およびヒューマンアイシミュレーション
コメント
サインインしてコメントを残してください。