• 161 Topics
  • 228 Replies

161 Topics

【Q&A】使用Zemax软件更快实现立方体卫星的设计与迭代

感谢大家对 Zemax 的关注与支持!我们将在以下时间开展本次的网络研讨会,您可以通过以下链接进行本研讨会的注册。并且,您可以在 Zemax 社区论坛上,事先或者在研讨会结束后针对本次研讨会内容对演讲者进行提问,感谢您对于本次主题的关注! 时间:2022年4月20日(周三)14:00-14:45 参与链接: https://register.gotowebinar.com/register/6742589453100818955?source=community 内容摘要:“立方体卫星(CubeSats)”纳卫星被用于微型技术的在轨演示、小型有效载荷主导的任务以及科普教育活动中。这类卫星通常设计为立方体单元1U cubes(=10 cm x 10cm x 10cm)标准化尺寸,随载荷卫星尺寸可在1U到6U之间变化。由于这类卫星的部署成本较低,常被用作航天领域基于太空的光学系统低成本解决方案。立方体卫星的设计流程包含系统光学设计,封装光机结构设计,在轨运行结构和热的影响。本次研讨会中,我们会展示Zemax的一系列软件是如何应用在CubeSat设计的各个流程。我们首先利用Zemax OpticStudio进行光学部分的设计,并利用Zemax OpticsBuilder将光机固定件应用到设计中,利用Ansys软件执行FEA分析,并展示如何利用OpticStudio的STAR模块使用FEA数据检视对系统的影响。通过本次研讨会您将了解到如何把这些离散的模拟步骤整合到Zemax软件当中。 演讲者:张玲,Ansys Zemax 高级应用工程师

如何使用ZPLM提取analysis window里面的数据进行优化

先说明,ZOS 是怎么做优化的:通常会用透镜的一个暂时副本对评价函数进行评估 计算。在评价函数计算结束后,透镜的副本以及任何 对 镜头数据的改变都将 被 舍弃 。因而,在执行 ZPLM操作数 调用的宏 的过程中,镜头数据不能做任何改变。 这些 改变 将不会被保留,并且 可能会妨碍 在 同一评价函数中 ZPLM操作数 之后的操作数 的计算。 OpticStudio将无法 恢复到 ZPLM指定的宏计算之前的镜头状态。 如果 刻意 在后面的 操作数 计算 之前故意使用宏来改变镜头数据,那么应该执行两个宏。 第一个应该按需要修改数据,第二个应该重建原始条件下的数据。两个宏都可以列在评价函数编辑器中, 期间的操作数将在修改后的镜头数据基础上执行 。操作用户界面的宏命令,例如CLOSEWINDOW、 WINL()和 GETT()在此 是无效的。这一限制的原因是 这些命令从用户界面中反映 的 单一系统副本中获取信息。因此,即使 ZPLM宏更新系统副本,用户界面显示的主系统副本也不会被更新。出处: The Optimize Tab (sequential ui mode) > Optimization Overview > User Defined Operands (optimization overview) > Changes Made to the Lens from within the ZPLM Marcro 所以用以上操作数行不通,但是可以使用GETTEXTFILE获得即时的数据然后进行优化。附件以畸变为例,进行了优化。打开ZAR文件之后可以看到ZPL08.供大家参考使用

关于Opticstudio选用核数跟优化速度的关系

如果一台计算机使用多个CPU进行计算,系统并不总是需要使用所有的CPU.下面的图片显示了一个多CPU/线程工作方式的例子。有些计算只由一个CPU/线程(母线程)执行。 在这段时间里,CPU的利用率很低。有些部分需要多个CPU/线程(平行区域)。 在这段时间里,CPU的利用率很高。如果在OpticStudio中为计算配置了N-cores,OpticStudio不会就获得N-cores。这是因为操作系统决定了应用程序可以使用多少个内核。OpticStudio将根据配置从Windows请求资源。在大多数情况下,OpticStudio并不能获得所有的资源。在计算方面,更多的内核并不意味着更快的计算。这取决于你在做什么样的计算。 如果计算不需要这么多的资源,而且核心/线程的数量超过了需要,那么将数据分配给每个线程的时间会更长。您可以设置OpticStudio在计算过程中可以使用的内核数量。 然而,如上所述,你将只得到所要求的一部分资源。有一个平行计算的理论叫做阿姆达尔定律。X轴代表处理器的数量。Y轴代表加速。不同的颜色代表方案/计算的视差部分的显示。可以看出,使用2到32个内核可以提高速度,但使用更多的内核并不能提高很多速度。就实际计算而言,它更为复杂。可能影响速度的因素有:核心数量、光学系统(有多少种计算可以并行进行)、OpticStudio可以获得的资源数量,由操作系统决定硬件规格等。以上只是可能影响速度的一般因素。 

