偏振光学——使用Lu-chipman极化分解算法分解米勒矩阵

一、Lu-chipman分解算法原理

Luchipman乘积分解将测得的米勒矩阵M按顺序分解为三个分别描述材料二向色性、双折射和退偏特性的子矩阵的乘积,即[^1]:

对于测得的米勒矩阵M
M=[m11m12m13m14m21m22m23m24m31m32m33m34m41m42m43m44]M= \begin{bmatrix} m_{11} & m_{12} & m_{13} & m_{14} \\ m_{21} & m_{22} & m_{23} & m_{24} \\ m_{31} & m_{32} & m_{33} & m_{34} \\ m_{41} & m_{42} & m_{43} & m_{44} \end{bmatrix}M= m11m21m31m41m12m22m32m42m13m23m33m43m14m24m34m44

  1. 首先对矩阵中的每个元素进行归一化处理,具体方法为对M 中的每个元素均除以m11 ,消除量纲的影响。
    归一化后的矩阵M可分解为:M=MΔMRMD=[1D⃗TP⃗m3×3]\mathbf{M}=\mathbf{M}\Delta\mathbf{M}R\mathbf{M}D= \begin{bmatrix} 1 & \vec{\mathbf{D}}^T \\ \vec{\mathbf{P}} & \mathbf{m}{3\times3} \end{bmatrix}M=MΔMRMD=[1P D Tm3×3] 。
    上式中,D⃗T\vec{\mathbf{D}}^TD T为1×3的二向色性向量,P⃗\vec{\mathbf{P}}P 为3×1的起偏向量。
    二向衰减矩阵MD\mathbf{M}DMD定义为:MD=(1 D⃗T D⃗mD)M_D= \begin{pmatrix} 1 & \ \vec{\mathbf{D}}^T \\ \ \vec{\mathbf{D}} & m_D \end{pmatrix}MD=(1 D D TmD)
    上式中,mD=1− D⃗2I+(1−1− D⃗2)D^D^T\left.m_D=\sqrt{1-\ \vec{\mathbf{D}}^2}I+\left(1-\sqrt{1-\ \vec{\mathbf{D}}^2}\right.\right)\widehat{D}\widehat{D}^TmD=1− D 2 I+(1−1− D 2 )D D T ,
    其中,I 为3×3的单位矩阵,D^\widehat{D}D 为D⃗\vec{\mathbf{D}}D 的单位矢量 。D是总的二向色性的值,对于归一化的米勒矩阵,D的计算方法为:D=m122+m132+m142.D=\sqrt{m
    {12}^2+m
    {13}^2+m
    {14}^2}.D=m122+m132+m142 . 。
  2. 因此,MΔMR\mathbf{M}\Delta\mathbf{M}RMΔMR写成如下形式:MΔMR=M′=MMD−1M\Delta M_R=M^{\prime}=MM_D^{-1}MΔMR=M′=MMD−1
    MΔ\mathbf{M}
    \DeltaMΔ、MR\mathbf{M}RMR和M′M^{\prime}M′的表达式如下:MΔ=(10⃗TPΔ⃗mΔ)MR=(10⃗T0⃗mR)M′=(10⃗TPΔ⃗m')\begin{aligned} M\Delta= & \begin{pmatrix} 1 & \vec{0}^T \\ \vec{P_\Delta} & m_\Delta \end{pmatrix}\quad M_R= & \begin{pmatrix} 1 & \vec{0}^T \\ \vec{0} & m_R \end{pmatrix}\quad M^{\prime}= & \begin{pmatrix} 1 & \vec{0}^T \\ \vec{P_\Delta} & m' \end{pmatrix} \end{aligned}MΔ=(1PΔ 0 TmΔ)MR=(10 0 TmR)M′=(1PΔ 0 Tm')
    上式中,PΔ⃗=P⃗−mD⃗1−D2.\vec{P_\Delta}=\frac{\vec{P}-m\vec{D}}{1-D^2}.PΔ =1−D2P −mD . 。 m′m^{\prime}m′是 的3×3的子矩阵,且m′=mΔmRm^{\prime}=m_{\Delta}m_{R}m′=mΔmR 。子矩阵mΔm_{\Delta}mΔ与m′m^{\prime}m′有如下关系:
    mΔ=±(m′(m′)T+(λ1λ2+λ2λ3+λ3λ1)I)−1×((λ1+λ2+λ3)m′(m′)T+λ1λ2λ3I)m_\Delta=\pm\left(m^{\prime}(m^{\prime})^T+\left(\sqrt{\lambda_1\lambda_2}+\sqrt{\lambda_2\lambda_3+\sqrt{\lambda_3\lambda_1}}\right)I\right)^{-1}\times\left(\left(\sqrt[]{\lambda_1}+\sqrt[]{\lambda_2}+\sqrt[]{\lambda_3}\right)m^{\prime}(m^{\prime})^T+\sqrt[]{\lambda_1\lambda_2\lambda_3}I\right)mΔ=±(m′(m′)T+(λ1λ2 +λ2λ3+λ3λ1 )I)−1×((λ1 +λ2 +λ3 )m′(m′)T+λ1λ2λ3 I)
    其中λ1,λ2,λ3是矩阵m′(m′)Tm^{\prime}(m^{\prime})^Tm′(m′)T的特征根,公式右边的正负号与m′m^{\prime}m′的行列式的符号相同,根据上式即可得出mΔm_\DeltamΔ。
  3. 表示材料双折射特性的矩阵MRM_RMR的子矩阵mRm_RmR即可表示为:mR=mΔ−1m′m_R=m_\Delta^{-1}m^{\prime}mR=mΔ−1m′ 。
    进而构造矩阵MRM_RMR,得到相位延迟系数。

二、算法验证

下面对使用Matlab复现的luchipman算法的正确性进行验证。由于分解得到的矩阵MRM_RMR仅包含材料的双折射成分,相当于一个纯延迟器的米勒矩阵,其矩阵形式应为:M延迟器=[1000003×3旋转矩 阵0]\mathbf{M}_\text{延迟器}= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & & & \\ 0 & 3\times3 & \text{旋} & \text{转} \\ & & \text{矩 阵} \\ 0 & & & \end{bmatrix}M延迟器= 100003×30旋矩 阵0转

此外根据 MRM_RMR为酉矩阵的性质,判断MT=M−1\begin{aligned} \boldsymbol{M}^T=\boldsymbol{M}^{-1} \end{aligned}MT=M−1是否成立。

这里根据酉矩阵的性质,MRM_RMR的行列式为1,来判断结果是否正确:对实验得到的归一化后的矩阵求行列式的结果如下图1所示:可以看到对测量得到的矩阵进行极化分解后的结果的行列式均在1附近,证明极化分解得到的矩阵为酉矩阵 ,仅包含材料的双折射特性。

在此基础上,从已发表的利用Luchipman方法[^2]对米勒矩阵进行极化分解的论文中查阅到测量的米勒矩阵即相应的极化分解结果,将论文中测量的米勒矩阵输入我们修正后的极化分解算法中,分解结果与文中结果一致,证明了算法的正确性。下图为论文中测得的米勒矩阵和极化分解结果。

Matlab源代码有疑问Q:1911316927

1\] Lu S-Y, Chipman R A. Interpretation of Mueller matrices based on polar decomposition\[J\]. Journal of the Optical Society of America A, 1996, 13(5): 1106-1113. \[2\] Manhas S, Swami M K, Buddhiwant P, et al. Mueller matrix approach for determination of optical rotation in chiral turbid media in backscattering geometry\[J\]. Optics express, 2006, 14(1): 190-202.

相关推荐
浅念-9 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Kiling_07049 小时前
Java集合进阶:Set与Collections详解
算法·哈希算法
智者知已应修善业10 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
洛水水10 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
SimpleLearingAI10 小时前
聚类算法详解
算法·数据挖掘·聚类
刀法如飞11 小时前
Go 字符串查找的 20 种实现方式,用不同思路解决问题
算法·面试·程序员
Dlrb121113 小时前
C语言-指针数组与数组指针
c语言·数据结构·算法·指针·数组指针·指针数组·二级指针
WL_Aurora13 小时前
Python 算法基础篇之集合
python·算法
平行侠13 小时前
A15 工业路由器IP前缀高速检索与内存压缩系统
网络·tcp/ip·算法
阿旭超级学得完14 小时前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表