基于MATLAB光栅衍射实验中的应用.docx
《基于MATLAB光栅衍射实验中的应用.docx》由会员分享,可在线阅读,更多相关《基于MATLAB光栅衍射实验中的应用.docx(10页珍藏版)》请在冰豆网上搜索。
基于MATLAB光栅衍射实验中的应用
基于MATLAB光栅衍射实验中的应用
《MATLAB语言》课程论文
基于MATLAB光栅衍射实验中的应用
姓名,马小玲
学号,12010245384
专业,通信工程
班级,通信,1,班
指导老师,汤全武
学院,物理电气信息学院
完成日期,2011.12.17
基于MATLAB光栅衍射实验中的应用
(马小玲12010245384通信,1,班)
[摘要]物理光学理论较为复杂抽象,实验现象的演示对条件要求高,为了提高学生的学习效率和学习积极性,使教学效果明显,采用MATLAB对光学理论和现象作辅助分析,提供了光学演示平台,对教学内容和手段的改革提供了一种有效工具,他对矩孔夫埌和费衍射进行了验证分析,利用惠更斯一菲涅耳原理,获得了衍射光栅光强的解析表达式,运用Matlab软件,从R,N,b,d,C00等6个层面对衍射光栅的光强分布和谱线的特征进行了数值模拟,模拟结果与实验观测的结果非常吻合,这种方法作为辅助教学手段。
有助于学生更加深刻地理解光栅衍射的特征和规律,提高教学质量,
[关键词]光栅衍射光强分布谱线特征MATLAB语言图形绘制
一、问题提出
衍射是光的光波的一种重要特质,对光波衍射现象的讨论是以惠更斯一菲涅耳原理为基础的,事实证明(在大多数光学问题中(可以采用光场的标量衍射理论采描述和计算。
光场的频率非常高,只能测量在一个比光的周期大得多的时间间隔内的平均值;平面衍射光栅是利用光的衍射原理使光波发生色散的光学元件,它由大量相互平行、等宽、等距的狭缝(或刻痕)组成;它的刻槽密度可达4800槽,mm,需要具备亚微米的加工设备和工艺技术,达到纳米级的精度要求,是属于光、机、电结合的高技术项目。
在物理光学的光的衍射教学过程中(光学实验内容比较抽象,为学生理解复杂理论和实验做好铺垫,可以用MATLAB和软件为平台,光的衍射条纹为什么中间最宽越往外越窄。
二、光的衍射现象的问题
相干光源通过双缝发生干涉现象.如果光源在双缝连线的中点上,那么光屏上的第一道亮纹应当在双缝连线的垂直平分线上.现将光源平移,使它离双缝的其中一条缝近一点(平移相当小的距离,不影响干涉的形成),那么中央的亮纹是否会移动?
MATLAB程序如下:
lam=lam*1e-9;%变量lam
a=2e-3;%变量a
f=1;%变量f
m=200;%变量m
1
ym=2000*lam*f;%变量ym及表达式
ys=linspace(-ym,ym,m);%变量ys及表达式xs=ys;%交换变量
n=255;%变量n
fori=1:
m%设置上下限
r=xs(i)^2+ys.^2;%设置孔径变量及表达式
sinth=sqrt(r./(r+f^2));%函数sinth及其表达式x=2*pi*a*sinth./lam;%变量x及其表达式hh=(2*BESSELJ(1,x)).^2./x.^2;%变量hh及其表达式b(:
i)=(hh)'.*5000;%变量b(:
i)及其表达式end%结束程序
figure%画图函数
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(xs,ys,b)%画图ys.xs
colormap(gray(n))%控制及设置颜色
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中b(:
m/2);%变量b(:
i)及其表达式
plot(ys,b(:
m/2))%画图函数运行
运行结果如图1所示。
图1圆孔的弗朗禾费衍射图(光强二维图)
当为单色光人射时,固定入射光的波长,固定的两缝之问的距离,固定的缝到屏幕
之问的距离MATLAB模拟圆孔的弗朗禾费衍射程序1、圆孔衍射
clear%清除所有变量
lam=1;%变量lam
lam=lam*1e-9;%变量lam的表达式
a=1e-3;%变量a及初值
f=1;%变量f及初值
m=200;%变量m及初值
2
ym=2000*lam*f;%函数ym及表达式
ys=linspace(-ym,ym,m);%在[-ym,ym]之间产生m个数据xs=ys;%交换函数值
n=255;%变量n及其初值
fori=1:
m%设置i的上下限
r=xs(i)^2+ys.^2;%变量r及其表达式
sinth=sqrt(r./(r+f^2));%函数sinth及其表达式
x=2*pi*a*sinth./lam;%变量x及其表达式
hh=(2*BESSELJ(1,x)).^2./x.^2;%变量hh及其表达式
b(:
i)=(hh)'.*5000;%变量b(:
i)及其表达式end%程序结束
subplot(1,2,1);%把图形画在1行2列图像中的第一幅图中image(xs,ys,b);%画图函数
colormap(gray(n));%控制颜色
subplot(1,2,2);%把图形画在1行2列图像中的第二幅图中b(:
m/2);
plot(ys,b(:
m/2));%画图函数
运行结果如图2所示。
图2圆孔的弗朗禾费衍射图(光强二维图)
y=-4:
.1:
4;%设置变量的初始值
a=linspace(-atan(4/11),atan(4/11),length(y));%变量a及其表达式,产生函数atan(4/11),atan(4/11),length(y)曲线
a=10*sin(a);%变量a及其表达式
II=abs(sinc(a)).^2*6;%变量||及其表达式
3
x=11-II;%变量a及其表达式
plot(x,y,'r')%画图函数
holdon;%程序结束
K=find(diff(sign(diff(II)))==-2)+1;%变量k及其表达式yyN=y(K);%交换变量
P=zeros(3,5);yN=[-0.7,0,0.7];H=P;%变量P及其表达式form=1:
3;%设置上下限
forn=1:
5;%设置上下限
p=polyfit([0,11],[yN(m),yyN(n)],1);%输出函数图像
P(m,n)=complex(p
(1),p
(2));%拟合p
(1),p
(2)的图像
H(m,n)=plot(0,yN(m));%画图函数
end%结束程序
end%结束程序
forQ=0:
.1:
11;%设置上下限及步长
pause(0.05)
forw=1:
15;%设置上下限
[m,n]=ind2sub([3,5],w);%拟合图像
Y=polyval([real(P(w)),imag(P(w))],Q);%水平方向设置
try%转向下个条件的函数
set(H(w),'xdata',[0,Q],'ydata',[yN(m),Y]);%输出图像设置
catch%出结果函数
return%返回函数
end%结束最内层程序
end%结束此外层程序
end%结束最外层程序
axes('position',[0.65,0.08,0.3,0.8])%图像输出位置设置a=linspace(-atan(4/11),atan(4/11),300);%变量a及其表达式,产生函数atan(4/11),atan(4/11),length(y)曲线
[X,Y]=meshgrid(a);
r=sqrt(X.^2+Y.^2);%设置内经大小的表达式
R=10*sin(r);%设置外经大小的表达式
II=abs(sinc(R)).^2*6;%变量||及其表达式
imshow(mat2gray(II));%输出图像函数imshow运行结果如图3所示。
4
图3圆孔的弗朗禾费衍射图(光强二维图)
functionphoto_diffraction%光学衍射仿真矩形lmda=632.8e-9;%波长
xmax=0.05;%观察屏所取范围
a=1e-3;f=1;%变量a.f
ymax=xmax;%变量代换
def=0.0001;%变量def
x=-xmax:
def:
xmax;%设置变量x的上下限y=-ymax:
def:
ymax;%设置变量x的上下限lenm=length(x);%设置长度
lenn=length(y);%设置长度
form=1:
lenm%设置变量m的上下线forn=1:
lenn%设置变量n的上下线alpha=pi*x(m)*a/(lmda*f);%0.5*k*l*a;%变量alfha及表达式
beta=pi*y(n)*a/(lmda*f);%bb=0.5*k*w*b;%变量beta及表达式
I(m,n)=((sin(alpha))/(alpha))^2*((sin(beta))/(beta))^2;%拟合函数图像
end%结束程序
end%结束程序
I=I/(max(max(I)));%变量|及表达式[X,Y]=meshgrid(x,y);figure%输出图像函数mesh(X,Y,I);%三维空间函数
xlabel('x');%x轴名称
ylabel('y');%y轴名称
zlabel('光强');%z轴名称
rotate3D%在三维空间输出holdon%结束程序
5
figure%输出图像
imshow(255*I);%底层图形的输
xlabel('x');%x轴名称
ylabel('y');%y轴名称-
运行结果如图4所示。
图4单缝圆孔的弗朗禾费衍射图(光强三维图)
functionphoto_diffraction%光学衍射仿真矩形
clear%清除所有变量
lam=500e-9;%变量lam
a=1e-3;f=1;%变量a.f
xm=3*lam*f/a;%变量xm及表达式
nx=51;%变量nx
xs=linspace(-xm,xm,nx);%在[-xm,xm]之间产生nx个数据np=51;%变量xp
xp=linspace(0,a,np);%在[0,a]之间产生xp个数据fori=1:
nx%设置变量i的上下线
sinphi=xs(i)/f;%函数sinphi及表达式alpha=2*pi*xp*sinphi/lam;%变量alfha及表达式sumcos=sum(cos(alpha));%余弦求和函数
sumsin=sum(sin(alpha));%正弦求和函数
B(i,:
)=(sumcos^2+sumsin^2)/np^2;%变量B(i,:
)及表达式end%结束程序
N=255;%变量N
Br=(B/max(B))*N;%变量Br
figure;%输出图像函数
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(xm,xs,Br);%画图函数
colormap(gray(N));%界面颜色设置
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中plot(B,xs);%-输出函数图像
运行结果如下图所示。
6
图5单缝圆孔的弗朗禾费衍射图(光强二维图)
clear%清除所有变量
lam=500e-9;N=2;%变量lam
a=2e-4;z=5;d=5*a;%变量a.d
xm=2*lam*z/a;y0=xm;%变量xm,y0及表达式
n=1001;%变量n
x0=linspace(-xm,xm,n);%在[-xm,xm,]之间产生n个数据fori=1:
n%设置变量i的上下线sinphi=x0(i)/z;%函数sinphi及表达式
alpha=pi*a*sinphi/lam;%函数sinphi及表达式
beta=pi*d*sinphi/lam;%函数beta及表达式B(i,:
)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;%变量B(i,:
)及表达式
B1=B/max(B);%变量B1及表达式end%结束程序
NC=255;%变量NC
Br=(B/max(B))*NC;%变量Br及表达式figure;%画图函数
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(y0,x0,Br);%画图函数
colormap(gray(NC));%界面颜色设置
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中plot(B1,x0);%输出函数图形
运行结果如下图所示。
7
图6单缝圆孔的弗朗禾费衍射(光强二维图)四、结论
有以上实验现象我们不难得出,无论缝的宽度,尺寸有多么的大,波它本身是不介意的,它仍然按照早就定好了的方式运作,所以无论大缝小缝(甚至没有缝),只要波到达了,单个质点的振动就应该都是相同的那么为什么大缝后面的衍射现象不明显呢,我猜也许是因为大缝中间的质点比较的多,拉的比较长,他们的振动都对波在屏障后面的传播有贡献,互相干涉,使得"阴影区"的波被减弱了.对于小缝来说,因为有贡献的质点比较的少,振动比较的"集中",所以对"阴影区"的削弱就小一些,光沿直线传播,在通过缝或孔时发生折射,越个比兆的周期大得多的时间问隔内的弗朗禾费衍射为例进行分析。
孔沿其偏折越大,之后继续直线传播,根据统计学原理,产生光强分布不均。
根据基尔霍夫定律,在其后方形成的衍射应该满足基尔霍夫定律,通过弗朗禾费近似,或者菲涅尔近似,得到的光强分布,都不能形成一个光强均匀分布的情况,也就是相同条纹。
其分别是满足一个衍射光强分布公式的,而这个公式不是线性的在通常的杨氏双缝于涉操作实验中,实验参数的改变引起干涉条纹的变化不明显,不易观察,难以充分震示实验的全部特征,加l实验蠹要特定盼搜器和场疆,给教学科研究带了许多不经。
本文在杨氏双缝干涉理沦的基础上,耐用MATLAB强大的计算和绘图功能,通过利用计算机对杨氏双缝干涉实验进行仿真,仿真程序可以显示单色光和非单色光入射时的干涉图样和光强分布曲线,同时计算出相应的条纹间距和具体点的对比度。
此外,还设计了图形用户界面(用户可以设置不同的实验参数,定性积定量建分板各参数对结果的影响。
通过上述讨论分析可知,利用MATLAB软件对平面光栅衍射实验进行仿真模拟,不受实验仪器和场所的限制,为大学物理的理论分析和实验仿真教学提供了教改的平台(在光学教学中,可以通过改变实验参数就能得到不同实验条件下的衍射强度分布和衍射谱线,对于帮助学生理解光学原理具有积极的作用。
8
五、课程心得
经过一学期的课程学习,在忙碌和紧张有序之余也得到了颇多的收获。
首先我体会到了它简单易懂,同时也给我们解决很多问题带来了方便,除此之外,我觉得对这门语言的掌握还是不到位,欠缺很多,有待做进一步的研究和学习。
以便有更好的应用空间和更多机会的运用。
通过上述讨论分析可知,利用MATLAB软件对平面光栅衍射实验进行仿真模拟,不受实验仪器和场所的限制,为大学物理的理论分析和实验仿真教学提供了教改的平台(在光学教学中,可以通过改变实验参数就能得到不同实验条件下的衍射强度分布和衍射谱线,对于帮助学生理解光学原理具有积极的作用,进一步提高大学物理教学现代化的水平;同时,对衍射光栅作为各种光谱仪器的核心元件的制作和研究具有一定的指导意义(
[参考文献]:
[1]刘卫国.MATLAB程序设计与应用(第二版)[M].北京:
高等教育出版社,2006.[2]马文蔚.物理学(上册)(第四版)[M],北京:
高等教育出版社,1999.[3]谢嘉宁,赵建林(光栅衍射现象的计算机仿真分析[J]佛山科学技术学院学报,2002,20
(2):
15?
18(
[4]袁长迎,陈昭栋(光栅衍射的汁算机模拟[J]西南工学院学报,2000,1([5]谢嘉宁Matlab在光学信息处理仿真实验中的应用[期刊论文]-物理实验2004(06)
9