基于matlab干涉系统仿真 - 图文

更新时间:2024-03-21 03:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

成绩:

《工程光学》综合性练习一

学 专 年 班 姓 学 基于matlab的干涉系统仿真

院 精密仪器与光电子工程学院 业 测控技术与仪器 级 20**级 级 *班 名 ** 号

20**年**月

题目:

综合练习大作业一

一、要求

3-4人组成小组,对下面给出的各题目利用Matlab等工具进行仿真。

二、仿真题目

1、对于杨氏双缝干涉,改变双缝的缝宽和缝间距,观察干涉图样变化

①原理图 图中参数

光线波长:lam=500纳米; 双缝距离:d=0.1毫米;(可调) 双缝距接收屏距离:D=1米; 接收屏范围:xs:-0.005~0.005

ys:-0.005~0.005

光源振幅:AI=A2=1;

(单位振幅,可调)

②matlab代码:

clear;

lam=500e-9; %设定波长lam(500纳米) d=0.5e-3; %设定两缝之间距离d(0.5毫米) D=1; %双缝到接收屏距离D(1米) A1=1; %初始两光源均为单位振幅 A2=1; xm=0.005;

ym=xm; %接受屏的范围ym,xm(0.01*0.01矩形) n=1001;

xs=linspace(-xm,xm,n); %用线性采样法生成两个一位数组xs,ys

%(n为总点数)

ys=linspace(-ym,ym,n);

L1=sqrt((xs-d/2).^2+ys.^2+D^2);%光屏上点(xs,ys)距光源1距离r1 L2=sqrt((xs+d/2).^2+ys.^2+D^2);%光屏上点(xs,ys)距光源2距离r2 E1=A1./sqrt(L1).*exp(1i*L1*2*pi/lam);%光源1在接受屏上复振幅E1 E2=A2./sqrt(L2).*exp(1i*L2*2*pi/lam);%光源2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加为合成振幅E

I=abs(E).^2; %和振幅光强 nc=255; %灰度 br=(I/4)*nc; %灰度强度 image(xs,ys,br); %生成干涉图样 colormap(gray(nc));

③初始干涉仿真图样

④改变参数后的仿真图样(缝宽即光振幅A1、A2,缝间距d)

A1=1.2、A2=1 A1=1.5、A2=1 (注:改变双缝宽度,等效为改变光源强度。如宽度增加一倍,光强增加两倍)

d=0.8毫米 d=1.2毫米

⑤变化分析及曲线: 改变双缝宽度:此处仿真忽视衍射影响,改变双缝宽度简单等效为改变光源光强。由上述仿真图片可以看出,当增加其中一个缝宽即增加一个光源光强时,亮条纹宽度明显增加,但条纹间距不改变。通过仿真发现,当一光源为另一光源2.9倍左右强度时,接收屏上将出现一片亮,即暗条纹消失。

改变双缝间距:根据杨氏双缝干涉相关结论,改变双缝间距,将改变条纹之间间距e,趋势为随着双缝间距增加,条纹间距逐渐减小。具体数学关系为:e=lam*D/d;曲线表示为:

2、对于杨氏双孔干涉,改变双孔的直径和孔间距,观察干涉图样变化 ①原理图

图中参数:

光线波长:lam=500纳米;

双孔距离:d=0.5毫米(可调); 双缝距接收屏的距离:D=1(米); 接收屏的范围:xs:-0.005—0.005

ys:-0.005—0.005;

光源振幅:AI=A2=1; (单位振幅,可调)

②matlab代码:

clear;

lam=500e-9; %设定波长为500纳米 d=0.5e-3; %双孔的距离为0.5毫米 D=1; %双孔到接收屏的距离为1米 A1=1; A2=1; xm=0.005;

ym=xm; %接收屏的范围是0.005; n=1001; xs=linspace(-xm,xm,n);

ys=linspace(-ym,ym,n); %用线性采样法生成两个一位数组xs,ys

