華玲玲 楊 陽
(1華北科技學院 基礎部,北京 101601)
(2華北科技學院 計算機系,北京 101601)
光柵衍射是大學物理課程中比較復雜的問題,也是學生不易理解的問題.首先,計算光柵衍射的光強分布需利用菲涅耳-惠更斯原理[1]對復函數積分,通常很難得到解析解.由于菲涅耳衍射積分的復雜性,在目前的大學物理教材中,通常都是直接從原理上解釋光柵衍射是由單縫衍射與多縫干涉共同作用的結果,然后直接給出光強分布公式,這難免使學生在學習過程中似懂非懂.其次,由于受光柵常數d、總縫數N、透光縫寬a、入射光波長λ、透鏡焦距f、入射方向等多種因素的影響,光柵衍射譜線特征變化豐富.傳統的光學演示實驗對實驗環境要求苛刻,很難引入課堂教學,而且也難以充分展示光柵衍射所有譜線特征.因此如何讓學生充分地理解光柵衍射原理又能直觀地觀察譜線特征成為了教學的難點.
本文提出一種依據惠更斯-菲涅耳原理,用實函數積分直接導出光柵衍射在光屏上任一點的合振動的表達式以及光強分布函數的方法,無須采用復函數,也無須采用矢量合成法[2].同時,利用Matlab提供的圖形用戶界面(GUI)來設計光柵衍射仿真界面.此方法構建的仿真平臺具有界面友好、操作簡單、可擴展性強等優點,用戶不需要懂得Matlab語言,只要點擊相應按鈕,改變相應參數,就可直觀、形象地展示光柵衍射過程.對激發學生學習興趣,總結實驗規律,輔助教學等有顯著效果.
衍射現象通常分為兩類:菲涅耳衍射(近場衍射)和夫瑯禾費衍射(遠場衍射).本文以夫瑯禾費透射光柵為例,實驗光路見圖1.設透射光柵有N條狹縫,透光部分寬度為a,不透光部分寬度為b,光柵常數為d=a+b,θ為衍射角,f為透鏡焦距.

圖1 夫瑯禾費光柵衍射光路圖
光柵衍射光強可以用惠更斯-菲涅耳原理來進行定量計算[3].第一個單縫的計算如圖2所示,其他單縫的計算與此相似.

圖2 第一個單縫的計算用圖
為了便于利用惠更斯-菲涅耳原理來具體計算P點的光振動表達式,我們將單縫A1A2之間的波陣面(面積為al的長方形平面)分割成一個個與單縫上邊平行的橫條形面元,其中任一個面元與A1端的距離為x,寬度為dx,面積為dS=ldx,該面元到P點的光程為

其中,r表示波陣面A1C上各點到P點的光程,從該面元上發射的子波在P點的振幅可以表示為

其中,A0是單位面積的振幅.按照惠更斯-菲涅耳原理的數學表示式,從第一個單縫發射的次波在P點的合振動為如下積分

其他單縫發射的次波在P點的合振動與此積分相似,只是積分的上下限不同.光柵衍射在P點的合振動為N個分段積分之和,即

對于任一個單縫,設其起點的x坐標為B1、終點的x坐標為B2,(B2-B1=a),可導出如下積分公式

將式(4)代入式(3)得到

其中VN是N個等振幅等相位差的簡諧振動的合成.依據合成公式,有

其中φ是合振動的初相位,與光強分布無關.故得到光柵衍射在P點的合振動的振幅為


式中,Ⅰ0為入射光強,通常稱為單縫衍射因子為多縫干涉因子.
由公式(8)可知,光柵衍射的強度分布受到單縫衍射因子和多縫干涉因子的共同作用.當多光束干涉主極大的位置恰與單縫衍射的零點重合時,該級主極大消失,這種現象稱為缺級.
光柵干涉主極大

單縫衍射極小

當θ角位置同時滿足式(9)、(10)時,可將這一位置看成是光強度為零“干涉加強”.即本應出現某k級明條紋的位置,實際上卻是暗條紋,k級明條紋不出現.缺級條件如下:

本仿真實驗利用Matlab語言編寫源程序實現.Matlab是具有強大的數值計算與可視化功能的軟件,利用該軟件實現光學實驗可視化形象教學的案例[5]已有很多.與這些案例相比,本文所實現的仿真實驗更突出了知識的綜合性與操作的便捷性.本文利用Matlab提供的圖形用戶界面[6](GUI)來設計光柵衍射仿真界面,即通過圖形用戶界面把程序封裝起來,讓學生不用直接面對枯燥的程序代碼就可以實現各種仿真的操作.
在Matlab命令窗口鍵入guide命令,得到如圖3所示的設計窗口,其中右側的窗口區域就是要設計窗口的雛形.在該界面的右側工具欄中,提供了各種各樣的控件,單擊鼠標左鍵選中其中一個控件,這樣就可以在左側的雛形窗口中繪制出這個控件,并可以通過拖動網格區域的右下角來改變窗口和控件的大小.

圖3 GUI窗口界面
用上述方法在雛形窗口中繪制出各種控件,實現所需圖形用戶界面的設計,各個控件的擺放如圖4所示.文本框用于標注相應控件的提示,編輯框用于獲得系統的參數,按鈕用于執行由回調字符串所定義的動作,坐標軸用來顯示光強分布和仿真條紋.雙擊各個控件,設置控件的屬性.比如設置各控件的標志(Tag),標簽文字(String),顏色(Color),字體(Fontsize)等.

