clc
clear
close all
%% load spetrum,Original signal,interference signlal, lamda distribution
load lamda lamda
load W W;
load P2 P2;
lamda=lamda/1000;
figure,plot(lamda,W),xlabel('lamda(um)'),ylabel('Intensity'),title('Interference signal with lamda');
figure,plot(lamda,P2),xlabel('lamda(um)'),ylabel('Intensity'),title('Reference signal with lamda');
%% 预处理
num=8192;
%保留最大幅度10%以上的信号
x=find(P2<=max(P2)/10);
n=num-max(x);
W0=W(1,max(x)+1:num);
P0=P2(1,max(x)+1:num);
L=lamda(1,max(x)+1:num);
%对信号进行线性差值
lamdastart=min(L);
lamdaend=max(L);
kstart=2*pi/lamdastart;
kend=2*pi/lamdaend;
k0=2*pi./L;
k=linspace(kstart,kend,n);
W1=W0;
S1=P0;
for i=2:n-1
W1(1,i)=linearchazhi(k(i),k0,W0);
S1(1,i)=linearchazhi(k(i),k0,P0);
end
figure,plot(k,W1),set(gca,'XDir','reverse'),xlabel('k(um-1)'),ylabel('Intensity'),title('Interference signal with k');
figure,plot(k,S1),set(gca,'XDir','reverse'),xlabel('k(um-1)'),ylabel('Intensity'),title('Reference signal with k');
save k k;
%对干涉图均匀整形
W2=W1./S1;
figure,plot(k,W2),set(gca,'XDir','reverse'),xlabel('k(um-1)'),ylabel('Intensity'),title('Interference signal with k after reshape');
%% 谱估计
p=1940;
Pxx=pmcov(W2,p,n);
I=sqrt(Pxx.*n);
%% 横坐标分辨率
r=1/(1/min(L)-1/max(L))/2;
d0=linspace(0,length(Pxx)-1,length(Pxx))*r;
figure,plot(d0,I);title('thinkness measured by ar');
%插值比例
h=8;
n1=h*length(Pxx);
%插值新坐标
d1=linspace(0,length(Pxx)-1,n1)*r;
I1=interp1(d0,I,d1);
figure,plot(d1,I1);title('thinkness measured after interpolation by ar');
save I1 I1;
save d1 d1;
%% resolution analysis
n2=100; %起始位置
I2=I1(1,n2:n1-1);
[maxvaluear,maxnumar]=max(I2);
I3=abs(I2-maxvaluear/2);
I3A=I3(1:maxnumar);
I3B=I3(maxnumar+1:n1-1-n2+1);
numAar=find(I3A==min(I3A));
numBar=find(I3B==min(I3B));
pixelar=maxnumar-numAar+numBar;
depthar=((maxnumar+numAar+numBar)/2+n2-1)*r/h
resolutionar=pixelar*r/h