一种菲涅尔衍射分段传播的快速仿真方法与流程

文档序号:23988569发布日期:2021-02-20 12:44阅读:522来源:国知局
一种菲涅尔衍射分段传播的快速仿真方法与流程

[0001]
本发明涉及光学与数字图像处理领域,具体涉及一种菲涅尔衍射分段传播的快速仿真方法。


背景技术:

[0002]
光学研究中往往需要进行一些仿真实验,在进行光线传播实验中往往会用到菲涅尔衍射传播的仿真。传统的菲涅尔衍射传播仿真中使用的是卷积运算,存在计算时间较长这一问题。之后有团队提出使用三次快速傅里叶变换代替卷积运算进行加速,但该方法需要满足以下条件:光源的最大线性宽度小于或等于用于传播的矩阵边长的一半,光源大小、波长和传播距离之间满足菲涅尔系数,否则会出现频谱混叠现象。通过合理设计光源与传播面的尺寸,该模型可以完成一次从平面1到平面2的菲涅尔传播,但在进行第二次传播的时候,平面2已经被光源所充斥,无法满足上述条件,故不能进行分段传播。


技术实现要素:

[0003]
本发明的主要目的在于提出一种菲涅尔衍射分段传播的快速仿真方法,通过使用虚拟视场矩阵和掩膜将多次传播时传播面内光源的最大线性宽度进行合理控制,以解决现有的菲涅尔衍射分段传播仿真中存在的频谱混叠问题。
[0004]
为达上述目的,本发明采用以下技术方案:
[0005]
一种菲涅尔衍射分段传播的快速仿真方法,包括如下步骤:
[0006]
a1、输入一个大小为m*m的包含光源信息的第一全视场矩阵,针对所述第一全视场矩阵建立一个全零的大小为2m*2m的虚拟视场矩阵,将输入的所述第一全视场矩阵放置在所述虚拟视场矩阵的中心;
[0007]
a2、根据当前传播平面与下一传播平面间的距离以及平面内的像素大小设计菲涅尔衍射的光场脉冲响应函数,使用三次快速傅里叶变换进行菲涅尔衍射计算,将当前传播平面的虚拟视场矩阵传播到下一传播平面中,得到新的虚拟视场矩阵;
[0008]
a3、构建一个大小为2m*2m的掩膜矩阵,其中,中心直径为d的圆形部分的元素值为1,其余部分的元素值为0,将该掩膜矩阵与所述新的虚拟视场矩阵进行点乘得到一新矩阵,作为所述下一传播平面的虚拟视场矩阵;
[0009]
a4、将所述下一传播平面作为当前传播平面返回步骤a2,以循环步骤a2和a3进行分段传播,直至传播到达目标平面,并从所述目标平面的中心提取出大小为m*m的第二全视场矩阵,即为最终的传播结果。
[0010]
在一些实施例中,步骤a2中利用三次快速傅里叶变换计算菲涅尔衍射的条件为:从当前传播平面传播到下一传播平面时,在当前传播平面上需要满足式(1):其中,ω为光源的最大线性宽度,l为进行傅里叶变换的矩阵数组边长对应的长度。
[0011]
在一些实施例中,步骤a2中设计的所述光场脉冲响应函数为:其中,(x1,y1)表示源平面内的像素坐标,(x2,y2)表示目标平面内的像素坐标,e为自然常数,i为虚数,k为波数,z为相邻两个传播平面间的传播距离,λ为波长。
[0012]
在一些实施例中,步骤a2中三次快速傅里叶变换计算菲涅尔衍射包括:第一次变换:对当前传播平面内的光场进行快速傅里叶变换;第二次变换:对菲涅尔衍射的光场脉冲响应函数进行快速傅里叶变换;第三次变换:对上述第一次变换和第二次变换的结果进行点乘得到新的结果,对所述新的结果进行快速反傅里叶变换,得到下一传播平面的光场。
[0013]
在一些实施例中,步骤a3中所述中心直径d的设计方法为:其中,n
f
为菲涅尔系数,λ为波长,z为相邻两个传播平面间的传播距离;同时,所述中心直径d还需满足d≤m。
[0014]
本发明的有益效果在于:传统的分段传播模型由于使用了卷积运算,耗时较长,而本发明中使用三次快速傅里叶变换代替卷积运算来加速菲涅尔衍射的计算过程。另外,为了解决频谱混叠问题,本发明在使用三次快速傅里叶变换时不仅需满足光源的最大线性宽度小于或等于用于传播的矩阵边长一半这个条件,还需要光源大小、波长和传播距离之间满足菲涅耳系数,但由于快速傅里叶变换进行传播的模型仅能进行单次传播,在进行第二次传播时不满足上述条件,为此,本发明通过使用虚拟视场矩阵和掩膜矩阵将分段传播时传播面内光源的最大线性宽度控制在满足上述条件的范围内,从而解决了频谱混叠问题的同时保证了可以实现菲涅尔衍射分段传播的快速仿真,使得本发明可以应用于光路需要进行分段传播的复杂仿真实验中。
附图说明
[0015]
图1是本发明实施例提出的菲涅尔衍射分段传播的快速仿真方法流程图;
[0016]
图2是分段传播仿真模型示意图;
[0017]
图3是用于防止频谱混叠的掩膜示意图。
具体实施方式
[0018]
下面结合附图和具体的实施方式对本发明作进一步说明。
[0019]
本发明使用三次快速傅里叶变换来加速菲涅尔衍射的计算,同时为解决菲涅尔衍射分段传播仿真中出现频谱混叠的问题,使用虚拟视场矩阵和掩膜将多次传播时传播面内光源的最大线性宽度进行合理控制,解决了频谱混叠问题。本发明实施例为了解决上述问题提出一种菲涅尔衍射分段传播的快速仿真方法,参考图1,该快速仿真方法包括如下步骤a1~a4:
[0020]
a1、输入一个大小为m*m的包含光源信息的第一全视场矩阵,针对该第一全视场矩阵建立一个全零的大小为2m*2m的虚拟视场矩阵,并将输入的第一全视场矩阵放置在虚拟视场矩阵的中心。此处矩阵的行列大小m根据光源直径d(单位“米”)来设置,具体可以根据
实际的光源定义矩阵内每一格所代表的物理尺寸,使m满足m≥2d即可。
[0021]
a2、根据当前传播平面与下一传播平面间的距离以及平面内的像素大小设计菲涅尔衍射的光场脉冲响应函数,使用三次快速傅里叶变换进行菲涅尔衍射计算,将当前传播平面的虚拟视场矩阵传播到下一传播平面中,得到新的虚拟视场矩阵。其中,利用三次快速傅里叶变换计算菲涅尔衍射的条件为:从当前传播平面传播到下一传播平面时,在当前传播平面上需要满足式(1):其中,ω为光源的最大线性宽度,l为进行傅里叶变换的矩阵数组边长对应的长度。步骤a1中将大小为m*m的所述第一全视场矩阵放置在大小为2m*2m的虚拟视场矩阵的中心,可以使得输入的传播面满足式(1)的条件,从而可以使用快速傅里叶变换计算菲涅尔衍射,防止频谱混叠现象发生。
[0022]
a3、构建一个大小为2m*2m的掩膜矩阵,该掩膜矩阵中,中心直径为d的圆形部分的元素值为1,其余部分的元素值为0,将该掩膜矩阵与所述新的虚拟视场矩阵进行点乘得到一新矩阵,作为所述下一传播平面的虚拟视场矩阵。在一些实施例中,中心直径d的设计方法为:其中,n
f
为菲涅尔系数,λ为波长,z为相邻两个传播平面间的传播距离;同时,所述中心直径d还需满足式(1),即利用掩膜后当光源的最大线性宽度ω=d、进行傅里叶变换的矩阵数组边长l=2m时,d满足即d≤m。
[0023]
叠加掩膜防止频谱混叠的示意图如图3所示,圆形部分表示叠加掩膜后保留的部分。使用掩膜的目的是通过生成上述掩膜并点乘新的虚拟视场矩阵,可以使得处理后的新矩阵满足式(1)和式(2)的要求。
[0024]
a4、将所述下一传播平面作为当前传播平面返回步骤a2,以循环步骤a2和a3进行分段传播,直至传播到达目标平面,并从所述目标平面的中心提取出大小为m*m的第二全视场矩阵,即为最终的传播结果。
[0025]
比如,参考图2,平面1表示源平面,平面n表示目标平面,则传播到目标平面n需要进行n-1次传播,即分n-1段传播,源平面即为第一次传播时的当前传播平面,平面2即为第一次传播时的下一传播平面。传播过程为:
[0026]
第一次传播:输入大小为m*m的包含光源信息(光源o)的全视场矩阵ma,并针对全视场矩阵ma建立一个全零的大小为2m*2m的虚拟视场矩阵mb1,将输入的全视场矩阵ma放置在虚拟视场矩阵mb1的中心。根据平面1与平面2间的传播距离z1以及平面内的像素大小设计此时菲涅尔衍射的光场脉冲响应函数,使用三次快速傅里叶变换进行菲涅尔衍射计算,将平面1的虚拟视场矩阵mb1传播到平面2中,得到新的虚拟视场矩阵mb1’
;判断是否到达目标平面,如果是,则直接从新的虚拟视场矩阵mb1’
中心提取出一个m*m全视场矩阵作为最终传播结果;如果否,则:构建一个大小为2m*2m的掩膜矩阵mask,将掩膜矩阵mask与新的虚拟视场矩阵mb1’
进行点乘得到一新矩阵mb2,p即为叠加掩膜后保留的部分,mb2作为平面2的虚拟
视场矩阵,进入第二次传播;
[0027]
第二次传播:平面2为当前传播平面,平面3为下一传播平面,根据平面2与平面3间的传播距离z2以及平面内的像素大小设计此时菲涅尔衍射的光场脉冲响应函数,使用三次快速傅里叶变换进行菲涅尔衍射计算,将平面2的虚拟视场矩阵mb2传播到平面3中,得到新的虚拟视场矩阵mb2’
;同样地,判断是否到达目标平面,如果是,则直接从新的虚拟视场矩阵mb2’
中心提取出一个m*m全视场矩阵作为最终传播结果;如果否,则:将掩膜矩阵mask与新的虚拟视场矩阵mb2’
进行点乘得到一新矩阵mb3,作为平面3的虚拟视场矩阵,继续进行传播;
[0028]
以此类推实现分段传播。
[0029]
在一些实施例中,步骤a2根据当前传播平面与下一传播平面间的传播距离、各传播平面内的像素大小,可以设计出菲涅尔衍射的光场脉冲响应函数,即:其中,(x1,y1)表示源平面内的坐标,(x2,y2)表示目标平面内的坐标,e为自然常数,i为虚数,k为波数,z为相邻两个传播平面间的传播距离,λ为波长。
[0030]
在一些实施例中,三次快速傅里叶变换计算菲涅尔衍射包括:对当前传播平面内的光场进行快速傅里叶变换;对菲涅尔衍射的光场脉冲响应函数进行快速傅里叶变换;将上述两次变换的结果进行点乘得到新的结果,对所述新的结果进行快速反傅里叶变换,得到下一传播平面的光场。具体为(以第一次传播为例):
[0031]
将当前传播平面1的光场e1(x1,y1)和光场的脉冲响应函数h(x2,y2)分别通过傅里叶变换到频域下并进行点乘,再通过傅里叶反变换得到空域下平面2的光场e2(x2,y2),从而代替将平面1的光场e1(x1,y1)和光场的脉冲响应函数h(x2,y2)进行卷积运算得到平面2的光场e2(x2,y2)这一运算过程:
[0032]
原先的卷积运算过程如式(4)e2(x2,y2)=e1(x1,y1)*h(x2,y2)
ꢀꢀꢀ
(4)式(4)中“*”表示卷积运算;
[0033]
采用三次快速傅里叶变换替代上述卷积运算,即e2(x2,y2)=f-1
(f(e1(x1,y1))
·
f(h(x2,y2)))
ꢀꢀꢀ
(5)其中,f()表示对括号内的对象进行傅里叶变换,f-1
()表示对括号内的对象进行傅里叶逆变换。
[0034]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1