圖4 界面設計
點擊工具欄中的運行界面按鈕,可自動生成M文件.在原有程序的基礎上設計代碼,關鍵是初始界面函數(OpeningFcn)和控件的回調函數(Callback)代碼的設計.初始界面函數即設定各參數的初始值,可根據實際情況設定.回調函數是核心,是對界面控件觸發時的事件響應函數.光學實驗仿真界面“運行”控件的回調函數設計流程如圖5所示.
保存設計后“運行”控件的回調函數的代碼,在界面上的相應編輯框輸入參數,點擊OK控件調用其Callback函數,可得到光柵衍射實驗仿真設計結果.當輸入參數分別為λ=600×10-9m,a=2×10-6m,f=0.64m,d=3a(m),N=4時,仿真結果如圖6所示.

圖5 “運行”控件的回調函數設計流程

圖6 光柵衍射仿真實驗
輸入新的參數后,可點擊“重置”控件刪除圖像,重新點擊OK控件可得到更新后的圖像.結束時,點擊CLOSE控件調用其Callback函數,結束程序關閉圖形.此方法構建的仿真平臺具有界面友好、操作簡單、可擴展性強等優點,用戶不需要懂得Matlab語言,只要點擊相應按鈕,改變相應參數,就可直觀、形象地展示光柵衍射過程.
本仿真實驗在設計時將單縫衍射、多縫干涉和光柵衍射放在同一個界面,有利于對比學習.通過控制界面右側的參數,既可以同時觀察三個實驗的光強和條紋變化特征,又可以通過對比觀察,對光柵衍射條紋的產生機理有更深刻的理解,即通過光柵不同縫的光要發生干涉,而每個單縫又都有衍射,所以光柵衍射條紋應是同一單縫衍射因子調制下的N條縫的干涉條紋.
通過本仿真實驗得到了光柵衍射分布有如下特點:① 多縫干涉圖樣與單縫衍射圖樣相比,出現了一系列新的強度最大值和最小值,其中那些較強的亮線叫主極大,較弱的亮線叫次極大;② 相鄰主極大之間有N-1條暗紋(極小)和N-2條次極大,但因為次極大相比主極大來說強度很小,所以和暗紋連成一片形成暗區;③ 光強分布中都保留了單縫衍射的痕跡,即曲線的包絡(外部輪廓)與單縫衍射強度曲線的形狀一致.
5個參數的變化對光柵的衍射條紋、相對光強分布的影響,如表1所示,此結果與理論分析結果是一致的.

表1 參數變化對條紋的影響
缺級現象是光柵衍射所特有的現象,通常的光學實驗很難觀察到這一現象.本仿真實驗通過改變d/a的比值,可清楚演示缺級現象.比如,令光柵總縫數N=4,d/a=3時,得到仿真結果如圖7所示,這與理論分析得到的缺級出現在±3,±6,…結果一致.
點擊圖6中“干涉和衍射比較”控件,可得子界面,如圖8所示.當令光柵縫數N=2時,可以比較雙縫衍射和雙縫干涉實驗結果.楊氏雙縫干涉的條紋是明暗相間的等間距等光強的條紋,而雙縫衍射的條紋雖然也是等間距,但隨著級數增大光強將減弱.理論分析表明,在楊氏雙縫干涉中,認為a?λ,單縫衍射因子的影響可以忽略,光柵衍射變為多光束干涉.在實際的楊氏雙縫干涉實驗中,因為透光縫寬a不可能做到無限窄,干涉和衍射同時存在,因此,實際實驗觀察到的現象其實是雙縫衍射的結果.

圖7 N=4,d/a=3時光柵缺級現象

圖8 楊氏雙縫干涉和光柵衍射比較
由此可見,光的干涉和衍射本質上是統一的,實際上都是光波的疊加,但在形成條件、分布規律以及數學處理方法上略有不同.
光柵衍射是大學物理教學中的一個難點.本文介紹了一種依據惠更斯-菲涅耳原理用實函數積分直接導出光柵衍射光強分布函數的方法,無須采用復函數,也無須采用矢量合成法.同時,利用Matlab提供的圖形用戶界面(GUI)設計了光柵衍射仿真界面,不僅可以逼真地顯示干涉和衍射的圖像,而且解決了真實的光學實驗因環境限制而不能進入課堂的難題.通過改變相應參數不僅可以觀察光柵衍射豐富的譜線變化特征,而且還可模擬單縫衍射、雙縫衍射、雙縫干涉、多縫干涉等多種實驗現象,實現了一個程序仿真多個實驗,有利于相互參照對比,加深對衍射和干涉原理的理解.用同樣的方法還可以模擬其他光學現象以及電磁學、力學、熱學等現象,因此在物理教學中具有重要的意義.
[1]姚啟鈞.光學教程[M].北京:高等教育出版社,2002.
[2]郭文珍.夫瑯禾費衍射屏上光強分布研究[J].德州學院學報,2004,20(4):30~33.
[3]黃時中,孫秋鋒.用實函數直接計算光柵衍射的光強分布[J].物理與工程,2011,21(1):19~24.
[4]張波濤,盧洵,余仲秋.多縫衍射的計算機模擬與演示[J].大學物理,2000,19(2):32~34.
[5]陳琳,朱湘柱.楊氏雙縫干涉仿真模型設計[J].計算機仿真,2009,26(9):269~272.
[6]陳垚光,毛濤濤,王正林,等.精通 Matlab GUI設計[M].北京:電子工業出版社,2011.