Matlab Gui 在信息光学课程教学中的应用

2020-12-11 02:13:04成纯富欧艺文方照东陈嘉轩
科教导刊 2020年33期
关键词:傅里叶光学频谱

成纯富 欧艺文 方照东 陈嘉轩

(湖北工业大学理学院 湖北·武汉 430068)

0 引言

信息光学是现代光学的一个分支,它是将电信理论中使用的傅里叶分析方法移植到光学领域而形成的新学科,[1]也是光学工程专业开设的一门重要的专业基础必修课。信息光学以傅里叶变换为数学基础,利用傅里叶变换实现在频域中描述和处理光学信息,所以,信息光学课程对学生的数学基础要求较高,而学生的数学基础普遍较弱。此外,该课程理论学习内容较多,课时又有限,故大部分学生反映该课程枯燥乏味、难以理解。尽管大部分高校都开设了信息光学实验来加深学生对信息光学课程的理解,但信息光学实验难调,导致实验效果不理想,部分学生甚至怀疑自己所做实验结果的正确性。所以,信息光学课程急需创新教学方法来激发学生的学习兴趣。Matlab仿真辅助教学由于具有可视化、编程简单等优点,已在信息光学课程的仿真辅助教学中取到了很好的教学效果,[2-3]但上述属于不含操作界面的matlab 仿真,其功能和可视化效果等远不及Matlab Gui 的仿真效果,为此,本文将开展基于Matlab Gui的信息光学仿真,设计的基于Matlab Gui的信息光学仿真平台可为学生提供形象直观的实验现象,从而提高学生的学习兴趣和加深学生对信息光学实验原理的理解。通过Matlab Gui 仿真,学生对实验原理和结果有了较清楚的认识,从而可提升信息光学实验的成功率。同时,基于Matlab Gui 的信息光学仿真平台还提供了傅里叶变换的仿真界面,有助于学生理解贯穿全书的傅里叶变换及其相关理论知识点,进而提高信息光学的教学效果。

1 Matlab Gui 在信息光学教学中的应用

1.1 Matlab Gui 在理论教学中的应用

信息光学一般指傅立叶光学,其核心就是傅里叶变换。傅里叶变换是有史以来最伟大、最深刻的数学发现之一,在信息光学、声学、光纤通信、信号与系统、计算机等领域有着广泛的应用。但由于傅里叶变换是一个积分变换,且学习傅里叶变换相关知识点时会面临大量的数学公式,所以,数学基础差的学生甚至基础较好的学生也很难完全理解傅里叶变换的真正含义,往往对一些常见的函数或图像的傅里叶变换谱(频谱图)一头雾水。为此,我们开发了基于Matlab Gui 的信息光学仿真平台。当在登录界面输入用户名和密码后,就进入到图1 所示的欢迎界面。然后点击信息光学实验菜单下的傅里叶变换仿真实验,就会弹出如图2 所示仿真界面。由图2 可以看出,仿真界面不但给出了信息光学课程中常见的空域到频域的傅里叶变换仿真,还给出了其他课程中常见的时域到频域的傅里叶变换仿真。仿真平台的使用步骤如下:首先用Matlab Gui 做出原始图或函数按钮,接着通过函数调用读入原始图或函数,然后,点击FFT 变换按钮,就可以得到常见的函数或图像的傅里叶变换频谱图、频移后的频谱图和逆傅里叶变换图。下面以常用的时域到频域的傅里叶变换为例,介绍其具体实现过程,其核心代码如下。由核心代码可以看出,其核心步骤是:先设置好时间数组、频率数组和波长数组,接着设置高斯脉冲函数数组,由于光学工程专业的学生使用的激光脉冲通常为高斯脉冲,故这里选择了高斯函数,当然,在其它应用时也可以换成其它的常见函数。然后,通过调用fft()函数实现高斯函数的傅里叶正变换,通常为了提高计算速度,快速傅里叶变换的采样点数需设置为2n,其中n 为正整数,再利用conj()函数得到傅里叶变换共轭谱,其与傅里叶变换谱相乘得到频谱强度信息,但此时低频成分在边缘,不在中央,为了获得更好的直观感受,可用fftshift()将低频成分调整到频谱的中央,高频成分调整到边缘。最后用ifft()可将频谱还原为时域的高斯函数。因此,利用Matlab Gui 仿真平台,学生可以实现任意图像和大部分函数的傅里叶变换,不再对信息光学或其它课程中遇到的频谱图感到茫然,而是更有信心学好相关知识点。

图1 仿真平台欢迎界面

图2 傅里叶变换仿真界面

N=2^12; %快速傅里叶变换采样点数

c=300; %光速(单位:nm/fs)

wl=800;%激光中心波长(单位:nm)

w0=(2*pi*c)/wl;%激光中心频率

Tr=12000; %时间范围(单位:fs)

dt=Tr/N; %时间数组步长

dw=2*pi/(N*dt); %频率步长

t=((1:N)-(N/2))*dt;%时间数组

f=((1:N)-(N/2))*dw;%频率数组

wl=-2*pi*c./(f-w0);%波长数组

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);%频移后的频谱强度

1.2 Matlab Gui 在实验教学中的应用

本仿真平台还提供了阿贝波特实验、空间滤波实验、离轴全息实验和计算全息实验的Matlab Gui仿真,学生可利用仿真平台,不但可以验证这些实验的原理,还可直观地看到仿真实验结果,从而不再怀疑自己所做的信息光学实验结果是否正确,对实验光路和实验原理也有了更深入的理解。下面以空间滤波仿真实验界面(如图3 所示)为例,介绍其具体的界面功能和操作步骤。由图3 可以看出,仿真平台不但提供了具体的实验光路和实验的注意事项,还提供了对不同输入图像选择不同滤波器进行滤波的仿真结果。比如当选择带高斯白噪声的光字图片时,如果选择低通滤波器,点击进行滤波按钮,就可以得到滤波前的频谱图以及滤波后的频谱图,如图3 所示,由图3可以看出,通过低通滤波,可以得到去掉高斯白噪声的光字,这与空间滤波的理论结果完全符合。学生还可以调阅具体的Matlab Gui 代码,学习其具体的实现过程。因此,利用该仿真平台,学生不但可以加深对这些实验的理解,还可通过Matlab Gui代码的学习,提升自己的创新能力。

图3 空间滤波实验仿真界面

2 结论

本文将Matlab Gui 应用于信息光学实验,对傅里叶变换、空间滤波等典型信息光学实验进行了仿真设计。仿真界面友好,操作简单,避免了复杂的数学公式,从而激发了学生的学习兴趣,加深了对相关信息实验的理解,提高了信息光学课程的教学效果。

猜你喜欢
傅里叶光学频谱
滑轮组的装配
光学常见考题逐个击破
一种用于深空探测的Chirp变换频谱分析仪设计与实现
双线性傅里叶乘子算子的量化加权估计
基于小波降噪的稀疏傅里叶变换时延估计
测控技术(2018年7期)2018-12-09 08:58:26
一种基于稀疏度估计的自适应压缩频谱感知算法
测控技术(2018年7期)2018-12-09 08:58:22
基于傅里叶变换的快速TAMVDR算法
认知无线电频谱感知技术综述
快速离散傅里叶变换算法研究与FPGA实现
电测与仪表(2015年5期)2015-04-09 11:30:44
光学遥感压缩成像技术