资源简介
采用最小二乘法,通过MATLAB编程语言实现位相解包裹。
代码片段和文件信息
% *******************************************
clear all
close all
clc
%% *************初始相位**************
N = 512;
G = 2;
phi0 = peaks(N)*G; %模拟初始相位
figure(1)
surf(phi0‘FaceColor‘‘interp‘ ‘EdgeColor‘‘none‘‘FaceLighting‘‘phong‘);
camlight left axis tight
xlabel(‘X/Pixels‘‘FontSize‘14);ylabel(‘Y/Pixels‘‘FontSize‘14);zlabel(‘Phase/Radians‘‘FontSize‘14);%title(‘Initial Phase‘‘FontSize‘14)
set(figure(1)‘name‘‘Initial Phase 3D‘‘Numbertitle‘‘off‘);
phi = angle(exp(j*phi0)); %包裹相位
figure(2);
imshow(phi[]);
xlabel(‘X/Pixels‘‘FontSize‘14);ylabel(‘Y/Pixels‘‘FontSize‘14);%title(‘Wrapped Phase‘‘FontSize‘14)
set(figure(2)‘name‘‘Wrapped Phase‘‘Numbertitle‘‘off‘);
axis on
%% *************相位解包裹**************
[mn] = size(phi);
phidx=zeros(mn);
phidy=zeros(mn);
phidx(1:m-1:)= angle(exp(j*(phi(2:m:)-phi(1:m-1:))));
phidy(:1:n-1)= angle(exp(j*(phi(:2:n)-phi(:1:n-1))));
%********************对包裹相位求二阶偏微分**************
Rou3 = zeros(mn);
Rou3dx = zeros(mn);
Rou3dy = zeros(mn);
Rou3dx(1:m-1:) = phidx(2:m:)-phidx(1:m-1:);
Rou3dy(:1:n-1) = phidy(:2:n)-phidy(:1:n-1);
Rou3 = Rou3dx + Rou3dy;
figure(3);
surf(Rou3‘FaceColor‘‘interp‘ ‘EdgeColor‘‘none‘‘FaceLighting‘‘phong‘);
camlight left axis tight
xlabel(‘X/Pixels‘‘FontSize‘14);ylabel(‘Y/Pixels‘‘FontSize‘14);zlabel(‘Phase/Radians‘‘FontSize‘14);%title(‘lou3‘‘FontSize‘14)
set(figure(3)‘name‘‘R(xy) 3D‘‘Numbertitle‘‘off‘);
figure(4);
imshow(Rou3[]);
xlabel(‘X/Pixels‘‘FontSize‘14);ylabel(‘Y/Pixels‘‘FontSize‘14);
set(figure(4)‘name‘‘R(xy) 2D‘‘Numbertitle‘‘off‘);
%% ***********************DCT求解泊松方程********************
tic
PP3 = dct2(Rou3);
for ii=1:m
for jj=1:n
k1=2*cos((ii-1)*pi/(m));
k2=2*cos((jj-1)*pi/(n));
KK = k1+k2-4;
PH3(iijj) = PP3(iijj)/KK;
end
end
PH3(11) = -(PH3(12) + PH3(21) - PP3(11))/2;
phi3 = idct2(PH3);
toc
phi3 = phi3(1:m1:n); %解包裹出的相位
figure(5);
surf(phi3‘FaceColor‘‘interp‘ ‘EdgeColor‘‘none‘‘FaceLighting‘‘phong‘);
camlight left axis tight
xlabel(‘X/Pixels‘‘FontSize‘14);ylabel(‘Y/Pixels‘‘FontSize‘14);zlabel(‘Phase/Radians‘‘FontSize‘14);%title(‘BLS Phase Unwrapping‘‘FontSize‘14)
set(figure(5)‘name‘‘BLS Phase Unwrapping‘‘Numbertitle‘‘off‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2360 2018-04-16 15:47 zuixiaoerchengfa.m
- 上一篇:CEEMDAN,EEMD和EMD.rar
- 下一篇:基于PID的倒立摆小车控制仿真
相关资源
- 线性拟合仿真-最小二乘法、正交回归
- 基于多元线性回归的分析
- 各种最小二乘法总结算法+matlab源码
- 各种最小二乘法汇总算例及MATLAB程序
- 移动最小二乘法曲面拟合等步长采样
- Image Deformation Using Moving Least Squares 移
- 各种最小二乘法汇总(算例及MATLAB程
- 偏最小二乘法资料和matlab程序
- 最小二乘法电池参数辨识
- 最小二乘法的Matlab算法
- 利用Pisarenko谐波分解恢复理论推导谐
- 移动最小二乘法曲面拟合随机点拟合
- 最小二乘法曲线拟合matlab代码
- 最小二乘法相位解缠算法
- 最小二乘法进行系统辨识
- 最小二乘法辨识一阶系统-lsq.m
- 最小二乘法汇总及matlab仿真
- NIPALS非线性迭代式偏最小二乘法matl
- 自适应控制——带遗忘因子的递推最
- MATLAB最小二乘法线性拟合
- 应用最小二乘一次完成法和递推最小
- 最小二乘法实现曲线拟合及Matlab实现
- 移动最小二乘法计算程序
- Matlab最小二乘法曲线拟合(源码+注释
- 最小二乘法与 最大似然法的参数辨识
- 系统辨识最小二乘法辨识代码
- RLS最小二乘法自适应滤波器m文件
- 非线性最小二乘法Matlab实现
- 基于MATLAB的递推最小二乘法辨识与仿
- 最小二乘法的matlab实现
评论
共有 条评论