成純富 歐藝文 方照東 陳嘉軒
(湖北工業(yè)大學(xué)理學(xué)院 湖北·武漢 430068)
信息光學(xué)是現(xiàn)代光學(xué)的一個分支,它是將電信理論中使用的傅里葉分析方法移植到光學(xué)領(lǐng)域而形成的新學(xué)科,[1]也是光學(xué)工程專業(yè)開設(shè)的一門重要的專業(yè)基礎(chǔ)必修課。信息光學(xué)以傅里葉變換為數(shù)學(xué)基礎(chǔ),利用傅里葉變換實現(xiàn)在頻域中描述和處理光學(xué)信息,所以,信息光學(xué)課程對學(xué)生的數(shù)學(xué)基礎(chǔ)要求較高,而學(xué)生的數(shù)學(xué)基礎(chǔ)普遍較弱。此外,該課程理論學(xué)習(xí)內(nèi)容較多,課時又有限,故大部分學(xué)生反映該課程枯燥乏味、難以理解。盡管大部分高校都開設(shè)了信息光學(xué)實驗來加深學(xué)生對信息光學(xué)課程的理解,但信息光學(xué)實驗難調(diào),導(dǎo)致實驗效果不理想,部分學(xué)生甚至懷疑自己所做實驗結(jié)果的正確性。所以,信息光學(xué)課程急需創(chuàng)新教學(xué)方法來激發(fā)學(xué)生的學(xué)習(xí)興趣。Matlab仿真輔助教學(xué)由于具有可視化、編程簡單等優(yōu)點,已在信息光學(xué)課程的仿真輔助教學(xué)中取到了很好的教學(xué)效果,[2-3]但上述屬于不含操作界面的matlab 仿真,其功能和可視化效果等遠(yuǎn)不及Matlab Gui 的仿真效果,為此,本文將開展基于Matlab Gui的信息光學(xué)仿真,設(shè)計的基于Matlab Gui的信息光學(xué)仿真平臺可為學(xué)生提供形象直觀的實驗現(xiàn)象,從而提高學(xué)生的學(xué)習(xí)興趣和加深學(xué)生對信息光學(xué)實驗原理的理解。通過Matlab Gui 仿真,學(xué)生對實驗原理和結(jié)果有了較清楚的認(rèn)識,從而可提升信息光學(xué)實驗的成功率。同時,基于Matlab Gui 的信息光學(xué)仿真平臺還提供了傅里葉變換的仿真界面,有助于學(xué)生理解貫穿全書的傅里葉變換及其相關(guān)理論知識點,進而提高信息光學(xué)的教學(xué)效果。
信息光學(xué)一般指傅立葉光學(xué),其核心就是傅里葉變換。傅里葉變換是有史以來最偉大、最深刻的數(shù)學(xué)發(fā)現(xiàn)之一,在信息光學(xué)、聲學(xué)、光纖通信、信號與系統(tǒng)、計算機等領(lǐng)域有著廣泛的應(yīng)用。但由于傅里葉變換是一個積分變換,且學(xué)習(xí)傅里葉變換相關(guān)知識點時會面臨大量的數(shù)學(xué)公式,所以,數(shù)學(xué)基礎(chǔ)差的學(xué)生甚至基礎(chǔ)較好的學(xué)生也很難完全理解傅里葉變換的真正含義,往往對一些常見的函數(shù)或圖像的傅里葉變換譜(頻譜圖)一頭霧水。為此,我們開發(fā)了基于Matlab Gui 的信息光學(xué)仿真平臺。當(dāng)在登錄界面輸入用戶名和密碼后,就進入到圖1 所示的歡迎界面。然后點擊信息光學(xué)實驗菜單下的傅里葉變換仿真實驗,就會彈出如圖2 所示仿真界面。由圖2 可以看出,仿真界面不但給出了信息光學(xué)課程中常見的空域到頻域的傅里葉變換仿真,還給出了其他課程中常見的時域到頻域的傅里葉變換仿真。仿真平臺的使用步驟如下:首先用Matlab Gui 做出原始圖或函數(shù)按鈕,接著通過函數(shù)調(diào)用讀入原始圖或函數(shù),然后,點擊FFT 變換按鈕,就可以得到常見的函數(shù)或圖像的傅里葉變換頻譜圖、頻移后的頻譜圖和逆傅里葉變換圖。下面以常用的時域到頻域的傅里葉變換為例,介紹其具體實現(xiàn)過程,其核心代碼如下。由核心代碼可以看出,其核心步驟是:先設(shè)置好時間數(shù)組、頻率數(shù)組和波長數(shù)組,接著設(shè)置高斯脈沖函數(shù)數(shù)組,由于光學(xué)工程專業(yè)的學(xué)生使用的激光脈沖通常為高斯脈沖,故這里選擇了高斯函數(shù),當(dāng)然,在其它應(yīng)用時也可以換成其它的常見函數(shù)。然后,通過調(diào)用fft()函數(shù)實現(xiàn)高斯函數(shù)的傅里葉正變換,通常為了提高計算速度,快速傅里葉變換的采樣點數(shù)需設(shè)置為2n,其中n 為正整數(shù),再利用conj()函數(shù)得到傅里葉變換共軛譜,其與傅里葉變換譜相乘得到頻譜強度信息,但此時低頻成分在邊緣,不在中央,為了獲得更好的直觀感受,可用fftshift()將低頻成分調(diào)整到頻譜的中央,高頻成分調(diào)整到邊緣。最后用ifft()可將頻譜還原為時域的高斯函數(shù)。因此,利用Matlab Gui 仿真平臺,學(xué)生可以實現(xiàn)任意圖像和大部分函數(shù)的傅里葉變換,不再對信息光學(xué)或其它課程中遇到的頻譜圖感到茫然,而是更有信心學(xué)好相關(guān)知識點。
圖1 仿真平臺歡迎界面
圖2 傅里葉變換仿真界面
N=2^12; %快速傅里葉變換采樣點數(shù)
c=300; %光速(單位:nm/fs)
wl=800;%激光中心波長(單位:nm)
w0=(2*pi*c)/wl;%激光中心頻率
Tr=12000; %時間范圍(單位:fs)
dt=Tr/N; %時間數(shù)組步長
dw=2*pi/(N*dt); %頻率步長
t=((1:N)-(N/2))*dt;%時間數(shù)組
f=((1:N)-(N/2))*dw;%頻率數(shù)組
wl=-2*pi*c./(f-w0);%波長數(shù)組
P=2000;%激光峰值功率(單位w)
T0=100; %脈寬(半高全寬,單位:fs)
[Et,It]=Gaussian(t,T0,P);%高斯脈沖
Aw0=fft(Et);%作傅里葉正變換
Iw0=Aw0.*conj(Aw0);%頻譜強度
Aws=fftshift(fft(Et));%作傅里葉變換且頻移
Iws=Aws.*conj(Aws);%頻移后的頻譜強度
本仿真平臺還提供了阿貝波特實驗、空間濾波實驗、離軸全息實驗和計算全息實驗的Matlab Gui仿真,學(xué)生可利用仿真平臺,不但可以驗證這些實驗的原理,還可直觀地看到仿真實驗結(jié)果,從而不再懷疑自己所做的信息光學(xué)實驗結(jié)果是否正確,對實驗光路和實驗原理也有了更深入的理解。下面以空間濾波仿真實驗界面(如圖3 所示)為例,介紹其具體的界面功能和操作步驟。由圖3 可以看出,仿真平臺不但提供了具體的實驗光路和實驗的注意事項,還提供了對不同輸入圖像選擇不同濾波器進行濾波的仿真結(jié)果。比如當(dāng)選擇帶高斯白噪聲的光字圖片時,如果選擇低通濾波器,點擊進行濾波按鈕,就可以得到濾波前的頻譜圖以及濾波后的頻譜圖,如圖3 所示,由圖3可以看出,通過低通濾波,可以得到去掉高斯白噪聲的光字,這與空間濾波的理論結(jié)果完全符合。學(xué)生還可以調(diào)閱具體的Matlab Gui 代碼,學(xué)習(xí)其具體的實現(xiàn)過程。因此,利用該仿真平臺,學(xué)生不但可以加深對這些實驗的理解,還可通過Matlab Gui代碼的學(xué)習(xí),提升自己的創(chuàng)新能力。
圖3 空間濾波實驗仿真界面
本文將Matlab Gui 應(yīng)用于信息光學(xué)實驗,對傅里葉變換、空間濾波等典型信息光學(xué)實驗進行了仿真設(shè)計。仿真界面友好,操作簡單,避免了復(fù)雜的數(shù)學(xué)公式,從而激發(fā)了學(xué)生的學(xué)習(xí)興趣,加深了對相關(guān)信息實驗的理解,提高了信息光學(xué)課程的教學(xué)效果。