使用全像元件建立擴瞳光波導 (Exit Pupil Expansion)

在下面的文章中,我們介紹了如何建立一個使用表面浮雕光柵(SRG)的EPE裝置。然而,這文章的內容其實對全像光柵並不適用。How to simulate exit pupil expander (EPE) with diffractive optics for augmented reality (AR) system in OpticStudio: part 1OpticStudio目前內建使用的Kogelnik模型不能用於EPE波導系統。下面我們將解釋原因並提供一個變通的辦法,以及對應使用的DLL。注意這裡介紹的方法是基於一些假設的,因為本身一定會存在一些不確定性。下面會一併解釋。在Kogelnik的方法中,它假設全像底片的材料本身及其環境的折射率是相同的。即使在全像條紋形成後,平均折射率仍是相同的。 但問題就在這裡,實際上,我們的全像材料是塗在一個基板上的,基本有自己的折射率,而材料的另一個可能是另一個基本或直接接觸到空氣。總之折射率不可能一樣。 在這種狀況下,我們可以想像,光線在進入全像材料時,會先需要考慮折射,進入到全像區域,接著在全像區域內發生繞射,然後這些光線離開時,又要再經歷一次折射。注意這個模型主要是幫助理解,實際發生的狀況是光在這邊有複雜的干涉行為。但是這個模型大致上正確,很適合拿來解釋。依照剛剛說的方式運作,我們很快可以發現,在一些條件下,光線是可以被TIR而無法離開全像區域的。問題就是這個現象在Kogelnik方法中是沒有定義的,我們沒有一個非常理論化的方法去計算此時的繞射效率應該如何。 注意不只是反射式全像,穿透式也會發生這個問題。 另外不只是零階光,一階光也是會有這個問題。在附件的檔案中,我們用了兩個假設去加強Kogelnik方法的適用性。這兩個假設為如果一階繞射光不存在,則所有能量被零階光帶走。 如果零階光遇到TIR,那就走反射方向。模擬的結果如下:打開ZAR後,相應的DLL會被自動解壓縮到對應的資料夾。注意這個DLL有一些限制,如下:他是基於假設的,所以理論上有一些不確定性。 必須訂閱版授權才能使用。 這個DLL只能用在OpticStudio 21 或 22 版。如果有更多關於全像模擬的問題可以參考下面的文章。Simulating diffraction efficiency of a volume holographic gratin

模擬同調長度(Coherence Length)的另一種方式

在OpticStudio中,我們有下面的同調長度模擬功能。這個功能的基本原理是依據相應頻譜,亂數擾動每一條光線的波長來達到考慮頻譜的目的。但在這篇文章說,我們要要紹另一種方法。這個方法假設不同波長的光線無法互相干涉。由於光波的頻率非常高,高過幾乎所有sensor能偵測的極限,這個假設基本上可以說是正確的。基於這個假設,我們可以得到一個結論,就是對於一個有多波長的光源,其干涉結果的計算其實就單純是每個波長各自把干涉圖案算出來後,直接把照度用對應權重相加。下面有對於不同波長為什麼不同互相干涉,用比較數學的形式去解釋。 目前沒有工具可以分別計算個別波長的干涉圖形並相加,因此我們要利用MATLAB透過ZOS-API來自動化這一過程。各位可以打開附件的麥克森干涉儀的檔案如下。注意光源的Coherence Length是設為0,這邊我們不使用內建功能,設為0代表關閉。首先在允許OpticStudio被連結下面螢光筆圈起來的地方需要使用者自己設定。detnum代表你要觀察繞射圖形的Detector Rectangle的物件編號。 wavenum是光源的參數Wavenumber,建議是明確指定對應的波長編號,而不要用預設0。   n_smooth的使用方式跟Detector Viewer中的同名參數一樣。   wave_FWHM是高斯分布的半高全寬,我們這裡假設光源頻譜是高斯分布。一般來說這對於LED或LD都是大致正確的。 wave_center是高斯分布的中心波長。注意因為高斯分布其實是在頻率空間,所以在波長空間中劃出來看起來會像是有點歪的樣子。 spect_samp是你想要取樣頻譜的點數量。取越多越準確,但是越慢。 以下是模擬結果。 Enjoy!

