plot121imagexsysBrcolormapgrayNCsubplot122plotB1ys(二)傅立叶变换方法:在傅立叶变换光学中我们知道夫琅和费衍射场的强度分布就等于屏函数的功率谱。因此我们可以直接将光屏进行傅立叶变换,再处理得到衍射图样。物体图像的生成可以直接由矩阵运算生成,也可利用Wi
dows下的画图工具,生成一幅黑白图像,并调用命令函数imread()输入图像,输入的图像是一个巨大的二维矩阵,利用MATLAB函数库中的fft2()命令对该矩阵进行二位离散傅立叶变换,得到图像的频谱,该频谱是一个复数矩阵,然后用取模函数abs()对该复数矩阵取模,得到振幅谱矩阵,利用函数fftshift()对取模后的矩阵进行频谱位移,这是因为变换后的二维矩阵的直流分量位于图像的周边角,该函数交换矩阵的1、3象限和2、4象限,使直流分量移到频谱中心,从而使FFT频谱可视效果与实际图像相吻合。最后利用imshow()函数将图像显示出来。编写程序如下:clearimshowaabssaimreadE1bmpcolormapgraygrido
colorbarfigure1figure3imshowaplotaabssafftfft2acolormapgrayaabsabsafftfigure4aabssfftshiftaabsmeshcaabssfigure2maxx1maxmaxaabss输入黑白或灰度的衍射屏图像,得到输出的衍射图样和光强分布。1.简单孔径的衍射a圆孔衍射:可以看到光强分布随孔径大小的变化
图4圆孔的光强分布
fb矩孔衍射:
图5矩孔衍射的光强分布(c)三角孔衍射:
图6三角孔衍射的光强分布2.单缝衍射:
图7单缝衍射的光强分布3.黑白光栅衍射:
f缝宽不变,光栅常数变大:
缝宽变小,光栅常数不变:
图8黑白光栅衍射的光强分布可以明显地观察到干涉条纹受衍射因子的调制,以及缺级现象4.正弦光栅衍射:我们先设计程序制得一张正弦光栅,用正(余)弦函数作图如下:clearallxm10piysxmxsli
spacexmxm500Bcosxs1N255BrB2NimagexsysBrcolormapgrayN将该图片保存成灰度BMP文件。调用程序得到衍射图样,只有三个衍射斑,与理论一致。
图9正弦光栅衍射的光强分布(三)利用傅立叶方法还可以得到其他有趣的衍射花样,并研究其规律性
f每个方孔几何尺寸相同可以看出,基本衍射图样还是方孔衍射但是在任意两个方孔连线的中垂线方向会出现等间距暗纹,三角形摆放则会出现类似蜂巢的结构。
两个方向上的光栅衍射叠加,如果线条不平行则会在每个中垂线方向都向外发展。
可以看到,圆孔衍射的图样受到椭圆孔衍射因子的调制
一些字母和符号也可以产生很有趣的衍射图样:
r