%(n为总点数)

r1=sqrt((xs-d/2).^2+ys.^2+D^2);% 光屏上点(xs,ys)距光源1距离r1 r2=sqrt((xs+d/2).^2+ys.^2+D^2);% 光屏上点(xs,ys)距光源2距离r2 E1=A1./r1.*exp(1i*r1*2*pi/lam);% 光源1在接受屏上复振幅E1 E2=A2./r2.*exp(1i*r2*2*pi/lam);% 光源2在接受屏上复振幅E2 E=E1+E2; %?复振幅叠加为合成振幅E I=abs(E).^2; %和振幅光强 nc=255; %灰度 br=(I/4)*nc; %灰度强度 image(xs,ys,br); %生成干涉图样 colormap(gray(nc));

%光源振幅A1=A2=1;

③初始干涉仿真图样

④改变参数后的仿真图样(孔直径即光振幅A1、A2,缝间距d)

A1=1.8、A2=1 A1=2.3、A2=1 (注:改变孔直径,等效为改变光源强度。如直径增加一倍,光强增加四倍)

空间距离d=0.8毫米 空间距离d=1.2毫米

⑤变化分析及曲线:

改变孔直径:基本规律同杨氏双孔干涉,唯一区别是当双孔直径增加一倍时,等效为光源光强增加四倍。

改变双缝间距:根据杨氏双孔干涉相关结论,改变双孔间距,将改变条纹之间间距e,趋势为随着双缝间距增加,条纹间距逐渐减小。具体数学关系为:e=lam*D/d;曲线表示为:

3、改变下列光波场分布,观察干涉图样变化

(1)如左图所示,两平面光波叠加,改变光波振幅比a、两光波夹角theta,观察在接收屏上的干涉图样变化;

①图中参数:

光线波长:lam=500纳米; 双缝距接收屏的距离:D=1(米); 接收屏的范围:xs:-0.000002—0.000002

ys:-0.000002—0.000002;

两光波夹角:theta=90度(可调)

光源振幅:AI=1;A2=a*A1;(a为光波振幅比,初始为1,可调)

②matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米)

theta=pi/2; %设定两平面波夹角theta(90度) A1=1; %光源均为单位幅度 a=1; %a为振幅比 A2=a*A1; %a=A2/A1 xm=0.000002;

ym=xm; %接受屏的范围xm,ym(0.000004*0.000004矩形) n=1001;

xs=linspace(-xm,xm,n); ys=linspace(-ym,ym,n);

[xs, ys] = meshgrid(xs, ys);%生成网格采样点 n*n矩阵

E1=A1.*exp(-1i*xs*cos(theta/2)*2*pi/lam);%平面波1在接受屏上复振幅E1 E2=A2.*exp(1i*xs*cos(theta/2)*2*pi/lam);%平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

%用线性采样法生成两个一位数组 %xs,ys(n为总点数)

?

③初始干涉仿真图样:

④改变参数后的仿真图样(光波振幅比a、两光波夹角theta)

a=1.6 a=2.1

theta=60° theta=120° ⑤变化分析:

改变光波振幅比a:改变光波振幅比a即为改变光源光强。由上述仿真图片可以看出,当增大光波增幅比a时,亮条纹宽度明显增加,但条纹间距不改变。通过仿真发现,当a增加到2.9左右时,接收屏上将出现一片亮,即暗条纹消失。

改变两光波夹角theta:根据仿真图样可以得知,两光波夹角theta越大,出现的干涉条纹间距约大。

(2)如右图所示,两点光源前后放置,改变其间距,观察在接收屏上的干涉图样变化;

①图中参数:

光线波长:lam=500纳米;

两点光源间距:d=0.002米;(可调)

S2S1点光源S2到接收屏距离:Z=0.02米

d接收屏的范围:xs:-xs—xs; ys:-ys—ys;

z

②matlab代码 clear;

