宋 璐 衛(wèi)亞博 馮艷平
(1.陜西中醫(yī)藥大學(xué)醫(yī)學(xué)技術(shù)學(xué)院 咸陽 712046)(2.平頂山學(xué)院 平頂山 467000)(3.鄭州職業(yè)技術(shù)學(xué)院 鄭州 450121)
衍射現(xiàn)象是物理光學(xué)中重要的現(xiàn)象,它是光的波動(dòng)性的充分體現(xiàn)[1]。但是衍射的理論知識(shí)比較抽象,若能采用一些實(shí)驗(yàn),直觀地為學(xué)生演示出衍射現(xiàn)象的產(chǎn)生過程與結(jié)果,將會(huì)使課堂教學(xué)變得更加的生動(dòng)形象。但由于傳統(tǒng)的光學(xué)實(shí)驗(yàn)儀器體積較大,對(duì)操作者的要求高,搭建復(fù)雜光路和調(diào)試實(shí)驗(yàn)儀器耗費(fèi)時(shí)間長(zhǎng),所以使用普通光學(xué)實(shí)驗(yàn)儀器來進(jìn)行課堂教學(xué)難度較大[2]。文獻(xiàn)[3~5]介紹了基于Matlab 的衍射仿真方法,改進(jìn)了傳統(tǒng)的演示方式,結(jié)果也較為直觀形象,但由于需要使用Matlab程序來實(shí)現(xiàn),對(duì)操作者要求較高,對(duì)于毫無編程經(jīng)驗(yàn)的學(xué)生來說,想要獨(dú)立操作或者是修改仿真參數(shù),將會(huì)是一件難以實(shí)現(xiàn)的事情。而文獻(xiàn)[6]提出了一種基于GUI的衍射仿真方法,能夠?qū)⒍喾N衍射現(xiàn)象集成在一個(gè)操作界面上,使得操作簡(jiǎn)單,但不能自行修改仿真參數(shù)。
為此,設(shè)計(jì)了基于GUI 的Matlab 程序,不僅能夠?qū)崿F(xiàn)多種夫瑯禾費(fèi)衍射的仿真集成在一個(gè)界面上,還可以任意修改仿真參數(shù),使系統(tǒng)的可操作性大大提高,有助于學(xué)生對(duì)夫瑯禾費(fèi)衍射現(xiàn)象的理解。
在衍射中,若是光源與衍射屏、衍射屏與接收屏之間的距離為有限遠(yuǎn),則稱為菲涅爾衍射;若是光源與衍射屏、衍射屏與接收屏之間的距離為無限遠(yuǎn),則稱為夫瑯禾費(fèi)衍射。借助惠更斯-菲涅耳原理可以解釋和描述光束通過各種形狀的障礙物時(shí)所產(chǎn)生的衍射現(xiàn)象。如果將波面S 上所有面積元在P 點(diǎn)的作用加起來,即可求得波面S 在P 點(diǎn)所產(chǎn)生的合振動(dòng)[7]:
或?qū)懗蓮?fù)數(shù)形式:
式(1)稱為菲涅爾衍射積分。
通過菲涅爾衍射積分可以得到衍射光波場(chǎng)的光振動(dòng)特點(diǎn)以及光強(qiáng)分布,但是光強(qiáng)分布的解析解需要通過適當(dāng)?shù)慕铺幚恚M(jìn)行衍射積分的計(jì)算。對(duì)于夫瑯和費(fèi)衍射,通過簡(jiǎn)單的計(jì)算可得到比較精確的衍射光強(qiáng)分布,具體可以參考文獻(xiàn)[8]。
Matlab 矩陣實(shí)驗(yàn)室(Matrix Laboratory)是美國(guó)MathWorks 公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境。它以矩陣作為基本數(shù)據(jù)單位,提供了眾多的工具箱,是通用的科學(xué)計(jì)算、數(shù)值仿真及數(shù)據(jù)可視化的重要工具[9~12]。
這里以夫瑯和費(fèi)單縫衍射為例,利用Matlab的.m 文件編程實(shí)現(xiàn)了衍射的仿真,其理論依據(jù)可參考文獻(xiàn)[13],文中不再贅述。
假設(shè)波長(zhǎng)為500nm,縫寬為1mm,透鏡到屏幕的距離為1m,使用Matlab 仿真的夫瑯和費(fèi)衍射圖像如圖1所示。
當(dāng)需要頻繁修改程序參數(shù)時(shí),使用程序法實(shí)現(xiàn)仿真就會(huì)變得非常復(fù)雜,對(duì)使用者的要求提高,使得學(xué)生這樣的初學(xué)者難以獨(dú)立完成。所以,如果能針對(duì)此開發(fā)出通用的圖形用戶交互界面,只需輸入一些基本參數(shù),無需復(fù)雜的程序設(shè)計(jì),就可以實(shí)現(xiàn)菲涅爾和夫瑯和費(fèi)衍射的仿真,對(duì)于學(xué)生來說,將會(huì)非常有意義。
圖1 夫瑯和費(fèi)單縫衍射仿真結(jié)果
基于Matlab GUI 設(shè)計(jì)的夫瑯禾費(fèi)衍射仿真系統(tǒng)界面如圖2 所示,用戶可以根據(jù)需要選擇各種衍射類型,再輸入合適的參數(shù),點(diǎn)擊執(zhí)行仿真按鈕,即可查看各種衍射結(jié)果。
圖2 夫瑯禾費(fèi)衍射仿真系統(tǒng)界面
選擇矩孔衍射,輸入各個(gè)參數(shù)的具體數(shù)值,假設(shè)各參數(shù)如圖2 所示,點(diǎn)擊執(zhí)行仿真按鈕,寬度和長(zhǎng)度均為0.5mm 的矩孔仿真結(jié)果如圖3 所示,具體設(shè)計(jì)可參考文獻(xiàn)[14~15]。
圖3 矩孔衍射仿真結(jié)果(寬度0.5mm,長(zhǎng)度0.5 mm)
選擇圓孔衍射,輸入波長(zhǎng)500nm,圓孔半徑1mm,焦距為1m,點(diǎn)擊執(zhí)行仿真按鈕,圓孔仿真結(jié)果如圖4所示。
圖4 圓孔衍射仿真結(jié)果
可以看出,該系統(tǒng)運(yùn)行穩(wěn)定,相較于采用程序設(shè)計(jì)的方法,基于GUI 的仿真系統(tǒng)操作簡(jiǎn)單,結(jié)果直觀清晰。
采用Matlab GUI作為仿真平臺(tái),設(shè)計(jì)了夫瑯禾費(fèi)衍射仿真系統(tǒng)。通過對(duì)不同情況的實(shí)驗(yàn)現(xiàn)象和仿真結(jié)果的比較,可以看出該系統(tǒng)運(yùn)行結(jié)果與衍射理論相符,具有操作簡(jiǎn)單,響應(yīng)速度快,結(jié)果形象直觀等特點(diǎn),使得不具備編程能力的學(xué)生也可以獨(dú)立操作。此外,該系統(tǒng)不受儀器和場(chǎng)地的限制,通過改變一些參數(shù)即可獲得不同條件下的衍射圖樣和光強(qiáng)分布曲線,使得光學(xué)的課堂教學(xué)變得生動(dòng)形象,對(duì)促進(jìn)學(xué)生對(duì)光學(xué)的學(xué)習(xí)有積極的意義,實(shí)現(xiàn)了大學(xué)物理教學(xué)的現(xiàn)代化。