MATLAB实现计算全息.doc

PAGE

PAGE 4

用MATLAB软件和液晶光阀实现傅立叶变换计算全息制作及其再现姚雪灿 指导教师 阎晓娜 (上海大学理学院物理系,上海 200444)

摘要:利用MATLAB语言制作了一个迂回相位编码的傅立叶变换全息图,使用电寻址的液晶光阀作为全息图的实时记录介质对得到的傅立叶计算全息图进行光学再现,并对编码过程中加随机相位和不加随机相位后的再现图进行了比较讨论。关键词:计算全息 傅立叶变换全息 MATLAB 液晶光阀 迂回相位编码

全息制作包括二种方式,光学全息和计算全息。光学全息用光学干涉原理制作,计算全息是用计算机对物波场的数学描述进行抽样、计算、编码而制作。计算全息可以制作已存在物体的全息图,也可以制作不存在物体的全息图,只要物光波场可以用数学描述出来。制作的计算全息图要以适合光学再现的尺寸和方式来输出。由于计算全??图上每个抽样单元的尺寸在微米量级,需要专门的光学缩微照相系统或微光刻系统。在要求较低情况下也可用照相机将显示在计算机屏幕或打印输出的计算全息原图缩拍到高分辨感光胶片上,通过显影、定影等处理得到可用于光学再现的全息图。由于记录介质是照相胶片,这就限制了它在实时处理中的应用。近年来,随着高分辨电寻址空间光调制器的发展,像元尺寸在微米量级,像素数超过100万的振幅型或相位型空间光调制器已经完全实用化。其中最具代表性的是液晶光阀,电寻址的液晶光阀是由驱动电路驱动的LCD,根据寻址电信号改变每一液晶像素的透过率,从而把电信号转换成空间的光强分布。液晶光阀可以作为实时的信号处理和显示器件,代替全息干板可进行实现计算全息图的实时输出和再现。本文提出一种利用电寻址液晶光阀作为实时记录介质的计算机制全息图的产生方法,实验结果证明了这种方法的可行性。 用Matlab软件实现傅立叶变换计算全息图傅立叶变换全息记录的复数波面是物光波的傅立叶变换。计算傅立叶变换全息图的制作包括:对物光波抽样、离散傅立叶变换、编码、画图、图像的输出。在制作全息图的过程中,编码是最关键的一步,通过编码把二维光场的复???幅分布变换为全息图的二维透过率分布。本文以迂回相位编码来介绍编码过程。设抽样后物光波的复振幅经过离散傅里叶变换后的频谱分布为复数F(m,n), 记为 F(m,n) = R(m,n)+iI(m,n), F(m,n) = A(m,n)·exp[i(m,n)] (1)其中, A(m,n)和(m,n)分别代表全息图上各点的幅值和相位,A(m,n) =, (m,n) =arctg[I(m,n)/R(m,n)] (2) 由于光学模板的最大透过率为1,所以在编码前还应对A(m,n)的值进行归一化,使其最大值为1。假定将物面分为N×N个抽样单元, 抽样间距为δx和δy, 其间距要遵循Nyquist判据。采用罗曼Ⅲ型编码方法,通过改变每个抽样单元内通光孔径的面积来编码振幅,通过改变通光孔径中心与抽样单元中心的位置来编码相位。最后每个像素用一个矩形孔表示,矩形孔的宽度为Wδx, 其中W为一常数。矩形孔径的高度为Lmnδy,与归一化振幅成正比, Pmnδx是孔径中心与单元中心的距离,并与抽样点的位相成正比。孔径参数与复值函数的关系如下,=, =/2πK (3)经过计算,取W =1/2, K =1。根据以上二元傅里叶变换全息图的实现原理,采用以下的算法思想在MATLAB中进行二元傅里叶变换计算全息图的制作,采用罗曼Ⅲ型编码方式且以字母K为例。其编码如下:b=zeros(128,128); %采样点阵为128X128。b(8:120,24:40)=1;for M=0:56b(8+M,(96-M):(112-M))=1;endfor N=1:56b(64+N,(40+N):(56+N))=1;end%K图形用矩阵表示如上。也可选取简单图形F表示。A=b;a=rand(128,128); aa=exp(i*2*pi.*a);%给矩阵图K一个随机相位,随机相位因子的作用是平滑傅立叶频谱。AA=double(A).*aa;Afft2=fft2(AA);%用matlab工具箱对带有随机相位因子的K图进行快速傅立叶变换。A1=abs(Afft2);B2=angle(Afft2)/(2*pi);%对频谱的相位进行归一化A1max=max(max(A1));A1=A1/A1max; %对频谱的幅值进行归一化s=1; %设定正方形单元的边长figure;axis([0 128 0 128]);hold on;for J=1:128 y0=s/2+(J-1)*s;

