基于MATLAB的物理光学仿真
摘要©:利用MATLAB编程语言对典型物理光学实验进行ท了仿真模拟,制作了包括干涉、衍射、信息光学、晶体光学实验在内的光学实验仿真平台,可应用到光学理论和实验教学中,使整个抽象的物理过程变得直观形象,增强了学生的学习兴趣,提高了物理光学课程的教学水平。
关键词:物理光学;MATLAB;仿真
一、引言
《物理光学》课程是我院直通车军用光电工程专业开设的一门重要的专业基础必修课,它是研究光的基本属性、光的传播规律、光与物质相互作用以及相关应用的学科,也是一门应用性很强的学科。♋该课程的½学习将与后继课程,如光电技术、激光技术、光纤通信等有密切关系,也是学员今后开展军用光电装备保障工作的基础。因此,教学质量的好坏直接关系到学员对今后专业课程的学习效果以及将来的岗位任职需要[1]。
当前信息技术飞速发展,计算机辅助教学已被广泛应用于各学科教学中[2]。而我院的《物理光学》课程教学依然主要沿用传统的“口授、耳听、笔演”的教学模式,尚未找到一种可以很好地囊括教学内容的辅助教学软件。基于此,笔者构建了基于MATLAB的物理光学仿真平台,有效地提高了课堂教学效率,改善了当前课时压缩和教学内容有增无减的矛盾现状。
二、平台简介
物理光学实验仿真平台主要包括四个模块,分别为:干涉实验、衍射实验、信息光学和晶体光学,其总体构架如图1所示。其中干涉实验主要包括杨氏双缝干涉、牛顿环和迈克尔逊干涉仪等典型干涉现象的仿真。衍射实验主要包括单缝衍射、光栅衍射、圆环衍射以及圆孔、矩孔、三角孔的衍射仿真,通过分析这些仿真结果,可以较好地掌握衍射现象的普遍规律。信息❤光学部分主要是对高通和低通滤波进行了模拟仿真。晶体光学部分包括平行偏振光干涉和会聚偏振光的干涉。
三、各模块的仿真实现
(一)干涉实验仿真
(二)衍射实验仿真
在这部分,主要是对几种不同孔径的夫琅和费衍射进行了仿真。夫琅和费衍射的仿真方法有两种:一种是傅里叶变换方法,另一种是利用衍射积分公式进行数学计算。两种方法相比较,傅里叶变换方法编程简单、语句少、速度快。选取圆孔夫琅和费衍射为例,对其进行模拟仿真。首先利用两个for循环语句生成圆孔衍射孔径,再利用函数fft2()对衍射孔径的场分布进行傅里叶变换,从而得出观察平面的频谱,利用取模函数abs()对该复数矩阵取模,得到振幅谱矩阵;再利用函数fftshift()对取模后的矩阵进行频谱位移。核心程序如下:
最后,利用imshow、plot和mesh函数绘出观察屏上的衍射图样、光强二维分布、光强三维分布图。仿真结果如图4所示。与干涉实验仿真模块类似,也设计了滑动条来连续改变实验参数。
(三)信息光学仿真
在信息光学部分,主要对空间滤波中的高通和低通滤波进行了仿真。首先采用imread函数读入一幅图像,存入二维矩阵,调用fft2函数对输入图像进行傅里叶变换,依据滤波要求选择合适的滤波函数T(u,v),将傅里叶变换结果与滤波函数T(u,v)相乘,调用傅里叶逆变换函数ifft2对相乘结果作变换得到输出图像,利用imshow函数将图像显示出来。高通滤波和低通滤波的仿真结果分别如图5和图6所示。
(四)晶体光学仿真
晶体光学部分,主要对偏振光干涉结果进行了仿真。偏振光干涉装置如图7所示,其中P1、P2为偏振片,W为波片。在常见的偏振光干涉装置中,偏振片P1和P2的透光轴方向放置成互相垂直或平行。通过光波的振动分解,得到干涉场的光强分布。P1和P2垂直时,干涉场形成的干涉条纹和光强曲线如图8所示。对于会聚偏振光干涉,通过MATLAB编程后,仿真干涉图样如图9和10所示。
四、结语
《物理光学》课程理论性强,内容晦涩难懂,传统的课堂教学不可能把实验器材搬到教室供学员操作。基于MATLAB制作的物理光学实验仿真平台,可实现实验参数的连续调节和图像的动态显示,能够应用到光学理论和实验教学中,增强学生对理论知识的理解,提升学生的学习兴趣,提高物理光学课程的教学水平。
参考文献:
[1]毛少娟,陈玉丹,华文深.物理光学课程信息化教学改革[J].中国教育技术装备,2015,(20):102-103.
[2]李继军.Matlab GUI在光学仿真中的应用[J].通化师范学院学报,2010,31(2):52-54.