大家好,欢迎来到IT知识分享网。
Jones向量
假设光波沿z轴传播,那么其三个方向的电场分量可以表示为
E x = A x cos ( ω t − k r + φ x ) E y = A t cos ( ω t − k r + φ y ) E z = 0 \begin{aligned} E_x &= A_x\cos(\omega t-\bold k\bold r+\varphi_x)\\ E_y &= A_t\cos(\omega t-\bold k\bold r+\varphi_y)\\ E_z &= 0\\ \end{aligned} ExEyEz=Axcos(ωt−kr+φx)=Atcos(ωt−kr+φy)=0
由于传播方向为0,故可以通过一个二维向量来表示
[ E x E y ] = [ Re ( A x e j φ x e j ω t − j k r ) Re ( A y e j φ y e j ω t − j k r ) ] \begin{bmatrix} E_x\\ E_y \end{bmatrix}=\begin{bmatrix} \text{Re}(A_xe^{\text j\varphi_x}e^{\text j\omega t-\text j\bold k\bold r})\\ \text{Re}(A_ye^{\text j\varphi_y}e^{\text j\omega t-\text j\bold k\bold r})\\ \end{bmatrix} [ExEy]=[Re(Axejφxejωt−jkr)Re(Ayejφyejωt−jkr)]
则记
J ^ = [ A x exp ( j φ x ) A y exp ( j φ y ) ] = [ J x J y ] \hat J=\begin{bmatrix} A_x\exp(\text j\varphi_x)\\ A_y\exp(\text j\varphi_y)\\ \end{bmatrix}=\begin{bmatrix} J_x\\ J_y \end{bmatrix} J^=[Axexp(jφx)Ayexp(jφy)]=[JxJy]
此即琼斯向量,其中包含了偏振态的全部信息,而且附赠了光波的振幅项 A \bold A A。如果只关心偏振量,则可对 J ^ \hat J J^进行归一化,则令
tan ψ = A y A x exp [ j ( φ y − φ x ) ] \tan\psi=\frac{A_y}{A_x}\exp[\text j(\varphi_y-\varphi_x)] tanψ=AxAyexp[j(φy−φx)]
可表示为
J ^ = [ cos ψ sin ψ ] \hat J=\begin{bmatrix} \cos\psi\\ \sin\psi \end{bmatrix} J^=[cosψsinψ]
当 φ x = φ y \varphi_x=\varphi_y φx=φy时,表示x和y方向不存在相位差,此时 J x , J y J_x,J_y Jx,Jy均为实数,描述的是线偏振光;当存在相位差时,琼斯向量中出现虚数,表示圆偏振光。
sympy实现
在sympy.physics.optics.polarization
中,有jones_vector
可以表示Jones向量,其调用方法为
jones_vector(psi, chi)
其中,psi
为 x x x方向的极化角度;chi
为与晶体主轴的夹角。
import sympy from sympy.physics.optics.polarization import jones_vector psi = sympy.symbols('psi') V = jones_vector(psi, 0) sympy.pprint(V) ''' ⎡cos(ψ)⎤ ⎢ ⎥ ⎣sin(ψ)⎦ '''
Jones矩阵可以描述Jones向量在通过偏振元件后的变化,例如偏振光在经过 x x x线偏振片之后, sin ψ \sin\psi sinψ会被滤掉,从而其对应的Jones矩阵可表示为
[ 1 0 0 0 ] \begin{bmatrix} 1&0\\0&0 \end{bmatrix} [1000]
常见偏振器件
sympy.physics.optics.polarization
中封装了多种偏振器件的Jones矩阵。
- linear_polarizer(theta=0) 线偏振光
- half_wave_retarder(theta) 半波片
- quarter_wave_retarder(theta) λ / 4 \lambda/4 λ/4波片
- phase_retarder(theta=0, delta=0) 相位延迟
- reflective_filter® 反射滤光片,
R
为反射率 - transmissive_filter(T) 透射滤光片,
T
为透过率 - polarizing_beam_splitter(Tp=1, Rs=1, Ts=0, Rp=0, phia=0, phib=0) 偏振片
import sympy from sympy.physics.optics.polarization import half_wave_retarder theta = sympy.symbols("theta", real=True) # 测试半波片 HWP = half_wave_retarder(theta) sympy.latex(HWP)
结果如下
[ − i ( − sin 2 θ + cos 2 θ ) − 2 i sin θ cos θ − 2 i sin θ cos θ − i ( sin 2 θ − cos 2 θ ) ] \left[\begin{matrix}- i \left(- \sin^{2}\theta + \cos^{2}{\theta}\right) & – 2 i \sin\theta \cos\theta\\- 2 i \sin\theta\cos\theta & – i \left(\sin^{2}\theta – \cos^{2}\theta\right)\end{matrix}\right] [−i(−sin2θ+cos2θ)−2isinθcosθ−2isinθcosθ−i(sin2θ−cos2θ)]
偏振片参数较多,现列如下polarizing_beam_splitter(Tp=1, Rs=1, Ts=0, Rp=0, phia=0, phib=0)
J
琼斯矩阵Tp
p
偏振光的透过率Rs
s
偏振光的反射率Ts
s
偏振光的透过率Rp
p
偏振光的反射率phia
透射和反射分量的相位差phib
透射和反射分量的相位差
from sympy.physics.optics.polarization import polarizing_beam_splitter PBS = polarizing_beam_splitter() sympy.latex(PBS)
[ 1 0 0 0 0 0 0 − i 0 0 1 0 0 − i 0 0 ] \left[\begin{matrix}1 & 0 & 0 & 0\\0 & 0 & 0 & – i\\0 & 0 & 1 & 0\\0 & – i & 0 & 0\end{matrix}\right]
1000000−i00100−i00
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/145227.html