lam=500e-9; %设定波长lam(500纳米)

d=2e-3; %设定之间两点光源间距离d(0.002米) Z=2e-2; %点光源S2到接收屏距离Z A1=1; %两光源均为单位幅度 A2=A1; xm=2e-3;

ym=xm; %接受屏的范围xm,ym n=1001;

xs=linspace(-xm,xm,n);%用线性采样法生成两个一位数组ys=linspace(-ym,ym,n);%xs,ys(n为总点数)

[xs, ys] = meshgrid(xs, ys); %生成网格采样点 n*n矩阵

r1=sqrt(xs.^2+ys.^2+(Z+d)^2);%光屏上点(xs,ys)距光源1距离r1 r2=sqrt(xs.^2+ys.^2+Z^2); %光屏上点(xs,ys)距光源2距离r2 E1=A1./r1.*exp(1i*r1*2*pi/lam);%点光源S1在接受屏上复振幅E1 E2=A2./r2.*exp(1i*r2*2*pi/lam);%点光源S2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

③初始干涉仿真图样:

④改变参数后的仿真图样(光源间距d)

d=0.003 d=0.001

⑤变化分析及曲线:

改变光源间距d:由仿真图样可以得知,改变光源间距,将改变同心圆环的分布。具体为,d越大,同心圆环半径减小,表现为向圆心聚拢,条纹更加密集。

(3)如右图所示,两点光源并排放置,改变其聚散性(会聚球面波、发散球面波)和间距,观察在接收屏上的干涉图样变化。

①图中参数: 图中参数:

光线波长:lam=500纳米;

两点光源间距:d=0.002米;(可调) 接收屏的范围:xs:-xs—xs;

ys:-ys—ys;

S1S2d

②matlab代码:

clear;

lam=500e-9; %设定波长lam(500纳米)

d=2e-3; %设定两点光源之间距离d(0.002米) D=d/2; %双点光源到接收屏距离(接受屏垂直于两点光

%源连线)

A1=1; %两光源均为单位幅度 A2=A1; xm=0.00008;

ym=xm; %接受屏的范围ym,xm n=1001;

xs=linspace(-xm,xm,n); %用线性采样法生成两个一位数组ys=linspace(-ym,ym,n); %xs,ys(n为总点数) [xs, ys] = meshgrid(xs, ys);%生成网格采样点 n*n矩阵

r1=sqrt(xs.^2+ys.^2+D^2); %光屏上点(xs,ys)距光源1距离r1 r2=sqrt(xs.^2+ys.^2+D^2); %光屏上点(xs,ys)距光源2距离r2 E1=A1./r1.*exp(1i*r1*2*pi/lam);%点光源1在接受屏上复振幅E1 E2=A2./r2.*exp(-1i*r2*2*pi/lam);%点光源2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强 pcolor(xs, ys, I); shading flat; colormap gray

③初始干涉图样:

两光源聚散性相反 两光源聚散性相同

④改变参数后的仿真图样:

d=0.001 d=0.003

⑤变化分析及曲线:

改变聚散性:当两点光源聚散性相反时,将形成同心圆环;聚散相同时,将形成一亮斑;

改变光源间距d:由仿真图样可以得知,改变光源间距,将改变同心圆环的分布。具体为:d越小,同心圆环半径减小,表现为向圆心聚拢,条纹更加密集。(与上一模型正好相反)

4、如图4-6所示,改变平面光波场分布,观察干涉图样变化 1)垂直入射

① 原理图 图中参数:

光线波长:lam=500nm; 点光源到接收屏距离:D=1m; 接收屏范围:xs:-0.002—0.002

②matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) D=1000e-3; %点光源孔到接收屏距离 A1=1; %两光源均为单位幅度 A2=A1; xm=0.002;

ym=xm; %接受屏的范围ym,xm n=1001;

xs=linspace(-xm,xm,n); %用线性采样法生成两个一位数组xs,ys(n为总点数) ys=linspace(-ym,ym,n);