斜切光纖的模擬

此文章包含以下內容:* 前言* 範例1:Ball coupling* 範例2:Conic interconnect前言在計算光纖耦合時,我們事實上無法計算光在單模光纖內的傳播,只能計算雷射經過系統後,有多少能量可以順利進入到單模光纖並在內部穩定前進而 (理想上) 不耗損能量,也就是耦合的效率。無法計算光在單模光纖內部行為的原因是單模光纖的尺度接近耦合光的波長,屬於波導而不是單純的光導管,此時光線或自由空間的純量傳播 (POP) 計算都不正確。也因此在計算耦合效率時,我們需要先知道:符合什麼條件的光才能順利進入波導傳播。對於口徑較大的多模光纖來說,這個條件是每一條光線的入射角度必須在指定NA之內。但對於單模光纖,這個條件則是整個光束 (beam) 在單模光纖端口的複數振幅分布,也就是模態,必須符合一定分佈。當入射光到達此光纖入口切平面時,複數振幅分布中不符合該模態的部分會在光纖中傳播時消逝,而無法到達另一端。以未斜切的單模光纖來說,這個可傳播模態即是高斯分布。但在實務上,常常我們會考慮讓光纖端面斜切,這有許多好處,例如反射光不會回到雷射造成系統不穩。當光纖有斜切的時候,可接受的入射模態就會改變。嚴格意義上來說,必須使用專門的軟體求解,例如OptiWave。當這類軟體計算出一個特定複數振幅分布後,即可以輸入OpticStudio模擬並優化耦合透鏡。這是最理想的狀況。在 “如何匯入波導模態資料到 Zemax 中 (How to Get Real Waveguide Mode Data Into Zemax)” 這篇知識庫文章提供了在 OptiWave 軟體中計算出有斜切跟沒有斜切的SMF-28光纖模態,並示範怎麼匯入OpticStudio進行耦合效率計算。而當我們沒有任何方式可以取得斜切光纖的模態時,則需要一些近似計算。光纖端面有斜切時,對入射的光線來說會有稜鏡的效果,也就是光束進入光纖時會被折射,不再是正向進入光纖,造成耦合效率下降。理論上,只要我們能調整整個光纖的角度,讓光束折射後,正好是正向進入光纖,就可以重新提高耦合效率。以下我們將舉例說明如何用一個Tilted面以及像面的搭配來模擬斜切的稜鏡效應,並且說明如何加入光纖的旋轉來補償效率的下降。範例1:Ball coupling以下讓我們開啟範例檔:\Documents\Zemax\Samples\Sequentia

圖解Ray Database Viewer中Segment的參數

