相位恢复(Phase Retrieval)方法详解

相位恢复(Phase Retrieval)方法详解

相位恢复是信号处理中的一个基础问题,它涉及从信号或波的振幅信息中重建其相位信息。在许多实际应用中,我们只能测量信号的强度或振幅,而相位信息却无法直接获取。然而,相位信息往往包含了关于信号的重要特征,因此如何从有限的振幅信息中恢复相位成为了一个关键挑战。

问题背景与数学表述

在物理学和工程学中,信号通常可以用复数形式表示:

f ( x ) = ∣ f ( x ) ∣ e i ϕ ( x ) f(x) = |f(x)|e^{i\phi(x)} f(x)=f(x)eiϕ(x)

其中 ∣ f ( x ) ∣ |f(x)| f(x)是振幅, ϕ ( x ) \phi(x) ϕ(x)是相位。在很多情况下,我们只能测量到强度 ∣ f ( x ) ∣ 2 |f(x)|^2 f(x)2,而失去了相位信息 ϕ ( x ) \phi(x) ϕ(x)。相位恢复问题就是要从已知的强度测量值重建相位信息。在傅里叶域中,这个问题可以表述为:给定信号的傅里叶振幅 ∣ f ^ ( ω ) ∣ |\hat{f}(\omega)| f^(ω),求解原始信号 f ( x ) f(x) f(x)。数学上,这涉及到求解以下方程:

∣ F [ f ( x ) ] ∣ 2 = ∣ f ^ ( ω ) ∣ 2 |\mathcal{F}[f(x)]|^2 = |\hat{f}(\omega)|^2 F[f(x)]2=f^(ω)2

其中 F [ ⋅ ] \mathcal{F}[\cdot] F[]表示傅里叶变换操作。

在离散域中,我们可以用线性算子 A ∈ C m × n \mathbf{A} \in \mathbb{C}^{m \times n} ACm×n表示测量过程,则相位恢复问题可以表述为:

y = ∣ A x ∣ 2 + n \mathbf{y} = |\mathbf{A}\mathbf{x}|^2 + \mathbf{n} y=Ax2+n

其中 y ∈ R m \mathbf{y} \in \mathbb{R}^m yRm是测量值, x ∈ C n \mathbf{x} \in \mathbb{C}^n xCn是待恢复的信号, n \mathbf{n} n是测量噪声。

数学基础:唯一性与不适定性

相位恢复问题的一个核心挑战是解的唯一性。对于一维信号,如果没有额外约束,相位恢复通常存在多解。这可以通过零点分析来理解:若 f ^ ( ω ) \hat{f}(\omega) f^(ω) f ( x ) f(x) f(x)的傅里叶变换,则 f ^ ( ω ) \hat{f}(\omega) f^(ω)的零点与 f ^ ∗ ( − ω ) \hat{f}^*(-\omega) f^(ω)的零点的镜像结合可以产生无穷多个有效解。

定理1(一维信号的双胞胎歧义性):设 f ( x ) f(x) f(x) g ( x ) g(x) g(x)是具有有限支撑的一维函数,则 ∣ f ( x ) ∣ = ∣ g ( x ) ∣ |f(x)| = |g(x)| f(x)=g(x) ∣ f ^ ( ω ) ∣ = ∣ g ^ ( ω ) ∣ |\hat{f}(\omega)| = |\hat{g}(\omega)| f^(ω)=g^(ω)当且仅当以下之一成立:

  1. g ( x ) = e i α f ( x ) g(x) = e^{i\alpha}f(x) g(x)=eiαf(x),其中 α \alpha α是常数;
  2. g ( x ) = e i α f ∗ ( − x ) g(x) = e^{i\alpha}f^*(-x) g(x)=eiαf(x),其中 α \alpha α是常数;
  3. g ( x ) = e i α f ( x − a ) g(x) = e^{i\alpha}f(x - a) g(x)=eiαf(xa),其中 α \alpha α a a a是常数;
  4. g ( x ) = e i α f ∗ ( − x + a ) g(x) = e^{i\alpha}f^*(-x + a) g(x)=eiαf(x+a),其中 α \alpha α a a a是常数。

