www.pudn.com > isar.zip > isar2.m, change:2013-04-08,size:3481b


clear; 
close all;  
clc;  
f0=10e9; %载频10GHZ 
ft=1.6e6;  
T=5.12e-3; 
t=0:1/ft:(T-1/ft); 
M=8192;  
B=1.57e9; %带宽  
c=3e8;  
R0=1e3; %目标中心点距离  
k=B/T; %调频率k, 调频带宽 1. 57GHZ; 
K=menu(' 选择: ' , ' 默认演示' , ' 自定义演示' ) ;  
if K==2 disp(' 输入每一点位置, 第一列为距离向 y, 第二列为方位向 x: [ y1, x1; y2, x2; . . . . . . ] ' ) ;  
    disp(' 分辨力 0. 1911m' ) ; 
    R=input(' R=' ) ;  
else 
    %R=[ 0, 0; 0. 5, 0. 5; -0. 5, -0. 5; -0. 5, 0. 5; 0. 5, -0. 5; 1, 1; -1, -1; -1, 1; 1, -1; 1. 5, -1. 5; -1. 5, 1. 5] ;  
    R=[ 4, 4; 4, 3; 4, 5; 3, 4; 5, 4] ; 
    R2=[ 0, 0; 0, 1; 1, 0; 0, -1; -1, 0] ;  
    R3=[ -4, -4; -4, -3; -4, -5; -5, -4; -3, -4] ;  
end 
%回波信号形式 
N=64;  
u=0;  
s=zeros(128, 64) ;  
for Q=0: 0.035*pi/180: (0.035*(N-1) *pi/180)  
    %for Q=1: 0. 14*pi/180: (1+0. 14*(N-1) *pi/180) 
    u=u+1; % R0>>xO, y0; 近似远场成像; Rt 近似如下;  
    Rt=R0+R*[ cos(Q) , -sin(Q) ] +R2*[ cos(Q) , -sin(Q) ] +R3*[ cos(Q) , -sin(Q) ] ;  
    Rt=R0+[ R; R2; R3] *[ cos(Q) , -sin(Q) ] ;  
    Rt1=R0+R*[ cos(Q) , -sin(Q) ]  ; 
    Rt2=R0+R2*[ cos(Q) , -sin(Q) ] ; 
    Rt3=R0+R3*[ cos(Q) , -sin(Q) ] ;  
    Rt=[ Rt1; Rt2; Rt3] ;  
    st=sum(exp(j *4*pi/c*Rt*(B*t/T+f0) ) ) ; 
    %每一固定转角的信号采样8192 点  
    %hanning hn=hamming(M) ;  
    st1=st.*hn' ; %加窗, 压低旁瓣;  
    % figure(1) ; 
    %plot(st1) ;  
    %s1=fft(st1) ;  
    %figure(2) ;  
    %f=0: ft/M: (M-1) *ft/M; %plot(f, abs(s1) ) ; 
    st2=zeros(1, 8192) ;  
    st=[ st, st2] ;  
    L=2*M; s2=fft(st, L) ; %每一列进行傅立叶变换------实现距离向高分辨  
    %figure(1) ;  
    %plot(l, s2) ; %identify the frequency index corresponding to the center of the %obj ect range field;  
    s3=zeros(1, 128) ;  
    for i=1: 128 s3(i) =s2(i+5168) ; 
    end %取128 点, 对应距离范围 6m;  
    %64 个不同角度所对应的数据阵  
    s(: , u) =s3' ; 
end 
figure(1) ;  
contour(abs(s) ) ;  
xlabel(' 方位向分辨单元' ) ; 
ylabel(' 距离向分辨单元' ) ; 
view([ 0, 90] ) ; 
figure(2) ; 
I1=mat2gray(abs(s) ) ;  
imshow(I1) ; 
xlabel(' 方位向分辨单元' ) ; 
    ylabel(' 距离向分辨单元' ) ; 
    %每一行加窗以压低方位向旁瓣  
    for v=1: 128 s(v, : ) =s(v, : ).*hamming(64); 
    end %拓展到128 列  
    s0=zeros(128, 128) ;  
    s00=zeros(128, 32) ; 
    s0=[ s00, s, s00] ; %对每一行进行128 点傅立叶变换, 实现方位向高分辨  
    Sw=zeros(128, 128) ; 
    for d=1: 128 
        Sw(d, : ) =fftshift(fft(s0(d, : ) , 128) ) ;  
    end %点目标所成的二维像  
    figure(3) ;  
    a1=0.1911*(-65) : 0.1911: 0.1911*62; a2=0.1911*(-68) : 0.1911: 0.1911*59; 
    %h=surf(a1, a2, abs(Sw) ) ; 
    %contour(a1, a2, abs(Sw) ) ;  
    surf(abs(Sw) ) ; 
    title(' 点目标所成的二维像' ) ;  
    xlabel(' 方位向(m) ' ) ;  
    ylabel(' 距离向(m) ' ) ; 
    zlabel(' 幅度' ) ;  
    %view([ 0, 90] ) ; 
    %axis([ 0. 1911*(-63) , 0. 1911*(64) , 0. 1911*(-63) , 0. 1911*(64) ] ) ; 
    if K==1 legend(' 默认演示' ) ; 
    else legend(' 自定义演示' ) ;  
    end %I=mat2gray(abs(Sw) ) ;  
    %I=I' ; 
    %figure(4) ;  
    %imshow(I) ; 
    %xlabel(' 方位向(m) ' ) ;  
    % ylabel(' 距离向(m) ' ) ; 
    %I=1-I; %figure(5) ;  
    %imshow(I) ; 
    %xlabel(' 方位向(m) ' ) ; 
    % ylabel(' 距离向(m) ' ) ; 
    figure(6) ,  
    contour(abs(Sw) ) ;  
    xlabel(' 方位向(m) ' ) ;  
    ylabel(' 距离向(m) ' ) ;  
    %[ X, map] =gray2ind(I) ; 
    %RGB=ind2rgb(X, map) ; 
    %figure(3) ; 
    %imshow(RGB) ; 
    %rotate(h, [ 0, 0, 1] , 57. 3248)  
    % axis([ -8 8 -8 8 0 3. 5e4] ) ;