[xs, ys] = meshgrid(xs, ys); %生成网格采样点 n*n矩阵 r1=sqrt(xs.^2+ys.^2+D^2); %光屏上点(xs,ys)距光源1距离r1 E1=A1./r1.*exp(1i*r1*2*pi/lam);%点光源1在接受屏上复振幅E1 E2=A2; %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

ys:-0.002—0.002

光源振幅:A1=A2=1;(可调)

z

② 干涉仿真图样:

2)斜入射(与接收屏法线方向60°)

①模型参数:

光线波长:lam=500nm; 点光源到接收屏距离:D=1mm; 接收屏范围:xs:- 0.00051—0.00051

②matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) D=10e-3; %点光源孔到接收屏距离 A1=1; %两光源均为单位幅度 A2=A1; xm=0.00051;

ym=xm; %接受屏的范围ym,xm n=1001;

ys:- 0.00051—0.00051

光源振幅:A1=A2=1;(可调)

xs=linspace(-xm,xm,n); %用线性采样法生成两个一位数组

%xs,ys(n为总点数)

ys=linspace(-ym,ym,n);

[xs, ys] = meshgrid(xs, ys); %生成网格采样点 n*n矩阵 r1=sqrt(xs.^2+ys.^2+D^2); %光屏上点(xs,ys)距光源1距离r1 E1=A1./r1.*exp(1i*r1*2*pi/lam); %点光源1在接受屏上复振幅E1 E2=A2*exp(-1i*xs*cos(pi/3)*2*pi/lam); %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

干涉仿真图样:

改变平面光波入射方向:

zz

5、用平行光(点光源+准直镜)照射如图7所示不同形状楔板,观察干涉图样

不同形状楔板

1) 斜面楔板

当薄膜为空气时,其折射率n=1,而且上下表面BB与AA之间的夹角又很小,使光线几乎垂直入射,则C在BB表面上,光线11'和22'的光程差为:

(1)

式中,是因为光线由光疏媒质入射到光密媒质在AA界面上反射时,发生的半波损失引起的光程差。

式(1)只与薄膜的厚度d和光波波长有关。 当光程差:

(k=1,2,3……)即:

当光程差:

(k=1,2,3……)即:

时产生亮条纹。 时产生暗条纹;

从以上亮纹或暗纹公式易导出,从一个条纹过渡到另一个条纹,平板的厚度变化为间距,且

。对应光程差变化为,楔板的楔角 又

所以

。e为条纹

①matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) A1=1; %两光源均为单位幅度 A2=A1; %默认为相等 theta=pi/90; %楔板倾角theta n=1; %楔板折射率n xm=10e-5;

ym=xm; %接受屏的范围xm,ym n=1001;

xs=linspace(0,xm,n); %用线性采样法生成两个一维数组

%xs,ys(n为总点数)

ys=linspace(0,ym,n); [xs, ys] = meshgrid(xs, ys);

deta=2*n*xs*tan(theta); %光程差 phi=2*pi*deta/lam; %相位差

E1=A1; %平面波1在接受屏上复振幅E1 E2=A2.*exp(-1i*phi); %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray ③ 干涉图样

2) 圆柱形楔板

(以下分析简单为楔板顶端紧贴下平板, matlab程序中完善为之间存在间距h) 由图中几何关系可知,干涉环半径r处薄膜的厚度d与圆柱的曲率半径R之间有如下关系:式刻化简为:

,因为 (1)

,上

将式(1)代入光程差公式,并认为空气的折射率n=1,则:

①matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) A1=1; %两光源均为单位幅度 A2=A1; %默认为相等

h=0.001; %柱面透镜顶端距离接收屏距离h R=0.1; %柱面透镜半径R n=1; %楔板折射率n xm=10e-4;

ym=xm; %接受屏的范围xm,ym n=1001;