然而,在二维或更高维空间中,相位恢复问题的解在几乎所有情况下都是唯一的(忽略平凡的模糊性如全局相位和平移)。这是因为高维空间中的零点集合是余维数为2的,这使得零点集合的随机组合产生有效解的概率趋近于零。

定理2(二维信号的唯一性):对于几乎所有的具有有限支撑的二维函数 f ( x , y ) f(x,y) f(x,y),如果 g ( x , y ) g(x,y) g(x,y)满足 ∣ f ( x , y ) ∣ = ∣ g ( x , y ) ∣ |f(x,y)| = |g(x,y)| f(x,y)=g(x,y) ∣ f ^ ( u , v ) ∣ = ∣ g ^ ( u , v ) ∣ |\hat{f}(u,v)| = |\hat{g}(u,v)| f^(u,v)=g^(u,v),则 g ( x , y ) = e i α f ( x ± a , y ± b ) g(x,y) = e^{i\alpha}f(x \pm a, y \pm b) g(x,y)=eiαf(x±a,y±b),其中 α \alpha α a a a b b b是常数。

高级变分方法:全变分正则化

在处理含噪声的相位恢复问题时,全变分(Total Variation,TV)正则化是一种有效的方法,特别是当原始信号具有分段平滑特性时。TV正则化的相位恢复问题可以表述为:

min ⁡ x ∥ y − ∣ A x ∣ 2 ∥ 2 2 + λ TV ( x ) \min_{\mathbf{x}} \|\mathbf{y} - |\mathbf{A}\mathbf{x}|^2\|_2^2 + \lambda \text{TV}(\mathbf{x}) xminyAx222+λTV(x)

其中,对于二维信号 X ∈ C n 1 × n 2 \mathbf{X} \in \mathbb{C}^{n_1 \times n_2} XCn1×n2(将 x \mathbf{x} x重塑为矩阵),全变分定义为:

TV ( X ) = ∑ i = 1 n 1 − 1 ∑ j = 1 n 2 − 1 ∣ X i + 1 , j − X i , j ∣ 2 + ∣ X i , j + 1 − X i , j ∣ 2 \text{TV}(\mathbf{X}) = \sum_{i=1}^{n_1-1}\sum_{j=1}^{n_2-1} \sqrt{|\mathbf{X}_{i+1,j} - \mathbf{X}_{i,j}|^2 + |\mathbf{X}_{i,j+1} - \mathbf{X}_{i,j}|^2} TV(X)=i=1n11j=1n21Xi+1,jXi,j2+Xi,j+1Xi,j2

对于复值信号,TV正则化可以分别应用于实部和虚部,或者直接应用于幅度:

TV complex ( X ) = TV ( Re ( X ) ) + TV ( Im ( X ) ) \text{TV}_{\text{complex}}(\mathbf{X}) = \text{TV}(\text{Re}(\mathbf{X})) + \text{TV}(\text{Im}(\mathbf{X})) TVcomplex(X)=TV(Re(X))+TV(Im(X))

复杂度与信息理论界限

从信息理论角度分析,成功恢复 n n n维复值信号需要至少 4 n − o ( n ) 4n-o(n) 4no(n)个实值测量,这是由信号的自由度决定的。实际上,对于随机高斯测量矩阵 A \mathbf{A} A,理论证明当测量数 m ≥ 4 n − o ( n ) m \geq 4n-o(n) m4no(n)时,相位恢复问题在高维空间中几乎确定有唯一解。更精确地说,当测量算子满足受限等距性质(Restricted Isometry Property, RIP)时,我们有以下定理:

定理3(相位恢复的采样复杂度):设 A ∈ C m × n \mathbf{A} \in \mathbb{C}^{m \times n} ACm×n满足 ( 2 k , δ ) (2k, \delta) (2k,δ)-RIP,即对任意 2 k 2k 2k-稀疏向量 z \mathbf{z} z,有:

( 1 − δ ) ∥ z ∥ 2 2 ≤ ∥ A z ∥ 2 2 ≤ ( 1 + δ ) ∥ z ∥ 2 2 (1-\delta)\|\mathbf{z}\|_2^2 \leq \|\mathbf{A}\mathbf{z}\|_2^2 \leq (1+\delta)\|\mathbf{z}\|_2^2 (1δ)z22Az22(1+δ)z22

则对于任意 k k k-稀疏信号 x 0 \mathbf{x}_0 x0,如果测量值 y = ∣ A x 0 ∣ 2 \mathbf{y} = |\mathbf{A}\mathbf{x}_0|^2 y=Ax02,则 x 0 \mathbf{x}_0 x0可以通过求解以下优化问题精确恢复(忽略全局相位):

min ⁡ x ∥ x ∥ 0  subject to  ∣ A x ∣ 2 = y \min_{\mathbf{x}} \|\mathbf{x}\|_0 \text{ subject to } |\mathbf{A}\mathbf{x}|^2 = \mathbf{y} xminx0 subject to Ax2=y

m ≥ C k log ⁡ ( n / k ) m \geq Ck\log(n/k) mCklog(n/k)时,随机高斯矩阵 A \mathbf{A} A满足上述RIP条件的概率趋近于1,其中 C C C是一个常数。

高级算法:交替方向乘子法(ADMM)

交替方向乘子法(ADMM)是解决复杂约束优化问题的强大工具,适用于相位恢复。考虑以下带约束的形式:

min ⁡ x , z f ( x ) + g ( z )  subject to  x = z \min_{\mathbf{x}, \mathbf{z}} f(\mathbf{x}) + g(\mathbf{z}) \text{ subject to } \mathbf{x} = \mathbf{z} x,zminf(x)+g(z) subject to x=z

其中 f ( x ) = ∥ y − ∣ A x ∣ 2 ∥ 2 2 f(\mathbf{x}) = \|\mathbf{y} - |\mathbf{A}\mathbf{x}|^2\|_2^2 f(x)=yAx222 g ( z ) g(\mathbf{z}) g(z)是正则化项(如 ℓ 1 \ell_1 1范数或TV范数)。

ADMM迭代步骤为:

x k + 1 = arg ⁡ min ⁡ x { f ( x ) + ρ 2 ∥ x − z k + u k ∥ 2 2 } \mathbf{x}_{k+1} = \arg\min_{\mathbf{x}} \left\{f(\mathbf{x}) + \frac{\rho}{2}\|\mathbf{x} - \mathbf{z}_k + \mathbf{u}_k\|_2^2\right\} xk+1=argxmin{f(x)+2ρxzk+uk22}

z k + 1 = arg ⁡ min ⁡ z { g ( z ) + ρ 2 ∥ x k + 1 − z + u k ∥ 2 2 } \mathbf{z}_{k+1} = \arg\min_{\mathbf{z}} \left\{g(\mathbf{z}) + \frac{\rho}{2}\|\mathbf{x}_{k+1} - \mathbf{z} + \mathbf{u}_k\|_2^2\right\} zk+1=argzmin{g(z)+2ρxk+1z+uk22}

u k + 1 = u k + x k + 1 − z k + 1 \mathbf{u}_{k+1} = \mathbf{u}_k + \mathbf{x}_{k+1} - \mathbf{z}_{k+1} uk+1=uk+xk+1zk+1

其中 u \mathbf{u} u是标度拉格朗日乘子, ρ > 0 \rho > 0 ρ>0是惩罚参数。尽管 f ( x ) f(\mathbf{x}) f(x)是非凸的,但ADMM在实践中仍表现良好。对于第一个子问题,可以使用Wirtinger梯度下降;对于第二个子问题,若 g ( z ) = λ ∥ z ∥ 1 g(\mathbf{z}) = \lambda\|\mathbf{z}\|_1 g(z)=λz1,则有闭式解:

