🎯要点
🎯平面;曲面;圆柱面;非球面光,双凸透镜;90 度棱镜;分束立方体,双透镜棱;镜分光镜光线;横置隔膜;全内反射;多个分束器的系统,自准直仪;双筒望远镜光学 | 🎯使用ABCD矩阵计算物体:图像;光圈光阑;视场光阑光路 | 🎯光学算法:快速傅立叶变换;雷利·索末菲;Chirp z 变换;平面波分解;光束传播法;波传播法;矢量瑞利-索末菲;矢量快速傅立叶变换;矢量 Chirp z 变换 🖊光场:平面波;球面波;高斯光束;贝塞尔光束;涡旋光束;拉盖尔光束;厄米高斯光束;泽尼克光束。
📜光学和散射用例
🍪语言内容分比
🍇Python高斯光束
激光器通常产生所谓的高斯光束,其中光束电场分布的横向轮廓可以用高斯函数来描述:
E ( r , z ) ∝ exp ( − r 2 w ( z ) 2 ) exp [ i φ ( z , r ) ] E(r, z) \propto \exp \left(-\frac{r^2}{w(z)^2}\right) \exp [i \varphi(z, r)] E(r,z)∝exp(−w(z)2r2)exp[iφ(z,r)]
这里, r r r是距光束轴的距离, z z z是沿传播方向的坐标, w ( z ) w(z) w(z)是所谓的高斯光束半径, φ ( z r r ) \varphi\left(z_r r\right ) φ(zrr) 是描述沿光束的相位演化以及波前曲率的术语:
φ ( z , r ) = k z − arctan z z R + k r 2 2 R ( z ) \varphi(z, r)=k z-\arctan \frac{z}{z_{ R }}+\frac{k r^2}{2 R(z)} φ(z,r)=kz−arctanzRz+2R(z)kr2
这里, k = 2 π / λ k=2 \pi / \lambda k=2π/λ 是波数, R ( z ) R(z) R(z) 是波前曲率,并且
z R = π w 0 2 λ z_{ R }=\frac{\pi w_0^2}{\lambda} zR=λπw02
是根据光束焦点处的光束半径 w 0 w_0 w0 计算的瑞利长度(或瑞利范围)。光束半径根据以下公式演变
w ( z ) = w 0 1 + ( z z R ) 2 w(z)=w_0 \sqrt{1+\left(\frac{z}{z_{ R }}\right)^2} w(z)=w01+(zRz)2
曲率半径为
R ( z ) = z [ 1 + ( z R z ) 2 ] R(z)=z\left[1+\left(\frac{z_{ R }}{z}\right)^2\right] R(z)=z[1+(zzR)2]
该图显示了焦点周围光束半径的演变以及波前曲率,在靠近和远离光束焦点时波前曲率较弱。光束强度为
I ( r , z ) = P π w ( z ) 2 / 2 exp [ − 2 r 2 w ( z ) 2 ] I(r, z)=\frac{P}{\pi w(z)^2 / 2} \exp \left[-2 \frac{r^2}{w(z)^2}\right] I(r,z)=πw(z)2/2Pexp[−2w(z)2r2]
对于 r = w r=w r=w,它在轴上达到其值的 ≈ 13.5 % \approx 13.5 \% ≈13.5%。对于 z ≫ z R z \gg z_R z≫zR,光束半径以接近线性的方式演变,发散角定义为
θ = ∂ w ∂ z = λ π w 0 \theta=\frac{\partial w}{\partial z}=\frac{\lambda}{\pi w_0} θ=∂z∂w=πw0λ
该方程表明,光束参数积(定义为光束腰半径 w 0 w_0 w0 与发散角的乘积)为 λ / n \lambda / n λ/n,因此与 w 0 w_0 w0 无关。事实上,高斯光束具有尽可能小的(衍射受限)光束参数积,这可以解释为尽可能高的光束质量。
在均匀介质中传播期间,高斯光束保持高斯状态,仅其参数(光束半径、波前曲率半径等)发生变化。这同样适用于通过薄透镜的传播或弱曲面镜的反射。这些特性使高斯光束在光学领域(包括光学谐振器的物理领域)发挥着重要作用。即使对于明显非高斯光束,高斯光束传播的推广(涉及所谓的 M 2 M^2 M2 因子)也可以广泛使用。然而,对于非常强烈发散的光束(因此也对于非常紧密聚焦的光束),高斯光束传播会失败,因为分析是基于所谓的近轴近似,这违反了这一点。
Python模拟高斯光束
import sympy as sym
import numpy as np
import matplotlib.pyplot as plt
高斯光束可以通过其(径向)腰部 w 0 w_0 w0、瑞利范围 z R = π ∗ w 0 2 λ z_R=\frac{\pi * w_0^2}{\lambda} zR=λπ∗w02 及其腰部位置 z 0 z_0 z0 来定义。
w0 = 1E-3
lam = 355E-9
zR = bs.Zr(w0, lam)
z0 = 0
d = sym.symbols('d')
M = bs.prop(d)
R, w = bs.q1_inv_func(0, w0, lam, M)
绘图腰部图形
bs.plot(w, d, rang = np.arange(0,10))
当光束穿过透镜时会发生什么?我们使用函数将多个 ABCD 矩阵相乘。
w0 = 1E-3
lam = 355E-9
zR = bs.Zr(w0, lam)
z0 = 0 d = sym.symbols('d')
M = bs.mult(bs.prop(d), bs.lens(.5), bs.prop(1))R, w = bs.q1_inv_func(0, w0, lam, M)bs.plot(w, d, rang = np.arange(0,1,.01))
使用两个透镜系统扩展和准直光束
w0 = 1E-3
lam = 355E-9
zR = bs.Zr(w0, lam)
z0 = 0 d1, d2, d3, f1, f2 = sym.symbols('d1 d2 d3 f1 f2')M = bs.mult(bs.prop(d3),bs.lens(f2),bs.prop(d2), bs.lens(f1), bs.prop(d1))R, w = bs.q1_inv_func(0, w0, lam, M)
准直光束
R_coll = R.subs(d1,1).subs(d2,1).subs(f1,.17).subs(d3,0)
f2_coll = sym.solve(1/R_coll,f2)[0]
print('f2 = {:.2f}, for a collimated beam, 5x the original waist, after propagating 1m to the first lens of f1 = .17m, and propagating another 1m to the second lens'.format(f2_coll))
绘制第二个透镜之后的光束轮廓,并查看其是否准直。
M = bs.mult(bs.prop(d3),bs.lens(.83),bs.prop(1), bs.lens(.17), bs.prop(1))R, w = bs.q1_inv_func(0, w0, lam, M)bs.plot(w,d3)