《合成孔径雷达成像算法与实现》Figure2.18与2.20

 代码复现如下:

x=linspace(-20,20,32);
y=linspace(-20,20,32);
SINC_1=zeros(length(x),length(y));
for i=1:length(x)
    for j=1:length(y)
        SINC_1(i,j)=sinc(x(i))*sinc(y(j));
    end
end

%SINC_1=imrotate(SINC_1,8,'bilinear','crop');
%Z=fftshift(fft2(SINC_1));
Z=fft2(SINC_1);
subplot(1,2,1);
imagesc(abs(Z));axis equal;axis([0 32 0 32]);
title('(a)幅度谱');
xlabel('垂直(采样点)');
ylabel('垂直频率(单元)');
subplot(1,2,2);
Z1=fftshift(fft2(fftshift(SINC_1)));
Z2=zeros(17*32,17*32);
Z2(8*32+1:9*32,8*32+1:9*32)=Z1;
sinc_1=ifftshift(ifft2(ifftshift(Z2)));
contour(abs(sinc_1),15);axis equal;axis([150 380 150 380]);
title('(b)处理后的点目标');
xlabel('水平(采样点)');
ylabel('水平频率(单元)');

 2.18和2.20 的区别就在于第十代码%SINC_1=imrotate(SINC_1,8,'bilinear','crop');

1.SINC_1=imrotate(SINC_1,8,'bilinear','crop');

J = imrotate(I,-1,'bilinear','crop');将图像顺时针旋转 1 度,以实现更好的水平对齐。该示例指定双线性插值,并要求将结果裁剪到与原始图像相同的大小。

2.axis equal

        纵横轴采用等长刻度

3.contour(abs(sinc_1),15)

        contour(___,levels) 将要显示的等高线指定为上述任一语法中的最后一个参数。将 levels 指定为标量值 n,以在 n 个自动选择的层级(高度)上显示等高线。要在某些特定高度绘制等高线,请将 levels 指定为单调递增值的向量。要在一个高度 (k) 绘制等高线,请将 levels 指定为二元素行向量 [k k]

        例如:

contour(X,Y,Z,20),将图像顺时针旋转 1 度,以实现更好的水平对齐。该示例指定双线性插值,并要求将结果裁剪到与原始图像相同的大小

你可能感兴趣的:(合成孔径雷达成像算法与实现,matlab)