宋 璐 衛亞博 馮艷平
(1.陜西中醫藥大學醫學技術學院 咸陽 712046)(2.平頂山學院 平頂山 467000)(3.鄭州職業技術學院 鄭州 450121)
衍射現象是物理光學中重要的現象,它是光的波動性的充分體現[1]。但是衍射的理論知識比較抽象,若能采用一些實驗,直觀地為學生演示出衍射現象的產生過程與結果,將會使課堂教學變得更加的生動形象。但由于傳統的光學實驗儀器體積較大,對操作者的要求高,搭建復雜光路和調試實驗儀器耗費時間長,所以使用普通光學實驗儀器來進行課堂教學難度較大[2]。文獻[3~5]介紹了基于Matlab 的衍射仿真方法,改進了傳統的演示方式,結果也較為直觀形象,但由于需要使用Matlab程序來實現,對操作者要求較高,對于毫無編程經驗的學生來說,想要獨立操作或者是修改仿真參數,將會是一件難以實現的事情。而文獻[6]提出了一種基于GUI的衍射仿真方法,能夠將多種衍射現象集成在一個操作界面上,使得操作簡單,但不能自行修改仿真參數。
為此,設計了基于GUI 的Matlab 程序,不僅能夠實現多種夫瑯禾費衍射的仿真集成在一個界面上,還可以任意修改仿真參數,使系統的可操作性大大提高,有助于學生對夫瑯禾費衍射現象的理解。
在衍射中,若是光源與衍射屏、衍射屏與接收屏之間的距離為有限遠,則稱為菲涅爾衍射;若是光源與衍射屏、衍射屏與接收屏之間的距離為無限遠,則稱為夫瑯禾費衍射。借助惠更斯-菲涅耳原理可以解釋和描述光束通過各種形狀的障礙物時所產生的衍射現象。如果將波面S 上所有面積元在P 點的作用加起來,即可求得波面S 在P 點所產生的合振動[7]:

或寫成復數形式:

式(1)稱為菲涅爾衍射積分。
通過菲涅爾衍射積分可以得到衍射光波場的光振動特點以及光強分布,但是光強分布的解析解需要通過適當的近似處理,進行衍射積分的計算。對于夫瑯和費衍射,通過簡單的計算可得到比較精確的衍射光強分布,具體可以參考文獻[8]。
Matlab 矩陣實驗室(Matrix Laboratory)是美國MathWorks 公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。它以矩陣作為基本數據單位,提供了眾多的工具箱,是通用的科學計算、數值仿真及數據可視化的重要工具[9~12]。
這里以夫瑯和費單縫衍射為例,利用Matlab的.m 文件編程實現了衍射的仿真,其理論依據可參考文獻[13],文中不再贅述。
假設波長為500nm,縫寬為1mm,透鏡到屏幕的距離為1m,使用Matlab 仿真的夫瑯和費衍射圖像如圖1所示。
當需要頻繁修改程序參數時,使用程序法實現仿真就會變得非常復雜,對使用者的要求提高,使得學生這樣的初學者難以獨立完成。所以,如果能針對此開發出通用的圖形用戶交互界面,只需輸入一些基本參數,無需復雜的程序設計,就可以實現菲涅爾和夫瑯和費衍射的仿真,對于學生來說,將會非常有意義。

圖1 夫瑯和費單縫衍射仿真結果
基于Matlab GUI 設計的夫瑯禾費衍射仿真系統界面如圖2 所示,用戶可以根據需要選擇各種衍射類型,再輸入合適的參數,點擊執行仿真按鈕,即可查看各種衍射結果。

圖2 夫瑯禾費衍射仿真系統界面
選擇矩孔衍射,輸入各個參數的具體數值,假設各參數如圖2 所示,點擊執行仿真按鈕,寬度和長度均為0.5mm 的矩孔仿真結果如圖3 所示,具體設計可參考文獻[14~15]。

圖3 矩孔衍射仿真結果(寬度0.5mm,長度0.5 mm)
選擇圓孔衍射,輸入波長500nm,圓孔半徑1mm,焦距為1m,點擊執行仿真按鈕,圓孔仿真結果如圖4所示。

圖4 圓孔衍射仿真結果
可以看出,該系統運行穩定,相較于采用程序設計的方法,基于GUI 的仿真系統操作簡單,結果直觀清晰。
采用Matlab GUI作為仿真平臺,設計了夫瑯禾費衍射仿真系統。通過對不同情況的實驗現象和仿真結果的比較,可以看出該系統運行結果與衍射理論相符,具有操作簡單,響應速度快,結果形象直觀等特點,使得不具備編程能力的學生也可以獨立操作。此外,該系統不受儀器和場地的限制,通過改變一些參數即可獲得不同條件下的衍射圖樣和光強分布曲線,使得光學的課堂教學變得生動形象,對促進學生對光學的學習有積極的意義,實現了大學物理教學的現代化。