夫琅禾费衍射的Matlab仿真
- 格式:pdf
- 大小:843.28 KB
- 文档页数:8
实验7衍射的Matlab模拟一、实验目的:掌握衍射的matlab模拟。
二、实验内容:1)单个圆孔夫朗和费衍射的matlab模拟2)双圆孔夫朗和费衍射的matlab模拟3)同一波长,狭缝数量分别为1、2、3、6、9、10时候的夫朗和费衍射的matlab模拟4)对4个不同波长的光照射时,狭缝数量分别为1、3时候的夫朗和费衍射的matlab 模拟5)单个圆孔菲涅尔衍射的matlab模拟6)模拟圆孔(或者单缝)衍射时,衍射屏到接收屏距离不同的时候衍射的图样1)clearclclam=632.8e-9;a=0.0005;f=1;m=300;ym=4000*lam*f;ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=xs(i)^2+ys.^2;sinth=sqrt(r./(r+f^2));x=2*pi*a*sinth./lam;hh=(2*BESSELJ(1,x)).^2./x.^2;b(:,i)=(hh)'.*5000;B=b/max(b);endimage(xs,ys,b);colormap(gray(n));figure;plot(xs,B);colormap(green);-2.5-2-1.5-1-0.500.51 1.52 2.5x 10-3-2.5-2-1.5-1-0.50.511.522.5x 10-3-3-2-10123x 10-300.10.20.30.40.50.60.70.80.912)%双圆孔夫琅禾费衍射clear all close all clc %lam=632.8e-9;a=0.0005;f=1;m=300;ym=4000*lam*f;ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:m r=xs(i)^2+ys.^2;sinth=sqrt(r./(r+f^2));x=2*pi*a*sinth./lam;h=(2*BESSELJ(1,x)).^2./x.^2;d=10*a;deltaphi=2*pi*d*xs(i)/lam;hh=4*h*(cos(deltaphi/2))^2;b(:,i)=(hh)'.*5000;end image(xs,ys,b);colormap(gray(n));-2.5-2-1.5-1-0.500.51 1.52 2.5x 10-3-2.5-2-1.5-1-0.50.511.522.5x 10-33)lamda=500e-9;%波长N=[1236910];for j=1:6a=2e-4;D=5;d=5*a;ym=2*lamda*D/a;xs=ym;%屏幕上y 的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N(j)*beta)./sin(beta)).^2;B1=B/max(B);end NC=256;%确定灰度的等级Br=(B/max(B))*NC;figure(j);subplot(1,2,1);image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2);plot(B1,ys,'k');end-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为1-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为2-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为3-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025狭缝数为9狭缝数为6-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.0254)lamda=400e-9:100e-9:700e-9;%波长N=[13];a=2e-4;D=5;d=5*a;for j=1:4ym=2*lamda(j)*D/a;xs=ym;%屏幕上y 的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for k=1:2for i=1:n sinphi=ys(i)/D;alpha=pi*a*sinphi/lamda(j);beta=pi*d*sinphi/lamda(j);B(i,:)=(sin(alpha)./alpha).^2.*(sin(N(k)*beta)./sin(beta)).^2;B1=B/max(B);end NC=256;%确定灰度的等级Br=(B/max(B))*NC;figure();subplot(1,2,1);image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2);狭缝数为10plot(B1,ys,'k');end end-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02Lamda=400nm,N=1-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025Lamda=400nm,N=3Lamda=500nm,N=1-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03Lamda=500nm,N=3Lamda=600nm,N=1-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.04Lamda=600nm,N=3Lamda=700nm,N=1-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.045)clearclcN=300;r=15;a=1;b=1;I=zeros(N,N);[m,n]=meshgrid(linspace(-N/2,N/2-1,N));D=((m-a).^2+(n-b).^2).^(1/2);i=find(D<=r);I(i)=1;subplot(2,2,1);imagesc(I)colormap([000;111])axis imagetitle('衍射前的图样')L=300;M=300;[x,y]=meshgrid(linspace(-L/2,L/2,M));lamda=632.8e-6;k=2*pi/lamda;z=1000000;Lamda=700nm,N=3h=exp(j*k*z)*exp((j*k*(x.^2+y.^2))/(2*z))/(j*lamda*z); H=fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%圆孔频谱G=H.*B;U=fftshift(ifft2(G));Br=(U/max(U));subplot(2,2,2);imshow(abs(U));axis image;colormap(hot)%figure,imshow(C);title('衍射后的图样');subplot(2,2,3);mesh(x,y,abs(U));subplot(2,2,4);plot(abs(Br))6)lamda=500e-9;%波长N=1;%缝数,可以随意更改变换a=2e-4;D=3:7;d=5*a;for j=1:5ym=2*lamda*D(j)/a;xs=ym;%屏幕上y的范围n=1001;%屏幕上的点数ys=linspace(-ym,ym,n);%定义区域for i=1:nsinphi=ys(i)/D(j);alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;B1=B/max(B);endNC=256;%确定灰度的等级Br=(B/max(B))*NC;figure();subplot(1,2,1)image(xs,ys,Br);colormap(hot(NC));%色调处理subplot(1,2,2)plot(B1,ys,'k');end-0.4-0.200.20.4-0.015-0.01-0.00500.0050.010.01500.51-0.015-0.01-0.0050.0050.010.015D=3m-0.4-0.200.20.4-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51-0.02-0.015-0.01-0.0050.0050.010.0150.02-0.4-0.200.20.4-0.025-0.02-0.015-0.01-0.00500.0050.010.0150.020.02500.51-0.025-0.02-0.015-0.01-0.0050.0050.010.0150.020.025D=5m D=4m-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.03-0.02-0.010.010.020.03-0.4-0.200.20.4-0.03-0.02-0.0100.010.020.0300.51-0.04-0.03-0.02-0.010.010.020.030.04D=7m D=6m。
源代码:N=512;disp('衍射孔径类型1.圆孔 2.单缝3.方孔')kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型while kind~=1&kind~=2&kind~=3disp('超出选择范围,请重新输入衍射孔径类型');kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型endswitch(kind)case 1r=input('please input 衍射圆孔半径(mm):');% 输入衍射圆孔的半径I=zeros(N,N);[m,n]=meshgrid(linspace(-N/16,N/16-1,N));D=(m.^2+n.^2).^(1/2);I(find(D<=r))=1;subplot(1,2,1),imshow(I);title('生成的衍射圆孔');case 2a=input('please input 衍射缝宽:');% 输入衍射单缝的宽度b=1000;% 单缝的长度I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a<m&m<a&-b<n&n<b)=1;subplot(1,2,1);imshow(I);title('生成的衍射单缝');case 3a=input('please input 方孔边长:');% 输入方孔边长I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a/2<m&m<a/2&-a/2<n&n<a/2)=1;subplot(1,2,1),imshow(I);title('生成的方孔');otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型end% 夫琅禾费衍射的实现过程L=500;[x,y]=meshgrid(linspace(-L/2,L/2,N));lamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;lamda=lamda_1/1e6k=2*pi/lamda;z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应H =fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%孔频谱G=fftshift(ifft2(H.*B));subplot(1,2,2),imshow(log(1+abs(G)),[]);title('衍射后的图样');figuremeshz(x,y,abs(G));title('夫琅禾费衍射强度分布')实验输入:衍射孔径类型1.圆孔 2.单缝3.方孔please input 衍射孔径类型:1please input 衍射圆孔半径(mm):3please input 衍射波长(nm):632lamda =6.3200e-04please input 衍射屏距离衍射孔的距离(mm):1000000实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
2、用MATLAB仿真平行光束的衍射强度分布图样。
(夫朗和费矩形孔衍射、夫朗和费圆孔衍射、夫朗和费单缝和多缝衍射。
)理论推导部分2.(1)夫朗和费矩形孔衍射若衍射孔为矩形则在透镜焦平面上得到的衍射图样如图,衍射图样的主要特征为衍射亮斑集中分布在两个相互垂直的方向上,并且x轴上的亮斑宽度与y轴亮斑宽度之比,恰与矩形孔在两个轴上的宽度相反。
其中的θ为θx,同样的β中的θ为θy,利用θx=x/f,θy=y/f进行求解。
(2)夫朗和费圆形孔衍射夫朗和费圆孔衍射的讨论方法和矩形孔衍射的讨论方法相同,只是由于圆孔的几何对称性,采用极坐标更为方便。
Ф=kaθ2.(1)夫朗和费矩形孔衍射clear all;lamda=500e-9;a=1e-3;b=1e-3;f=1;m=500;ym=8000*lamda*f;ys=linspace(-ym,ym,m)xs=ys;n=255;for i=1:msinth2=ys./sqrt(ys.^2+f^2);%相当于x/fsinth1=xs(i)/sqrt(xs(i).^2+f^2);%xs(i)作用每给一个ys值,要遍历到所有的x值angleA=pi*a*sinth1/lamda;%相当于书上的alfa=kax/2f k=2*pi/lamdaangleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*a ngleB.^2));%光强度公式endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n))subplot(1,2,2)plot(B(m/2,:),ys)(2)夫朗和费圆孔衍射clearlam=500e-9a=1e-3f=1m=300;ym=5*0.61*lam*f/a;%取爱里光斑半径的5倍ys=linspace(-ym,ym,m);xs=ys;n=200;for i=1:mr=xs(i)^2+ys.^2;%相当于r的平方sinth=sqrt(r./(r+f^2));%角度fai=2*pi*a*sinth./lam;%fai=k*a*sinthhh=(2*BESSELJ(1,fai)).^2./fai.^2;%贝塞尔函数 b(:,i)=hh.*5000;endsubplot(1,2,1)image(xs,ys,b)colormap(gray(n))subplot(1,2,2)b(:,m/2)plot(ys,b(:,m/2))。
4、多缝的夫琅和费衍射,使用平行光照明,观察衍射图样随点光源位置(光源上下移动)的变化 θθθ图4-1 图4-2多缝夫琅禾费衍射如图4-1所示。
由于相邻单缝在P 点产生的夫琅禾费衍射的幅值与中心单缝的相同,只是产生一个相位差θλπδsin 2d =,故,经证明,P 点处的光强为:220)2sin 2sin ()sin ()(δδααN I P I =, 其中θλπαsin a =,θλπδsin 2d =。
因而,程序代码如下:clear %清除原有变量Lambda=600*(1e-9); %设置波长为600nma=0.005*(1e-3); %设置衍射屏参数:缝宽为0.005mm , 缝距为0.02mmd=0.02*(1e-3);f=0.01; %汇聚透镜焦距设置为1cmN=20; %设置缝数为20ni=1000;x=linspace(-0.005,0.005,ni); %将衍射屏按照狭缝方向分为ni 个微元 for k=1:nisn=x(k)/sqrt(x(k).^2+f^2);alpha=pi*a*sn/Lambda; %算各微元对应的α和δ值delta=2*pi*d*sn/Lambda;I(k)=(sin(alpha)/alpha).^2*(sin(N*delta/2)/sin(delta/2)).^2; %求出各处的光强endfigure(gcf); %显示图像NCLevels=250;Br=I*NCLevels;image(0,x,Br);colormap(gray(NCLevels));title('二维强度分布');运行后结果如图4-2所示。
将光源上下移动的结果如图4-3所示:图4-3 图4-4点光源发出的光经过准直透镜后形成倾斜入射的平行光,倾斜角度为i 。
此时,P 点强度的公式为:220)sin ()sin ()(ββααN I P I =, 其中)sin (sin i a -=θλπα,)sin (sin i d -=θλπβ。
光的干涉和衍射的matlab模拟单缝夫琅和费衍射是光的衍射现象之一,如图2所示。
当单色光波通过一个狭缝时,光波会向周围扩散,形成一系列同心圆环。
这些圆环的亮度分布是由夫琅和费衍射公式描述的,即。
其中为入射光波长,为狭缝宽度,为衍射角。
夫琅和费衍射公式表明,随着衍射角的增大,圆环的半径会减小,而亮度则会逐渐减弱。
在MATLAB中,可以通过输入实验参数,如光波长和狭缝宽度,来观察圆环的亮度分布和半径随衍射角的变化情况。
同时,还可以探讨不同波长和狭缝宽度对圆环亮度和半径的影响。
4双缝衍射双缝衍射是光的干涉和衍射现象的结合,如图3所示。
当一束单色光波通过两个狭缝时,光波会在屏幕上形成一系列干涉条纹和衍射环。
干涉条纹的亮度分布与___双缝干涉相同,而衍射环的亮度分布则由夫琅和费衍射公式描述。
在MATLAB中,可以通过输入实验参数,如光波长、双缝间距和双缝宽度,来观察干涉条纹和衍射环的亮度分布和条纹间距、环半径随实验参数的变化情况。
同时,还可以探讨不同实验参数对干涉条纹和衍射环的影响。
5衍射光栅衍射光栅是一种利用衍射现象制成的光学元件,如图4所示。
当一束单色光波通过光栅时,光波会被分为多个衍射光束,形成一系列亮度不同的衍射条纹。
衍射条纹的亮度分布与夫琅和费衍射公式描述的圆环类似,但是条纹间距和亮度分布会受到光栅常数的影响。
在MATLAB中,可以通过输入实验参数,如光波长和光栅常数,来观察衍射条纹的亮度分布和条纹间距随实验参数的变化情况。
同时,还可以探讨不同实验参数对衍射条纹的影响。
总之,通过MATLAB模拟光的干涉和衍射现象,可以更加直观地理解和掌握这些重要的光学现象,同时也可以为实验设计和数据分析提供有力的工具和支持。
本文介绍了___双缝干涉、单缝夫琅禾费衍射和衍射光栅光谱的计算机模拟。
当一束单色平行光通过宽度可调的狭缝,射到其后的光屏上时,形成一系列亮暗相间的条纹。
单缝夫琅禾费衍射的光强分布可以通过惠更斯-费涅耳原理计算。
基于Matlab的光学衍射实验仿真()摘要通过Matlab软件编程,实现对矩孔夫琅和费衍射的计算机仿真,结果表明:该方法直观正确的展示了衍射这一光学现象,操作性强,仿真度高,取得了较好的仿真效果。
关键词夫琅和费衍射;Matlab;仿真1引言物理光学是高校物理学专业的必修课,其中,光的衍射既是该门课程的重点内容,也是人们研究的热点。
然而由于光学衍射部分公式繁多,规律抽象,学生对相应的光学图像和物理过程的理解有一定的困难,大大影响了教学效果。
当然,在实际中可以通过加强实验教学来改善教学效果,但是光学实验对仪器设备和人员掌握的技术水平要求都较高,同时实验中物理现象容易受外界因素的影响,这给光学教学带来了较大的困难1【-5】。
随着计算机技术的迅速发展,现代化的教育模式走进了课堂,利用计算机对光学现象进行仿真也成为一种可能。
Matlab是一款集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件,它具有编程效率高、简单易学、人机交互好、可视化功能、拓展性强等优点[6-8],利用Matlab编程仿真光学现象只需改变程序中的参数,就可以生成不同实验条件下的光学图像,使实验效果更为形象逼真。
在课堂教学中,能快速的验证实验理论,使学生更直观的理解理论知识,接受科学事实。
本文以矩孔夫琅和费衍射为例,介绍了Matlab在光学衍射实验仿真中的应用。
2 衍射基本原理衍射是光波在空间或物质中传播的基本方式。
实际上,光波在传播的过程中,只要光波波面受到某种限制,光波会绕过障碍物偏离直线传播而进入几何阴影,并在屏幕上出现光强分布不均匀的现象,称为光的衍射。
根据障碍物到光源和考察点的距离,把衍射现象分为两类:菲涅尔衍射和夫琅和费衍射。
研究不同孔径在不同实验条件下的光学衍射特性,对现代光学有重要的意义。
如图1所示,衍射规律可用菲涅尔衍射积分表示,其合振幅为[9]:(1)其中,K是孔径平面,E是观察平面,r是衍射孔径平面Q到观察平面P的距离,d是衍射孔径平面O到观察平面P0的距离,cosθ是倾斜因子,k=2π/λ是光波波数,λ是光波波长,x1,y1和x,y分别是孔径平面和观察平面的坐标。
源代码:N=512;disp('衍射孔径类型1.圆孔 2.单缝3.方孔')kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型while kind~=1&kind~=2&kind~=3disp('超出选择范围,请重新输入衍射孔径类型');kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型endswitch(kind)case 1r=input('please input 衍射圆孔半径(mm):');% 输入衍射圆孔的半径I=zeros(N,N);[m,n]=meshgrid(linspace(-N/16,N/16-1,N));D=(m.^2+n.^2).^(1/2);I(find(D<=r))=1;subplot(1,2,1),imshow(I);title('生成的衍射圆孔');case 2a=input('please input 衍射缝宽:');% 输入衍射单缝的宽度b=1000;% 单缝的长度I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a<m&m<a&-b<n&n<b)=1;subplot(1,2,1);imshow(I);title('生成的衍射单缝');case 3a=input('please input 方孔边长:');% 输入方孔边长I=zeros(N,N);[m,n]=meshgrid(linspace(-N/4,N/4,N));I(-a/2<m&m<a/2&-a/2<n&n<a/2)=1;subplot(1,2,1),imshow(I);title('生成的方孔');otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型end% 夫琅禾费衍射的实现过程L=500;[x,y]=meshgrid(linspace(-L/2,L/2,N));lamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;lamda=lamda_1/1e6k=2*pi/lamda;z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应H =fftshift(fft2(h));%传递函数B=fftshift(fft2(I));%孔频谱G=fftshift(ifft2(H.*B));subplot(1,2,2),imshow(log(1+abs(G)),[]);title('衍射后的图样');figuremeshz(x,y,abs(G));title('夫琅禾费衍射强度分布')实验输入:衍射孔径类型1.圆孔 2.单缝3.方孔please input 衍射孔径类型:1please input 衍射圆孔半径(mm):3please input 衍射波长(nm):632lamda =6.3200e-04please input 衍射屏距离衍射孔的距离(mm):1000000实验结果:程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。
夫琅禾费衍射的Matlab仿真110512班 11051057 李陟凌夫琅禾费衍射,是认为光源和观察屏离衍射屏(孔处于无穷远处的衍射现象。
实验装置如图:S为单色点光源,放置在透镜L1的物方焦点处,所得平行光垂直入射到障碍物,借助于透镜L2将无穷远处的衍射图样移至L2的像方焦面上观察。
若障碍物为单缝,设缝宽度为a ,观察屏上点P与透镜L2光心连线的方位角为θ,由几何成像理论,此角正好也是相应平面波分量的方位角。
若取入射光波长为λ,透镜L2的焦距为f,根据惠更斯- 菲涅耳原理,可得单缝夫琅禾费衍射强度分布公式为:I=I0sin2α2(公式1式中I0为接收屏中央的强度,α=θ2=πasinθλ。
阿贝成像原理的演示实验中提及到夫琅禾费衍射,然而没有相应的演示实验装置,由此我产生了用数学软件模拟其衍射图样的想法。
根据公式1,代入λ、a、θ等值,就可以得到接收屏每一点的光强度值,调用imagesc(函数就可以得到干涉条纹样。
但这种方法只适用于单缝等简单情况。
为了模拟较复杂的二维孔洞产生的衍射图样,我查阅了资料,得到如下的方法:设衍射屏的振幅透射系数为t(x,y,根据菲涅耳——基尔霍夫衍射积分,若观察平面到衍射屏的距离z 满足如下近似条件:则在单位振幅的相干平面光波照射下,可得衍射屏的夫琅禾费衍射光场复振幅及强度分布分别为:式中T = F[t(x,y]表示衍射屏振幅透射系数t(x,y的傅里叶变换。
上式表明,在单位振幅的相干平面光波照射下,夫琅禾费衍射光场的复振幅分布正比于衍射屏振幅透射系数的傅里叶交换;衍射光场复振幅表达式中的相位因子并不影响观察屏上衍射图样的强度分布,若略去常系数,则衍射图样的强度分布直接等于衍射屏透射光场复振幅的傅里叶变换的模值平方。
将衍射屏制作成输入图像,用imread(函数读入,然后利用傅里叶变换函数fft2(对其进行傅里叶变换,得到其傅里叶频谱。
由函数fft2(实现的傅里叶变换频谱的直流分量位于图像的左上角,而由透镜实现的光学傅里叶变换的直流分量位于图像中心。
基于Matlab的夫琅禾费衍射光学仿真摘要计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。
计算机仿真早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。
关键词:计算机仿真夫琅禾费衍射MatlabFraunhofer Diffraction Optical Simulation Based onMatlabAbstract The computer simulation technology is based on a variety of disciplines and theoretical, with the computer and the corresponding software tools, we can analyze the virtual experimentation and solve the problem of a comprehensive technology. Computer simulation of early known as the Monte Carlo method, is a random problem solved using the method of random number test.Key words:Computer simulation Fraunhofer diffraction Matlab一、引言计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。
计算机仿真早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。
根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟-数字混合机仿真和数字机仿真三个大的阶段。
20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中。
夫琅禾费单缝衍射光强分布MATLAB分析毕业论文摘要衍射为人们所熟悉的现象,对于光的这种特殊现象在很多方面有着应用。
在光的衍射的基础上,介绍了什么是夫琅禾费衍射,几种实现夫琅禾费衍射的方法和原理及光强分布特点,以基尔霍夫积分定理为基础,利用衍射公式的近似对基尔霍夫衍射公式进行了推导,从理论上得出了夫琅禾费单缝衍射的光强公式,利用Matlab软件进行了光强分布的图样仿真,并用实验采集到的图样对理论和仿真的结论进行了验证,采用对观察屏上各点的光强进行计算的方法,对衍射条纹分析对比研究,重点研究了夫琅禾费单缝衍射光强分布以及衍射的条纹分析,计算结果与实验结果得到了很好的吻合。
关键词:夫琅禾费单缝衍射;光强分布;衍射条纹;对比分析AbstractDiffraction to people familiar with the phenomenon, the light of this unique phenomenon has applications in many areas.In the diffraction of light on the basis of what is on the Fraunhofer diffraction, the realization of several Fraunhofer diffraction methods and principles and distribution of light intensity to Kirchhoff integral theorem based on the formula used diffraction Kirchhoff diffraction similar to the formula derived from the theory that the Fraunhofer single-slit diffraction of light formula, using the Matlab software Light simulation of the design and use of the images collected on theory Simulation and the conclusions were verified by on-screen to observe the strong points of light to the method of calculation, the diffraction fringes of comparative study, focused on the Fraunhofer single-slit diffraction intensity distribution and diffraction analysis of the fringe The results with the experimental results have been very good anastomosis.Key words:Fraunhofer single-slit diffraction;light distribution;diffraction fringes ; comparative analysis目录第1章概述 (1)1.1 光的衍射 (1)1.2 研究的内容与目的 (2)第2章夫琅禾费衍射原理 (3)2.1 惠更斯—菲涅耳原理 (3)2.2 夫琅禾费衍射 (4)2.3 实现夫琅禾费衍射的几种方法 (5)2.4 菲涅耳半波带分析法 (7)2.5 夫琅禾费衍射光强图样特点 (10)2.6 本章小结 (13)第3章光强分布的推导 (14)3.1 基尔霍夫积分定理 (14)3.2 基尔霍夫衍射公式 (16)3.3 基尔霍夫衍射公式的近似 (18)3.4 夫琅禾费单缝衍射光强分布 (20)3.5 本章小结 (21)第4章条纹分析 (22)4.1 理论分析 (22)4.2 仿真分析 (24)4.3 实验分析 (27)4.4 对比分析 (30)4.5 本章小结 (31)结论 ......................................................................................... 错误!未定义书签。
利用MATLAB进行夫琅和费衍射我已经发过相关的帖子,是我以前做过的课程论文。
近来看见有很多人回帖说需要程序,故而总结一下方法和共享程序:通过MATLAB软件编程实现夫琅和费衍射的方法:(1)用衍射积分(2)傅立叶变换一、衍射积分相关程序如下:1.单缝衍射clearlamba=500e-9;%波长a=1e-3;D=1;ym=3*lamba*D/a;%屏幕上y的范围n=51;%屏幕上的点数ys=linspace(-ym,ym,n);n=51;%屏幕上的点数yp=linspace(0,a,n);for i=1:nsinphi=ys(i)/D;alpha=pi*yp*sinphi/lamba;sumcos=sum(cos(alpha));sumsin=sum(sin(alpha));B(i,:)=(sumcos^2+sumsin^2)/n^2;endN=256;%确定灰度的等级Br=(B/max(B))*N;subplot(1,2,1)image(ym,ys,Br);colormap(gray(N));%色调处理subplot(1,2,2)plot(B,ys,'k');2.多缝衍射clearlamda=500e-9; %波长N=2; %缝数,可以随意更改变换a=2e-4;D=5;d=5*a;ym=2*lamda*D/a;xs=ym;n=1001;ys=linspace(-ym,ym,n);for i=1:nsinphi=ys(i)/D;alpha=pi*a*sinphi/lamda;beta=pi*d*sinphi/lamda;B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin (beta)).^2;B1=B/max(B);endNC=256; %确定灰度的等级Br=(B/max(B))*NC;subplot(1,2,1)image(xs,ys,Br);colormap(gray(NC)); %色调处理subplot(1,2,2)plot(B1,ys,'k');3.矩孔衍射clearlamda=500e-9;a=1e-3;b=1e-3;f=1;m=500;ym=8000*lamda*f;ys=linspace(-ym,ym,m);xs=ys;n=255;for i=1:msinth1=xs(i)/sqrt(xs(i)^2+f^2);sinth2=ys./sqrt(ys.^2+f^2);angleA=pi*a*sinth1/lamda;angleB=pi*b*sinth2./lamda;B(:,i)=(sin(angleA).^2.*sin(angleB).^2.*5000./(angleA.^2.*angleB.^2));endsubplot(1,2,1)image(xs,ys,B)colormap(gray(n))subplot(1,2,2)plot(B(m/2,:),ys,'k')4.正弦光栅clear allxm=10*pi;ys=xm;xs=linspace(-xm,xm,500);B=cos(xs)+1;N=255;Br=B/2*N;image(xs,ys,Br);colormap(gray(N));二、傅里叶变换(1)基本思想:在傅立叶变换光学中夫琅和费衍射场的强度分布就等于屏函数的功率谱。
夫琅禾费衍射matlab引言夫琅禾费衍射(Fraunhofer diffraction)是指波在通过孔径或物体边缘时发生衍射的现象。
这一现象在光学领域得到广泛应用,并在科学研究中发挥重要作用。
而Matlab作为一种强大的计算工具,可以用来模拟和分析夫琅禾费衍射现象。
本文将介绍夫琅禾费衍射的基本原理,并展示如何使用Matlab来模拟和分析这一现象。
夫琅禾费衍射的基本原理夫琅禾费衍射是一种光的衍射现象,当光通过孔径时,光的传播符合亚耳伯特衍射原理,即光波在传播过程中会发生衍射。
夫琅禾费衍射的特点是衍射波前是平行的,远离光源的点光源成为衍射光的源点。
夫琅禾费衍射可以通过光的干涉和衍射来解释。
Matlab模拟夫琅禾费衍射的基本步骤在Matlab中模拟夫琅禾费衍射的基本步骤如下:1.定义衍射光的波长和孔径的尺寸。
2.计算衍射光的传播距离和传播方向。
3.使用夫琅禾费衍射公式计算衍射场的幅度和相位分布。
4.计算衍射光的强度分布。
5.可视化衍射光的强度分布。
下面将详细介绍每个步骤的实现方法。
定义衍射光的波长和孔径的尺寸在Matlab中,可以通过定义变量来表示衍射光的波长和孔径的尺寸。
例如,可以使用lambda表示波长,使用D表示孔径的尺寸。
计算衍射光的传播距离和传播方向对于夫琅禾费衍射,衍射光的传播距离和传播方向与孔径的尺寸有关。
通常情况下,可以假设衍射光从孔径的中心点向外传播。
在Matlab中,可以使用向量来表示衍射光的传播距离和传播方向。
使用夫琅禾费衍射公式计算衍射场的幅度和相位分布夫琅禾费衍射公式可用于计算衍射场的幅度和相位分布。
幅度和相位分布可以通过求衍射光场的傅里叶变换来获得。
在Matlab中,可以使用傅里叶变换函数来计算衍射场的幅度和相位分布。
计算衍射光的强度分布夫琅禾费衍射的强度分布可以通过幅度和相位分布的平方来计算得到。
在Matlab 中,可以通过对幅度和相位分布进行平方运算来计算衍射光的强度分布。
夫琅禾费衍射的Matlab仿真
110512班 11051057 李陟凌
夫琅禾费衍射,是认为光源和观察屏离衍射屏(孔)处于无穷远处的衍射现象。
实验装置如图:
S为单色点光源,放置在透镜L1的物方焦点处,所得平行光垂直入射到障碍物,借助于透镜L2将无穷远处的衍射图样移至L2的像方焦面上观察。
若障碍物为单缝,设缝宽度为a ,观察屏上点P与透镜L2光心连线的方位角为θ,由几何成像理论,此角正好也是相应平面波分量的方位角。
若取入射光波长为λ,透镜L2的焦距为f,根据惠更斯- 菲涅耳原理,可得单缝夫琅禾费衍射强度分布公式为:
I=I0sin2α
2
(公式1)
式中I
0为接收屏中央的强度,α=θ
2
=πasinθ
λ。
阿贝成像原理的演示实验中提及到夫琅禾费衍射,然而没有相应的演示实验装置,由此我产生了用数学软件模拟其衍射图样的想法。
根据公式1,代入λ、a、θ等值,就可以得到接收屏每一点的光强度值,调用imagesc()函数就可以得到干涉条纹样。
但这种方法只适用于单缝等简单情况。
为了模拟较复杂的二维孔洞产生的衍射图样,我查阅了资料,得到如下的方法:
设衍射屏的振幅透射系数为t(x,y),根据菲涅耳——基尔霍夫衍射积分,若观察平面到衍射屏的距离z 满足如下近似条件:
则在单位振幅的相干平面光波照射下,可得衍射屏的夫琅禾费衍射光场复振
幅及强度分布分别为:
式中T = F[t(x,y)]表示衍射屏振幅透射系数t(x,y)的傅里叶变换。
上式表明,在单位振幅的相干平面光波照射下,夫琅禾费衍射光场的复振幅分布正比于衍射屏振幅透射系数的傅里叶交换;衍射光场复振幅表达式中的相位因子并不影响观察屏上衍射图样的强度分布,若略去常系数,则衍射图样的强度分布直接等于衍射屏透射光场复振幅的傅里叶变换的模值平方。
将衍射屏制作成输入图像,用imread()函数读入,然后利用傅里叶变换函数fft2()对其进行傅里叶变换,得到其傅里叶频谱。
由函数fft2()实现的傅里叶变换频谱的直流分量位于图像的左上角,而由透镜实现的光学傅里叶变换的直流分量位于图像中心。
因此,为了得到模拟的光学傅里叶变换,需调用函数fftshift()将零频移到频谱中心。
Matlab程序如下:
用Photoshop作出2000*2000像素的衍射屏图像(图示为屏的局部),分别对单缝、圆孔、矩形孔、三角孔、双圆孔的衍射图样进行了模拟:
使用这一方法得到的单缝干涉图样基本分布在一个单像素的区域里,效果不是很理想。
然而理论上其可以定性模拟任何形状的孔产生的干涉图样,对学习过程中直观了解夫琅禾费干涉具有一定价值。
参考文献:
[1] 谢嘉宁等.夫琅禾费衍射的计算机仿真[J].大学物理.2004,23(3)
[2] 陈熙谋.光学[M].北京:北京大学出版社,2011.5。