工程光学综合练习-----圆孔、矩孔的菲涅尔衍射模拟圆孔和矩孔的菲涅尔衍射模拟一、原理由惠更斯 -菲涅尔原理可知 接收屏上的 P点的复振幅可以表示为其中为衍射屏上的复振幅分布,为倾斜因子。根据基尔霍夫对此公式的完善,有设衍射屏上点的坐标为(x1, y1),接收屏上点的坐标为(x, y),衍射屏与接收屏间距离为 z1,当满足菲涅尔近似条件时,即此时可得到菲涅尔衍射的计算公式把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与x1、y1 无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次相位因子乘积的傅里叶变换。相对于夫琅和费衍射而言, 菲涅尔衍射的观察屏距衍射屏不太远。在菲涅尔衍射中,输入变量和输出变量分别为衍射孔径平面的光场分布和观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且 Matlab 主要应用于矩阵数值运算 ,所以本程序选择用二维矩阵来存储衍射孔径平面和观察平面的场分布,并分别以矩阵的列数和行数来对应平面的直角坐标值(x, y) 以及(x 1, y1)。二、圆孔菲涅尔衍射用 MATLAB 分别构造表示衍射屏和接收屏的二维矩阵。注意使两矩阵阶次相同,考虑到运算量的要求, 采样点数不能过多, 所以每个屏的 x 和 y 方向各取200 到 300 点进行运算。根据式( 4),选取合适的衍射屏和接收屏尺寸和相距的距离,模拟结果如下:取典型的 He-Ne 激光器波长 λ=632.8nm ,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12mm ,20mm ,50mm图 1(r=12mm )图 2(r=20mm )图 3(r=50mm) 三、矩孔的菲涅尔衍射步骤与上述相同,仅需改变与衍射屏形状对应的矩阵。 这里选择矩孔的长宽相等,分别为 15mm,20mm,30mm,其衍射图样及强度分布如图4、5、6图 4( a=b=15mm )图 5(a=b=20mm) 图 6(a=b=30mm) 四、MATLAB程序%所有长度单位为毫米lamda=632.8e-6; k=2*pi/lamda; z=1000000; %先确定衍射屏N=300; %圆屏采样点数a=15; b=15; [m,n]=meshgrid(linspace(-N/ 2,N/2-1,N)); I=rect(m/(2*a)).*rect(n/(2*b)); q=exp(j*k*(m.^2+n.^2)/ 2/z); subplot(2,2,1); %圆孔图像画在2 行 2 列的第一个位置imagesc(I) %画衍射屏的形状colormap([0 0 0; 1 1 1]) %颜色以黑白区分axis image titl...