1.理论基础

光波在自由空间中的传播可以通过多种理论来描述。最常用的就是菲涅尔衍射传播夫朗禾费衍射传播以及角谱理论

本质上来说,三者是一致的,只是适用条件有所不同。弗朗禾费衍射因为近似条件较为苛刻一般来说是在自由空间的远场或者透镜系统中较为常见。菲涅尔衍射的近似条件较为简单,只需要在近轴区域,一般来说都适用,但是它的计算过程相比弗朗禾费而言更加复杂。基于衍射的传播理论是在空域对光波进行描述,而角谱理论对光波进行了抽象,从频域进行分析,任何的复杂光波都可以认为是由各种频率分量的平面光波组成,每一个平面光波都是一个面基元。例如复杂光波可以分解为

观察上式可以发现,指数项实际是一个频率为的平面光波,是其对应的权重,习惯上被称为频谱函数。回顾傅里叶变换基本理论,可以发现对频谱函数作逆傅里叶变换得到了光波函数,对光波作傅里叶变换就得到了频谱函数,在MATLAB里面,可以通过fft(一维)或者fft2(二维)实现快速转变。

图1 角谱理论分析过程

利用角谱理论分析问题的一般流程如图1所示。假定在自由空间中有两个平面,z=0的输入面以及z=z的输出平面,在输入面有一个任意的光波函数,我们的目的就是确定其在自由空间传递到输出面时的光波函数。首先,对作傅里叶变换得到其频谱,再乘上传递函数得到输出面的频谱,作逆傅里叶变换得到输出面的波函数。所需要解决的关键问题就是确定传递函数

光波函数的频率为的成分为,光波函数的对应的成分为,比较两个函数,可以发现输出面相比于输入面多了一项,且

所以可以得到自由空间的传递函数

2.实例演示

根据上面介绍的原理,可以实现一些非常有趣的衍射现象。假定采用一个振幅分布为归一化高斯型的光源(大小10.24mm*10.24mm,波长532nm,束腰为5.32mm,如图2所示)照射一个自由曲面(最大厚度为3mm,面型储存在z_g.mat矩阵中,如图3所示)。那么采用上面的分析,可以得到其在自由空间传播200mm后得到一张菲涅尔的图像,如图4所示,十分有趣。

图2 光源振幅分布

图3 自由曲面面型

图4 衍射场振幅分布

3.MATLAB代码

clc;
clear all;
close all;
%% Generate the input Gaussian beam
mm=1e-3;
nm=1e-9;
lambda=532*nm;% wavelength
k=2*pi/lambda;% wavevector
n=1.494;% The rafractive index of freeform elements
SL=10.24*mm ;% Side length
N=512*1;% samples for side length
dx=SL/N;%sample interval
d=200*mm;% The distance between the input and output planes
x = -0.5*SL:dx:0.5*SL-dx;% coordinate
y = x;
[X,Y]=meshgrid(x,y);
I_input=exp(-2*((X /(0.5* SL)).^2+(Y/(0.5* SL)).^2)); %The input Gaussian beam
figure;
imagesc(x,y,I_input);
axis square;
xlabel('x(m)');
ylabel('y(m)');
colorbar;
title('Amplitude of Gaussian beam');%% phase modulataion by the freeform surface
load('z_g.mat');
OPD = 3*mm+(n-1)*z_g;
P_input  = exp(1i*k*OPD);
figure;mesh(X,Y,z_g);
title('Surface of lens');
xlabel('x(m)');
ylabel('y(m)');
zlabel('t(m)');
u1 = I_input.*P_input;%% obtain the output field using Angular spectrum
fx=-1/(2*dx):1/SL:1/(2*dx)-1/SL;  %freq coords
[FX,FY]=meshgrid(fx,fx);
H=exp(1i*k*d*sqrt(1-(lambda*FX).^2-(lambda*FY).^2));  %trans func
H=fftshift(H);
U1=fft2(fftshift(u1));  %shift.fft source filed
U2=H.*U1;    %multiply
u2=fftshift(ifft2(U2));
figure;
imagesc(x,y,abs(u2));
axis square;
xlabel('x(m)');
ylabel('y(m)');
colorbar;
title('Amplitude of output');

