張興坊,劉鳳收,梁蘭菊
(棗莊學院 光電工程學院,山東 棗莊 277160)
隨著計算機性能的提升和仿真模擬技術的發展,仿真教學手段在大學物理課程中的應用日益廣泛,它能將抽象的物理圖像生動直觀地加以顯示,不但有助于學生理解復雜的物理規律和抽象的物理原理,而且對于學生提高問題分析能力、增強科學創新能力也具有非常重要的作用[1,2]。劈尖干涉是薄膜等厚干涉現象中的一種,是大學物理課程的重要內容和實驗項目之一,對其模擬仿真的報道也較豐富。宮彥軍等基于 VC++6.0開發的仿真程序,可分析劈尖角度、折射率和波長等參量與干涉圖樣的關系[3]。周薇薇等利用Origin 軟件模擬了劈尖干涉條紋隨影響參量的變化[4]。田歡歡等也借助仿真手段復現了劈尖干涉現象,討論了干涉現象的影響因素[5]。聶建軍等通過MATLAB 軟件實現了對劈尖干涉現象的模擬,并進行了簡單討論[6]。任志浩等進一步利用Matlab 自帶的Peaks 函數展示了缺陷存在時的干涉條紋[7]。但上述對劈尖干涉現象的模擬需要對仿真程序有一定的了解,制約了其使用范圍。目前,基于MATLAB GUI 技術開發的仿真平臺由于具有界面簡單、操作方便、參數靈活可變、生成圖像高效鮮明的特點,在課堂教學中已有廣泛使用[8],但在模擬劈尖干涉方面則少見報道[9]。文章利用MATLAB GUI 設計了一種劈尖干涉仿真教學平臺,通過在界面上直接輸入參數,能實現對干涉圖樣的復現與對比分析,還能實現干涉圖樣的動態變化。
研究的劈尖干涉裝置如圖1 所示,由兩個平整玻璃片構成,玻璃片之間形成的一層空氣薄膜具有劈尖的形態,d 為空氣膜最小厚度(橫向位移),θ 為劈尖角度。當波長為λ 的入射光照射到劈尖裝置時,在x 處的空氣膜上下表面的反射光之間的光程差為[10]

圖1 劈尖裝置示意圖

當劈尖裝置浸入到折射率為n 的介質時,上式可改寫為

(1)設計思路。根據劈尖干涉的理論公式可知,影響x 處干涉光強的參量為θ、d、n 和λ??紤]到平臺設計的目標為通過改變其中任何一個參數,可直觀地觀測并比較干涉圖樣的變化并且當參量值聯系變化時還能展示圖樣的動態變化。根據這一要求,平臺界面所需GUI 控件及功能為:輸入參數θ、d、n 由可編輯文本和靜態文本控件實現;入射光的波長λ 通過紅光、綠光和藍光等3 個復選框控制;干涉光強仿真及觀測比較需要2個軸控件及相應的按鈕控件來實現;當展示光強動態變化時還需添加一個“動態”按鈕控件;同時,為了方便使用者快速了解該平臺的仿真原理、使用方法等,再設置若干一級菜單加以解釋說明。
(2)控件設置。根據框架設計草圖,在界面上選取合適的位置放置各個控件并對標簽String、標識符Tag 等屬性進行修改,形成的GUI界面如圖2 所示。

圖2 GUI 界面設計
(3)代碼編寫?!胺抡妗焙汀皩Ρ取卑粹o的代碼類似,首先利用get()和str2num()兩個函數獲取界面中輸入參數的值并轉換數據類型,代入干涉公式得到光強分布后在軸控件中顯示出來;“動態”按鈕則還需添加一個循環步驟,將連續變化的參量值循環代入干涉公式,每隔0.1秒將干涉圖樣顯示出來形成動態效果。一級菜單的內容通過直接鏈接外部文件來實現。為方便使用,初始化界面的輸入參數θ、d、n 等參量分別默認為2、0、1,入射光為紅光,觀測范圍(劈尖長度)為10 cm。
部分代碼選取如下:

