当前位置:   article > 正文

局部多项式近似与 AMPM 算法

局部多项式近似与 AMPM 算法
  1. kappa=3; %已在您的代码中定义
  2. % 定义窗口大小
  3. windowSize = (2*kappa+1);
  4. % 初始化梯度估计值
  5. [rows, cols] = size(wrappedPhase);
  6. phi_y = zeros(rows, cols);
  7. phi_x = zeros(rows, cols);
  8. % 遍历每个窗口
  9. for m = 1+kappa:rows-kappa
  10. for n = 1+kappa:cols-kappa
  11. % 提取局部窗口
  12. Z_mn = wrappedPhase(m-kappa:m+kappa, n-kappa:n+kappa);
  13. % SVD分解
  14. [U, Sigma, V] = svd(Z_mn);
  15. % 降噪处理 - 仅保留最大的奇异值
  16. Sigma_denoised = zeros(size(Sigma));
  17. Sigma_denoised(1, 1) = Sigma(1, 1);
  18. % 构造降噪后的矩阵
  19. Z_denoised = U * Sigma_denoised * V';
  20. % 提取子矩阵
  21. Y_0 = Z_denoised(1:2*kappa, 1:2*kappa);
  22. Y_1 = Z_denoised(2:2*kappa+1, 1:2*kappa);
  23. Y_2 = Z_denoised(1:2*kappa, 2:2*kappa+1);
  24. % 对Y_0进行奇异值分解
  25. [U_00, ~, V_00] = svd(Y_0);
  26. % 根据分解结果构造Y_0*,Y_1*,Y_2*
  27. Y_0_star = U_00' * Y_0 * V_00;
  28. Y_1_star = U_00' * Y_1 * V_00;
  29. Y_2_star = U_00' * Y_2 * V_00;
  30. % 计算Y1*和Y2*的伪逆
  31. y_1_plus = pinv(Y_1_star);
  32. y_2_plus = pinv(Y_2_star);
  33. % 计算相位梯度估计值
  34. % 计算相位梯度估计值
  35. angle_matrix_y = angle(conj(y_1_plus * Y_0_star));
  36. angle_matrix_x = angle(conj(y_2_plus * Y_0_star));
  37. phi_y(m, n) = mean(diag(angle_matrix_y));
  38. phi_x(m, n) = mean(diag(angle_matrix_x));
  39. end
  40. end

效果不是很好,放弃了, 

参考文献:

相位解缠的 CKF局部多项式系数递推估计法 谢 先 明 ,孙 玉 铮 ,梁 小 星 ,曾 庆 宁 ,郑 展 恒

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/495985
推荐阅读
相关标签
  

闽ICP备14008679号