本帖最后由 欧攀 于 2013-1-29 10:01 编辑

53页到56页,主要阐述物理背景。

我主要的编程工作是根据公式3.42,以及公式3.45。

clear

clc

f=25;                                                                        %焦距

a=0.3;

b=0.3;                                                                       %微透镜尺寸

lamda=0.6238e-3;                                                             %波长

k=2*pi/lamda;

x=-1.2:0.01:1.2;                                                             %对微透镜表面或者说入射波前取离散点

y=-1.2:0.01:1.2;

n0=1.75;                                                                     %透镜折射率

Delta0=2;                                                                    %透镜厚度

n=length(x);

u0=ones(n);

[x1 y1]=meshgrid(x,y);

fx=x1./lamda./f;                                                            %根据公式3.46

fy=y1./lamda./f;

x_org=-1.05:0.3:1.05;                                                       %微透镜中心坐标

y_org=-1.05:0.3:1.05;

nx=length(x_org);

ny=length(y_org);

Ft2=zeros(n,n);

% uf=1./j./lamda./f.*exp(j.*k./2./f.*(x1.*x1+y1.*y1));

Ft1=fft2(u0.*exp(j.*k.*n0.*Delta0));                                        %公式3.42最后一个等式后的第一个傅里叶变化

% Ft1=fft2(u0);

Ft1=fftshift(Ft1);

% figure

% It1=Ft1.*conj(Ft1);

% surf(xf1,yf1,It1)

tempx=zeros(1,n);

tempy=zeros(1,n);

for i=1:nx

%     tem=exp(j.*k./2./f.*x_org(:,i)).*exp(-j.*2.*pi.*fx.*x_org(:,i)).*a.*sinc((fx-x_org(:,i)./lamda./f).*a)

%     Ft2(:,i)

tempx=tempx+exp(j.*k./2./f.*x_org(i)).*exp(-j.*2.*pi.*x./lamda./f.*x_org(i)).*a.*sinc((x./lamda./f-x_org(i)./lamda./f).*a);

end

for i=1:ny

tempy=tempy+exp(j.*k./2./f.*y_org(i)).*exp(-j.*2.*pi.*y./lamda./f.*x_org(i)).*a.*sinc((y./lamda./f-x_org(i)./lamda./f).*a);

end

% 公式3.42最后一个等式后的第二个傅里叶变化 参考公式3.45

%分别对x,y方向进行计算

[Ft2x Ft2y]=meshgrid(tempx,tempy);

Ft2=(Ft2x+Ft2y);

% x,y方向合成二维矩阵  不知道这样子做是否严谨

Ft=conv2(Ft1,Ft2);

%根据公式3.42 求卷积 问题是卷积以后矩阵的维数发生变化。用在入射波前(微透镜阵列表面)的离散点就不能用了

[line row]=size(Ft);

xf=linspace(-1,1,line);

yf=linspace(-1,1,row);

[xf yf]=meshgrid(xf,yf);

%重新设置离散点  保证和之前入射波前(微透镜阵列表面)的离散点的范围一致,但显然个数就不一样了

uf=1./j./lamda./f.*exp(j.*k./2./f.*(xf.*xf+yf.*yf));

uf1=uf.*Ft;

It=uf1.*conj(uf1);

surf(xf,yf,It);

%最后得出焦平面上的图1 发现光斑聚焦位置不对 应该是从-1.05到+1.05排列

%如果不看坐标与论文中一致

figure

uf=1./j./lamda./f.*exp(j.*k./2./f.*(x1.*x1+y1.*y1));

uf2=uf.*Ft2;

It=uf2.*conj(uf2);

surf(x1,y1,It);

%最后得到焦平面上的图2与论文一致,坐标也符合

%但问题我没有考虑到Ft1的作用

%实际上Ft1的作用很重要,他反应是入射波前对聚焦的影响,在这里设定入射波前是平面波

也就是说如果我忽略Ft1项,那么的出来的图形似乎是正确的,如果考虑了Ft1与Ft2的卷积,那么得出来矩阵维数变大了,

迫使我在焦平面和入射波前分别用不同的离散点采样。

最后得出一个看起“被压缩”的图像。

请各位赐教,帮忙

52.jpg

(410.09 KB, 下载次数: 34)

2012-11-23 20:16 上传

53.jpg

(328.87 KB, 下载次数: 40)

2012-11-23 20:16 上传

54.jpg

(338.13 KB, 下载次数: 35)

2012-11-23 20:16 上传

55.jpg

(259.13 KB, 下载次数: 40)

2012-11-23 20:16 上传

56.jpg

(432.42 KB, 下载次数: 36)

2012-11-23 20:16 上传

图1.jpg

(131.04 KB, 下载次数: 19)

2012-11-23 20:46 上传

图2.jpg

(161.64 KB, 下载次数: 20)

2012-11-23 20:46 上传

matlab傅里叶光学仿真,关于微透镜阵列的傅里叶光学分析相关推荐

  1. PID控制器——MATLAB/Simulink仿真以及性能比较与分析

       本文主要内容:PID控制器,MATLAB/Simu link仿真模型的搭建.介绍以及各控制器性能的比较与分析.  一.本文中用到的Simulink模块    1. 传递环数模块 (Transfe ...

  2. 【Matlab 控制】仿真多智体一致性分析,附代码

    Matlab 仿真多智体一致性分析,附代码 本例程所有参数及状态均采用最简单的形式,使更容易理解一致性的收敛过程. 所使用拉普拉斯矩阵图为如下所示的无向图(undirected graph) 输入: ...

  3. matlab 4轴机器人建模,SCARA机器人运动学分析及MATLAB建模仿真.pdf

    SCARA机器人运动学分析及MATLAB建模仿真.pdf 100 SCARA机器人运动学分析及 MATLAB建模仿真 SCARA机器人运动学分析及MATLAB建模仿真 KinematicAnalysi ...

  4. matlab分析总谐波失真THD,Matlab电气仿真技术在电力电子教学改革中的应用_中职教育...

    摘要:电气仿真技术是电力电子教学过程中重要的演示分析手段之一,本文以三相SPWM电压型逆变器为例,在MATLAB仿真平台上进行实验,通过在SIMULINK中建立仿真模型,让学生可以分析和比较不同参数设 ...

  5. matlab中对伺服电机,基于MATLAB仿真的伺服电机动态特性分析

    基于MATLAB仿真的伺服电机动态特性分析 摘要:伺服电机(servo motor )是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置.伺服电机可使控制速度,位置精度非常准确,可以 ...

  6. 增量调制原理matlab仿真,毕业设计论文-基于Matlab的△M增量调制系统仿真与性能分析.doc...

    毕业设计论文-基于Matlab的△M增量调制系统仿真与性能分析.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 毕 业 设 计(论 ...

  7. matlab小电流接地系统,MATLAB的小电流接地系统单相接地分析与仿真.docx

    基于MATLAB的小电流接地系统单相接地分析与仿真 I摘要]川MATLAB的simulink工具箱构建小电流接地系统仿真模型,并对单相接地故障的 各种情况进行仿真,通过对零序电流的波形进行分析,从而确 ...

  8. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验

    <工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...

  9. 初步考虑matlab的仿真功能如何编程实现

    看一下matlab的仿真功能:这是两个示例: 拖入各个组件到面板,建立连线:然后运行:就会给出最终的仿真结果和波形: 下面来简单分析一下:如果要自己编程实现matlab的仿真功能,该如何做: 看前面两 ...

  10. 用MATLAB编程正弦稳态相量图,matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析...

    matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析 课程设计任务书 学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位:信息工程学院 题 目: 利用MATLAB对线性电路正弦稳态 ...

最新文章

  1. linux cp 目录不存在自动创建,关于linux:Linux技巧cp命令自动创建不存在的目录和只复制修改的文件...
  2. IBM开发单原子存储技术 iPod能存上3万部电影?
  3. Sublime配置与各种插件
  4. 转译和编译_10个有趣又能编译为JavaScript的语言,你用过哪些?
  5. Django学习笔记《二》图书管理系统
  6. plupload怎么设置属性_店铺收银系统怎么用?好收银系统能提升店铺效率
  7. python下载文件暂停恢复_Python关于Threading暂停恢复解决办法
  8. C++工作笔记-3种方法对数据类型进行拆分(可用于各种协议)
  9. 【阿里巴巴】面向2022届应届生,阿里启动史上最大规模校招
  10. Rost CM使用手册
  11. java8实战教程,[JAVA] 汪大神Java8新特性及实战视频教程完整版
  12. “差不多先生”姚劲波和不再神奇的58同城
  13. 比例电磁阀(二)阀门开度与速度的关系
  14. 回溯法、动态规划法——牛妹的蛋糕
  15. Kiwi Syslog日志服务器的安装及配置使用
  16. A-priori算法
  17. 阿里云 centos安装oracle 11g 完全图解
  18. 第9章 数据库完整性
  19. Python 自动化提取基因的 CDS
  20. 心电图心跳信号多分类预测-建模调参(四)

热门文章

  1. 用android编写使用按钮ImageButton和切换器ImageSwitcher
  2. Apache roller
  3. emule服务器无响应,全部服务器无响应!!!
  4. 【hadoop权威指南第四版】第四章hadoop的IO【笔记+代码】
  5. Java分布式二手房项目尚好房第二课 用户角色管理
  6. 【转载】使用微博API接口获取数据
  7. 未来教育 ***java二级考试题库第二十五套错题***
  8. 2021创新创业基础(李家华)100分期末考试答案
  9. Windows10 上某些PPT无法显示缩略图
  10. AE插件 点线面三维粒子插件 Plexus Mac v3.1.8破解版