罗曼III型编码

罗曼III编码

罗曼和郎恩利用迂回相位效应制成迂回相位全息图有三类,现在对最常见的罗曼III型编码进行说明。矩形通光孔径的宽度为定值 B m n B_{mn} Bmn,高度 H m n H_{mn} Hmn随采样点(m,n)的振幅值 A m n A_{mn} Amn 的变化而改变, d m n d_{mn} dmn透明孔的中心偏离抽样点的距离,偏离的距离随采样点(m,n)相位 Φ m n \Phi_{mn} Φmn 而变化。设物函数是第(m,n)个抽样点的表示 [ 1 − 5 ] ^{[1-5]} [15]
Φ m n = A m n e x p [ j ϕ m n ] \Phi_{mn}=A_{mn}exp[j\phi _{mn}] Φmn=Amnexp[jϕmn]
即通过矩形孔的高度 H m n H_{mn} Hmn 和矩形孔的位置来编码复波前的频谱的振幅和相位,图中各参量对应的关系为
在这里插入图片描述   H m n = A m n y \ H_{mn} = A_{mn}y  Hmn=Amny
  d m n = x 0 Φ m n / 2 π \ d_{mn} = x_{0}\Phi_{mn}/2\pi  dmn=x0Φmn/2π
  B m n = B \ B_{mn} = B  Bmn=B
m x 0 mx_{0} mx0 n y 0 ny_{0} ny0 表示抽样单元的中心,模拟实验是采用’光’字作为实验对象,大小为N×N=64×64,为方便计算,计算全息图的单元划分为s×s,通过孔的宽度设置为s/2,所以罗曼III迂回相位编码的全息图大小为(64×s) ×(64×s),而不是傅里叶频谱相同的64×64像素。因而,模拟重建时的图像会有很多级次同时出现。MATLAB程序如下,仅供参考。

U0=imread('guang.bmp');
U0=double(U0(:,:,1)); 
r=64; c=64;                   
U0=imresize(U0,[r,c]);         
figure,imshow(U0,[])                      
[r,c]=size(U0);                           
ef1=0.8;                                    
FU0=fftshift(fft2(U0.*exp(j.*rands(r,c).*pi.*ef1))); 
Am=abs(FU0);                               
Ph=mod(angle(FU0),2*pi);                 
Ph=Ph./2/pi;                              
w=3;                                           %通光孔径的宽度(设为偶数)
wth=round(w/2);                         %通光孔径的一半
s=6;                                           %设置编码单元的大小(像素)
CGH=zeros(r*s,c*s);                     
%= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
%(罗曼Ⅲ型)
maxAm=max(abs(FU0(:)));                   
ef2=1.5;                                  
th=maxAm/ef2;                             
Am(Am>th)=th;                             
lmn=round(Am/th*w);                      
pmn=round(Ph*w);                           %将相位量化到0,1,2,…,w
%= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
%全息图赋值
for m=1:r;                                
    for n=1:c;                            
        cgh=zeros(s,s);                   
        if lmn(m,n)==0;                          %对模不为零的点进行编码
            elseif pmn(m,n)<=wth           %相位值小于π/2,不出现模式溢出
            cgh(w+1-lmn(m,n):w+lmn(m,n),w-wth+pmn(m,n)+1:2*w-wth+pmn(m,n))=1;
            elseif pmn(m,n)>wth            %相位值大于π/2,出现模式溢出
            cgh(w+1-lmn(m,n):w+lmn(m,n),w-wth+pmn(m,n)+1:s)=1;
            cgh(w+1-lmn(m,n):w+lmn(m,n),1:pmn(m,n)-wth)=1;
        end
        CGH((m-1)*s+1:m*s,(n-1)*s+1:n*s)=cgh;%将生成的抽样单元放到计算全息图中
    end
end
figure;imshow(CGH,[]);                    
%= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
%再现运算
RU=fftshift(ifft2(CGH));                  
RI=RU.*conj(RU);                        
figure;imshow(RI,[0,max(RI(:))/1000]),colormap(pink);

参考文献
[1 ] 古德曼 ,傅里叶光学导论[M],北京:电子工业出版社,2006,第3版
[2] 钱晓凡,信息光学数字实验室[M],北京:科学出版社,2014
[3]陈家壁,苏显渝.光学信息技术原理及应用[M].北京:高等教育出版社,2001
[4]虞祖良,金国藩. 计算机制全息图[M]. 北京:清华大学出版社,1984
[5 ]于美文.光全息学及其应用[M].北京:北京理工大学出版社,1996

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
计算傅里叶变换全息图的方法有多种。其中一种方法是使用分数傅里叶变换计算全息图(FRTCGH),该方法使用分数傅里叶变换的快速算法和罗曼迂回位相编码方法设计并制作全息图。通过使用罗曼分数傅里叶变换光学系统再现原物体,可以得到全息图。 另一种方法是使用迭代傅立叶变换算法(Iterative Fourier Transform Algorithm, IFTA)。该算法通过傅立叶变换在两个平面中的反复传递来生成纯相位全息图。迭代傅立叶变换算法是一种比较具有代表性的算法,通过在全息图平面和重建图像平面之间进行正逆向的光波传递以及施加在两个平面上的限制条件,可以求得全息图平面中光场的相位信息。该算法在计算纯相位全息图的场景中非常适用,可以使用菲涅尔变换或者傅立叶变换来进行光场传播的计算。 在计算傅里叶变换全息图时,可以首先将初始输入图像转换到频谱域,提取出相位谱,然后再将其转换回空间域。为了评价全息图重构质量,可以计算均方根误差(RMSE),该误差可以用来衡量重建图像与原始图像之间的差异。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [分数傅里叶变换计算全息图](https://download.csdn.net/download/weixin_38625448/15574422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [一种基于迭代傅里叶变换算法纯相位全息图的优化](https://blog.csdn.net/qq_36584460/article/details/123961051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值