工程光学matlab仿真.docx

上传人:b****8 文档编号:9570488 上传时间:2023-02-05 格式:DOCX 页数:22 大小:291.41KB
下载 相关 举报
工程光学matlab仿真.docx_第1页
第1页 / 共22页
工程光学matlab仿真.docx_第2页
第2页 / 共22页
工程光学matlab仿真.docx_第3页
第3页 / 共22页
工程光学matlab仿真.docx_第4页
第4页 / 共22页
工程光学matlab仿真.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

工程光学matlab仿真.docx

《工程光学matlab仿真.docx》由会员分享,可在线阅读,更多相关《工程光学matlab仿真.docx(22页珍藏版)》请在冰豆网上搜索。

工程光学matlab仿真.docx

工程光学matlab仿真

工程光学仿真实验报告

1、杨氏双缝干涉实验

(1)杨氏干涉模型

杨氏双缝干涉实验装置如图1所示:

S发出的光波射到光屏上的两个小孔S1和S2,S1和S2相距很近,且到S等距;从S1和S2分别发散出的光波是由同一光波分出来的,所以是相干光波,它们在距离光屏为D的屏幕上叠加,形成一定的干涉图样。

图杨氏双缝干涉

假设S是单色点光源,考察屏幕上某一点P,从S1和S2发出的光波在该点叠加产生的光强度为:

I=I1+I2+2I1I2cosδ(1-1)

式中,I1和I2分别是两光波在屏幕上的光强度,若实验装置中S1和S2两个缝大小相等,则有

I1=I2=I0(1-2)

δ=2π(r2-r1)/λ(1-3)(1-3)

(1-4)

(1-5)

可得

(1-6)

因此光程差:

(1-7)

则可以得到条纹的强度变化规律-强度分布公式:

(1-8)

(2)仿真程序

clear;

Lambda=650;%设定波长,以Lambda表示波长

Lambda=Lambda*1e-9;

d=input('输入两个缝的间距)');%设定两缝之间的距离,以d表示两缝之间距离

d=d*;

Z=;%设定从缝到屏幕之间的距离,用Z表示

yMax=5*Lambda*Z/d;xs=yMax;%设定y方向和x方向的范围

Ny=101;ys=linspace(-yMax,yMax,Ny);%产生一个一维数组ys,Ny是此次采样总点数

%采样的范围从-ymax到ymax,采样的数组命名为ys

%此数组装的是屏幕上的采样点的纵坐标

fori=1:

Ny%对屏幕上的全部点进行循环计算,则要进行Ny次计算

L1=sqrt((ys(i)-d/2).^2+Z^2);

L2=sqrt((ys(i)+d/2).^2+Z^2);%屏上没一点到双缝的距离L1和L2

Phi=2*pi*(L2-L1)/Lambda;%计算相位差

B(i,:

)=4*cos(Phi/2).^2;%建立一个二维数组,用来装该点的光强的值

end%结束循环

NCLevels=255;%确定使用的灰度等级为255级

