光(复振幅)在自由空间中传播的matlab仿真——傅里叶光学方法
光(復振幅)在自由空間中傳播的matlab仿真
??光在空間中傳播是一種很常見的現象,經過前人的努力,描述光的傳播已經具有一套非常完整的理論,那便是傅里葉光學。借助傅里葉分析工具,可以很容易地分析光的傳播規律。本文主要介紹如何利用matlab實現光在空間中的自由傳播的仿真。即若已知一個物面分布,那么就可以計算出該物面的光傳播到空間中任意位置的新強度;
參考資料:
- 秦克誠的 《傅里葉光學》 (第三版),P40-44;
- Contemporary Optical Image Processing with MATLAB;
- 如果是光線旁軸追跡,可以參考《矩陣光學》。
一、問題描述
圖1 物光傳播到z面的示意圖??問題說明:如圖1所示,已知在z=0的平面內光波(復振幅)分布為U(x,y; 0),求解當光傳播z距離之后的光波(復振幅)分布。
說明:光是一種電磁波,對光的描述可以用復振幅U(x,y)=A(x,y)?exp(j?φ(x,y))U(x,y) = A(x,y) \cdot exp\left( {j \cdot \varphi (x,y)} \right)U(x,y)=A(x,y)?exp(j?φ(x,y))來表示,其中A(x,y)表示平面內的振幅分布,φ(x,y)表示平面內的相位分布。
??光在自由空間中傳播這一基礎知識點涉及到光學中的很多應用,比如光的衍射問題,生物顯微成像(相位恢復),研究成像系統問題等等。而且其理論知識也比較基礎,很適合作為剛接觸計算成像的同學的入手點。
??如圖,設置物面的振幅是“相機人”,相位是“lena”,當光傳播一段距離后,相位信息會表現在光強中。
二、光在空間中的傳播模型
??在《傅里葉光學》中,它構建了一種角譜傳播理論,即從一種頻譜的角度來分析光的傳播規律。由傅里葉變換關系可知
U(x,y;0)=∫?∞∞∫A(fX,fY;0)exp?[?j2π(fXx+fYy)]dfXdfYU(x,y;0) = \int\limits_{ - \infty }^\infty {\int {A({f_X},{f_Y};0)\exp [ - j2\pi ({f_X}x + {f_Y}y)]d{{f_X}}d{{f_Y}}} } U(x,y;0)=?∞∫∞?∫A(fX?,fY?;0)exp[?j2π(fX?x+fY?y)]dfX?dfY?其中A(fX,fY;0){A({f_X},{f_Y};0)}A(fX?,fY?;0)表示在z=0平面上U(x,y;0)U(x,y;0)U(x,y;0)的頻譜。
??因為光是一種電磁波,且在自由空間中傳播是無源的,所以U(x,y;0)U(x,y;0)U(x,y;0)滿足亥姆霍茲方程:
?2U+k2U=0{\nabla ^2}U + {k^2}U = 0?2U+k2U=0將上一式代入此式可得:
d2dz2A(fX,fY;z)+?4π2[1λ2?fX2?fY2]A(fX,fY;z)=0\frac{{{d^2}}}{{d{z^2}}}A\left( {{f_X},{f_Y};z} \right){\text{ + 4}}{\pi ^2}\left[ {\frac{1}{{{\lambda ^2}}} - f_X^2 - f_Y^2} \right]A\left( {{f_X},{f_Y};z} \right) = 0dz2d2?A(fX?,fY?;z)?+?4π2[λ21??fX2??fY2?]A(fX?,fY?;z)=0這個二階微分方程的一個基元解是
A(fX,fY;z)=?A(fX,fY;0)exp?(j2πz1λ2?fX2?fY2)A\left( {{f_X},{f_Y};z} \right){\text{ = }}A\left( {{f_X},{f_Y};0} \right)\exp \left( {j2\pi z\sqrt {\frac{1}{{{\lambda ^2}}} - f_X^2 - f_Y^2} } \right)A(fX?,fY?;z)?=?A(fX?,fY?;0)exp(j2πzλ21??fX2??fY2??)這個解就是使用matlab做仿真的關鍵。它描述了在傳播z距離后,傳播面的頻譜與初始頻譜之間的關系,主要表現是在不同的頻率分量上引入的相位偏移;
并且具有傳播的限制條件:fX2+fY2<1λ2f_X^2 + f_Y^2 < \frac{1}{{{\lambda ^2}}}fX2?+fY2?<λ21?,即光無法傳播空間頻率大于1/λ的頻率。
??在獲得了z距離下的頻譜之后,由傅里葉變換關系可以求得傳播z距離后的光波(復振幅)分布為:
U(x,y;z)=∫?∞∞∫A(fX,fY;0)?exp?(j2πz1λ2?fX2?fY2)?circ(fX2+fY2λ)?exp?[?j2π(fXx+fYy)]dfXdfYU(x,y;z) = \int\limits_{ - \infty }^\infty {\int {A({f_X},{f_Y};0) \cdot \exp \left( {j2\pi z\sqrt {\frac{1}{{{\lambda ^2}}} - f_X^2 - f_Y^2} } \right) \cdot circ({\frac{{\sqrt {f_X^2 + f_Y^2} }}{\lambda }}) \cdot \exp [ - j2\pi ({f_X}x + {f_Y}y)]d{f_X}d{f_Y}} } U(x,y;z)=?∞∫∞?∫A(fX?,fY?;0)?exp(j2πzλ21??fX2??fY2??)?circ(λfX2?+fY2???)?exp[?j2π(fX?x+fY?y)]dfX?dfY?
三、光傳播的matlab仿真
??遵從第二節的模型,matlab仿真流程主要為:初始化參數 -> 對圖像做FT -> 計算z距離下的頻譜 -> 求解圖像;
在仿真中,需要注意構建具有真實量綱的頻率。
① 對于純相位物體:對于大部分生物細胞來說是透明的,所以主要特點表征在相位中,通過衍射傳播的方式可以將相位反演出來。
② 對于純振幅物體:隨著傳播距離增加,物光圖像會越來越模糊。
歡迎大家學習交流!
總結
以上是生活随笔為你收集整理的光(复振幅)在自由空间中传播的matlab仿真——傅里叶光学方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TensorFlow基本计算单元——变量
- 下一篇: Java String和Date的转换