**

菲涅尔定理及MATLAB实现

  本文是学习胡章芳《MATLAB仿真及其在光学课程中的应用》和赵凯华《光学》这两本书时所做笔记。

1. 菲尼尔反射与折射公式

  一般来说,光射在两种不同介质界面上时,会分解为反射和折射两股,能流在它们之间分配,分配的比例与入射角有关。
  如图1所示,两种电介质的折射率分别为n1n{_{1}}n1​和n2n{_{2}}n2​,取x轴在入射面内,从而y轴与入射面垂直,x、y、z构成右手正交系统。入射角、反射角和折射角分别为i1i{_{1}}i1​、i1′i{_{1}}^{'}i1​′、i2i{_{2}}i2​,根据折反射定律可得出:
                       i1′=i1i{_{1}}^{'}=i{_{1}}i1​′=i1​, n1sin1=n2sin2n{_{1}}sin{_{1}}=n{_{2}}sin{_{2}}n1​sin1​=n2​sin2​
k1^\hat{k{_{1}}}k1​^​、k1^′\hat{k{_{1}}}^{'}k1​^​′、k2^\hat{k{_{2}}}k2​^​为入射光、反射光和折射光传播方向的单位矢量。s1^\hat{s{_{1}}}s1​^​、s1^′\hat{s{_{1}}}^{'}s1​^​′、s2^\hat{s{_{2}}}s2​^​为入射面垂直的方向s分量(垂直纸面向外)。p1^\hat{p{_{1}}}p1​^​、p1^′\hat{p{_{1}}}^{'}p1​^​′、p2^\hat{p{_{2}}}p2​^​为入射面平行的方向p分量。的正方向可由下式定义:
                   p1^×s1^=k1^\hat{p{_{1}}}×\hat{s{_{1}}}=\hat{k{_{1}}}p1​^​×s1​^​=k1​^​,p1^′×s1^′=k1^′\hat{p{_{1}}}^{'}×\hat{s{_{1}}}^{'}=\hat{k{_{1}}}^{'}p1​^​′×s1​^​′=k1​^​′,p2^×s2^=k2^\hat{p{_{2}}}×\hat{s{_{2}}}=\hat{k{_{2}}}p2​^​×s2​^​=k2​^​
对于每束光来说,按照p^\hat{p}p^​、s^\hat{s}s^、k^\hat{k}k^的顺序组成右手正交系统。再根据这三个局部直角坐标系,则三根光束的的电矢量E1^\hat{E{_{1}}}E1​^​、E1^′\hat{E{_{1}}}^{'}E1​^​′、E2^\hat{E{_{2}}}E2​^​就可分解为p分量和s分量,它们的正负都是相对于各自的基始方向而言的。

图1. 入射光,反射光和折射光内ppp、sss、k^\hat{k}k^正交系数的选取

  按照以上条件,可由电磁场的边值条件可以导出,在界面两侧邻近点的入射场、反射场合折射各分量满足以下关系,即菲涅尔反射折射公式:

                      E~1p′=n2cosi1−n1cosi2n2cosi1+n1cosi2E~1p=tan(i1−i2)tan(i1+i2)E~1p{\tilde{{E}}}_{1p}^{'}=\frac{n_{2}cosi_{1}-n_{1}cosi_{2}}{n_{2}cosi_{1}+n_{1}cosi_{2}}{\tilde{{E}}}_{1p}=\frac{tan(i_{1}-i_{2})}{tan(i_{1}+i_{2})}{\tilde{{E}}}_{1p}E~1p′​=n2​cosi1​+n1​cosi2​n2​cosi1​−n1​cosi2​​E~1p​=tan(i1​+i2​)tan(i1​−i2​)​E~1p​

                      E2p~=2n1cosi1n2cosi1+n1cosi2E1p~\tilde{E_{2p}}=\frac{2n_{1}cosi_{1}}{n_{2}cosi_{1}+n_{1}cosi_{2}}\tilde{E_{1p}}E2p​~​=n2​cosi1​+n1​cosi2​2n1​cosi1​​E1p​~​

                      E~1s′=n1cosi1−n2cosi2n1cosi1+n2cosi2E~1s=sin(i2−i1)sin(i2+i1)E~1s{\tilde{{E}}}_{1s}^{'}=\frac{n_{1}cosi_{1}-n_{2}cosi_{2}}{n_{1}cosi_{1}+n_{2}cosi_{2}}{\tilde{{E}}}_{1s}=\frac{sin(i_{2}-i_{1})}{sin(i_{2}+i_{1})}{\tilde{{E}}}_{1s}E~1s′​=n1​cosi1​+n2​cosi2​n1​cosi1​−n2​cosi2​​E~1s​=sin(i2​+i1​)sin(i2​−i1​)​E~1s​

                      E~2s′=2n1cosi1n1cosi1+n2cosi2E~1s=2cosi1sini2sin(i2+i1)E~1s{\tilde{{E}}}_{2s}^{'}=\frac{2n_{1}cosi_{1}}{n_{1}cosi_{1}+n_{2}cosi_{2}}{\tilde{{E}}}_{1s}=\frac{2cosi_{1}sini_{2}}{sin(i_{2}+i_{1})}{\tilde{{E}}}_{1s}E~2s′​=n1​cosi1​+n2​cosi2​2n1​cosi1​​E~1s​=sin(i2​+i1​)2cosi1​sini2​​E~1s​
菲涅尔公式表明,反射、折射光里的p分量只与入射光里的p分量有关,s分量只与s分量有关。这表明在反射、折射的过程中p、s两个分量的振动是相互独立的。

2. 反射率和透射率

  为了说明反射和折射各占多少比例,引入反射率与透射率概念。当p和s这两个分量的反射率和透射率被确定,则任意方向上的振动的光的反射、折射特性也即确定。

p分量 s分量
振幅反射率 r~p=E′~1p/E~1p{\tilde{r}_{p}=\tilde{{E}'}_{1p}/\tilde{{E}}_{1p}}r~p​=E′~1p​/E~1p​ r~s=E′~1s/E~1s{\tilde{r}_{s}=\tilde{{E}'}_{1s}/\tilde{{E}}_{1s}}r~s​=E′~1s​/E~1s​
振幅透射率 t~p=E~2p/E~1p{\tilde{t}_{p}=\tilde{{E}}_{2p}/\tilde{{E}}_{1p}}t~p​=E~2p​/E~1p​ t~s=E~2s/E~1s{\tilde{t}_{s}=\tilde{{E}}_{2s}/\tilde{{E}}_{1s}}t~s​=E~2s​/E~1s​

  将菲涅尔反射折射公式代入振幅反射率和透射率公式,即可得到r~p{\tilde{r}_{p}}r~p​、r~s{\tilde{r}_{s}}r~s​、t~p{\tilde{t}_{p}}t~p​、t~s{\tilde{t}_{s}}t~s​、的具体表达式:

                       {rp~=n2cosi1−n1cosi2n2cosi1+n1cosi2=tan(i1−i2)tan(i1+i2)rs~=n1cosi1−n2cosi2n2cosi1+n2cosi2=sin(i2−i1)sin(i2+i1)\left\{\begin{matrix} \tilde{r_{p}}=\frac{n_{2}cosi_{1}-n_{1}cosi_{2}}{n_{2}cosi_{1}+n_{1}cosi_{2}}=\frac{tan(i_{1}-i_{2})}{tan(i_{1}+i_{2})}\\ \tilde{r_{s}}=\frac{n_{1}cosi_{1}-n_{2}cosi_{2}}{n_{2}cosi_{1}+n_{2}cosi_{2}}=\frac{sin(i_{2}-i_{1})}{sin(i_{2}+i_{1})} \end{matrix}\right.{rp​~​=n2​cosi1​+n1​cosi2​n2​cosi1​−n1​cosi2​​=tan(i1​+i2​)tan(i1​−i2​)​rs​~​=n2​cosi1​+n2​cosi2​n1​cosi1​−n2​cosi2​​=sin(i2​+i1​)sin(i2​−i1​)​​
                       {tp~=2n1cosi1n2cosi1+n1cosi2ts~=2n1cosi1n1cosi1+n2cosi2\left\{\begin{matrix} \tilde{t_{p}}=\frac{2n_{1}cosi_{1}}{n_{2}cosi_{1}+n_{1}cosi_{2}}\\ \tilde{t_{s}}=\frac{2n_{1}cosi_{1}}{n_{1}cosi_{1}+n_{2}cosi_{2}} \end{matrix}\right.{tp​~​=n2​cosi1​+n1​cosi2​2n1​cosi1​​ts​~​=n1​cosi1​+n2​cosi2​2n1​cosi1​​​

上式中各个光波分量应是瞬时值,也可被看成是复振幅,因为它们的时间和频率是相同的。

3. MATLAB实现

  已知界面两侧的折射率n1、n2和入射角θ1,绘出在n1<n2(光由光疏介质射向光密介质)和n1>n2(光由光密介质射向光疏介质)两种情况下,反射系数、透射系数随入射角θi的变化曲线。

clear;             %清空内存空间
disp('请输入介质折射率n1和n2')
n1=input('n1='); %接受键盘任意输入合适的折射率n1
n2=input('n2='); %接受键盘任意输入合适的折射率n2
theta = 0:0.1:90;   %入射角范围0-90°,步距0.1°
a=theta*pi/180;   %角度化为弧度
rp =(n2*cos(a)-n1*sqrt(1-(n1/n2*sin(a)).^2))./...(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));   %p分量振幅反射率
rs = (n1*cos(a)-n2*sqrt(1-(n1/n2*sin(a)).^2))./...(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));   %s分量振幅反射率
tp = 2*n1*cos(a)./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));%p分量振幅透射率
ts = 2*n1*cos(a)./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));%s分量振幅透射率figure(1);       %图形窗口
subplot(1,2,1);  %作图rp、rs、|rp|、|rs|随入射角的变化曲线
plot(theta,rp,'-',theta,rs,'--',theta,abs(rp),':',...theta,abs(rs),'-.','LineWidth',2);
legend('rp','rs','|rp|','|rs|');
xlabel('入射角\theta_i');
ylabel('振幅');
title(['n_1=',num2str(n1),',n_2=',num2str(n2),'时反射系数随入射角的变化曲线']);
axis([0 90 -1 1]);    %设定作图区间
grid on;              %作图加栅格
subplot(1,2,2);  %作图tp、ts、|tp|、|ts|随入射角的变化曲线
plot(theta,tp,'-',theta,ts,'--',theta,abs(tp),':',...theta,abs(ts),'-.','LineWidth',2);
legend('tp','ts','|tp|','|ts|');
xlabel('入射角\theta_i');
ylabel('振幅');
title(['n_1=',num2str(n1),',n_2=',num2str(n2),'时透射系数随入射角的变化曲线']);
if n1<n2
axis([0 90 0 1]);      %设定作图区间
else
axis([0 90 0 3.5]);    %设定作图区间
end
grid on;               %作图加栅格

          

          

菲涅尔定理及MATLAB实现相关推荐

  1. matlab菲涅尔衍射_有问必答——SYNOPSYS安装体验课堂——可以设计菲涅尔透镜吗?...

    问:SYNOPSYS可以设计菲涅尔透镜吗? 答:在USS中有多种菲涅尔面型,用户输入参数即可. 问:SYNOPSYS中具有的输入方式? 答:大家总是有个误区,以为SYNOPSYS需要输入命令运行,其实 ...

  2. 基于Matlab——夫琅禾夫衍射以及菲涅尔衍射

            我以往在学习F分析的时候,编写了一个作业代码,在此附上供大家学习交流. 引言:     在傅里叶光学信息基础中,主要研究的是光在传播过程携带的信息如何去检测得到.如果光在自由空间(均匀 ...

  3. MATLAB:菲涅尔公式(反射/透射公式)

    目录 案例1:光疏到光密介质 案例2:光密到光疏介质 案例1:光疏到光密介质 平面光波从空气(折射率为)入射到石英玻璃中(折射率为),用 MATLAB作出p.s分量的振幅反射率和振幅透射率以及它们的绝 ...

  4. Matlab 菲涅尔系数计算

    1 简介 Matlab 菲涅尔系数计算​ 2 部分代码 function varargout = Fresnel(varargin) % FRESNEL MATLAB code for Fresnel ...

  5. 【光学】基于matlab GUI菲涅尔系数计算【含Matlab源码 1165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI菲涅尔系数计算[含Matlab源码 1165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  6. matlab 菲涅尔环,菲涅耳区讨论 - 通信原理与基础 - 通信人家园 - Powered by C114

    1.菲涅耳区 当需要计算传播主区的几何尺寸时,要应用惠更斯-菲涅尔原理.惠更斯-菲涅尔原理认为,波在传播过程中,波面上的每一点都是一个进行二次辐射球面波(子波)的波源,而下一个波面,就是前一个波面所辐 ...

  7. matlab波带片程序,Matlab编程快速实现振幅型菲涅尔波带片的设计

    维普资讯 http://doc.docsou.com 第 8卷 第 1 5期 20 0 8年 8月 科 学 技 术 与 工 程 V 1 8 No 5 o. .1 Au .2 0 g 08 17-89 ...

  8. matlab 伽马波带片,菲涅尔波带片

    满意答案 mbtf4535 2018.11.28 采纳率:52%    等级:8 已帮助:310人 菲涅尔透镜是是带通光学滤镜,被广泛使用在警报器和相机对焦屏上.菲涅尔波带片既有会聚透镜的作用,又有发 ...

  9. 菲涅尔效应(Fresnel Effect)

    当光从一种具有折射率为的介质向另一种具有折射率为的介质传播时,在两者的交界处(通常称作界面)可能会同时发生光的反射和折射.菲涅尔方程描述了不同光波分量被折射和反射的情况.也描述了波反射时的相变. 如果 ...

最新文章

  1. iOS OpenCV 图像灰度处理
  2. 【opencv】1.opencv安装、编译、运行等踩坑记录
  3. tensorboard ckpt pb 模型的输出节点_TensorBoard 简要介绍
  4. 巨人网络305亿并购海外棋牌类游戏公司审核遭暂停
  5. UVA10026 Shoemaker's Problem【贪心】
  6. 天猫魔盒android开发者模式,【当贝市场】天猫魔盒M16S开启远程调试模式教程
  7. win pe备份linux,Windows10操作系统如何使用微PE实现备份与恢复
  8. Linux 所有版本内核源码下载
  9. 破解lockdir的加密文件
  10. 计算机键盘快速指南,菜鸟必看 Windows键盘快捷键入门指南
  11. 瞬态电压抑制二极管选型指导,一场走心的科普之旅
  12. linux tac文件最后五行,tac命令以及各种linux文件查看命令
  13. 微信公众号开发—通过网页授权实现业务系统登录及用户绑定(微信网页授权自动登录业务系统)
  14. 俞优静的“航海”人生-搜狐财经
  15. 手机充电器的D+,D-电压
  16. [蓝奏云] 洛达AB153x_UT检测工具
  17. Day357358359360.JVM监控及诊断工具-GUI -JVM
  18. 腾讯、抖音回应被判侵害用户信息;美团禁用支付宝;苹果称今年新iPhone将推迟数周发布 | EA周报...
  19. 1255B. Fridge Lockers Codeforce题解
  20. ubuntu 16.04 安装 openCV 3.2 --对该问题的处理CMake Error at cmake/OpenCVModule.cmake:295 (message)

热门文章

  1. 【优化】核方法(kernel method)超简说明
  2. lg-1 x 怎么算_婚宴邀请微信怎么写 婚宴邀请微信范文大全
  3. 绩效考核数字化实践落地,实现人企共赢
  4. Android 获取通讯录联系人,打开通讯录获取联系人信息;整个流程封装在基类中;
  5. 查询mysql的函数_数据库基本查询函数
  6. 电动自行车ce认证标准EN15194
  7. MYSQL 数据库对比 工具类
  8. Linux编译遇到各种错误解决方法,例如 /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop.
  9. 李宏毅nlp学习笔记06:Text Style Transfer
  10. 2017年上半年信息安全2017年上半年信息安全工程师考试_试题四答案(解题步骤详解)