(57)【要約】【課題】Ａｌ２Ｏ３の薄膜層の数を低減して、性能の良い非偏光ビームスプリッタを得ること。【解決手段】非偏光ビームスプリッタは、薄膜のグループ、及び１つ又は複数の付加的な薄膜(220-X、220-Y、520-Z、720-R、720-S)を含む。薄膜のグループの各々は、それ自体によって非偏光反射を行わないが、薄膜のグループと付加的な薄膜の組み合わせにより、非偏光反射が提供される。各薄膜グループは、高い屈折率材料の１つの層(H)、中間の屈折率材料の２つの層(M)、及び低い屈折率材料の層(L)の４つの層からなり、付加的な薄膜の少なくとも１つは、薄膜グループに使用されていない材料(X)から作成される。付加的な薄膜(520-Z、220-X、720-R)は、ビームスプリッタを通る光路に沿って薄膜グループの前に、それらの間に、又は後にあることができる。【選択図】図２
2004078211.tif 000002
【特許請求の範囲】
【請求項１】
　非偏光ビームスプリッタであって、
　複数の薄膜グループ（１〜Ｑ）であって、それぞれの薄膜グループが、第１の材料（Ｈ）の層（２２０）、第２の材料（Ｍ）の２つの層（２２０）、及び第３の材料（Ｌ）の層（２２０）からなる、複数の薄膜グループ（１〜Ｑ）と、及び
　前記第１、第２及び第３の材料とは異なる第４の材料の第１の付加的な薄膜層（２２０−Ｘ，２２０−Ｙ，５２０，７２０）とを含む、非偏光ビームスプリッタ。
【請求項２】
　前記ビームスプリッタは、前記複数の薄膜グループ（１〜Ｑ）及び前記第１の付加的な薄膜層（２２０，５２０，７２０）が第１の光学要素（１１０）と第２の光学要素（１３０）との間にサンドイッチされた状態で前記第１の光学要素（１１０）及び第２の光学要素（１３０）をさらに含む、埋入型ビームスプリッタである、請求項１のビームスプリッタ。
【請求項３】
　前記複数の薄膜グループ内のそれぞれの層（２２０）及び前記第１の付加的な薄膜層が、前記ビームスプリッタの入射ビーム（１４０）の波長の１／４に等しい光学的な厚さを有する、請求項１又は２のビームスプリッタ。
【請求項４】
　前記複数の薄膜グループの隣接する対の間にある偶数の付加的な薄膜（２２０−Ｘ，２２０−Ｙ）をさらに含む、請求項１、２又は３のビームスプリッタ。
【請求項５】
　前記ビームスプリッタの透過ビームに沿って前記複数の薄膜グループの後にある１つ又は複数の付加的な薄膜（７２０−Ｒ，７２０−Ｓ）をさらに含む、請求項１、２、３又は４のビームスプリッタ。
【請求項６】
　前記第１の付加的な薄膜層（５２０−Ｚ）が、前記ビームスプリッタの透過ビームの経路に沿って前記複数の薄膜グループの前にある、請求項１〜５の何れかのビームスプリッタ。
【請求項７】
　前記第１の付加的な薄膜層（２２０−Ｘ）が、前記複数の薄膜グループの隣接する対の間にある、請求項１〜５の何れかのビームスプリッタ。
【請求項８】
　前記複数の薄膜グループの隣接する対の間の空間を完全に満たす構造が、前記第１の付加的な薄膜層（２２０−Ｘ）を含む偶数の付加的な薄膜（２２０−Ｘ，２２０−Ｙ）からなる、請求項７のビームスプリッタ。
【請求項９】
　前記第１の付加的な薄膜層（７２０−Ｒ）が、前記ビームスプリッタを横断する光ビームの経路に沿って前記複数の薄膜グループの後に続く、請求項１〜５の何れかのビームスプリッタ。
【請求項１０】
　少なくとも１つの前記薄膜グループにおける層（２２０）が、第１の順序を有し、及び
　前記第１の付加的な薄膜層の直前にある薄膜グループにおける層（２２０）が、第２の順序を有し、その第２の順序は、前記第２の順序における前記第１の材料（Ｈ）及び前記第３の材料（Ｌ）の層の位置が前記第１の順序に対して入れ替えられている点で、前記第１の順序と異なる、請求項１〜９の何れかのビームスプリッタ。
【請求項１１】
　それぞれの薄膜グループが、
　前記第１の材料（Ｈ）であるＴｉＯ２の層と、
　前記第２の材料（Ｍ）であるＹ２Ｏ３の２つの層と、及び
　前記第３の材料（Ｌ）であるＭｇＦ２の層とからなる、請求項１〜１０の何れかのビームスプリッタ。
【請求項１２】
　前記第１の付加的な薄膜層（２２０−Ｘ）が、第４の材料であるＡｌ２Ｏ３の層である、請求項１〜１１の何れかのビームスプリッタ。
【請求項１３】
　前記第１の付加的な薄膜層（２２０−Ｘ）に隣接したＹ２Ｏ３の層である第２の付加的な薄膜層（２２０−Ｙ）をさらに含む、請求項１２のビームスプリッタ。
【請求項１４】
　前記複数の薄膜グループが６つの薄膜グループからなり、前記ビームスプリッタが、
　入力光学要素（１１０）と、
　前記６つの薄膜グループと、
　前記第１の付加的な薄膜層（２２０−Ｘ）と、
　前記第２の付加的な薄膜層（２２０−Ｙ）と、及び
　出力光学要素（１３０）とからなる、請求項１３のビームスプリッタ。
【請求項１５】
　前記複数の薄膜グループが４つの薄膜グループからなり、前記ビームスプリッタが、
　入力光学要素（１１０）と、
　前記ビームスプリッタの透過ビームの経路に沿って前記複数の薄膜グループの前にある第３の付加的な薄膜層（５２０−Ｚ）と、
　前記４つの薄膜グループと、
　前記第１の付加的な薄膜層（２２０−Ｘ）と、
　前記第２の付加的な薄膜層（２２０−Ｙ）と、及び
　出力光学要素（１３０）とからなる、請求項１３のビームスプリッタ。
【請求項１６】
　非偏光ビームスプリッタの設計の方法であって、
　複数の薄膜グループ、及び１つ又は複数の付加的な薄膜層からなるビームスプリッタコーティング構造を選択するステップであって、それぞれの薄膜グループが、第１のタイプの層（２２０）と、第２のタイプの２つの層（２２０）と、第３のタイプの層（２２０）とからなり、前記１つ又は複数の付加的な薄膜層のうちの少なくとも１つが、第４のタイプのものである、ステップと、
　前記第１、第２、第３及び第４のタイプの層のすべてではなく、少なくとも１つのための材料を選択するステップと、　材料が選択されなかった前記タイプの層に関して１つ又は複数の屈折率を計算するステップであって、前記ビームスプリッタコーティング構造における前記選択された材料と組合せたときに、前記計算された屈折率が、前記非偏光ビームスプリッタから非偏光反射を提供する、ステップと、及び
　前記計算された屈折率を有する１つ又は複数の材料を特定するステップとを含む、方法。
【請求項１７】
　入力要素（１１０）、出力要素（１３０）、及び前記ビームスプリッタコーティング構造からなる前記非偏光ビームスプリッタのための構造を選択するステップをさらに含む、請求請１６の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、光学薄膜が光学要素の内部に埋め込まれているタイプ（光学薄膜が光学要素の間にサンドイッチされているタイプ）の非偏光ビームスプリッタ（以降、埋入型非偏光ビームスプリッタと称す）に関する。
【背景技術】
【０００２】
　本明細書は、以下のコンピュータプログラムリストを含む。１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ１、１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ２、１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ３、１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ４、１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ５、１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ６、及び１６．０ｋｂｉｔのオンディスクサイズを有する２００２年８月１４日に製造されたＮＰＢＳ７。
【０００３】
　本明細書の一部は、著作権保護を受ける要素を含む。著作権の所有者は、特許庁の特許ファイル又は記録に現われる場合に、特許文書又は特許公報の誰によるコピーにも異議を申立てないが、どのようなものでも全ての著作権の権利を保有する。
【０００４】
　反射性薄膜コーティングから構成される従来の非偏光ビームスプリッタは、入射ビームを反射ビームと透過ビームに分割し、これらは入射ビームと同じ偏光を有する。非偏光ビームスプリッタを構成することは、複雑になる可能性がある。その理由は、ほとんどの非吸収薄膜に対して、Ｐ偏光ビーム成分（すなわち入射ビーム及び反射ビームによって定義される平面に電界を有する成分）に対する反射率が、Ｓ偏光ビーム成分（すなわち入射ビーム及び反射ビームによって定義される平面に対して垂直な電界を有する成分）に対する反射率と異なるからである。非偏光ビームスプリッタを構成する難しさは、薄膜コーティングが光学要素の間にサンドイッチされる埋入型システムにおいて増加する。
【０００５】
　図１Ａは、埋入型非偏光ビームスプリッタ（キューブ型非偏光ビームスプリッタ）１００を示す。ビームスプリッタ１００は、光学要素１１０と１３０との間にビームスプリッタコーティング１２０を含む。光学要素１１０及び１３０は、プリズム、プレート、又は光学品質のガラスのような材料から作成された他の要素とすることができる。特に図１Ａは、光学要素１１０及び１３０が直角プリズムであり、入射単色ビーム１４０が光学要素１１０の入射面に対して垂直な経路に沿っており、ビームスプリッタコーティング１２０に対して４５°の角度をなしている構成を示す。この結果、反射ビーム１５０は、光学要素１１０の出射面に対して垂直に出射して、透過ビーム１６０は、光学要素１３０の出射面に対して垂直に出射する。
【０００６】
　ビームスプリッタ１００を非偏光にするために、ビームスプリッタコーティング１２０は、選択された波長に対して、ビーム１４０のＳ偏光及びＰ偏光がビームスプリッタコーティング１２０からの同じ反射率及びビームスプリッタコーティング１２０を通る同じ透過率を有するようにする。図１Ｂは、ビームスプリッタコーティング１２０の構造を示しており、この構造は、異なった屈折率を有する材料から形成された４Ｑの薄膜１２０−１〜１２０−４Ｑを含む。薄膜１２０−１〜１２０−４Ｑの材料及び厚さを選択することにより、ビームスプリッタ１００に入射ビーム１４０の所望の反射率と透過率が提供される。光学要素１１０を通過して到来する入射ビーム１４０は、光学要素１１０と薄膜１２０−１との間の境界面、隣接する薄膜対［１２０−１、１２０−２］〜［１２０−（Ｎ−１）、１２０−４Ｑ］の間の各境界面、及び薄膜１２０−４Ｑと光学要素１３０との間の境界面において部分的に反射する。部分的な反射は、結合および干渉して反射ビーム１５０を形成し、一方反射されなかった（及び吸収されなかった）入射ビーム１４０の一部は、透過ビーム１６０になる。
【０００７】
　数１は、それぞれの薄膜１２０−１〜１２０−Ｎが入射ビーム１４０の１／４波長の光学的な厚さを有する場合に、ビームスプリッタ１００におけるＳ偏光及びＰ偏光に対するそれぞれの反射係数ｒｓ及びｒｐに関する式である。数１において、値Ｎ０、Ｎ１〜Ｎ４Ｑ、及びＮ４Ｑ＋１は、要素１１０、薄膜１２０−１〜１２０−４Ｑ、及び要素１３０のそれぞれの屈折率であり、値θ０、θ１〜θ４Ｑ、及びθ４Ｑ＋１は、要素１１０、薄膜１２０−１〜１２０−４Ｑ、及び要素１３０における透過ビームのそれぞれの伝搬角である。
【０００８】
【数１】
2004078211.tif 000003
【０００９】
　非偏光ビームスプリッタは、反射するＳ偏光及びＰ偏光において等しく有効である。したがって、非偏光ビームスプリッタ１００の反射係数ｒｓは、ゼロであってはならず、かつ大きさにおいて非偏光ビームスプリッタ１００の反射係数ｒｐに等しくなければならない。図１Ｂは、数１の一方の係数Ｗ又はＵが１に等しく、かつ他方の係数Ｕ又はＷが１に等しくないので、反射係数ｒｓ及びｒｐが非ゼロであり、かつ等しいような薄膜１２０−１〜１２０−４Ｑの組合せを示す。非偏光ビームスプリッタ１００は、薄膜層１２０−１〜１２０−４Ｑに対して３つの材料Ｈ、Ｍ及びＬを使用し、薄膜層１２０−１〜１２０−４Ｑをそれぞれ４つの層からなるＱのグループに構成する。４つの薄膜層からなる各グループは、中間の屈折率ＮＭを有する材料Ｍからなる第１の層、高い屈折率ＮＨを有する材料Ｈからなる第２の層、材料Ｍからなる第３の層、及び低い屈折率ＮＬを有する材料Ｌからなる第４の層を含む。３つの材料は、屈折率ＮＨ、ＮＭ及びＮＬが一方の係数Ｗ又はＵを１に等しくするように選択される。
【００１０】
　数１の係数Ｗは、薄膜１２０−１〜１２０−４Ｑを通過する光に対する伝搬角θ１〜θ４Ｑに依存し、伝搬角は屈折率Ｎ０、Ｎ１〜Ｎ４Ｑ、及びＮ４Ｑ＋１に依存する。数２に適用されるようなスネルの法則は、屈折率と伝搬角のサインの積が、すべての薄膜１２０−１〜１２０−４Ｑに対して定数Ｌであることを示す。したがって、同じ屈折率を有する任意の２つの薄膜１２０−１〜１２０−４Ｑは、同じ伝搬角を有する。
【００１１】
　（数２）
　Ｎ０＊sinθ０＝Ｎ１＊sinθ１＝Ｎ２＊sinθ２・・＝Ｎ４Ｑ＋１＊sinθ４Ｑ＋１＝Ｌ
【００１２】
　ビームスプリッタ１００において、それぞれ屈折率ＮＭ、ＮＨ及びＮＬを有する薄膜は、伝搬角θＭ、θＨ及びθＬを有する。要素１１０及び１３０が同じ屈折率を有する場合、cosθ０はcosθ４Ｑ＋１に等しく、かつ伝搬角θＭ、θＨ及びθＬを用いることにより、数３に示すように、係数Ｗに対する式が簡素化される。入射角θ０（例えば４５°）及び屈折率ＮＭ、ＮＨ及びＮＬが、角度θＭ、θＨ及びθＬが数４を満たすようにする場合、係数Ｗは、１に等しく、ビームスプリッタ１００は、非偏光である。
【００１３】
【数３】
2004078211.tif 000004
【００１４】
（数４）
　（cosθＨ＊cosθＬ）／（cosθＭ＊cosθＭ）＝１
【００１５】
　光学品質の薄膜１２０に適した材料は、利用可能な屈折率を制限する。数４に対する例示的な解は、それぞれ材料Ｈ、Ｍ及びＬとして酸化アルミニウム（Ａｌ２Ｏ３）、酸化チタン（ＴｉＯ２）及びフッ化マグネシウム（ＭｇＦ２）を用いることによって、約６３３ｎｍの波長及び４５°の入射角θ０を有する光に対して非偏光ビームスプリッタ１００においてほぼ達成され得る。酸化チタン（ＴｉＯ２）は、約２．２７の屈折率ＮＨを有する。酸化アルミニウム（Ａｌ２Ｏ３）は、約１．６２の屈折率ＮＭを有し、フッ化マグネシウム（ＭｇＦ２）は、約１．３７の屈折率ＮＬを有する。この解に対する反射ビーム１５０の強さは、薄膜のグループの数Ｑに依存する。Ｑが５に等しい場合、Ｓ偏光に対する反射パワー比Ｒｓは約４８．１％であり、Ｐ偏光に対する反射パワー比Ｒｐは約５２．６％であり、これらは、５０％非偏光ビームスプリッタの多くの用途に適している。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
　前述した構造によれば、埋入型非偏光ビームスプリッタ１００は、Ａｌ２Ｏ３から形成された多数（例えば１０）の薄膜を有する。Ａｌ２Ｏ３からなる薄膜は、それらの周囲から水蒸気を吸収する可能性があり、結果として斑紋を生じる。この斑紋は、反射ビーム１５０及び透過ビーム１６０の位相特性に予測できない変化を与える可能性があり、Ａｌ２Ｏ３の多数の薄膜層による位相特性の変化の累積は、干渉計のような精密光学システムに対して許容できないレベルに達する可能性がある。したがって、Ａｌ２Ｏ３の薄膜層をわずかしか又はまったく持たない非偏光ビームスプリッタ、及び問題の材料からなる薄膜層をわずかしか又はまったく持たない非偏光ビームスプリッタを設計するための方法が求められている。
【課題を解決するための手段】
【００１７】
　本発明の態様によれば、非偏光ビームスプリッタは、薄膜層の複数のグループ、及び１つ又は複数の付加的な薄膜層を含む。薄膜のグループは、それ自体によって非偏光反射を行わないが、付加的な薄膜は、反射及び透過が非偏光であるように補償する。付加的な薄膜層は、Ａｌ２Ｏ３のような問題の材料の繰返し層を避けるのに必要な付加的な設計の自由度と融通性を提供する。
【００１８】
　本発明の特定の一実施形態は、埋入型非偏光ビームスプリッタである。ビームスプリッタは、複数の薄膜グループ及び１つ又は複数の付加的な薄膜を含む。それぞれの薄膜グループは、概して高い屈折率を有する第１の材料の層、中間の屈折率を有する第２の材料の２つの層、及び低い屈折率を有する第３の材料の層からなる。少なくとも１つの付加的な薄膜は、第１、第２及び第３の材料とは異なる第４の材料を含む。それぞれの付加的な薄膜及び薄膜グループ内の層は、分割される入射光ビームの波長の１／４に等しい光学的な厚さを有する。
【００１９】
　付加的な薄膜層は、ビームスプリッタの透過ビームの経路に沿って、薄膜グループの前に、それらの間に、又は後にあることができる。一般に、偶数の付加的な薄膜が、薄膜グループの隣接する対の間の空間を満たすが、任意の数の付加的な薄膜が、薄膜グループの前又は後にあってもよい。
【００２０】
　本発明のいくつかの例示的な実施形態におけるそれぞれの薄膜グループは、第１の材料である酸化チタン（ＴｉＯ２）の層と、第２の材料である酸化イットリウム（Ｙ２Ｏ３）の２つの層と、第３の材料であるフッ化マグネシウム（ＭｇＦ２）の層とからなる。薄膜グループにおける層の順序は変更できる。第１の付加的な薄膜層は、第４の材料である酸化アルミニウム（Ａｌ２Ｏ３）の層である。第１の付加的な薄膜層に隣接する第２の付加的な薄膜層は、必要な異なる材料の数を最小にするために、第１、第２又は第３の材料（例えばＹ２Ｏ３）から作成され得る。第１及び第２の付加的な薄膜層は、概して２つの薄膜グループの間の空間を満たす。これらの材料を用いた場合、約６３３ｎｍの波長を有する入射光の約５０％を反射する非偏光ビームスプリッタコーティングは、６つの薄膜グループ、及び第１及び第２の付加的な薄膜層からなる。約６３３ｎｍの波長を有する入射光の約３３％を反射する非偏光ビームスプリッタコーティングは、ＭｇＦ２のような材料から作成された最初の薄膜層、４つの薄膜グループ、第１の付加的な薄膜層、及び第２の付加的な薄膜層からなる。
【００２１】
　本発明の別の実施形態は、非偏光ビームスプリッタのための設計方法である。この方法は、薄膜グループに使用されるべき材料のセットを選択することから始まる。選択された材料を用いる薄膜グループは、非偏光反射を提供することができなくともよく、したがってもっとも望ましい特性を有する材料に限定され得る。薄膜グループが非偏光反射を提供できない程度まで、薄膜グループ及び１つ又は複数の付加的な薄膜からなる構造を選択することができる。構造の選択において、薄膜グループの数は、非偏光ビームスプリッタの所望の反射率にしたがって選択され得る。選択に利用できる構造は、付加的な薄膜の数及び位置について変化する。選択された構造に基づく計算により、非偏光ビームスプリッタに対する要件が示され、少なくとも１つの付加的な薄膜層のための少なくとも１つの屈折率が求まる。そして、計算された屈折率を有する材料を捜す。計算された屈折率の１つを有するものとして適切な材料が特定されない場合、薄膜グループに対する材料の別の選択を行なうことができ、又は別の構造が選択されて評価される。適切な材料が見付かった場合、波長に対する反射率の依存性は、薄膜グループにおける層の異なる順序、及び付加的な薄膜の薄膜グループに対する位置について評価され得る。最小の波長依存性を所望の反射率に提供する特定の材料及び層の順序を有する構造は、構成されることができ、実験的に評価され得る。
【発明の効果】
【００２２】
　本発明によれば、従来の非偏光ビームスプリッタの構成に使用されていたＡｌ２Ｏ３の薄膜層の数を大幅に低減することが可能となり、性能の優れた非偏光ビームスプリッタを構成することが可能となる。
【発明を実施するための最良の形態】
【００２３】
　異なる図面において同じ参照符合を用いて、類似又は同一の要素を示す。
【００２４】
　本発明の態様によれば、非偏光ビームスプリッタは、複数の薄膜グループ、及び１つ又は複数の付加的な薄膜を含む。それぞれの薄膜グループは、単独では非偏光反射を提供することができないが、繰返される薄膜グループと結合された付加的な薄膜は、非偏光反射を提供する。また、付加的な薄膜は、設計の自由度も増大させるので、望ましくない特性を有する薄膜を避けることができ、又は数を最小にすることができる。それぞれの薄膜グループは、一般に高い屈折率を有する材料の１つの層、低い屈折率を有する１つの層、及び中間の屈折率を有する２つの層を含む４つの層からなる。それぞれのグループにおける薄膜の順序は、中間の屈折率を有する材料の薄膜がすべて偶数番号を付けられた薄膜であり、又はすべて奇数の番号を付けられた薄膜であるようになっている。付加的な薄膜は、２つのグループの間に偶数の薄膜を含むことができ、及び／又は薄膜グループの前又は後に任意の数の付加的な薄膜を含むことができる。
【００２５】
　図２は、本発明の実施形態による非偏光ビームスプリッタ２００を示す。非偏光ビームスプリッタ２００は、光学要素１１０と１３０との間に、薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ、及び２２０−Ｙを含む。光学要素１１０及び１３０は、一般に任意のタイプの光学要素とすることができるが、ここで説明される本発明の例示的な実施形態において、光学要素１１０及び１３０は、ＢＫ−７ガラスのような光学品質の材料から作成された直角プリズムである。
【００２６】
　それぞれの薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ、及び２２０−Ｙは、薄膜を通る伝搬角における光路の長さが光の波長（例えば６３３ｎｍ）の１／４であるような厚さを有する。したがって、それぞれの薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ、及び２２０−Ｙの厚さは、薄膜の屈折率及び入力ビーム１４０の波長及び入射角θ０にしたがって厚さが変化する。薄膜２２０−１〜２２０−４Ｑは、４つからなるＱのグループに構成されており、それぞれの薄膜グループは、屈折率ＮＨを有する１つの薄膜、屈折率ＮＭを有する材料の２つの薄膜、屈折率ＮＬを有する１つの薄膜を含んでいる。屈折率ＮＨは、屈折率ＮＭより大きく、屈折率ＮＭは、屈折率ＮＬより大きい。付加的な薄膜２２０−Ｘ及び２２０−Ｙは、それぞれの屈折率ＮＸ及びＮＹを有し、隣接する薄膜グループｉとｉ＋１との間にある。
【００２７】
　ビームスプリッタ２００の構成によれば、数１の係数Ｕ及びＷが適用され、光学要素１１０及び１３０が同じ屈折率を有するとき、数５に示すように簡略化され得る。数５において、値Ｎ０、Ｎ１〜Ｎ４Ｑ、ＮＸ、ＮＹ及びＮ４Ｑ＋１は、要素１１０、薄膜２２０−１〜２２０−４Ｑ、薄膜２２０−Ｘ、２２０−Ｙ及び要素１３０のそれぞれの屈折率であり、値θ０、θ１〜θ４Ｑ、θＸ、θＹ及びθ４Ｑ＋１は、要素１１０、薄膜２２０−１〜２２０−４Ｑ、薄膜２２０−Ｘ、薄膜２２０−Ｙ及び要素１３０における透過ビームのそれぞれの伝搬角である。
【００２８】
【数５】
2004078211.tif 000005
【００２９】
　図３は、ビームスプリッタ２００を非偏光にする薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ及び２２０−Ｙの組合せを見付けるためのプロセス３００を示す。プロセス３００は、ステップ３１０において、斑紋形成のような悪い作用なしに、薄膜２２０−１〜２２０−４Ｑに使用され得る３つの材料Ｈ、Ｍ及びＬを選択することから始まる。ＴｉＯ２、Ｙ２Ｏ３及びＭｇＦ２は、光学品質の薄膜２２０−１〜２２０−４Ｑに適した材料の例である。薄膜２２０−１〜２２０−Ｎのために選択された材料Ｈ、Ｍ及びＬはそれぞれ、屈折率ＮＨ、ＮＭ及びＮＬを有し、これらの屈折率は、所定の入射角θ０に対するcosθＨ、cosθＭ及びcosθＬの値を制御する。
【００３０】
　ステップ３２０は、薄膜グループの数Ｑを選択する。数Ｑは、一般にビームスプリッタ２００の所望の反射率にしたがって選択される。次いでステップ３３０において、係数Ｕ又はＷが選択され、そしてステップ３４０は、選択された係数Ｕ又はＷを目標値（理想的には１）に等しくする屈折率ＮＸ及びＮＹ、又は伝搬角θＸ及びθＹを有する薄膜２２０−Ｘ及び２２０−Ｙの材料Ｘ及びＹのペアを探索する。使用される薄膜材料の数を低減するために、薄膜２２０−Ｘ又は２２０−Ｙは、薄膜グループに使用された３つの材料のうちの１つから作成され得るが、薄膜２２０−Ｘ又は２２０−Ｙのうちの少なくとも一方は、一般に薄膜グループに使用されない第４の材料から作成しなければならない。
【００３１】
　ステップ３４０のための１つの探索技術は、一方の薄膜２２０−Ｘ又は２２０−Ｙに対する材料（例えば屈折率ＮＭを有する材料）を選択し、選択された係数Ｕ又はＷを目標値に等しく又はほぼ等しくするために、他方の薄膜２２０−Ｙ又は２２０−Ｘに必要な屈折率を計算することである。図２の構造に関して、材料Ｘ及びＹは、ステップ３１０において選択された材料Ｈ、Ｍ及びＬに対して選ばれた係数Ｕ又はＷを１に等しくするために、数６の１つを満たさなければならない。数６は、薄膜２２０−Ｙ及び２２０−Ｘの項の比が、薄膜２２０−１から薄膜２２０−４Ｑまでの組合せた係数の乗法の逆数であることを示しており、付加的な薄膜Ｘ及びＹの屈折率が、薄膜グループの数Ｑに依存することを示す。
【００３２】
【数６】
2004078211.tif 000006
【００３３】
　必要な屈折率ＮＸ又はＮＹが薄膜２２０−Ｘ又は２２０−Ｙに適した材料の屈折率に等しい（又は近い）場合、ビームスプリッタを構成することができる。製造プロセスは、材料Ｈ、Ｍ又はＬの屈折率ＮＨ、ＮＭ又はＮＬをわずかに変化させ、数６の選ばれた１つを一層良好に満たすように、プロセスパラメータを調節することによってビームスプリッタの性能を改善することができる。ＴｉＯ２又はＹ２Ｏ３のような材料に不純物を加えることによって屈折率を変化させるための方法は、当該技術分野において知られている。
【００３４】
　材料Ｈ、Ｍ、Ｌ、Ｘ及びＹが選択されると、ステップ３５０は、種々の異なった層順序に対するビームスプリッタの反射率の波長依存性を評価する。数１〜数６は、目標波長における反射係数を示し、薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ及び２２０−Ｙの光学的な厚さが目標波長の１／４であることを必要とする。ビームスプリッタ２００のための製造プロセスにおける不正確、又は入射光ビームの波長における不正確は、ビームスプリッタ２００の反射率又は／及びビームスプリッタ２００が非偏光である度合いを変化させる可能性がある。理想的には、波長に関するビームスプリッタ２００の反射係数ｒｓ及びｒｐの関数依存性は、反射係数ｒｓ及びｒｐが等しく、目標波長においてゼロの傾斜を有するようになっているが、波長に関する反射係数ｒｓ及びｒｐの依存性は、特定の層順序を有する非偏光ビームスプリッタコーティングの性能を予測するために計算され得る。
【００３５】
　数１及び数５は、同じ反射係数ｒｐ及びｒｓを有する種々の層順序を特定するために検査され得る。数１及び数５において、偶数番目の薄膜２２０−２〜２２０−４Ｑ及び２２０−Ｙは、係数Ｕ及びＷに関する式の分子の項を提供し、奇数番目の薄膜２２０−１〜２２０−（４Ｑ−１）及び２２０−Ｘは、係数Ｕ及びＷに関する式の分母の項を提供する。したがって、特定の層が偶数の層であるか又は奇数の層であるかどうかを維持する層の任意の順序は、目標波長において同じ反射係数ｒｓ及びｒｐを有する。ビームスプリッタ２００において、奇数番目の薄膜２２０−１〜２２０−（４Ｑ−１）は、屈折率ＮＭを有し、偶数番目の薄膜２２０−２〜２２０−４Ｑは、屈折率ＮＨ又はＮＬを有する。したがって、材料Ｈ及びＬの位置は、目標波長におけるビームスプリッタ２００の反射率を変化させることなく、交換され得る。ビームスプリッタ２００は、それぞれの薄膜グループに対して材料の同じ順序（すなわちＭＨＭＬ）を使用するが、ビームスプリッタ２００における薄膜グループのいずれか又はすべてに対して材料の交代した順序（すなわちＭＬＭＨ）を使用することによって、数１の予測された反射係数は変化しない。同様に、１対の薄膜グループの間から別の対の薄膜グループの間に層２２０−Ｘ及び２２０−Ｙを動かすことによって、目標波長における反射係数は変化しない。材料の順序の変化又は変更（例えば、１つ又は複数の薄膜グループにおいてＨとＬを交換すること、又は別の対の薄膜グループの間に薄膜２２０−Ｘ及び２２０−Ｙを移動させること）は、波長に関する反射係数ｒｐ及びｒｓの関数依存性を変化させる可能性がある。
【００３６】
　図４は、薄膜グループｉにおける材料の順序を除いて、図２のビームスプリッタ２００と同じ非偏光ビームスプリッタ４００を示す。特に付加的な薄膜２２０−Ｘ及び２２０−Ｙに隣接する薄膜グループにおいて材料ＨとＬの順序を交換することにより、非偏光ビームスプリッタの性能又は波長依存性が改善されることがわかった。６３３ｎｍの光の約５０％を反射する非偏光ビームスプリッタ４００の例示的な実施形態は、６つの薄膜グループ（すなわちＱ＝６）、及び第３及び第４のグループの間（すなわちｉ＝３）に付加的な膜２２０−Ｘ及び２２０−Ｙを有する。この例示的な実施形態において、材料Ｈは、約２．３１の屈折率ＮＨを有する酸化チタン（ＴｉＯ２）である。材料Ｍ及び材料Ｘは、約１．７６の屈折率ＮＭを有する酸化イットリウム（Ｙ２Ｏ３）である。材料Ｌは、約１．３７の屈折率ＮＬを有するフッ化マグネシウム（ＭｇＦ２）である。材料Ｙは、約１．６２の屈折率ＮＭを有する（Ａｌ２Ｏ３）である。この結果、係数Ｕは約１．００であり、係数Ｗは約０．１６である。Ａｌ２Ｏ３の単一の層２２０−Ｙは、斑紋を生じた場合でさえ、Ａｌ２Ｏ３の多くの（例えば１０の）薄膜層を含むことがある従来の非偏光ビームスプリッタと比較したとき、依然として高レベルの性能を提供する。
【００３７】
　ビームスプリッタ２００（図２）又はビームスプリッタ４００（図４）の繰返されるグループにおける薄膜の順序に関する別の可能な変更は、偶数番目の薄膜２２０−１〜２２０−（４Ｑ−１）が屈折率ＮＭを有し、奇数番目の薄膜２２０−２〜２２０−４Ｑが屈折率ＮＨ又はＮＬを有するように、グループを変更することである。薄膜グループ内における材料Ｈ、Ｍ及びＬのこれらの順序（すなわちＨＭＬＭ及びＬＭＨＭ）に関して、必要な屈折率ＮＸ及び／又はＮＹの計算は、薄膜２２０−Ｘ及び２２０−Ｙの材料が交換されていることを除いて、上述のものと同じである。
【００３８】
　ビームスプリッタ２００及び４００は、２つの繰返されるグループの間に付加的な薄膜２２０−Ｘ及び２２０−Ｙの対を使用する。代案として、任意の偶数の付加的な膜を、繰返されるグループの間の１つ又は複数の位置に配置することができる。数１及び数６を検討することは、このような変更が非偏光ビームスプリッタに関する数６の左側の分子と分母に付加的な係数を加えることを意味する。２つより多い付加的な薄膜層を有する非偏光ビームスプリッタに対するビームスプリッタ２００及び４００の利点は、付加的な層が望ましくない特性を有する材料を含むことがある場合に、付加的な層の数を最小にすることである。
【００３９】
　図５は、薄膜２２０−１〜２２０−４ＱからなるＱのグループ、薄膜２２０−１〜２２０−Ｑのグループの前に付加的な薄膜層５２０−Ｚ、及び２つの薄膜グループの間に付加的な薄膜２２０−Ｘ及び２２０−Ｙを有する本発明の実施形態による非偏光ビームスプリッタ５００を示す。上述の実施形態におけるように、それぞれの薄膜２２０−１〜２２０−４Ｑ、２２０−Ｘ、２２０−Ｙ及び５２０−Ｚは、分割されるビーム１４０における光の１／４波長に等しい光学的な経路長さを有する。数７は、両方の光学要素１１０及び１３０が同じ屈折率Ｎ０を有する場合に、ビームスプリッタ５００の式の係数Ｕ及びＷを示す。
【００４０】
【数７】
2004078211.tif 000007
【００４１】
　図３のプロセス３００は、ビームスプリッタ５００に適した材料を決めることができる。特にステップ３１０は、ビームスプリッタの性能に悪い作用なしに繰返し使用され得る材料Ｈ、Ｍ及びＬを選択する。ステップ３２０は、所望の反射率にしたがって薄膜グループの数を選択する。ステップ３３０及びステップ３４０は、係数Ｕ又はＷを選択し、選ばれた係数Ｕ又はＷを目標値（例えば１）に等しくする材料Ｘ、Ｙ及びＺを探索する。係数Ｕ又はＷを１に等しくするために、材料Ｘ、Ｙ及びＺは、数８の１つを満たすそれぞれの屈折率ＮＸ、ＮＹ及びＮＺを有する。必要な材料が見付かると、波長への依存性を最小にするために、材料の種々の順序が評価され得る。
【００４２】
【数８】
2004078211.tif 000008
【００４３】
　ビームスプリッタ５００において繰返されるグループの薄膜の順序は、ビームスプリッタ２００（図２）について前述したものと同様に変更できる。特にそれぞれの及び任意のグループは、ビームスプリッタ５００を非偏光にする材料Ｘ、Ｙ及びＺに対する理論的な要件を変更することなく、順序ＭＨＭＬ又はＭＬＭＨを有することができる。代案として、順序ＨＭＬＭ及び／又はＬＭＨＭは、ビームスプリッタ５００を非偏光にするために材料Ｈ、Ｍ、Ｌ、Ｘ、Ｙ及びＺに必要な条件に関して容易に導出される変更とともに使用され得る。
【００４４】
　図６は、薄膜グループｉにおける薄膜の順序を除いて、ビームスプリッタ５００と同じである非偏光ビームスプリッタ６００を示す。入射光の約１／３を反射するビームスプリッタ６００の１つの例示的な実施形態は、４つの薄膜グループ（すなわちＱ＝４）を有し、それぞれ材料Ｈ、Ｍ及びＬのために材料ＴｉＯ２、Ｙ２Ｏ３及びＭｇＦ２を使用する。例示的な実施形態において、材料ＴｉＯ２、Ｙ２Ｏ３及びＭｇＦ２はそれぞれ、約２．２９、１．７３及び１．３６の屈折率を有し、これらの屈折率は、薄膜層を形成するプロセスパラメータの制御によって達成され得る。異なった材料の数を最小にするために、材料Ｚは、ＭｇＦ２であり、材料Ｌと同じであり、材料Ｘは、Ｙ２Ｏ３であり、材料Ｍと同じである。約１．６２の屈折率を有するＡｌ２Ｏ３を材料Ｙに選択することにより、係数Ｕがほぼ１に等しくされる。上述のように、Ａｌ２Ｏ３の単一の層は、Ａｌ２Ｏ３の多数の（例えば１０の）薄膜層を含むことがある従来の非偏光ビームスプリッタと比較した場合に、高レベルの性能を提供する。
【００４５】
　図７は、Ｑの薄膜グループに続いて１つ又は複数の付加的な１／４波長薄膜７２０−Ｒ〜７２０−Ｓを有する本発明の実施形態によるさらに別の非偏光ビームスプリッタ７００を示す。必要に応じて、非偏光ビームスプリッタ７００は、隣接する薄膜グループの１つ又は複数の対の間に偶数の付加的な薄膜２２０−Ｘ〜２２０−Ｙ、及び／又は薄膜グループの前に任意の数の付加的な薄膜５２０−Ｚを含む。付加的な薄膜７２０−Ｒ〜７２０−Ｓ、２２０−Ｘ〜２２０−Ｙ及び５２０−Ｚのうちの少なくとも１つは、繰返される薄膜グループの材料の屈折率とは異なる屈折率を有し、付加的な薄膜の屈折率と繰返される薄膜グループの材料の屈折率との間の理論的な関係は、数１から導き出され得る。
【００４６】
　コンピュータプログラムを用いて、図７に示すような種々の位置に付加的な薄膜ＮＸ、ＮＹ、ＮＺ、ＮＲ及びＮＳを有し、種々の異なった薄膜順序の薄膜グループを有する種々のビームスプリッタコーティング構造を評価することができる。特定の埋入型ビームスプリッタコーティング構造が、所望の波長範囲にわたって所望の性能をもたらす場合、その構造を有するビームスプリッタは、構成されてテストされ得る。製造上のばらつき又は他の不確定の要因によって、理論的に予測された特性を達成しない非偏光ビームスプリッタが製造される可能性がある。前述した材料を有する図４及び図６の構造はそれぞれ、干渉計のような精密システムに適した波長帯域に関して５０％及び３３％の非偏光ビームスプリッタを提供する。
【００４７】
　下記に示すプログラムリストは、繰返される薄膜グループにおける材料Ｈ、Ｍ及びＬに適した屈折率ＮＨ、ＮＭ及びＮＬを求めるプログラムのためにＣ言語コードを含む。それぞれのプログラムは、種々の薄膜構造／順序に対応しており、入力としてプログラムに対応する構造のための付加的な薄膜の屈折率（例えばＮＸ及びＮＹ）を有する。それぞれのプログラムは、対応する構造／順序に対して非偏光反射を提供する屈折率ＮＨ、ＮＭ及びＮＬの組合せのテーブルを生成する。屈折率ＮＨ、ＮＭ及びＮＬのテーブルは、非偏光ビームスプリッタの薄膜に適した利用可能な材料を使用して、何らかの組合せが製造され得るかを判定するために検査され得る。
【００４８】
　特定の実施形態に関連して本発明を説明してきたが、この説明は、本発明の適用例にすぎず、限定として解釈されるべきではない。開示された実施形態の特徴の種々の適用及び組合せは、特許請求の範囲によって定義されるような本発明の範囲内にある。
【００４９】
　プログラムＮＰＢＳ１〜ＮＰＢＳ７のプログラムリスト
ＮＰＢＳ１
//---------------------------------------------------------------------------
//Immersed NPBS Thin Film Index Calculation Program with Nx & Ny as additional layers
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
int pass, PASS_NUM, direction;
double index_inc, real_index_tf;
TNPBSForm *NPBSForm;
//---------------------------------------------------------------------------
__fastcall TNPBSForm::TNPBSForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm::CalculateNPBSClick(TObject *Sender)
{
RichEdit1->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, y_s, y_p, W, U, T, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB->Text);
NmUL = StrToFloat(NmULEB->Text);
Nx = StrToFloat(NxEB->Text);
Ny = StrToFloat(NyEB->Text);
Media = StrToFloat(MediaEB->Text);
TargetReflect = StrToFloat(TargetReflectEB->Text);
q = StrToFloat(NumPeriodEB->Text);
increment = StrToFloat(IncrementEB->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox->Checked == true)
{
y_s = SWR;
U = y_s;
}
T = (1 - L*L/(Nx*Nx))/(1 - L*L/(Ny*Ny));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = pow(Nm,4*q)*Ny*Ny/(Nx*Nx);
}
if(WCheckBox->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = U*pow(Nm,4*q)*Ny*Ny/(Nx*Nx);
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit1->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
　
void __fastcall TNPBSForm::UCheckBoxMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox->Checked = false;
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm::WCheckBoxMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox->Checked = false;
}
//---------------------------------------------------------------------------
ＮＰＢＳ２
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny & Nz (Nz as first layer)
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm2 *NPBSForm2;
//---------------------------------------------------------------------------
__fastcall TNPBSForm2::TNPBSForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm2::CalculateNPBS2Click(TObject *Sender)
{
RichEdit2->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Nz, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, k, y_s, y_p, U, W, T, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB2->Text);
NmUL = StrToFloat(NmULEB2->Text);
Nz = StrToFloat(NzEB2->Text);
Nx = StrToFloat(NxEB2->Text);
Ny = StrToFloat(NyEB2->Text);
Media = StrToFloat(MediaEB2->Text);
TargetReflect = StrToFloat(TargetReflectEB2->Text);
q = StrToFloat(NumPeriodEB2->Text);
increment = StrToFloat(IncrementEB2->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox2->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox2->Checked == true)
{
y_s = SWR;
U = y_s;
}
T = (((1 - L*L/(Nz*Nz))*(1 - L*L/(Nx*Nx)))/(1 - L*L/(Ny*Ny)))/(cos(incid_theta)*cos(incid_theta));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox2->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = (pow(Nm,4*q)*Ny*Ny/(Nx*Nx*Nz*Nz))*Media*Media;
}
if(WCheckBox2->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = U*(pow(Nm,4*q)*Ny*Ny/(Nx*Nx*Nz*Nz))*Media*Media;
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit2->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm2::UCheckBox2MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox2->Checked = false;
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm2::WCheckBox2MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox2->Checked = false;
}
//---------------------------------------------------------------------------
ＮＰＢＳ３
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny & Nz (Nz as last layer)
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm3 *NPBSForm3;
//---------------------------------------------------------------------------
__fastcall TNPBSForm3::TNPBSForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm3::CalculateNPBS3Click(TObject *Sender)
{
RichEdit3->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Nz, Na, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, k, y_p, y_s, U, W, V, T, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, j, i_num;
NmLL = StrToFloat(NmLLEB3->Text);
NmUL = StrToFloat(NmULEB3->Text);
Nz = StrToFloat(NzEB3->Text);
Nx = StrToFloat(NxEB3->Text);
Ny = StrToFloat(NyEB3->Text);
//Na = StrToFloat(NaEB3->Text);
Media = StrToFloat(MediaEB3->Text);
TargetReflect = StrToFloat(TargetReflectEB3->Text);
q = StrToFloat(NumPeriodEB3->Text);
increment = StrToFloat(IncrementEB3->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox3->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox3->Checked == true)
{
y_s = SWR;
U = y_s;
}
T = ((1 - L*L/(Nz*Nz))*(1 - L*L/(Nx*Nx)))/((1 - L*L/(Ny*Ny))*cos(incid_theta)*cos(incid_theta));
V = Nz*Nz*Nx*Nx/(Ny*Ny*Media*Media);
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
if(UCheckBox3->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), 2*q)*T;
g = V*pow(Nm, 4*q);
}
if(WCheckBox3->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), 2*q)*T;
g = U*V*pow(Nm, 4*q);
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit3->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm3::WCheckBox3MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox3->Checked = false; 
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm3::UCheckBox3MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox3->Checked = false; 
}
//---------------------------------------------------------------------------
ＮＰＢＳ４
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny, Nv & Nz as additional layers
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm4 *NPBSForm4;
//---------------------------------------------------------------------------
__fastcall TNPBSForm4::TNPBSForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm4::CalculateNPBS4Click(TObject *Sender)
{
RichEdit4->Lines->Clear();
double NmLL, NmUL, Nm, Nv, Nz, Nx, Ny, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, y_s, y_p, U, W, T, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB4->Text);
NmUL = StrToFloat(NmULEB4->Text);
Nv = StrToFloat(NvEB4->Text);
Nz = StrToFloat(NzEB4->Text);
Nx = StrToFloat(NxEB4->Text);
Ny = StrToFloat(NyEB4->Text);
Media = StrToFloat(MediaEB4->Text);
TargetReflect = StrToFloat(TargetReflectEB4->Text);
q = StrToFloat(NumPeriodEB4->Text);
increment = StrToFloat(IncrementEB4->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox4->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox4->Checked == true)
{
y_s = SWR;
U = y_s;
}
T = ((1 - L*L/(Nx*Nx))*(1 - L*L/(Nz*Nz)))/((1 - L*L/(Ny*Ny))*(1 - L*L/(Nv*Nv)));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox4->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = pow(Nm,4*q)*Ny*Ny*Nv*Nv/(Nx*Nx*Nz*Nz);
}
if(WCheckBox4->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), 2*q)/T;
g = U*pow(Nm,4*q)*Ny*Ny*Nv*Nv/(Nx*Nx*Nz*Nz);
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit4->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm4::WCheckBox4MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox4->Checked = false; 
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm4::UCheckBox4MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox4->Checked = false; 
}
//---------------------------------------------------------------------------
ＮＰＢＳ５
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny & Nz (Nz as first layer)
//Group structure is MHLA
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm5 *NPBSForm5;
//---------------------------------------------------------------------------
__fastcall TNPBSForm5::TNPBSForm5(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm5::CalculateNPBS5Click(TObject *Sender)
{
RichEdit5->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Nz, Nl, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, y_s, y_p, U, W, T, V, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB5->Text);
NmUL = StrToFloat(NmULEB5->Text);
Nz = StrToFloat(NzEB5->Text);
Nx = StrToFloat(NxEB5->Text);
Ny = StrToFloat(NyEB5->Text);
Nl = StrToFloat(NlEB5->Text);
Media = StrToFloat(MediaEB5->Text);
TargetReflect = StrToFloat(TargetReflectEB5->Text);
q = StrToFloat(NumPeriodEB5->Text);
increment = StrToFloat(IncrementEB5->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox5->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox5->Checked == true)
{
y_s = SWR;
U = y_s;
}
V = (Nz*Nz*Ny*Ny)/(Nx*Nx*pow(Nl, 2*q)*Media*Media);
T = (1 - L*L/(Nz*Nz))*(1 - L*L/(Ny*Ny))/((1 - L*L/(Nx*Nx))*pow(1 - L*L/(Nl*Nl), q)*cos(incid_theta)*cos(incid_theta));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox5->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), q)/T;
g = pow(Nm,2*q)/V;
}
if(WCheckBox5->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), q)/T;
g = U*pow(Nm,2*q)/V;
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
　
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit5->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm5::WCheckBox5MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox5->Checked = false;
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm5::UCheckBox5MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox5->Checked = false; 
}
//---------------------------------------------------------------------------
ＮＰＢＳ６
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny & Nz (Nz as last layer)
//Group structure is MHLA
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm6 *NPBSForm6;
//---------------------------------------------------------------------------
__fastcall TNPBSForm6::TNPBSForm6(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm6::CalculateNPBS6Click(TObject *Sender)
{
RichEdit6->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Nz, Nl, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, y_s, y_p, U, W, T, V, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB6->Text);
NmUL = StrToFloat(NmULEB6->Text);
Nz = StrToFloat(NzEB6->Text);
Nx = StrToFloat(NxEB6->Text);
Ny = StrToFloat(NyEB6->Text);
Nl = StrToFloat(NlEB6->Text);
Media = StrToFloat(MediaEB6->Text);
TargetReflect = StrToFloat(TargetReflectEB6->Text);
q = StrToFloat(NumPeriodEB6->Text);
increment = StrToFloat(IncrementEB6->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox6->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox6->Checked == true)
{
y_s = SWR;
U = y_s;
}
V = pow(Nl, 2*q)*Nx*Nx*Nz*Nz/(Ny*Ny*Media*Media);
T = (pow(1 - L*L/(Nl*Nl), q)*(1 - L*L/(Nx*Nx))*(1 - L*L/(Nz*Nz)))/((1 - L*L/(Ny*Ny))*cos(incid_theta)*cos(incid_theta));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox6->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), q)*T;
g = pow(Nm,2*q)*V;
}
if(WCheckBox6->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), q)*T;
g = U*pow(Nm,2*q)*V;
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit6->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm6::UCheckBox6MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox6->Checked = false; 
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm6::WCheckBox6MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox6->Checked = false; 
}
//---------------------------------------------------------------------------
ＮＰＢＳ７
//Immersed NPBS Thin Film Index Calculation Program with Nx, Ny, Nv & Nz
//Group structure is MHLA
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#pragma hdrstop
#include "NPBSPage7.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TNPBSForm7 *NPBSForm7;
//---------------------------------------------------------------------------
__fastcall TNPBSForm7::TNPBSForm7(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm7::CalculateNPBS7Click(TObject *Sender)
{
RichEdit7->Lines->Clear();
double NmLL, NmUL, Nm, Nx, Ny, Nv, Nz, Nl, Media, TargetReflect, q, increment;
double incid_theta, SWR, L, y_s, y_p, U, W, T, V, c, g, aH, aL, nH, nL;
double pi = 3.14159265;
int i, i_num;
NmLL = StrToFloat(NmLLEB7->Text);
NmUL = StrToFloat(NmULEB7->Text);
Nz = StrToFloat(NzEB7->Text);
Nv = StrToFloat(NvEB7->Text);
Nx = StrToFloat(NxEB7->Text);
Ny = StrToFloat(NyEB7->Text);
Nl = StrToFloat(NlEB7->Text);
Media = StrToFloat(MediaEB7->Text);
TargetReflect = StrToFloat(TargetReflectEB7->Text);
q = StrToFloat(NumPeriodEB7->Text);
increment = StrToFloat(IncrementEB7->Text);
incid_theta = pi/4;
i_num = (int)((NmUL - NmLL)/increment);
SWR = (1 + sqrt(TargetReflect/100))/(1 - sqrt(TargetReflect/100));
L = Media*sin(incid_theta);
if(UCheckBox7->Checked == true)
{
y_p = SWR;
W = 1/y_p;
}
if(WCheckBox7->Checked == true)
{
y_s = SWR;
U = y_s;
}
V = (Nv*Nv*Ny*Ny*Media)/(pow(Nl, 2*q)*Nz*Nz*Nx*Nx*Media);
T = ((1 - L*L/(Nv*Nv))*(1 - L*L/(Ny*Ny))*cos(incid_theta))/(pow(1 - L*L/(Nl*Nl), q)*(1 - L*L/(Nz*Nz))*(1 - L*L/(Nx*Nx))*cos(incid_theta));
Nm = NmLL - increment;
for(i= 1; i<= i_num; i++)
{
Nm += increment;
//Ny = Nm; //for four material design
if(UCheckBox7->Checked == true)
{
c = W*pow(1 - L*L/(Nm*Nm), q)/T;
g = pow(Nm,2*q)/V;
}
if(WCheckBox7->Checked == true)
{
c = pow(1 - L*L/(Nm*Nm), q)/T;
g = U*pow(Nm,2*q)/V;
}
aL = (1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))/(2*L*L) +
sqrt((1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q))*(1 + L*L*L*L*pow(g, -1/q) - pow(c, 1/q)) -
4*L*L*L*L*pow(g, -1/q))/(2*L*L); //minus root
aH = pow(g, -1/q)/aL;
nL = 1/sqrt(aL);
nH = 1/sqrt(aH);
RichEdit7->Lines->Add(" " + FloatToStrF(Nm, ffFixed, 15, 4) +
" " +
FloatToStrF(nH, ffFixed, 15, 4) + " " + FloatToStrF(nL, ffFixed, 15, 4));
}
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm7::UCheckBox7MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
WCheckBox7->Checked = false; 
}
//---------------------------------------------------------------------------
void __fastcall TNPBSForm7::WCheckBox7MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
UCheckBox7->Checked = false; 
}
//---------------------------------------------------------------------------
【図面の簡単な説明】
【００５０】
【図１Ａ】既知の埋入型非偏光ビームスプリッタを示す図である。
【図１Ｂ】既知の埋入型非偏光ビームスプリッタを示す図である。
【図２】薄膜の繰返されるグループの間に偶数の付加的な薄膜を含む本発明の実施形態による埋入型非偏光ビームスプリッタを示す図である。
【図３】本発明の実施形態による埋入型非偏光ビームスプリッタを設計するためのプロセスのフローチャートである。
【図４】薄膜の繰返されるグループの間に偶数の付加的な薄膜、及び繰返されるグループの１つ又は複数内における異なった順序を含む本発明の実施形態による埋入型非偏光ビームスプリッタを示す図である。
【図５】薄膜の繰返されるグループの前に付加的な薄膜を含む本発明の実施形態による埋入型非偏光ビームスプリッタを示す図である。
【図６】薄膜の繰返されるグループの前に付加的な薄膜、及び繰返されるグループの１つ又は複数内における異なった順序を含む本発明の実施形態による埋入型非偏光ビームスプリッタを示す図である。
【図７】一連の繰返される薄膜グループの後に付加的な薄膜を有する本発明の実施形態による埋入型非偏光ビームスプリッタを示す図である。
【符号の説明】
【００５１】
110　第１の光学要素
130　第２の光学要素
140　入射ビーム
220　薄膜
520、720　付加的な薄膜層
Ｈ　高い屈折率の材料
Ｍ　中間の屈折率の材料
Ｌ　低い屈折率の材料
【図１Ａ】
2004078211.tif 000009
【図１Ｂ】
2004078211.tif 000010
【図２】
2004078211.tif 000011
【図３】
2004078211.tif 000012
【図４】
2004078211.tif 000013
【図５】
2004078211.tif 000014
【図６】
2004078211.tif 000015
【図７】
2004078211.tif 000016