本文章旨在說明Ray Database 分析結果中出現的相關名詞與標示,包含Ray、Segment、Path、Prnt、Levl、In、Hit等等。首先我們設定一個簡單的系統以便說明,這個系統設定如下: 使用Source Ray,並設定#Layout Rays以及#Analysis Rays。這會讓系統僅追跡一條光線,方便我們觀察光線分裂 (Ray Split) 與線段 (Segment) 的關係。物件2與3是兩片BK7平板。Minimum Relative Ray Intensity = 0.005,當光線能量相對於從光源出發時的比例低於此值時,將會停止追跡,此時該光線能量會計入Energy Lost (Threshold) 並顯示在Ray Trace視窗的下方。打開3D Layout並確認勾選 “Use Polarization” 、 “Split NSC Rays” 以及 “Fletch Rays” ,Layout上的追跡結果如下圖 打開Analyze > Ray Database Viewer,打開設定對話框,取消勾選XYZ,勾選Path  設定後點選OK,可以看到如下資訊 表中列出Ray 1在系統分裂後的線段 (Segment) 詳細資訊,Seg# 欄位代表線段編號,光源本身代表Seg# = 0,每一次光線與物件交錯後若有反射、折射、繞射、散射等行為,即產生新的線段,表中線段編號如下 從Ray Database Viewer的報告中可以看到,此光線追跡後共產生16個線段 (Segment),7個分支 (Branch),分支的意思是 “光線從光源追跡到停止為止” 算一個分支,不同的分支可能會包含同樣的中間線段,但最後一個線段一定是不同的。舉例來說,上圖中的分支共有以下17個:Branch1: 0 > 1 > 2 > 3 > 4 > 5Branch2: 0 > 1 > 2 > 3 > 4 > 6 > 7Branch3: 0 > 1 > 2 > 3 > 8 > 9 > 10Branch4: 0 > 1 > 2 > 3 > 8 > 11Branch5: 0 > 1 > 2 > 12 > 13Branch6

公差分析時會看到的Root Sum Square (RSS) 有什麼意義?

簡介在本知識庫中的 “如何進行序列模式公差分析” 這篇文章中,我們簡單說明了RSS的計算方式如下:在所有公差單獨計算之後,OpticStudio可以計算各種不同的統計資料,其中最重要的就是 "Estimated Change" 以及 “Estimated Performance” (本範例中為Estimated RMS Wavefront)。Zemax使用RSS (Root Sum Square) 方法來計算品質的Estimated Change。對於每一個公差操作數,相對於原始設計的評價標準改變量之計算方法是最大與最小公差的評價標準改變各自平方,然後再取平均。最大與最小值之所以取平均是因為它們不可能同時發生,如果相加的話會導致過分悲觀的預測。我們將用公差統計中的堆疊問題 (Stack Up) 說明 RSS 的計算。堆疊問題問題的描述是這樣的:想像我們有5個木板要疊在一起,並需要估計疊在一起的總厚度。已知每一片木板的厚度都有些許不同 (現實世界總是會有誤差!),每片木板的厚度大約在25 mm加減0.1 mm的範圍內隨機分布。假設這些木板的厚度機率是常態分布,中心是25 mm,機率最大,25.1 mm跟24.9 mm的機率則是e^-2,剛好會是距離中心兩倍標準差 (sigma) 的位置,畫出來如下圖。 好,所以現在問題是,如果我們疊了5塊木板以後,厚度的機率分布會變成怎樣? 答案是125 mm加減0.224  mm。並且也會是常態分佈。以125作為中心,125.224與124.776的位置發生機率恰好是e^-2。換句話說,整個系統的總厚度:1. 也是常態分佈。2. 常態分佈中心剛好是每塊木板的各自機率分佈的中心的總合:5+5+5+5+5=125。3. 整個系統常態分佈機率為e^-2的地方,會是每塊木板各自常態分佈為e^-2時的偏差值 (deviation) 各自平方後、再加總、再開根號,也就是所謂的Root Sum Square (RSS),你可以在Excel中輸入這右邊這串計算來驗證:sqrt(0.1^2+0.1^2+0.1^2+0.1^2+0.1^2)。答案正是0.224。詳細的證明可以參考Wiki的說明:https://en.wikipedia.org/wiki/Sum_of_normally_distributed_random_variables解讀與假設看

如何模擬光學低通濾波器 (Optical Low Pass Filter)

