華玲玲 楊 陽
(1華北科技學院 基礎(chǔ)部,北京 101601)
(2華北科技學院 計算機系,北京 101601)
光柵衍射是大學物理課程中比較復雜的問題,也是學生不易理解的問題.首先,計算光柵衍射的光強分布需利用菲涅耳-惠更斯原理[1]對復函數(shù)積分,通常很難得到解析解.由于菲涅耳衍射積分的復雜性,在目前的大學物理教材中,通常都是直接從原理上解釋光柵衍射是由單縫衍射與多縫干涉共同作用的結(jié)果,然后直接給出光強分布公式,這難免使學生在學習過程中似懂非懂.其次,由于受光柵常數(shù)d、總縫數(shù)N、透光縫寬a、入射光波長λ、透鏡焦距f、入射方向等多種因素的影響,光柵衍射譜線特征變化豐富.傳統(tǒng)的光學演示實驗對實驗環(huán)境要求苛刻,很難引入課堂教學,而且也難以充分展示光柵衍射所有譜線特征.因此如何讓學生充分地理解光柵衍射原理又能直觀地觀察譜線特征成為了教學的難點.
本文提出一種依據(jù)惠更斯-菲涅耳原理,用實函數(shù)積分直接導出光柵衍射在光屏上任一點的合振動的表達式以及光強分布函數(shù)的方法,無須采用復函數(shù),也無須采用矢量合成法[2].同時,利用Matlab提供的圖形用戶界面(GUI)來設(shè)計光柵衍射仿真界面.此方法構(gòu)建的仿真平臺具有界面友好、操作簡單、可擴展性強等優(yōu)點,用戶不需要懂得Matlab語言,只要點擊相應按鈕,改變相應參數(shù),就可直觀、形象地展示光柵衍射過程.對激發(fā)學生學習興趣,總結(jié)實驗規(guī)律,輔助教學等有顯著效果.
衍射現(xiàn)象通常分為兩類:菲涅耳衍射(近場衍射)和夫瑯禾費衍射(遠場衍射).本文以夫瑯禾費透射光柵為例,實驗光路見圖1.設(shè)透射光柵有N條狹縫,透光部分寬度為a,不透光部分寬度為b,光柵常數(shù)為d=a+b,θ為衍射角,f為透鏡焦距.
圖1 夫瑯禾費光柵衍射光路圖
光柵衍射光強可以用惠更斯-菲涅耳原理來進行定量計算[3].第一個單縫的計算如圖2所示,其他單縫的計算與此相似.
圖2 第一個單縫的計算用圖
為了便于利用惠更斯-菲涅耳原理來具體計算P點的光振動表達式,我們將單縫A1A2之間的波陣面(面積為al的長方形平面)分割成一個個與單縫上邊平行的橫條形面元,其中任一個面元與A1端的距離為x,寬度為dx,面積為dS=ldx,該面元到P點的光程為
其中,r表示波陣面A1C上各點到P點的光程,從該面元上發(fā)射的子波在P點的振幅可以表示為
其中,A0是單位面積的振幅.按照惠更斯-菲涅耳原理的數(shù)學表示式,從第一個單縫發(fā)射的次波在P點的合振動為如下積分
其他單縫發(fā)射的次波在P點的合振動與此積分相似,只是積分的上下限不同.光柵衍射在P點的合振動為N個分段積分之和,即
對于任一個單縫,設(shè)其起點的x坐標為B1、終點的x坐標為B2,(B2-B1=a),可導出如下積分公式
將式(4)代入式(3)得到
其中VN是N個等振幅等相位差的簡諧振動的合成.依據(jù)合成公式,有
其中φ是合振動的初相位,與光強分布無關(guān).故得到光柵衍射在P點的合振動的振幅為
式中,Ⅰ0為入射光強,通常稱為單縫衍射因子為多縫干涉因子.
由公式(8)可知,光柵衍射的強度分布受到單縫衍射因子和多縫干涉因子的共同作用.當多光束干涉主極大的位置恰與單縫衍射的零點重合時,該級主極大消失,這種現(xiàn)象稱為缺級.
光柵干涉主極大
單縫衍射極小
當θ角位置同時滿足式(9)、(10)時,可將這一位置看成是光強度為零“干涉加強”.即本應出現(xiàn)某k級明條紋的位置,實際上卻是暗條紋,k級明條紋不出現(xiàn).缺級條件如下:
本仿真實驗利用Matlab語言編寫源程序?qū)崿F(xiàn).Matlab是具有強大的數(shù)值計算與可視化功能的軟件,利用該軟件實現(xiàn)光學實驗可視化形象教學的案例[5]已有很多.與這些案例相比,本文所實現(xiàn)的仿真實驗更突出了知識的綜合性與操作的便捷性.本文利用Matlab提供的圖形用戶界面[6](GUI)來設(shè)計光柵衍射仿真界面,即通過圖形用戶界面把程序封裝起來,讓學生不用直接面對枯燥的程序代碼就可以實現(xiàn)各種仿真的操作.
在Matlab命令窗口鍵入guide命令,得到如圖3所示的設(shè)計窗口,其中右側(cè)的窗口區(qū)域就是要設(shè)計窗口的雛形.在該界面的右側(cè)工具欄中,提供了各種各樣的控件,單擊鼠標左鍵選中其中一個控件,這樣就可以在左側(cè)的雛形窗口中繪制出這個控件,并可以通過拖動網(wǎng)格區(qū)域的右下角來改變窗口和控件的大小.
圖3 GUI窗口界面
用上述方法在雛形窗口中繪制出各種控件,實現(xiàn)所需圖形用戶界面的設(shè)計,各個控件的擺放如圖4所示.文本框用于標注相應控件的提示,編輯框用于獲得系統(tǒng)的參數(shù),按鈕用于執(zhí)行由回調(diào)字符串所定義的動作,坐標軸用來顯示光強分布和仿真條紋.雙擊各個控件,設(shè)置控件的屬性.比如設(shè)置各控件的標志(Tag),標簽文字(String),顏色(Color),字體(Fontsize)等.
圖4 界面設(shè)計
點擊工具欄中的運行界面按鈕,可自動生成M文件.在原有程序的基礎(chǔ)上設(shè)計代碼,關(guān)鍵是初始界面函數(shù)(OpeningFcn)和控件的回調(diào)函數(shù)(Callback)代碼的設(shè)計.初始界面函數(shù)即設(shè)定各參數(shù)的初始值,可根據(jù)實際情況設(shè)定.回調(diào)函數(shù)是核心,是對界面控件觸發(fā)時的事件響應函數(shù).光學實驗仿真界面“運行”控件的回調(diào)函數(shù)設(shè)計流程如圖5所示.
保存設(shè)計后“運行”控件的回調(diào)函數(shù)的代碼,在界面上的相應編輯框輸入?yún)?shù),點擊OK控件調(diào)用其Callback函數(shù),可得到光柵衍射實驗仿真設(shè)計結(jié)果.當輸入?yún)?shù)分別為λ=600×10-9m,a=2×10-6m,f=0.64m,d=3a(m),N=4時,仿真結(jié)果如圖6所示.
圖5 “運行”控件的回調(diào)函數(shù)設(shè)計流程
圖6 光柵衍射仿真實驗
輸入新的參數(shù)后,可點擊“重置”控件刪除圖像,重新點擊OK控件可得到更新后的圖像.結(jié)束時,點擊CLOSE控件調(diào)用其Callback函數(shù),結(jié)束程序關(guān)閉圖形.此方法構(gòu)建的仿真平臺具有界面友好、操作簡單、可擴展性強等優(yōu)點,用戶不需要懂得Matlab語言,只要點擊相應按鈕,改變相應參數(shù),就可直觀、形象地展示光柵衍射過程.
本仿真實驗在設(shè)計時將單縫衍射、多縫干涉和光柵衍射放在同一個界面,有利于對比學習.通過控制界面右側(cè)的參數(shù),既可以同時觀察三個實驗的光強和條紋變化特征,又可以通過對比觀察,對光柵衍射條紋的產(chǎn)生機理有更深刻的理解,即通過光柵不同縫的光要發(fā)生干涉,而每個單縫又都有衍射,所以光柵衍射條紋應是同一單縫衍射因子調(diào)制下的N條縫的干涉條紋.
通過本仿真實驗得到了光柵衍射分布有如下特點:① 多縫干涉圖樣與單縫衍射圖樣相比,出現(xiàn)了一系列新的強度最大值和最小值,其中那些較強的亮線叫主極大,較弱的亮線叫次極大;② 相鄰主極大之間有N-1條暗紋(極?。┖蚇-2條次極大,但因為次極大相比主極大來說強度很小,所以和暗紋連成一片形成暗區(qū);③ 光強分布中都保留了單縫衍射的痕跡,即曲線的包絡(luò)(外部輪廓)與單縫衍射強度曲線的形狀一致.
5個參數(shù)的變化對光柵的衍射條紋、相對光強分布的影響,如表1所示,此結(jié)果與理論分析結(jié)果是一致的.
表1 參數(shù)變化對條紋的影響
缺級現(xiàn)象是光柵衍射所特有的現(xiàn)象,通常的光學實驗很難觀察到這一現(xiàn)象.本仿真實驗通過改變d/a的比值,可清楚演示缺級現(xiàn)象.比如,令光柵總縫數(shù)N=4,d/a=3時,得到仿真結(jié)果如圖7所示,這與理論分析得到的缺級出現(xiàn)在±3,±6,…結(jié)果一致.
點擊圖6中“干涉和衍射比較”控件,可得子界面,如圖8所示.當令光柵縫數(shù)N=2時,可以比較雙縫衍射和雙縫干涉實驗結(jié)果.楊氏雙縫干涉的條紋是明暗相間的等間距等光強的條紋,而雙縫衍射的條紋雖然也是等間距,但隨著級數(shù)增大光強將減弱.理論分析表明,在楊氏雙縫干涉中,認為a?λ,單縫衍射因子的影響可以忽略,光柵衍射變?yōu)槎喙馐缮?在實際的楊氏雙縫干涉實驗中,因為透光縫寬a不可能做到無限窄,干涉和衍射同時存在,因此,實際實驗觀察到的現(xiàn)象其實是雙縫衍射的結(jié)果.
圖7 N=4,d/a=3時光柵缺級現(xiàn)象
圖8 楊氏雙縫干涉和光柵衍射比較
由此可見,光的干涉和衍射本質(zhì)上是統(tǒng)一的,實際上都是光波的疊加,但在形成條件、分布規(guī)律以及數(shù)學處理方法上略有不同.
光柵衍射是大學物理教學中的一個難點.本文介紹了一種依據(jù)惠更斯-菲涅耳原理用實函數(shù)積分直接導出光柵衍射光強分布函數(shù)的方法,無須采用復函數(shù),也無須采用矢量合成法.同時,利用Matlab提供的圖形用戶界面(GUI)設(shè)計了光柵衍射仿真界面,不僅可以逼真地顯示干涉和衍射的圖像,而且解決了真實的光學實驗因環(huán)境限制而不能進入課堂的難題.通過改變相應參數(shù)不僅可以觀察光柵衍射豐富的譜線變化特征,而且還可模擬單縫衍射、雙縫衍射、雙縫干涉、多縫干涉等多種實驗現(xiàn)象,實現(xiàn)了一個程序仿真多個實驗,有利于相互參照對比,加深對衍射和干涉原理的理解.用同樣的方法還可以模擬其他光學現(xiàn)象以及電磁學、力學、熱學等現(xiàn)象,因此在物理教學中具有重要的意義.
[1]姚啟鈞.光學教程[M].北京:高等教育出版社,2002.
[2]郭文珍.夫瑯禾費衍射屏上光強分布研究[J].德州學院學報,2004,20(4):30~33.
[3]黃時中,孫秋鋒.用實函數(shù)直接計算光柵衍射的光強分布[J].物理與工程,2011,21(1):19~24.
[4]張波濤,盧洵,余仲秋.多縫衍射的計算機模擬與演示[J].大學物理,2000,19(2):32~34.
[5]陳琳,朱湘柱.楊氏雙縫干涉仿真模型設(shè)計[J].計算機仿真,2009,26(9):269~272.
[6]陳垚光,毛濤濤,王正林,等.精通 Matlab GUI設(shè)計[M].北京:電子工業(yè)出版社,2011.