初始化函数
在给定波形 和采集信号
的情况下为迭代进行初始化。我们只给出迭代格式,具体的原理在此省略,参见
C. Ma, X. Liu and Z. Wen, "Globally Convergent Levenberg-Marquardt Method for Phase Retrieval," in IEEE Transactions on Information Theory, vol. 65, no. 4, pp. 2343-2359, April 2019, doi: 10.1109/TIT.2018.2881187.
目录
函数主体
function [ z0, info ] = Ini_C( y, A, times )
tic;
[n,L]=size(A);
m=L*n;
注意这里对于复数
,
其中
为复数
的辐角。
lambda=sqrt(sum(y)/m); u=ones(n,1);
初始化迭代点。
记 为一维离散傅里叶变换,记
为一维离散逆傅里叶变换,令
为已知的采样信号, 令
表示观测模长 ,则
事实上,我们有 (推导略)。
for k=1:times Y=zeros(n,1); for l=1:L Y=Y+A(:,l).*ifft(y((l-1)*n+1:l*n).*fft(conj(A(:,l)).*u))/L; end
利用幂法求矩阵
最大特征值对应的特征向量。
u=Y/norm(Y);
end
初始化的结果为 ,其中
为求得的最大特征值对应的特征向量,
。返回时间和矩阵向量积的次数。
z0=lambda*u/norm(u);
info.toc=toc;
info.prod=2*times;
end
参考页面
此页面为编码衍射模型的初始化函数,我们在 实例:编码衍射模型 中展示该模型的一个实例和不同解法在其中的表现。
此页面的源代码请见: Ini_C.m。
版权声明
此页面为《最优化:建模、算法与理论》、《最优化计算方法》配套代码。 代码作者:文再文、刘浩洋、户将,代码整理与页面制作:杨昊桐。
著作权所有 (C) 2020 文再文、刘浩洋、户将