簡介光學低通濾波器 (optical low-pass filter, OLPF) 廣泛應用於高階成像系統中,通常放置在CCD或COMS的前方。主要的功能是過濾影像中特定的空間頻率,避免因為空間頻率跟感測器取樣頻率過於接近時,因為發生混疊 (Aliasing) 而造成摩爾紋 (Moiré)。解決這種問題可能的做法有好幾種,目前最為符合量產可行性的常見作法之一就是利用雙折射晶體把光路分裂,透過控制分裂距離,來消除特定的空間頻率。經過光學低通濾波器處理系統,反應在MTF上的效果就是特定頻率的對比會下降,如同我們使用IR-CUT削去紅色波長一樣,OLPF也可以過濾不希望出現的空間頻率。建立雙折射晶體這邊我們打開內建範例: \Documents\Zemax\Samples\Sequential\Objectives\Double Gauss 28 degree field.zmx我們將會在像面 (IMAGE) 之前建立光學低通濾波器的結構,示意圖如下: 要建立這個結構,我們在LDE中新增五個面,並設定如下: Surface 12: Birefringent InThickness: 0.1Material: CALCITEY-cosine: 1Z-cosine: 1Surface 13: Birefringent OutThickness: 0.1Surface 14: Jones MatrixThickness: 0.1A (real, image) = (1, 1)B (real, image) = (1, -1)C (real, image) = (1, -1)D (real, image) = (1, 1)Surface 15: Birefringent InThickness: 0.1X-cosine: 1Z-cosine: 1Surface 16: Birefringent OutThickness: 0.1由於在像面之前加上幾片玻璃,我們需要重新對焦,因此這裡打開Quick Adjust,調整透鏡最後一個面的厚度,如下: 最後打開多重組態編輯器,並設定如下。 由於在序列模式中我們無法讓光線分裂,因此要模擬雙折射分裂,必須使用多重組態來模擬。每個雙折射晶體都會依據偏振方向分裂為兩個光路,兩個雙折射晶體共會有4個組合,關於雙折射晶體的設定與模擬方式請參考Help文

用Zemax OpticStudio模擬投射式車燈 (分析色散)

本範例將會示範在Zemax OpticStudio模擬一個初步簡易的投射車燈,主要目的在於介紹各種模擬中使用者可能會用到的功能,包含Lens Catalog、光源建模、光源頻譜、拋物面建模、設置探測器、色彩分析以及照度分析。簡介本文章介紹如何在Zemax OpticStudio中模擬投射式車燈,主要分為以下章節:    使用透鏡資料庫 (Lens Catalog)    建立拋物面物件    建立鎢絲光源,設定黑體輻射頻譜    建立擋板物件    設定探測器    追跡並檢視結果我們的最終架構將如下: 建立橢圓反射面橢圓反射面可以把其中一個焦點的光線反射到另一個焦點。 我們透過Standard Surface來建立。 參數設定如下:Material:MIRRORRadius:30.165Conic:-0.712Maximum Aper:50 建立光源我們將建立帶有黑體輻射頻譜的鎢絲光源,首先是光源的外型,新增物件定設定如下:Object 2: Source FilamentX Position:3Z Position:16.126Tilt About Y:-90Layout Rays:100Analysis Rays:2E7Length:5Radius:0.6Turns:8接下來點一下 NSCE 上灰色的 Object Properties選擇 Source 並設定黑體輻射頻譜如下圖:Source Color: Black Body SpectrumTemp (K): 5000Spectrum: 7、Wavelength From 0.44 To 0.64 備註:    OpticStudio 內建許多常見的頻譜模型,例如黑體輻射、LED、D65 標準白光等    也可以根據三色刺激值、色座標、sRGB 等資訊模擬頻譜    有需要也可以使用純文字文件夾自行定義 備註2:想要確認頻譜的時候,可以到Libraries > Source Spectrum Plot,輸入與剛剛一樣的頻譜設定   如所見到的,Source Spectrum Plot 用繪圖方式讓你瞭解剛剛的光源頻譜是如何設定的,這是個很方便的工具。你可以試著改變參數看看,如下圖:現在回到3D Layout設定,設定Color Rays: Wavelength,可以看到如下:  備

Badge winners

  • Allow me to introduce myself
    Sean Turnerhas earned the badge Allow me to introduce myself
  • Allow me to introduce myself
    saifhas earned the badge Allow me to introduce myself
  • Visibly Un-Polarized
    chaasjeshas earned the badge Visibly Un-Polarized
  • Visibly Un-Polarized
    Sean Turnerhas earned the badge Visibly Un-Polarized
  • Allow me to introduce myself
    Davidhas earned the badge Allow me to introduce myself
Show all badges