Br=(B/*NCLevels;%定标:

使最大光强(4.0)对应于最大灰度级(白色)

subplot(1,4,1),image(xs,ys,Br);%用subplot创建和控制多坐标轴

colormap(gray(NCLevels));%用灰度级颜色图设置色图和明暗

subplot(1,4,2),plot(B(:

),ys);%把当前窗口对象分成2块矩形区域

%在第2块区域创建新的坐标轴

%把这个坐标轴设定为当前坐标轴

%然后绘制以(b(:

),ys)为坐标相连的线

title('杨氏双缝干涉');

(3)仿真图样及分析

a)双缝间距2mmb)双缝间距4mm

c)双缝间距6mmd)双缝间距8mm

图改变双缝间距的条纹变化

由上面四幅图可以看出,随着双缝之间的距离增大,条纹边缘坐标减小,也就是条纹间距减小,和理论公式

推导一致。

如果增大双缝的缝宽,会使光强I增加,能够看到条纹变亮。

2、杨氏双孔干涉实验

1、杨氏双孔干涉

杨氏双孔干涉实验是两个点光源干涉实验的典型代表。

如图2所示。

当光穿过这两个离得很近小孔后在空间叠加后发生干涉,并在像屏上呈现出清晰的明暗相间的条纹。

由于双孔发出的波是两组同频率同相位的球面波,故在双孔屏的光射空间会发生干涉。

于是,在图2中两屏之间的空间里,如果一点P处于两相干的球面波同时到达波峰(或波谷)的位置,叠加后振幅达到最高,图杨氏双孔干涉

表现为干涉波的亮点;反之,当P处处于一个球面波的波峰以及另一个球面波的波谷时候,叠加后振幅为零,变现是暗纹。

为S1到屏上一点的距离,

(2-1),

为S2到屏上这点的距离,

(2-2),如图2,d为两孔之间的距离,D为孔到屏的距离。

由孔S1和孔S2发出的光的波函数可表示为

(2-3)

(2-4)

则两束光叠加后

(2-5)

干涉后光强

(2-6)

2、仿真程序

clear;

Lambda=632*10^(-9);%设定波长,以Lambda表示波长

d=;%设定双孔之间的距离

D=1;%设定从孔到屏幕之间的距离,用D表示

A1=;%设定双孔光的振幅都是1

A2=;

yMax=1;%设定y方向的范围

xMax=yMax/500;%设定x方向的范围

N=300;%采样点数为N

ys=linspace(-yMax,yMax,N);%Y方向上采样的范围从-ymax到ymax

xs=linspace(-xMax,xMax,N);%X方向上采样的范围从-xmax到xmax

fori=1:

N

forj=1:

N%对屏幕上的全部点进行循环计算,则要进行N*N次计算

r1(i,j)=sqrt((xs(i)-d/2)^2+ys(j)^2+D^2);

r2(i,j)=sqrt((xs(i)+d/2)^2+ys(j)^2+D^2);%屏上一点到双孔的距离r1和r2

E1(i,j)=(A1/r1(i,j))*exp(2*pi*1j*r1(i,j)/Lambda);%S1发出的光的波函数

E2(i,j)=(A2/r2(i,j))*exp(2*pi*1j*r2(i,j)/Lambda);%S2发出的光的波函数

E(i,j)=E1(i,j)+E2(i,j);%干涉后的波函数

B(i,j)=conj(E(i,j))*E(i,j);%叠加后的光强

end

end%结束循环

NCLevels=255;%确定使用的灰度等级为255级

Br=(B/*NCLevels;%定标:

使最大光强(4.0)对应于最大灰度级(白色)

image(xs,ys,Br);%仿真出图像

colormap('hot');

title('杨氏双孔');

(3)干涉图样及分析

1)改变孔间距对干涉图样的影响

d=1mmd=3mm

图改变孔间距对干涉的影响

如图,分别是孔间距为1mm和3mm的干涉图样,可以看出,随着d的增加,视野中干涉条纹增加,条纹变细,条纹间距变小。

2)改变孔直径的影响

图孔直径对干涉的影响

如图,这里改变孔直径指的是改变光强,不考虑光的衍射。

孔直径变大,光强变大,可以看出,干涉条纹变亮。

3、平面波干涉

(1)干涉模型

根据图可以看出,这是两个平行光在屏上相遇发生干涉,两束平行光夹角为

它们在屏上干涉叠加,这是平面波的干涉。

两束平行波波函数为:

(3-1)

(3-2)

两束光到屏上一点的光程差为

(3-3)图平行光干涉

垂直方向建立纵坐标系,y是屏上点的坐标。

那么屏上点的光强为

(3-4)

式中A1和A2分别是两束光的振幅。

(2)仿真程序

clear;

Lambda=;%设定波长

Lambda=Lambda*1e-9;

t=input('两束光的夹角');%设定两束光的夹角

A1=input('光一的振幅');%设定1光的振幅

A2=input('光二的振幅');%设定2光的振幅

yMax=10*Lambda;xs=yMax;%X方向和Y方向的范围

N=101;%设定采样点数为N

ys=linspace(-yMax,yMax,N);%Y方向上采样的范围从-ymax到ymax

fori=1:

N%循环计算N次

phi=ys(i)*sin(t/2);%计算光程差

B(i,:

)=A1^2+A2^2+2*sqrt(A1^2*A2^2)*cos(2*pi*phi/Lambda);

%计算光强

end%结束循环

NCLevels=255;%确定使用的灰度等级为255级

Br=B*NCLevels/6;%定标:

使最大光强(4.0)对应于最大灰度级(白色)

subplot(1,4,1),image(xs,ys,Br);%用subplot创建和控制多坐标轴

colormap(gray(NCLevels));%用灰度级颜色图设置色图和明暗

subplot(1,4,2),plot(B(:

),ys);%把这个坐标轴设定为当前坐标轴

%然后绘制以(b(:

),ys)为坐标相连的折线

(3)干涉图样及分析

1)改变振幅比对干涉图样的影响

a)振幅比1:

1b)振幅比1:

2

图不同振幅比的干涉图样

由图看出,振幅比从1:

1变成1:

2后,干涉条纹变得不清晰了。

干涉叠加后的波峰波谷位置没有变化,条纹间距没有变化,但是叠加后的波振幅变小了,即不清晰。

2)改变平行光夹角对干涉图样的影响

a)两束光夹角60度b)两束光夹角90度

图平面波不同夹角的干涉图样

图是两束平行光夹角为60度和90度的干涉条纹,由于夹角不同,光程差不同,改变叠加后光波波峰波谷位置,因此干涉明条纹和暗条纹的位置和间距不同。

4、

两点光源的干涉

(1)干涉模型

如图,S1和S2是两个点光源,距离是d。

两个点光源发出的光波在空间中相遇发生干涉。

在接收屏上,发生干涉的两束波叠加产生干涉条纹。

S2与屏距离是z,S1与屏的距离是(d+z)。

两个点光源的干涉是典型的球面波干涉,屏上一点到S1图点光源干涉

和S2的距离可以表示为

(4-1)

(4-2)

(4-3)

(4-4)

其中A1和A2分别是S1、S2光的振幅。

干涉后的光为

(4-5)

因此干涉后光波光强为

(4-6)

(2)仿真程序

clear;

Lambda=650;%设定波长

Lambda=Lambda*1e-9;

A1=2;%设定S1光的振幅

A2=2;%设定S2光的振幅

d=input('输入两点光源距离');%设定两个光源的距离

z=5;%设定S2与屏的距离

xmax=%设定x方向的范围

ymax=;%设定y方向的范围

N=200;%采样点数为N

x=linspace(-xmax,xmax,N);%X方向上采样的范围从-xmax到xmax,采样数组命名为x

y=linspace(-ymax,ymax,N);%Y方向上采样的范围从-ymax到ymax,采样数组命名为y

fori=1:

N

fork=1:

N%对屏幕上的全部点进行循环计算,则要进行N*N次计算

l1(i,k)=sqrt((d+z)^2+y(k)*y(k)+x(i)*x(i));%计算采样点到S1的距离

l2(i,k)=sqrt(z^2+y(k)*y(k)+x(i)*x(i));%计算采样点到S2的距离

E1(i,k)=(A1/l1(i,k))*exp((2*pi*1j.*l1(i,k))/Lambda);%S1复振幅

E2(i,k)=(A2/l2(i,k))*exp((2*pi*1j.*l2(i,k))/Lambda);%S2复振幅

E(i,k)=E1(i,k)+E2(i,k);%干涉叠加后复振幅

B(i,k)=conj(E(i,k)).*E(i,k);%干涉后光强

end

end

Nclevels=255;%确定使用的灰度等级为255级

Br=B*Nclevels;%定标

image(x,y,Br);%做出干涉图像

colormap('hot');

title('双点光源干涉');

(3)干涉图样及分析

改变点光源的间距对干涉图样的影响

a)d=1mb)d=2mc)d=3m

图改变点光源间距的干涉图样

图是根据图仿真干涉出的图样,S1和S2之间距离分别为1m、2m、3m,由图样可以看出,随着d的增加,光程差变大,视野内的干涉圆环逐渐增多,圆环之间的距离变小。

5、

平面上两点光源干涉

(1)干涉模型

S1和S2是平面上的两个点光源,距离为d,两个光源发出的光相遇发生干涉,产生干涉条纹。

以S1所在处为原点建立平面直角坐标系,平面上任意一点到S1、S2的距离是

(5-1)图平面两点光源干涉

(5-2)

S1和S2发出的都是球面波,可表示为

(5-3)

(5-4)

式中A1和A2分别是S1、S2的振幅。

干涉叠加后的波函数为

(5-5)

因此干涉后光波光强为

(5-6)

(2)仿真程序

clear;

Lambda=650;%设定波长

Lambda=Lambda*1e-9;

A1=;%设定S1光的振幅

A2=;%设定S2光的振幅

d=%设定两个光源的距离

xmax=;%设定x方向的范围

ymax=;%设定y方向的范围

N=500;%采样点数为N

x=linspace(-xmax,xmax,N);%X方向上采样的范围从-xmax到xmax,采样数组命名为x

y=linspace(-ymax,ymax,N);%Y方向上采样的范围从-ymax到ymax,采样数组命名为y

fori=1:

N

fork=1:

N%对屏幕上的全部点进行循环计算,则要进行N*N次计算

r1(i,k)=sqrt(y(k)*y(k)+x(i)*x(i));%计算采样点到S1的距离

r2(i,k)=sqrt(y(k)*y(k)+(x(i)-d)*(x(i)-d));%计算采样点到S2的距离

E1(i,k)=(A1/r1(i,k))*exp((2*pi*j.*r1(i,k))/Lambda);%S1复振幅

E2(i,k)=(A2/r2(i,k))*exp((2*pi*j.*r2(i,k))/Lambda);%S2复振幅

E(i,k)=E1(i,k)+E2(i,k);%干涉叠加后复振幅

B(i,k)=conj(E(i,k)).*E(i,k);%干涉后光强

end

end%结束循环

Nclevels=255;%确定使用的灰度等级为255级

Br=B*Nclevels/4;%定标

image(x,y,Br);

colormap('hot');

title('并排双点光源干涉');

(3)干涉图样及分析

1)聚散性对干涉图样的影响

a)会聚b)发散

图聚散性对干涉的影响

两个点光源并排放置,在靠近点光源的观察屏上看到的干涉条纹是一组放射状的条纹,并且强度从中心向四周减弱,光源的聚散性对干涉图样没有影响。

2)改变两光源间距对干涉的影响

a)d=4umb)d=8um

图两光源间距对干涉的影响

从图可以看出,视野中条纹逐渐多了。

随着间距变小,干涉条纹宽度变小,条纹间距变小。

6、平行光与点光源干涉

图图图

(1)平面波和球面波干涉

如图,三幅图都是点光源和平行光的干涉,平面光入射的角度不同。

平行光与点光源相遇在空间中产生干涉,在屏上形成干涉条纹。

点光源与屏的距离为z,屏上坐标为(x,y)的一点与点光源的距离是

(6-1)

由点光源发出的光波表示为

(6-2)

平行光可以表示为

(6-3)

式中

表示平行光与屏的夹角。

两束光发生干涉叠加后,干涉光复振幅

(6-4)

则光强

(6-5)

(2)仿真程序

clear;

Lambda=650;%设定波长,以Lambda表示波长

Lambda=Lambda*1e-9;%变换单位

A1=1;%设定球面波的振幅是1

A2=1;%设定平面波的振幅是1

xmax=;%设定x方向的范围

ymax=;%设定y方向的范围

t=input('输入角度');%设定平行光和屏的夹角

z=1;%设定点光源和屏的距离

N=500;%N是此次采样点数

x=linspace(-xmax,xmax,N);%X方向上采样的范围从-xmax到ymax

y=linspace(-ymax,ymax,N);%Y方向上采样的范围从-ymax到ymax

fori=1:

N%对屏幕上的全部点进行循环计算,则要进行N*N次计算

fork=1:

N

l1(i,k)=sqrt(y(k)*y(k)+x(i)*x(i)+z^2);%表示屏上一点到点光源的距离

E1(i,k)=(A1/l1(i,k))*exp((2*pi*j.*l1(i,k))/Lambda);%球面波的复振幅

E2(i,k)=A2*exp((2*pi*j.*z*(1/sin(t)))/Lambda);%平面波的复振幅

E(i,k)=E1(i,k)+E2(i,k);%屏上点的振幅

B(i,k)=conj(E(i,k)).*E(i,k);%屏上每个采样点的光强

end%结束循环

end%结束循环

Nclevels=255;%确定使用的灰度等级为255级

Br=B*Nclevels/4;%定标:

使最大光强(4.0)对应于最大灰度级

image(x,y,Br);%干涉图样

colormap('hot');%设置色图和明暗

(3)仿真图样及分析

平行光入射角度对干涉图样的影响

a)

b)

c)

图平行光入射角度对干涉的影响

图分别是平行光与屏夹角为90度、45度、135度的情况,斜入射与垂直入射相比,干涉圆环更大。

而角度互补的两种入射方式,区别在于中心是明还是暗。

由图可以看出,斜入射135度的平行光与点光源干涉,干涉图样中心是暗斑。

7、平行光照射楔板

(1)图的楔板

L=630*10^(-9);alfa=pi/20000;H=;%波长630nm,倾角*e-4,厚5mm

n=;%折射率N=

a2=axes('Position',[,,,]);%定位在绘图中的位置

[x,y]=meshgrid(linspace(0,,200));%将5mm*5mm区域打散成200*200个点

h=tan(alfa)*x+H;%玻璃厚度

Delta=(2*h*n+L/2);%光程差

In=+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)

imshow(In)%生成灰度图

图图λ=630nm,θ=pi/20000

λ=430nm,θ=pi/20000λ=630nm,θ=pi/30000

图图

可见增大波长或者减小楔角会使干涉条纹间距加大。

(2)牛顿环

L=630*10^(-9);R=3;%波长630nm曲率半径3M

a2=axes('Position',[,,,]);%定位在绘图中的位置

[x,y]=meshgrid(linspace,,200));%将5mm*5mm区域打散成200*200

r2=(x.^2+y.^2);%r2为各个点距中心的距离^2矩阵

h=R-sqrt(R^2-r2)%空气薄膜厚度

Delta=2*h+L/2%光程差

In=+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)

imshow(In)%生成灰度图

λ=630nm,R=3M

图图

λ=430nm,R=3Mλ=630nm,R=10M

图图

增大波长或者增大球的曲率半径会使牛顿环半径增大。

(3)圆柱曲面干涉

L=630*10^(-9);R=3;%波长630nm,曲率半径3M

a2=axes('Position',[,,,]);%定位在绘图中的位置

[x,y]=meshgrid(linspace,,200));%将5mm*5mm区域打散成200*200

r2=(x.^2+0*y.^2);%r2为各个点距中心的距离^2矩阵

h=R-sqrt(R^2-r2)%空气薄膜厚度

Delta=2*h+L/2%光程差

In=+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)

imshow(In)%生成灰度图

λ=630nm,R=3M

图图

λ=430nm,R=3Mλ=630nm,R=10M

图图

可见增大波长或者增大圆柱底面的半径会使干涉条纹变宽。

(4)任意曲面

L=630*10^(-9);R=3;%波长630nm曲率半径3M

a2=axes('Position',[,,,]);%定位在绘图中的位置

[x,y]=meshgrid(linspace,,200));%将5mm*5mm区域打散成200*200

r2=(x.^2+y.^2);%r2为各个点距中心的距离^2矩阵

h=sin(r2*3000)%空气薄膜厚度

Delta=2*h+L/2%光程差

In=+(cos(Delta*pi*2/L))/2;%光强分布(按比例缩小到0-1)

imshow(In)

曲面函数:

z=sin[3000(x^2+y^2)]

图图

8、等倾干涉

(1)

平行平板干涉

图图

如图,扩展光源上一点S发出的一束光经平行平板的上、下表面的反射和折射后,在透镜后焦平面P点相遇产生干涉。

两支光来源于同一光线,因此其孔径角是零。

在P点的强度是:

(8-1)

其中光程差

(8-2)

光程差越大,对应的干涉级次越高,因此等倾条纹在中心处具有最高干涉级次。

(8-3)

一般不一定是整数,即中心不一定是最亮点,它可以写成

,式中

是最靠近中心的亮条纹的整数干涉级,第N条亮条纹的干涉级表示为

如图2,其角半径记为

(8-4)

上式表明平板厚度h越大,条纹角半径就越小。

条纹角间距为

(8-5)

表明靠近中心的条纹稀疏,离中心越远的条纹越密,呈里疏外密分布。

(2)仿真程序

xmax=;ymax=;%设定y方向和x方向的范围

Lamd=452e-006;%设定波长,以Lambda表示波长

h=2;%设置平行平板的厚度是2mm

n=input('输入折射率');%设置平行平板的折射率,以n表示

f=50;%透镜焦距是50mm

N=500;%N是采样点数

x=linspace(-xmax,xmax,N);%X方向采样的范围从-ymax到ymax,采样数组命名为x

y=linspace(-ymax,ymax,N);%Y方向采样的范围从-ymax到ymax,采样数组命名为y

fori=1:

N%对屏幕上的全部点进行循环计算,则要进行N*N次计算

forj=1:

N

r(i,j)=sqrt(x(i)*x(i)+y(j)*y(j));%平面上一点到中心的距离

u(i,j)=r(i,j)/f;%角半径

t(i,j)=asin(n*sin(atan(u(i,j))));%折射角

phi(i,j)=2*n*h*cos(t(i,j))+Lamd/2;%计算光程差

B(i,j)=4*cos(pi*phi(i,j)/Lamd).^2;%建立一个二维数组每一个点对应一个光强

end%结束循环

end%结束循环

Nclevels=255;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1