xs=linspace(-xm,xm,n);%用线性采样法生成两个一位数组xs,ys(n为总点数) ys=linspace(-ym,ym,n); [xs, ys] = meshgrid(xs, ys);

deta=h+R-sqrt(R^2-xs.^2)+lam/2; %光程差 phi=2*pi*deta/lam; %相位差

E1=A1; %平面波1在接受屏上复振幅E1 E2=A2.*exp(-1i*phi); %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

② 干涉图样:

3)球形楔板(牛顿环干涉系统)

(牛顿环系统与2)中圆柱系统相似,仅将二维推广到三维,故省略系统分析部分) ①matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) A1=1; %两光源均为单位幅度 A2=A1; %默认为相等

h=0.001; %凸透镜顶端距离接收屏距离h R=0.1; %凸透镜半径R n=1; %楔板折射率n xm=5e-4;

ym=xm; %接受屏的范围xm,ym n=1001;

xs=linspace(-xm,xm,n);%用线性采样法生成两个一位数组xs,ys(n为总点数) ys=linspace(-ym,ym,n); [xs, ys] = meshgrid(xs, ys);

deta=h+R-sqrt(R^2-xs.^2-ys.^2)+lam/2;%光程差 phi=2*pi*deta/lam; %相位差

E1=A1; %平面波1在接受屏上复振幅E1 E2=A2.*exp(-1i*phi); %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

② 干涉图样:

4)不规则楔板

(不规则楔板即楔板平面距不规则面的距离为不规则变化,matlab程序中选用一函数表示该变化)

①matlab代码: clear;

lam=500e-9; %设定波长lam(500纳米) A1=1; %两光源均为单位幅度 A2=A1; %默认为相等

h=0.001; %凸透镜顶端距离接收屏距离h R=0.1; %凸透镜半径R n=1; %楔板折射率n xm=50e-5;

ym=xm; %接受屏的范围xm,ym n=1001;

xs=linspace(-xm,xm,n);%用线性采样法生成两个一位数组

%xs,ys(n为总点数)

ys=linspace(-ym,ym,n); [xs, ys] = meshgrid(xs, ys);

deta=h+R-sqrt(R^2-(3*xs+0.0005).^2+(2*ys+0.0003).^2)+lam/2;%光程差 phi=2*pi*deta/lam; %相位差

E1=A1; %平面波1在接受屏上复振幅E1 E2=A2.*exp(-1i*phi); %平面波2在接受屏上复振幅E2 E=E1+E2; %复振幅叠加 I=abs(E).^2; %光强

pcolor(xs, ys, I); %生成干涉图样 shading flat; colormap gray

②干涉图样:

6、改变平行平板折射率,观察干涉图样

①原理图:

图中参数:

光线波长:lam=500纳米;

薄板的折射率:n=1.1(空气折射率为1)(可调)

薄板的厚度:h=0.01 凸透镜的焦距f=0.3 入射角范围:5*pi/180;

接收屏的范围:xs:-0.001—0.001

ys:-0.001—0.001;

光源振幅: A1=A2=1;

②matlab代码:

clear;

lam=500e-9; %波长为500纳米 A1=1;

A2=A1; %光源振幅A1=A2=1; h=0.01; %薄板的厚度:h=0.01

n=1.1; %薄板的折射率:n=1.1(空气折射率为1) f=0.3; %凸透镜的焦距f=0.3

xm=10e-3;

ym=xm; %接收屏的范围:xs:-0.001—0.001

tm=5*pi/180; %入射角范围 N=1001;

xs=linspace(-xm,xm,N);

ys=linspace(-ym,ym,N); %用线性采样法生成两个一位数组xs,ys %(n为总点数)

ts1=linspace(-tm,tm,N);% 入射角 [xs, ys] = meshgrid(xs, ys); ts1=atan(sqrt(xs.^2+ys.^2)/f); ts2=asin(sin(ts1)/n); % 入射角