光波传输的角谱理论【理论,实例及matlab代码】相关推荐

  1. 图像处理——相位恢复(GS,TIE,改进型角谱迭代法)(已更新代码)

    利用GS,TIE,改进型角谱迭代算法进行相位恢复 角谱传播理论 角谱传播理论可以翻阅傅里叶光学的书,就能找到定量分析的计算公式,可以分析某个平面的角谱垂直传播到另外一个平面的角谱,得到其振幅与相位信息 ...

  2. OpenCV提炼角点位置的实例(附完整代码)

    OpenCV提炼角点位置的实例 OpenCV提炼角点位置的实例 OpenCV提炼角点位置的实例 #include "opencv2/highgui.hpp" #include &q ...

  3. 基于FastICA的声源分离实例(matlab代码)

    基于FastICA的声源分离实例 1 独立成分分析(ICA)的形象化理解 1.1 盲源分离(BlindSource Separation,BSS)的认识 1.2 独立成分分析(ICA)的基础概念 1. ...

  4. 单频信号的相位谱计算与误差修正-附Matlab代码

    一.问题描述 我们在实际处理时经常遇到只有一个正弦信号的情况,其频率为 f 0 {{f}_{0}} f0​,在谱分析以后,除了在频率为 f 0 {{f}_{0}} f0​处有相位数值外,其他频率处都有 ...

  5. c++椭圆最小二乘法原理_利用最小二乘法拟合椭圆方程的理论推导,附有matlab代码...

    为了很好的进行椭圆方程拟合,本文先对椭圆基本知识进行复习,后进行非标准椭圆方程拟合公式推导,最后有matlab代码的实现. 1. 用最小二乘法做椭圆拟合 1.1. 椭圆标准方程 对椭圆印象最深的就是高 ...

  6. 谱本征正交分解 (SPOD)附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  7. 浅谈光波近场传播表述的方式 ——角谱法

    光波近场传播的三种表述方式 角谱法 卷积 球面波近似 主要介绍最常用的角谱法,也是目前最好的方法. 利用角谱法模拟激光光波的传输,角谱法是描述衍射的一种替代变换方法,给定在z=0的平面Σ0的电场E0( ...

  8. 【声传播】——角谱理论、模式理论及三维傅里叶变换

    序: 感觉三者在一定程度上有相似性,故将其整理至此文 瞬态声波方程与稳态声波方程 瞬态声波方程 概念:描述时域空间域(波动方程) ∇2p=1c02∂2p∂t2\nabla^2 p=\frac{1}{c ...

  9. 扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)

    扩展卡尔曼滤波(EKF)理论讲解与实例(matlab.python和C++代码) 文章目录 扩展卡尔曼滤波(EKF)理论讲解与实例(matlab.python和C++代码) 理论讲解 KF和EKF模型 ...

  10. isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)

    本文字数1304字25图,建议阅读时间7分钟 强调一下是ISIGHT,不是INSIGHT INSIGHT是ADAMS内置的一个试验设计模块,它提供了一组统计工具,用于分析仿真结果,辅助优化和改进系统 ...

最新文章

  1. 研究人员提出增强Wi-Fi传输的新方法
  2. 5G服务可以解决的4个企业WAN挑战 - vecloud
  3. mysql自动异地备份脚本_MYSQL数据库自动本地/异地双备份/MYSQL增量备份
  4. *ctf 逆向math题解
  5. 淘宝上的所有cuda书籍调研
  6. 话剧《白鹿原》:叫人乍舌,令人唏嘘,也让人捏把汗(图)
  7. 正则表达式的固化分组
  8. 64测试cpu稳定性_SuperPI-圆周率计算与CPU性能与稳定性测试
  9. 两年AI研究经验(教训)总结,进来看看吧! 1
  10. 理解C++ Executor的设计理念
  11. windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
  12. 函数式编程-尾递归、尾调用
  13. python使用抓包工具Fiddler4和selenium获取国家药监局网站数据
  14. 【复盘】如何打造自己的研发能力
  15. 实验2 格式化输入输出和分支语句
  16. The fundamentals of millimeter wave radar sensors——毫米波雷达传感器基本原理
  17. 历时三年“鸽王”Filecoin主网上线,分布式存储市场将迎来最强劲敌?
  18. 12306快手,初始版本发布。匆忙写了个,不喜勿用
  19. mysql账号认证_浅谈MySQL用户账号认证方式
  20. Spring Boot四大神器之Auto Configuration

热门文章

  1. OceanBase基本概念
  2. RRU、BBU、AAU
  3. [硬件选型] 工业相机之相机分类
  4. 小米HR:说说对API有多少的理解? 看了后,和面试官扯皮,吹牛逼!绰绰有余!
  5. Scala入门系列(十二):隐式转换
  6. Fastadmin读取数据库配置
  7. vue大屏项目开发框架dataV
  8. 树莓派学习笔记(通过网线连接)
  9. thermal系列(7)-Thermal配置和调试
  10. java中的character_什么是Java Character类?Character类的常用方法详解