圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学.docx

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XX大学XXXX学院

工程光学综合练习•…圆孔、矩孔的菲涅尔衍射模拟

圆孔和矩孔的菲涅尔衍射模拟

一、原理

由恵更斯•菲涅尔原理町知接收屏上的

P点的复振幅可以表示为

其中F(Q)为衍射屏上的复振幅分布,K(B)为倾斜因子。根据基尔霍夫对此公式的完善,有

设衍射屏上点的坐标为(χ17yj,接收屏上点的坐标为(χ,y),衍射屏与接收屏间距离为“,当满足菲涅尔近似条件时,即

上式为菲涅尔衍射的傅里叶变换表达式,它表明除了积分号前面的一个与xl、yl无关的振幅和相位因子外,菲涅尔衍射的复振幅分布是孔径平面的复振幅分布和一个二次和位因子乘积的傅里叶变换。

相对于夫琅和费衍射而言,菲涅尔衍射的观察屏距衍射屏不太远。在菲涅尔衍射中,输入变最和输出变最分别为衍射孔径平面的光场分布利观察平面的光场以及光强分布,考虑到这三个量都是二维分布,而且MatIab主要应用于矩阵数值运第所以本程序选择用二维矩阵來存储衍射孔径平面和观察平而的场分布,并分别以矩阵的列数和行数來对应平面的直角坐标值(x,y)以及(x h yι)o

用MATLAB分别构造表示衍射屏和接收屏的二维矩阵。注意使两矩阵阶次相冋,考虑到运算最的要求,釆样点数不能过多,所以每个屏的X和y方向各取200到300点进行运算。根据式(4),选取合适的衍射屏和接收屏尺寸和相距

E(P) = C —K(θ)ciσ

把上式指数项中的二次项展开,并改写成傅里叶变换的形式,可以写成

的距离,模拟结果如下:

取典型的He-Ne激光器波长λ=632.8nm,固定衍射屏和接收屏尺寸和相距的距离,分别取不同的圆孔半径,得到以下三组衍射图样,其圆孔半径分别为12 mm ■ 2Omm, 5Omm

图 1 (r=12mm)

图 2 (r=20mm)

园礼形状

⅛J

103

2CD

253

Tn

1DO 2C0 3□□

衍射园洋

圆孔形状

3C0

2£0

2C0

1∞

1Γ∩

E

O

100 2C0 300

轨射區存

2UJ -200

三.矩孔的菲涅尔衍射

步骏与上述相同,仅需改变与衍射屏形状对应的矩阵。这里选择矩孔的长宽相等, 分别为15mm, 20mm> 30mm,其衍射图样及强度分布如图4、5、6

图 4 (a=b=15mm)

图 3(r=50mm)

圆孔形状

250

2CO

IOO

1∞ 2CO 900

衍射图杆

1.5

1・・••

•200 -200

桁射屏形状

330 250 200 160 IOO 50

IDO 200 300

衍射若的圉样

200 -200

XX 大学

XXXX 学院

衍射屏形状衍射后的图样30C

25C

200

15C

IOC

50

100 200 300

-200 -2∞

图5(a=b=20mmj

衍射后的图杼

3∩∩

250

200

150

1∩∩

IDo NM Ξ00

-200 -200

b(a=b=30mml

XX大学XXXX学院四、MATLAB程序

%所冇长度单位为生米

Iamda=632.8e-6;

k=2*pi∕lamda;

Z=IOOOO00;

%先确定衍射屏

N =300; %1员1屏采样点数a=15; b=15;

[m z n]=meshgrid(linspace(-N∕2,N∕2-l,N)); l=rect(m∕(2*a)).*rect(n∕(2*b));若为圆孔,方框内替换为以下程序

r=12;a=l;b=l;

I=Zeros(N z N); [m z n]=meshgrid(linspace(-N∕2z N∕2-XN));

D=((m-a).A2+(n-b).A2).A(l/2); i=find(D<=r); Ki)=1;%孔半径范闱内透射系数为1

q=exp(j*k*(m.A2+n.^2)∕2∕z);

SUbPIot(27,1),•%圆孔图像画在2行1列的第一个位豐imagesc(l)%画衍射屏的形状COIOrmaP([0 0 0; 111])%颜色以黑白区分

axis image

title('衍射屏形状')

L=BOO;

M=300%取相同点数用于矩阵运算

[x,y]=meshgrid(linspace(-L∕2Λ∕2,M));

h=exp(j*k*z)*exp((j*k*(x.^2+y.^2))∕(2*z))∕(j*lamda*z)^ 接收屏

H =fftshift(fft2(h));

B=fftshift(fft2(l))56KI 孔频谱

G=H.*B; %公式中为卷积,空间域中相卷相当于频域中相乘

UrtShift(ifft2(G))洸求逆变换,得到复振幅分布矩阵

Br=(U∕max(U))56 归一化

SUbPIOt(2z2,2);

imshow(abs(U));

axis image;

COlOrmaP(hot)

% figureJmShOW(C);

title('衍射后的图样');

SUbPIOt(2,23);

mesh(x,y,abs(U)); % 画三维图形

SUbPIOt(2,2,4);

plot(abs(Br))

相关文档
最新文档