matlab实现计算全息,MATLAB实现计算全息.doc相关推荐

  1. matlab仿真谱间干扰,内外分解和谱分解问题解析计算及其MATLAB仿真.pdf

    内外分解和谱分解问题的解析计算及其MATLAB 仿真 摘 要 内外分解及谱分解问题是控制领域的一个重要问题,其应用范围非常广泛, 在许多重要问题上都发挥了关键的作用. 本文首先在第一章中介绍了内外分解 ...

  2. matlab求二元函数极值算法_最优化计算与matlab实现(3)——进退法

    参考资料 <精通MATLAB最优化计算(第二版)> 数值实现 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 进退法 ...

  3. 计算有用功 matlab,中国大学mooc2020年科学计算与MATLAB语言章节测验答案

    中国大学mooc2020年科学计算与MATLAB语言章节测验答案 更多相关问题 Which pollutant is currently the subject of urgent research? ...

  4. 基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算-热带地理.PDF

    基于MATLAB的图解粒度参数计算-热带地理 第 26卷 第 3期 热 带 地 理 Vol26,No3 2006年 8月 TROP ICAL GEO GRA PHY Aug. , 2006 基于 MA ...

  5. matlab优化算法案例分析与应用_最优化计算与matlab实现(18)——粒子群优化算法——权重改进的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 权重改进 ...

  6. c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 非线性最 ...

  7. 基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算

    摘要 粒度特征是沉积物的基本特征之一.计算沉积物粒度参数的方法主要有矩法和图解法两种,其中图解法必须通过手工作图求累积曲线,是一项相当繁杂的劳动,不利于计算大量样品.文中提出的方法将图解求沉积物样品的 ...

  8. 6.边缘检测:梯度——计算梯度Matlab实战_5

    目录 计算x,y梯度 梯度方向操作 计算x,y梯度 让我们仔细看看梯度方向,特别是它们如何计算和表示. % Gradient Direction >> pkg load image; &g ...

  9. matlab length_【重点】最优化计算与matlab实现(20)——遗传算法

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 遗传算法 ...

最新文章

  1. 汽车高级驾驶辅助系统ADAS激光雷达创新者Cepton与Growth Capital达成企业合并协议
  2. linux socket 缓冲区默认大小
  3. EMQ服务器问题处理及分析
  4. java中将对象转为基本数据类型
  5. kafka常用的shell命令
  6. 计算机一级文档题,计算机一级模拟题
  7. mysql批量查询版本号最大的_mysql子查询批量找id最大的
  8. 我的linux学习之旅:(4)搭建mysql数据库
  9. k8s集群部署项目_JAVA项目(推送镜像到云镜像服务器_这里使用阿里云)---K8S_Google工作笔记0061
  10. LeetCode 235. 二叉搜索树的最近公共祖先(递归)
  11. 使用 Python 进行科学计算 使用 Python 进行科学计算
  12. 电商营业执照能入驻跨境电商虾皮shopee平台吗?
  13. rpm、lpm是什么意思?
  14. 【Eclipse】关闭单词拼写检查
  15. Genero BDL错误
  16. android 多个catch,【Android开发坑系列】之try-catch
  17. spyder pyecharts不显示_逆袭的IGZO-IPS小金刚!微星PAG272QRZ显示器评测:色域、响应速度更优秀...
  18. 产品管理工具和项目管理工具
  19. 关于TeX,LaTeX,MikTex,CTeX,etc.
  20. java 集合交集、并集、差集、补集

热门文章

  1. 【两万字】面试官:听说你很懂集合源码,接我二十道问题!
  2. 解决go mod拉取etcd依赖包报错的问题
  3. 高通导航器软件开发包使用指南(13)
  4. 《码出高效:java开发手册》七 - 并发与多线程
  5. linux下ant编译android,linux(以ubuntu為例)下Android利用ant自動編譯、修改配置文件、批量多渠道,打包生成apk文件...
  6. 相等和严格相等(==和===)
  7. matlab读写xlsx文件和txt文件
  8. win7下在VMware中设置防火墙打开/关闭
  9. 一等公民 二等公民_公民如何通过开放式硬件成为科学家
  10. android 获取手机中应用运行的时长和次数