Python光学仿真理解Jones矩阵学习

作者:微小冷 时间:2022-03-10 21:11:39 

Jones向量

假设光波沿z轴传播,那么其三个方向的电场分量可以表示为

Python光学仿真理解Jones矩阵学习

Python光学仿真理解Jones矩阵学习

Jones矩阵

能够保证二维列向量形状不变的运算有无穷多种,但最符合我们直觉的一定是 2 × 2矩阵。好在这种矩阵已经可以提供足够多的运算,从而满足我们描述偏振变化的需求。

Python光学仿真理解Jones矩阵学习

光在通过波片之后,会在不同方向产生差异性的相位延迟,对于与x轴角度为 Ψ,相位差为 Φ 的波片,其Jones矩阵为

Python光学仿真理解Jones矩阵学习

Jones矩阵的表示

为了对Jones矩阵所对应的偏振状态进行绘制,我们需要进一步理解Jones矩阵中每个值所对应的物理概念。如果将Jones矩阵写成虚数形式,可以表示为

Python光学仿真理解Jones矩阵学习

那么,对于任意Jones矩阵,我们可以很方便地绘制其对应的偏振图像。方便起见,我们只对1.064um光波在z轴方向传播5um这段距离进行采样,然后画出


def drawJones(J=[1,-2j]):
   J = np.array(J).reshape(2,1)
   # 设1.064um的光在z方向传播5um后,沿传播方向看去的振幅分布
   z = np.arange(0,5,0.01)
   k = 2*np.pi/1.064
   # 将J改写成x和y方向的振幅序列
   J = np.abs(J)*np.cos(k*z+np.angle(J))    
   fig = plt.figure()
   ax1 = fig.add_subplot(121)
   ax1.plot(J[0],J[1])
   ax2 = fig.add_subplot(122,projection='3d')
   ax2.plot3D(z,J[0],J[1])
       plt.show()
if __name__ == "__main__":
   drawJones()

其图像为

Python光学仿真理解Jones矩阵学习

现在光路中引入 λ / 4波片,令其旋转一周,观察一下线偏振光会有怎样的变化,设波片与x轴所成夹角为 Ψ,则其对应的Jones矩阵为

Python光学仿真理解Jones矩阵学习

代码为


def drawQuaterPlate():
   quater = lambda psi : np.array(
       [[1-np.cos(2*psi),-1j*np.sin(2*psi)],
        [-1j*np.sin(2*psi),1+np.cos(2*psi)]])
       z = np.arange(0,5,0.01)
   k = 2*np.pi/1.064
   # 初始光波为x方向线偏振光
   J0 = np.array([1,0]).reshape(2,1)
   fig = plt.figure()
   ax = fig.add_subplot(111,xlim=(-2,2),ylim=(-2,2))
   ax.grid()
   line, = ax.plot([],[],lw=0.2)
   time_text = ax.text(0.1,0.9,'',transform=ax.transAxes)
   thetas = np.linspace(0,np.pi*2,80)
   def init():
       line.set_data([],[])
       time_text.set_text("")
       return line, time_text    
   def animate(theta):
       J = quater(theta)@J0    #经过波片后的Jones矩阵
       arrJ = np.abs(J)*np.cos(k*z+np.angle(J)) #采样后的振幅
       line.set_data(arrJ[0],arrJ[1])
       time_text.set_text("angle:"+str(theta))
       return line, time_text
   ani = animation.FuncAnimation(fig, animate, thetas,
       interval=100, init_func=init)
   ani.save('polor.gif',writer='imagemagick')
   plt.show()

最终得到偏振情况与波片角度的关系

Python光学仿真理解Jones矩阵学习

可见,当角度合适的时候, λ / 4波片会将线偏振光变为圆偏振光。

以上就是Python光学仿真理解Jones矩阵学习的详细内容,更多关于Python光学仿真Jones矩阵的资料请关注脚本之家其它相关文章!

来源:https://blog.csdn.net/m0_37816922/article/details/109607941

标签:Python,光学仿真,Jones,矩阵
0
投稿

猜你喜欢

  • MySQL中where 1=1方法的使用及改进

    2024-01-17 22:00:59
  • 使用python创建生成动态链接库dll的方法

    2021-02-13 22:18:21
  • Python自动化办公之PPT段落的使用

    2023-07-10 07:09:24
  • TIOBE编程语言排行榜前20的语言入门书籍推荐

    2023-04-05 12:19:48
  • Pivot,信息组织的梦想之窗

    2009-12-25 14:32:00
  • Scrapy爬虫Response子类在应用中的问题解析

    2023-11-03 01:29:31
  • Python的GUI编程之Pack、Place、Grid的区别说明

    2022-10-19 05:53:57
  • pandas数据聚合与分组运算的实现

    2021-09-18 18:29:12
  • python编写实现抽奖器

    2023-02-25 00:44:45
  • 详解Python的数据库操作(pymysql)

    2024-01-15 20:49:22
  • Python实现的序列化和反序列化二叉树算法示例

    2021-06-11 07:14:23
  • vue axios二次封装的详细解析

    2024-01-18 01:43:44
  • mysql存储过程详解

    2024-01-25 22:28:15
  • 一个div层打开显示效果 js

    2008-05-19 12:35:00
  • python调用matplotlib模块绘制柱状图

    2024-01-02 04:35:16
  • python编写脚本之pyautogui的安装和使用教程

    2021-06-17 09:48:11
  • Python正则表达式教程之三:贪婪/非贪婪特性

    2023-08-14 20:20:12
  • Navicat查询结果不能修改的原因及解决方法

    2024-01-24 07:09:15
  • 详解JavaScript实现异步Ajax

    2024-04-16 10:42:25
  • 轻松处理Dreamweaver段落缩进

    2007-11-17 07:53:00
  • asp之家 网络编程 m.aspxhome.com