圖3 上欄為使用默認輸入參數,入射光選為紅光,點擊“仿真”按鈕后顯示的干涉圖樣,下欄為入射光選為藍光,點擊“對比”按鈕后的圖樣。比較兩圖可以觀測到,當入射光波長改變時,干涉條紋發生了明顯的變化,波長越短條紋數量越多,藍光產生的暗條紋數量為16,紅光時是10,但最左處的干涉條紋為暗條紋保持不變,與入射光無關。根據干涉公式可知,劈尖長度一定時,干涉條紋數量與波長成反比。在這里我們將紅光和藍光的波長分別設置為750 nm 和440 nm,故理論上條紋數量之比約為1:1.7,但實際觀測到的暗紋數量之比為1:1.6,這主要是由于觀測范圍受限導致的。根據暗紋的產生條件,k=0,1,2…,當x=10 cm,θ=0.002o,d=0,n=1 時,k 的 最 大值為6978/λ。當入射光設置為紅光時,k 值最大為9.3,取整為9,故暗紋數量為10。同理可知,藍光時k 的最大值為15.9,取整為15,故暗紋數量為16,與觀測結果一致。如果設置的觀測范圍比10 cm 稍大一點,則藍光產生的第16 級暗紋就可明顯出現,此時觀測到的條紋數量之比就為1:1.7。還可分析出,在觀測范圍最左處,一直滿足k=0 的暗紋產生條件,入射光波長對其無影響。當分別改變θ、d、n 等參數時,可以觀察到增大折射率n 或劈尖角度θ 時條紋數量增多,改變參數d 時干涉圖樣最左側的條紋不再固定為暗條紋。通過比較干涉圖樣中條紋的變化,可以使學生對劈尖干涉的理論有更深刻的認識。

圖3 選擇不同入射光時的GUI 界面
平臺還可以展示干涉圖樣隨參數連續變化時的動態效果。以干涉圖樣隨劈尖角度的動態變化為例,圖4 給出了點擊“動態”按鈕后的GUI 界面截圖。需要注意的是,劈尖的角度設置為從0.002 o 到0.004 o 間連續變化,因此參數以2:0.1:4 的形式輸入,這里的0.1 表示每隔0.0001o 計算一個干涉圖樣,并在圖4 下欄中顯示??梢杂^察到,當劈尖角度增大時,視野內的干涉條紋不斷向左移動且數量逐漸增多,當θ=0.004 o 時,顯示的暗條紋數量為19,幾乎是θ=0.002 o 時的兩倍。這是由于θ 的增大將導致劈尖厚度增大,當劈尖角度θ 非常小時,劈尖厚度的增大與角度θ 成正比,通過干涉公式可知干涉條紋的干涉級次與角度的關系為,因此角度增大一倍,條紋的數量也隨之增大一倍。值得注意的是,當劈尖角度取值過大時,干涉條紋將變得非常密集難以分辨,因此在取值時盡量不要偏離默認值范圍過大。當展示其他參數的連續變化對干涉圖樣的動態效果時,也是如此操作,僅需以“初值:增量:末值”的形式輸入參數。有趣的是,隨著d 的增大,雖然視野中的條紋不斷向左移動,但條紋數量不變。這可以解釋為劈尖干涉條紋由左到右的干涉級次不斷增大,而級次更大的條紋處于劈尖右側外,隨著d 的增大劈尖各點處的干涉條紋級次變大,故條紋必須向左移動才能使得級次更大的條紋出現。當d 連續減小時,劈尖各個位置條紋的干涉級次變小,級次更小的條紋將不斷從劈尖左側出現,從而引起條紋不斷向右移動的現象。但由于干涉條紋數量與劈尖左右側的厚度差有關,當d 變化時厚度差保持不變,因而干涉條紋的數量沒有發生變化。

圖4 干涉圖樣動態變化時的GUI 界面截圖
GUI 界面菜單的使用效果如圖5 所示。當點擊“仿真原理”菜單后,會打開一個pdf 文件,里面有關于該平臺所涉及的劈尖干涉原理的介紹。打開另外3 個菜單,分別給出輸入參數的介紹及參考取值范圍,光源的紅綠藍入射光波長的取值,平臺的“仿真”、“對比”和“動態”按鈕的使用方法等。這些菜單的給出也在一定程度增強了使用者對該平臺的了解。

圖5 GUI 界面菜單“仿真原理”的界面截圖
利用MATLAB GUI 設計了一個劈尖干涉的仿真教學平臺并進行了分析。通過在界面內改變輸入參數,能夠顯示和比較不同劈尖角度、介質膜折射率、入射波長、平板距離時的靜態干涉圖樣,同時還能展示干涉圖樣隨物理參數連續變化時的動態效果。生動直觀的可視化圖像可以促進學生對劈尖干涉原理和現象的理解,激發學生學習興趣,同時為開闊學生視野、開展以學生為中心的教學模式帶來便利。