ys:-0.001—0.001;

deta=2*n*h*cos(ts2)+lam/2; %光程差 phi=2*pi*deta/lam; %相位差 E1=A1;

E2=A2.*exp(-1i*phi); %光源在接受屏上复振幅 E=E1+E2; %?复振幅叠加 I=abs(E).^2; %光强 pcolor(xs, ys, I); shading flat; colormap gray

③ 初始干涉图样

④ 改变参数后的仿真图样(改变薄板折射率n)

n=1.5 n=1.9

⑤ 变化分析及曲线:

观察三组仿真图样可以看出,改变平行平板的折射率,将改变干涉圆环的半径大小。具体规律为,增加折射率n,干涉圆环半径将随之增加。

三、收获与感想

经过这次工光大作业,我从以前对Matlab一无所知,到对其掌握初步应用,并对Matlab在工程光学方面仿真应用有了初步的了解,也对课本上干涉方面的内容理解程度进一步加深。为今后的学习打下一个很好的基础。同时在做大作业过程中,也暴露了我以前学习内容的某些不足,对一些知识点理解还不深入,致使在写大作业过程中遇到些许困难,对我以后的学习也是一种提醒。

——**

最近我们小组刚刚完成工光大作业,即用Matlab对光的不同类型的干涉进行仿真,在做完大作业后,我感触颇多。

在没有做大作业的时候,可以说我从未接触过Matlab,对它的编程方法一点也不了解。这次大作业,也多亏了同组的王哲和李涵比较Matlab,我们的任务也才能顺利完成。经过了这次大作业,我也充分了解了Matlab这个软件的强大之处。

不需要过多的语句,并不复杂的语法,仅仅是需要在编程界面输入两束光的复振幅,然后求和,在接受屏上就可以观察到光波的干涉图样,这是我觉得最神奇的地方,通过这次的大作业,我也学会了Matlab的基本编程方法,和一些仿真的思路,我感到受益匪浅,也多谢同组组员的帮助。

——**

本次工光大练习,使用Matlab软件工具仿真各种干涉现象,一方面,增强了我们理论联系实际,动手解决实际问题的能力,另一方面也锻炼了我们团队协作与自学新事物的能力。在本次练习中我具体负责第三题的归纳整理与绘图。虽然不是第一次使用Matlab, 但这次充分领略了其绘图能力与仿真能力,还是受益匪浅的。

——**

Matlab作为一个工程常用软件,是很多理工科甚至文科都会常用到的工具性软件。但是很少有专业开设相关课程,大多数情况是同学们根据自己情况自学,这就带来很大的盲目性,致使效果不是很理想。所以对于这次大作业,是对我们学习相关软件方法的一个指导和锻炼。不仅仅复习了课上的相关理论知识,更多的是增加了自己的感性认识,同时也加强了对Matlab等软件的理解和使用。同时,通过和同学一起合作的经历,提高了查找相关资料的能力,领会到团队合作的重要性。

——**

四、参考文献

[1]钱淑珍, 陈芳芳, 倪小芳, 等. 基于 Matlab 的光学干涉现象仿真[J]. 科技视界, 2012, 1: 008.

[2]曲伟娟. 基于 Matlab 的光学实验仿真 [D][D]. 西安: 西北工业大学, 2004. [3]毛欲民, 洪家平. 基于 MATLAB 的杨氏双缝干涉实验仿真[J]. 湖北师范学院学报 (自然科学版), 2007, 1: 17220.

[4]喻力华, 赵维义. 杨氏双孔干涉的光强分布计算[J]. 大学物理, 2001, 20(4): 22-24.

[5]张防震, 朱亚琼. 基于 MATLAB 杨氏干涉仿真实验[J]. 硅谷, 2011 (20): 173-173.

[6]工程光学[M]. 机械工业出版社, 2011.

本文来源:https://www.bwwdw.com/article/bkw8.html

Top