成純富 歐藝文 方照東 陳嘉軒
(湖北工業(yè)大學理學院 湖北·武漢 430068)
信息光學是現(xiàn)代光學的一個分支,它是將電信理論中使用的傅里葉分析方法移植到光學領域而形成的新學科,[1]也是光學工程專業(yè)開設的一門重要的專業(yè)基礎必修課。信息光學以傅里葉變換為數(shù)學基礎,利用傅里葉變換實現(xiàn)在頻域中描述和處理光學信息,所以,信息光學課程對學生的數(shù)學基礎要求較高,而學生的數(shù)學基礎普遍較弱。此外,該課程理論學習內容較多,課時又有限,故大部分學生反映該課程枯燥乏味、難以理解。盡管大部分高校都開設了信息光學實驗來加深學生對信息光學課程的理解,但信息光學實驗難調,導致實驗效果不理想,部分學生甚至懷疑自己所做實驗結果的正確性。所以,信息光學課程急需創(chuàng)新教學方法來激發(fā)學生的學習興趣。Matlab仿真輔助教學由于具有可視化、編程簡單等優(yōu)點,已在信息光學課程的仿真輔助教學中取到了很好的教學效果,[2-3]但上述屬于不含操作界面的matlab 仿真,其功能和可視化效果等遠不及Matlab Gui 的仿真效果,為此,本文將開展基于Matlab Gui的信息光學仿真,設計的基于Matlab Gui的信息光學仿真平臺可為學生提供形象直觀的實驗現(xiàn)象,從而提高學生的學習興趣和加深學生對信息光學實驗原理的理解。通過Matlab Gui 仿真,學生對實驗原理和結果有了較清楚的認識,從而可提升信息光學實驗的成功率。同時,基于Matlab Gui 的信息光學仿真平臺還提供了傅里葉變換的仿真界面,有助于學生理解貫穿全書的傅里葉變換及其相關理論知識點,進而提高信息光學的教學效果。
信息光學一般指傅立葉光學,其核心就是傅里葉變換。傅里葉變換是有史以來最偉大、最深刻的數(shù)學發(fā)現(xiàn)之一,在信息光學、聲學、光纖通信、信號與系統(tǒng)、計算機等領域有著廣泛的應用。但由于傅里葉變換是一個積分變換,且學習傅里葉變換相關知識點時會面臨大量的數(shù)學公式,所以,數(shù)學基礎差的學生甚至基礎較好的學生也很難完全理解傅里葉變換的真正含義,往往對一些常見的函數(shù)或圖像的傅里葉變換譜(頻譜圖)一頭霧水。為此,我們開發(fā)了基于Matlab Gui 的信息光學仿真平臺。當在登錄界面輸入用戶名和密碼后,就進入到圖1 所示的歡迎界面。然后點擊信息光學實驗菜單下的傅里葉變換仿真實驗,就會彈出如圖2 所示仿真界面。由圖2 可以看出,仿真界面不但給出了信息光學課程中常見的空域到頻域的傅里葉變換仿真,還給出了其他課程中常見的時域到頻域的傅里葉變換仿真。仿真平臺的使用步驟如下:首先用Matlab Gui 做出原始圖或函數(shù)按鈕,接著通過函數(shù)調用讀入原始圖或函數(shù),然后,點擊FFT 變換按鈕,就可以得到常見的函數(shù)或圖像的傅里葉變換頻譜圖、頻移后的頻譜圖和逆傅里葉變換圖。下面以常用的時域到頻域的傅里葉變換為例,介紹其具體實現(xiàn)過程,其核心代碼如下。由核心代碼可以看出,其核心步驟是:先設置好時間數(shù)組、頻率數(shù)組和波長數(shù)組,接著設置高斯脈沖函數(shù)數(shù)組,由于光學工程專業(yè)的學生使用的激光脈沖通常為高斯脈沖,故這里選擇了高斯函數(shù),當然,在其它應用時也可以換成其它的常見函數(shù)。然后,通過調用fft()函數(shù)實現(xiàn)高斯函數(shù)的傅里葉正變換,通常為了提高計算速度,快速傅里葉變換的采樣點數(shù)需設置為2n,其中n 為正整數(shù),再利用conj()函數(shù)得到傅里葉變換共軛譜,其與傅里葉變換譜相乘得到頻譜強度信息,但此時低頻成分在邊緣,不在中央,為了獲得更好的直觀感受,可用fftshift()將低頻成分調整到頻譜的中央,高頻成分調整到邊緣。最后用ifft()可將頻譜還原為時域的高斯函數(shù)。因此,利用Matlab Gui 仿真平臺,學生可以實現(xiàn)任意圖像和大部分函數(shù)的傅里葉變換,不再對信息光學或其它課程中遇到的頻譜圖感到茫然,而是更有信心學好相關知識點。

圖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仿真,學生可利用仿真平臺,不但可以驗證這些實驗的原理,還可直觀地看到仿真實驗結果,從而不再懷疑自己所做的信息光學實驗結果是否正確,對實驗光路和實驗原理也有了更深入的理解。下面以空間濾波仿真實驗界面(如圖3 所示)為例,介紹其具體的界面功能和操作步驟。由圖3 可以看出,仿真平臺不但提供了具體的實驗光路和實驗的注意事項,還提供了對不同輸入圖像選擇不同濾波器進行濾波的仿真結果。比如當選擇帶高斯白噪聲的光字圖片時,如果選擇低通濾波器,點擊進行濾波按鈕,就可以得到濾波前的頻譜圖以及濾波后的頻譜圖,如圖3 所示,由圖3可以看出,通過低通濾波,可以得到去掉高斯白噪聲的光字,這與空間濾波的理論結果完全符合。學生還可以調閱具體的Matlab Gui 代碼,學習其具體的實現(xiàn)過程。因此,利用該仿真平臺,學生不但可以加深對這些實驗的理解,還可通過Matlab Gui代碼的學習,提升自己的創(chuàng)新能力。

圖3 空間濾波實驗仿真界面
本文將Matlab Gui 應用于信息光學實驗,對傅里葉變換、空間濾波等典型信息光學實驗進行了仿真設計。仿真界面友好,操作簡單,避免了復雜的數(shù)學公式,從而激發(fā)了學生的學習興趣,加深了對相關信息實驗的理解,提高了信息光學課程的教學效果。