• VirtualLab基础实验教程-8.傅里叶变换(1)



    前言

    本篇为大创团队的第十篇集体作品,是新开始的一章针对物理光学的又一大分支–傅里叶光学的各种可以体现这种频谱特性的现象做出了探索和尝试。
    (全息部分目前测试还有一定问题,欢迎大家一起尝试讨论)

    一、傅里叶变换是什么

    1、公式变换

    时间域傅里叶变换
    其傅里叶变换为 F ( j ω ) = ∫ f ( t ) e − j ω t d t F(j\omega)=\int f(t)e^{-j\omega t}dt F()=f(t)etdt
    傅里叶反变换为: f ( t ) = ∫ F ( j ω ) e j ω t d w f(t)=\int F(j\omega)e^{j\omega t}dw f(t)=F()etdw
    从傅里叶反变换中得出:时域信号可以有不同振幅,不同频率成分的正弦函数线性叠加。
    在这里插入图片描述
    空间域傅里叶变换
    F ( f x , f y ) = ∫ ∫ f ( x , y ) e − 2 π j ( f x + f y ) d x d y F(f_x,f_y)=\int\int f(x,y)e^{-2\pi j(f_x+f_y)}dxdy F(fx,fy)=∫∫f(x,y)e2πj(fx+fy)dxdy
    空间频率
    f x = c o s α λ    f y = c o s β λ f_x=\frac{cos\alpha}{\lambda} \ \ f_y=\frac{cos\beta}{\lambda} fx=λcosα  fy=λcosβ
    当入射波长一定时,空间频率是一个与角度有关的量,也就是空间频率与光线入射方向有关,不同方向代表不同频率成分。而傅里叶变换,则是将 f ( x , y ) f(x,y) f(x,y)变换到频域,观察其空间频率成分。通过频谱图,可以观察到原函数的各个频率成分以及其对应的幅值大小。
    傅里叶反变换: f ( x , y ) = ∫ ∫ F ( x , y ) e 2 π j ( f x + f y ) d f x d f y f(x,y)=\int\int F(x,y)e^{2\pi j(f_x+f_y)}df_xdf_y f(x,y)=∫∫F(x,y)e2πj(fx+fy)dfxdfy
    从傅里叶反变换中可以看出,物函数f(x,y)可以看成振幅不同,方向不同的平面波的线性叠加。

    2、角谱函数(频谱)

    空间频谱就叫角谱。
    F ( f x , f y ) = ∫ ∫ f ( x , y ) e − 2 π j ( f x + f y ) d x d y F(f_x,f_y)=\int\int f(x,y)e^{-2\pi j(f_x+f_y)}dxdy F(fx,fy)=∫∫f(x,y)e2πj(fx+fy)dxdy

    3、透镜的傅里叶变换性质

    在这里插入图片描述
    考查后焦面上的光场分布。
    g ( x , y ) = 1 i λ f e i k 2 f ( 1 − d 1 f ) ( x 2 + y 2 ) F ( f x , f y ) g(x,y)=\frac{1}{i\lambda f}e^{i\frac{k}{2f}(1-\frac{d_1}{f})(x^2+y^2)}F(f_x,f_y) g(x,y)=f1ei2fk(1fd1)(x2+y2)F(fx,fy)
    此时 f x = x f λ , f y = y f λ f_x=\frac{x}{f\lambda},f_y=\frac{y}{f\lambda} fx=fλx,fy=fλy
    在透镜后焦面上得到了物函数的傅里叶频谱。但傅里叶变换式前面的位相因子,导致了后焦面上的光场弯曲。
    讨论几种特殊的情况 :
    物位于透镜前焦面( d 1 = f d_1=f d1=f)
    g ( x , y ) = 1 i λ f F ( f x , f y ) g(x,y)=\frac{1}{i\lambda f}F(f_x,f_y) g(x,y)=f1F(fx,fy)
    物紧贴透镜前表面( d 1 = 0 d_1=0 d1=)
    g ( x , y ) = 1 i λ f e i k 2 f ( x 2 + y 2 ) F ( f x , f y ) g(x,y)=\frac{1}{i\lambda f}e^{i\frac{k}{2f}(x^2+y^2)}F(f_x,f_y) g(x,y)=f1ei2fk(x2+y2)F(fx,fy)
    物置于透镜后
    g ( x , y ) = f A λ d 2 e i k 2 d ( x 2 + y 2 ) g(x,y)=\frac{fA}{\lambda d^2}e^{i\frac{k}{2d}(x^2+y^2)} g(x,y)=λd2fAei2dk(x2+y2)

    4、全息

    在这里插入图片描述
    为了记录相位,光学全息利用干涉原理,将物光波前以干涉条纹的形式记录下来振幅和相位信息,再利用衍射效应重现包含物体全部信息的三维像。
    1.记录
    { O ( r , t ) = A o ( r ) e i ( ψ O − ω t ) R ( r , t ) = A R ( r ) e i ( ψ R − ω t )

    {O(r,t)=Ao(r)ei(ψOωt)R(r,t)=AR(r)ei(ψRωt)" role="presentation" style="position: relative;">{O(r,t)=Ao(r)ei(ψOωt)R(r,t)=AR(r)ei(ψRωt)
    {O(r,t)=Ao(r)ei(ψOωt)R(r,t)=AR(r)ei(ψRωt)
    则参考光与物光相互干涉,其光强为
    I ( r , t ) = | O | 2 + | R | 2 + 2 | O || R | c o s ( ψ O − ψ R ) I(r,t)=|O|^2+|R|^2+2|O||R|cos(\psi_O-\psi_R) I(r,t)=O2+R2+2O||Rcos(ψOψR)
    第三项表示两个波之间的干涉效应,条纹形状由相位差决定,因此,干涉条纹的疏密,取向和强弱,对比度反应了相位分布。
    2.重现
    设全息底片的振幅透过率与光强度成正比
    τ ( x , y ) = τ 0 + β I ( x , y ) \tau(x,y)=\tau_0+\beta I(x,y) τ(x,y)=τ0+βI(x,y)
    当用原参考光照明重现时,其透射光场
    A r e c ( r , t ) = R ( r , t ) τ ( r ) = R [ τ 0 + β ( ∣ O ∣ 2 + ∣ R ∣ 2 ) ] + β R R ∗ O + β R 2 O ∗ A_rec(r,t)=R(r,t)\tau(r)=R[\tau_0+\beta(|O|^2+|R|^2)]+\beta RR^*O+\beta R^2O^* Arec(r,t)=R(r,t)τ(r)=R[τ0+β(O2+R2)]+βRRO+βR2O
    式中第一项为与重现光波相同的透射光场,第二项为虚像+1级,第三项为共轭像-1级。

    二、VirtualLab仿真

    1.傅里叶基础

    我们对傅里叶变化进行研究。
    首先,如图所示搭建光路图,平面波经过一个孔径到达透镜,透镜焦距设置为100mm,将孔径放在透镜前100mm处,探测器放在孔径后和透镜后100mm即后焦面处观察光的分布情况。
    在这里插入图片描述
    在这里插入图片描述
    Raw Data Detector数字探测器可以直接探测到光的振幅和相位(选用camera detector也可),Angular Spectrum Visualizer角谱探测器则是对光进行了傅里叶变换。
    在这里插入图片描述
    最终搭好的光路中也可以不用identity operator,给探测器设置到透镜的后焦点上即可。
    在这里插入图片描述

    使用Classic Field Tracing运行后,可以得到这样的仿真图像。
    在这里插入图片描述
    在这里插入图片描述
    前一个图为经过孔径后的复振幅分布,后一个图为经过透镜进行傅里叶变换后在后焦面上的复振幅分布。
    在这里插入图片描述
    单击左侧图像后,点击Manipulations菜单下的傅里叶变换按键,进行手动的傅里叶变换,可以得到如下的实验结果图。


    可以看到,效果是一致的。
    下图为角谱探测器的仿真结果图,角谱探测器本身就是傅里叶变换的作用,可以看到,效果也与经过透镜后的图像一致。
    接下来,我们将刚刚光路中的Identity Operator器件删去,直接连接数字探测器,进行运行。
    在这里插入图片描述
    可以看到,因为透镜后焦点处能对物函数相当于做一个傅里叶变换,探测器获得的复振幅情况依旧与傅里叶变化情况相吻合。
    在这里插入图片描述

    2.全息记录

    整个光路的距离设计如下。
    在这里插入图片描述

    首先,新建一个空的文件,在其添加一个高斯波。
    在这里插入图片描述
    双击设置高斯波的波长532nm及束腰半径为200um X 200um。
    在这里插入图片描述
    波源设置好后,添加Ideal Components中的理想分束器,并设置其位置。
    在这里插入图片描述
    双击设置其位置为Z=25mm。
    其后添加理想透镜,设置位置分别为10mm和45mm。用两个透镜构成了扩束系统。
    在这里插入图片描述
    第一个透镜设置焦距为5mm。
    在这里插入图片描述
    第二个透镜设置焦距为50mm。
    在这里插入图片描述
    添加理想平面镜,位置为50mm。
    在这里插入图片描述
    角度设置为绕y轴旋转-30°。
    在这里插入图片描述
    放置正弦光栅,位置设置为10mm。
    在这里插入图片描述
    设置其周期为45um。
    在这里插入图片描述

    设置两个aperture,位置分别为31.603mm和90mm。用这两个孔径来模拟全息干板。
    在这里插入图片描述
    上面的孔径设置为5mm×2mm。
    在这里插入图片描述
    下面的孔径设置为6mm×2mm。
    在这里插入图片描述

    再放置两个Camera Dectector。
    在这里插入图片描述
    在所有元件摆放好后将光路连接,可注意到分束器和fixed mirror间的光路为红线,与mirror间的为蓝线(软件中反射光线为红线表示,透射光线用蓝线表示)
    我们可以通过3D视图观察元件的搭建情况,在optical setup中点击3D标识。
    在这里插入图片描述
    即可看到元器件的立体位置视图。
    在这里插入图片描述
    通过Ray tracing system analyzer可以看到光路图。
    在这里插入图片描述
    在这里插入图片描述
    而classical field tracing后可以看见图样。
    在这里插入图片描述

    3.全息重现

    首先按照全息记录中的高斯光和两个透镜相同设置。
    在这里插入图片描述
    其后拖入stored function
    在这里插入图片描述
    双击进入后可在set中导入全息记录过程中全息干板上记录的数据(将探测器探测到的结果进行转化,在manipulations中转化至透过率函数的形式)。
    在这里插入图片描述
    其后添加Aperture,并双击设置其形状和大小,并且修改Relative Edge Width参数为 20%
    在这里插入图片描述
    其位置设置为x轴的-1.22mm。
    在这里插入图片描述
    (与全息记录中相同,因为级次选择器为可编程元件,这里我们也省略了它,当然这可能造成一些问题)
    在这里插入图片描述
    此后放置identity operator,并设置其x轴方向位置为1.22m,并且绕y轴旋转-30度。
    在这里插入图片描述
    此后放置探测器,只需将插值方式改为Accelerated Sinc,其余参数默认即可。
    在这里插入图片描述
    最后的-1级的光路搭建如图,注意Aperture 和identity operator在x轴方向上的位置总是互为相反数。
    在这里插入图片描述
    对于0级和+1级的光路搭建只需将Aperture和identity operator在x轴方向上的位置改变即可。
    在这里插入图片描述
    在这里插入图片描述
    (未完待续)

    总结

    本篇由大创团队成员:唐艺恒、扶杨玉、黄一诺、李思潼、明玥共同完成。
    此篇为傅里叶变换这一大节的首次探索。确实遇到各种问题,希望大家感兴趣的尝试后能够一起讨论看看怎么解决。

  • 相关阅读:
    Leetcode日练笔记41 [二叉树recursion专题] #250 Count Univalue Subtrees /Medium {Python}
    大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-后续
    通过多线程处理提高Redis性能
    汇编输出命令行参数
    大三第四周学习笔记
    “前端”工匠系列(一):合格的工匠,究竟该搞什么 | 京东云技术团队
    嵌入式学习笔记(46) NandFlash的结构
    头一次见!阿里牛人上传的600页JVM垃圾优化笔记飙升GitHub榜首
    模拟批量转换和报警功能块(博途SCL源代码)
    19.Qt 组合框的实现和应用
  • 原文地址:https://blog.csdn.net/ClaireTang1/article/details/125812474