📄 isar.m
字号:
for j = 1:256
ffts(:,j) = fftshift(fft(s(:,j)));%获得一次回波中的不同多普勒频率
end
for j = 1:255
x1 = abs(ffts(:,j));
x2 = abs(ffts(:,j+1));
n1 = 1:256;
n2 = 1:256;
n12 = 1:256;
numi = 0;%进行相关运算以对准
max = sum(sigmult(abs(x1),n1,abs(x2),n2))/(sum(abs(x1).^2)*sum(abs(x2).^2))^(1/2);
for i=-255:1:255
[x12,n12]=sigshift(x2,n2,i);
max1=sum(sigmult(abs(x1),n1,abs(x2),n2))/(sum(abs(x1).^2)*sum(abs(x2).^2))^(1/2);
if ( max < max1)
max=max1;
numi=i;
end
end
ffts0=zeros(256,1);
if( numi > 0)
ffts0(numi+1:256,1)=ffts(1:256-numi,j+1);
else
ffts0(1:256+numi,1)=ffts(1-numi:256,j+1);
end
ffts(:,j+1)=ffts0;
end
figure(1);
contour(abs(ffts));
title('距离对准');
% 距离对准
for j=1:255
x1=ffts(:,j);
x2=conj(ffts(:,j+1));
n1=1:256;
n2=1:256;
n12=1:256;
p=sum(sigmult(x1,n1,x2,n2))/abs(sum(sigmult(x1,n1,x2,n2)));
ffts(:,j+1)=ffts(:,j+1)*p;
end
figure(2);
contour(abs(ffts));
title('相位对准');
% 相位对准
for j=1:256
ffts(j,:)=fftshift(fft(ffts(j,:)));
end
figure(3);
contour(abs(ffts));
title('计算结果');
% 最终结果
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -