吾爱光设

会员须知
会员须知
实用帮助
实用帮助
查看: 2734|回复: 5

离轴全息建模

[复制链接]
  • TA的每日心情
    开心
    2023-3-20 09:37
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    7

    主题

    9

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2023-3-7 16:29 | 显示全部楼层 |阅读模式
    各位大佬帮忙看看我写的一个离轴全息的程序,不知道错在哪里了
    首先是输入一个球面波
    lamda = 4.25e-6;
    x_min=10e-5;
    y_min=10e-5;
    D=1;
    N=1280;
    M=1024;
    x=linspace(-(N/2)*x_min,(N/2)*x_min,N);
    y=linspace(-(M/2)*y_min,(M/2)*y_min,M);
    [X,Y]=meshgrid(x,y);
    r=sqrt(D^2+X.^2+Y.^2);
    object_wave=exp(1i*2*pi/lamda.*r)./r;




    然后加入一个参考波进去






    reference_wave=exp(1i*2*pi/lamda.*(x_dot.*cosd(theta)+y_dot.*sind(theta)));
    hologram=reference_wave+object_wave;
    I_holo=hologram.*conj(hologram);


    再重建

    function [restruction] = off_restruction(hologram,lamda,D,theta,x_min,y_min,N,M)

    x=linspace(-640*x_min,640*x_min,N);
    y=linspace(-512*y_min,512*y_min,M);
    [X_dot,Y_dot]=meshgrid(x,y);
    reference_wave=exp(1i*2*pi/lamda.*(x.*cosd(theta)+D*sind(theta)));
    r_hologram=reference_wave.*hologram;
    phase_one = exp(1i*2*pi/lamda*D)/1i/lamda/D*exp(1i*2*pi/lamda/2/D.*(X_dot.^2+Y_dot.^2));
    phase_two = exp(1i*2*pi/lamda/2/D.*(X_dot.^2+Y_dot.^2));
    restruction = fftshift(fft2(r_hologram.*phase_two)).*phase_one;






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    ×
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-11-4 09:56
  • 签到天数: 384 天

    [LV.9]以坛为家II

    15

    主题

    55

    回帖

    3

    积分

    小白

    积分
    3
    发表于 2023-3-8 10:06 | 显示全部楼层
    是不是显示器分辨率不够,没办法把准确的图像显示出来?看着像是有摩尔纹
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-7-22 13:03
  • 签到天数: 781 天

    [LV.10]以坛为家III

    0

    主题

    56

    回帖

    5

    积分

    小白

    积分
    5
    发表于 2023-3-8 13:13 | 显示全部楼层
    代码很混乱,生成全息图是实数的I_holo为啥重建用复数的r_hologram。标量衍射理论计算可以参考Computational Fourier Optics: A MATLAB Tutorial这本书。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-3-20 09:37
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    7

    主题

    9

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2023-3-8 15:20 | 显示全部楼层
    Alec 发表于 2023-3-8 10:06
    是不是显示器分辨率不够,没办法把准确的图像显示出来?看着像是有摩尔纹

    不太清楚,总感觉复现的有问题,但是一时间又看不出来问题在哪
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-3-20 09:37
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    7

    主题

    9

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2023-3-8 15:22 | 显示全部楼层
    dreica 发表于 2023-3-8 13:13
    代码很混乱,生成全息图是实数的I_holo为啥重建用复数的r_hologram。标量衍射理论计算可以参考Computationa ...

    哦对,只能读取到全息图的强度分布,不能用复振幅进行处理!
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2024-3-14 13:58
  • 签到天数: 35 天

    [LV.5]常住居民I

    0

    主题

    34

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2023-3-14 11:34 | 显示全部楼层
    你看看是不是.这个该用的时候没用,不该用的时候用了,我之前仿真相位恢复算法的时候,这个弄错了,结果差异蛮大的
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-7 13:38 , Processed in 0.109375 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表