z k + 1 = Shrink λ / ρ ( x k + 1 + u k ) \mathbf{z}_{k+1} = \text{Shrink}_{\lambda/\rho}(\mathbf{x}_{k+1} + \mathbf{u}_k) zk+1=Shrinkλ/ρ(xk+1+uk)

其中 Shrink τ ( v ) = sign ( v ) max ⁡ ( ∣ v ∣ − τ , 0 ) \text{Shrink}_{\tau}(\mathbf{v}) = \text{sign}(\mathbf{v})\max(|\mathbf{v}| - \tau, 0) Shrinkτ(v)=sign(v)max(vτ,0)是软阈值算子。

高维非均匀傅里叶变换与多测量相位恢复

在多测量相位恢复问题中,我们有一组相关的测量值:

y j = ∣ A j x ∣ 2 , j = 1 , 2 , … , J \mathbf{y}_j = |\mathbf{A}_j\mathbf{x}|^2, \quad j=1,2,\ldots,J yj=Ajx2,j=1,2,,J

这种设置在多角度X射线成像等应用中很常见。若 A j \mathbf{A}_j Aj表示不同角度的非均匀傅里叶变换(NUFT)算子,则可以写成:

[ A j x ] m = ∑ n = 0 N − 1 x n e − i ω j , m n , m = 0 , 1 , … , M − 1 [\mathbf{A}_j\mathbf{x}]_m = \sum_{n=0}^{N-1} x_n e^{-i\omega_{j,m}n}, \quad m=0,1,\ldots,M-1 [Ajx]m=n=0N1xneiωj,mn,m=0,1,,M1

其中 ω j , m \omega_{j,m} ωj,m是第 j j j个测量中第 m m m个频率点。在此情况下,可以利用测量之间的相关性设计更高效的算法。例如,通过结合各个测量的梯度信息:

∇ f ( x ) = ∑ j = 1 J ∇ f j ( x ) \nabla f(\mathbf{x}) = \sum_{j=1}^J \nabla f_j(\mathbf{x}) f(x)=j=1Jfj(x)

其中 f j ( x ) = ∥ y j − ∣ A j x ∣ 2 ∥ 2 2 f_j(\mathbf{x}) = \|\mathbf{y}_j - |\mathbf{A}_j\mathbf{x}|^2\|_2^2 fj(x)=yjAjx222,每个梯度的Wirtinger形式为:

∇ f j ( x ) = 2 A j H ( ( ∣ A j x ∣ 2 − y j ) ⊙ A j x ) \nabla f_j(\mathbf{x}) = 2\mathbf{A}_j^H\left((|\mathbf{A}_j\mathbf{x}|^2 - \mathbf{y}_j) \odot \mathbf{A}_j\mathbf{x} \right) fj(x)=2AjH((Ajx2yj)Ajx)

其中 ⊙ \odot 表示逐元素乘法, A j H \mathbf{A}_j^H AjH A j \mathbf{A}_j Aj的共轭转置。

微分相位恢复与传输矩阵方法

在光学中,传输矩阵方法将输入场与输出场之间的关系表示为线性映射:

E out = T E in \mathbf{E}_{\text{out}} = \mathbf{T} \mathbf{E}_{\text{in}} Eout=TEin

其中 T ∈ C m × n \mathbf{T} \in \mathbb{C}^{m \times n} TCm×n是传输矩阵, E in \mathbf{E}_{\text{in}} Ein E out \mathbf{E}_{\text{out}} Eout分别是输入和输出光场。在某些情况下,传输矩阵可以表示为微分算子。例如,在近场衍射中,传输矩阵可以用菲涅尔衍射公式表示:

E out ( x ′ , y ′ ) = e i k z i λ z ∬ E in ( x , y ) e i k 2 z [ ( x ′ − x ) 2 + ( y ′ − y ) 2 ] d x d y E_{\text{out}}(x', y') = \frac{e^{ikz}}{i\lambda z} \iint E_{\text{in}}(x, y) e^{\frac{ik}{2z}[(x'-x)^2 + (y'-y)^2]} dx dy Eout(x,y)=zeikzEin(x,y)e2zik[(xx)2+(yy)2]dxdy

或者在傅里叶光学中,传输矩阵可以表示为傅里叶变换和相位调制的组合:

E out ( x ′ , y ′ ) = F − 1 { H ( f x , f y ) ⋅ F { E in ( x , y ) } } E_{\text{out}}(x', y') = \mathcal{F}^{-1}\{H(f_x, f_y) \cdot \mathcal{F}\{E_{\text{in}}(x, y)\}\} Eout(x,y)=F1{H(fx,fy)F{Ein(x,y)}}

其中 H ( f x , f y ) H(f_x, f_y) H(fx,fy)是光学系统的传递函数。在这种情况下,相位恢复问题可以表述为:给定输出场的强度 ∣ E out ( x ′ , y ′ ) ∣ 2 |E_{\text{out}}(x', y')|^2 Eout(x,y)2和光学系统的传递函数 H ( f x , f y ) H(f_x, f_y) H(fx,fy),恢复输入场 E in ( x , y ) E_{\text{in}}(x, y) Ein(x,y)

高维投影梯度法与模拟退火

对于高维相位恢复问题,投影梯度法是一种有效的方法。其迭代步骤为:

x k + 1 = P C ( x k − η k ∇ f ( x k ) ) \mathbf{x}_{k+1} = \mathcal{P}_{\mathcal{C}}\left(\mathbf{x}_k - \eta_k \nabla f(\mathbf{x}_k)\right) xk+1=PC(xkηkf(xk))

其中 P C \mathcal{P}_{\mathcal{C}} PC是投影到约束集 C \mathcal{C} C上的算子, η k \eta_k ηk是步长。对于相位恢复,目标函数通常为:

f ( x ) = 1 2 ∑ j = 1 m ( ∣ ⟨ a j , x ⟩ ∣ 2 − y j ) 2 f(\mathbf{x}) = \frac{1}{2}\sum_{j=1}^m \left(|\langle \mathbf{a}_j, \mathbf{x} \rangle|^2 - y_j\right)^2 f(x)=21j=1m(aj,x2yj)2

其梯度为:

∇ f ( x ) = ∑ j = 1 m ( ∣ ⟨ a j , x ⟩ ∣ 2 − y j ) ⋅ ⟨ a j , x ⟩ a j \nabla f(\mathbf{x}) = \sum_{j=1}^m \left(|\langle \mathbf{a}_j, \mathbf{x} \rangle|^2 - y_j\right) \cdot \langle \mathbf{a}_j, \mathbf{x} \rangle \mathbf{a}_j f(x)=j=1m(aj,x2yj)aj,xaj

为了避免局部极小值,可以结合模拟退火技术,引入温度参数 T T T

x k + 1 = P C ( x k − η k ∇ f ( x k ) + σ k ξ k ) \mathbf{x}_{k+1} = \mathcal{P}_{\mathcal{C}}\left(\mathbf{x}_k - \eta_k \nabla f(\mathbf{x}_k) + \sigma_k \boldsymbol{\xi}_k\right) xk+1=PC(xkηkf(xk)+σkξk)

其中 ξ k \boldsymbol{\xi}_k ξk是随机噪声, σ k = T k \sigma_k = \sqrt{T_k} σk=Tk 是与温度相关的标准差。温度按指数衰减: T k = T 0 α k T_k = T_0 \alpha^k Tk=T0αk,其中 0 < α < 1 0 < \alpha < 1 0<α<1是衰减因子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DuHz

喜欢就支持一下 ~ 谢谢啦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值