⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sarecho_csa.asv

📁 条带式合成孔径雷达的cs。RDA。RMA算法 作者何志华
💻 ASV
字号:
%%SAR回波
%Stripmap 模式下SAR的回波生成
%NUDT,Hezhihua
%E-mail:skynismile@yahoo.com.cn
%last update:23/6/2005

clear all
%%range:x domain
%x=c*t/2,kx=2*f/c
Tx=200;%时宽200m(1.33us)
Bx=1;%带宽1(1/m)(150MHz)
a=Bx/Tx;%调频斜率
kxc=4;%载频4(1/m)
Nx=512;
Xc=1200;X0=150;
x=Xc+linspace(-X0,X0,Nx);%x域序列:Xc-X0~Xc+X0
dx=2*X0/Nx;
kx=linspace(-1/dx/2,1/dx/2,Nx);%kx域序列

%%cross-range:y domain
Ty=300;%时宽300m,合成孔径长度
By=1;%带宽1(1/m)
b=kxc/Xc;%调频斜率 b=By/Ty=kxc/Xc
Ny=1024;
Y0=200;
y=linspace(-Y0,Y0,Ny);%y域序列:-Y0~Y0
dy=2*Y0/Ny;
ky=linspace(-1/dy/2,1/dy/2,Ny);%ky域序列

%%target geometry
Ntar=3;%目标个数
Ptar=[Xc,0,1+0j  %x坐标,y坐标,复后向散射系数             
          Xc+50,-50,1+0j
          Xc+50,50,1+0j];
      
%%SAR raw data
s_xy=zeros(Nx,Ny);
for i=1:1:Ntar
    xn=Ptar(i,1);yn=Ptar(i,2);sigma=Ptar(i,3);
    X=x'*ones(1,Ny);%扩充为矩阵
    Y=ones(Nx,1)*y;
    DX=X-sqrt(xn^2+(Y-yn).^2);
    phase=pi*a*DX.^2-2*pi*kxc*sqrt(xn^2+(Y-yn).^2);
    s_xy=s_xy+sigma*exp(j*phase).*(abs(DX)<Tx/2).*(abs(Y-yn)<Ty/2);%SAR回波信号
end

%%数据准备
phi0=-x'*sqrt(kxc^2-ky.^2);
phi1=-kxc*x'*(1./sqrt(kxc^2-ky.^2));
phi2=1/2*x'*(ky.^2./(kxc^2-ky.^2).^1.5);
Cs=ones(Nx,1)*(kxc./sqrt(kxc^2-ky.^2)-1);
Ks=1./(1/a-2*phi2);
sref_x=exp(j*pi*Cs.*Ks.*(x'*ones(1,Ny)-Xc*(1+Cs)).^2);

%%CSA
s_xky=fftshift(fft(fftshift(s_xy).')).';%方位向FFT
scs_xky=s_xky.*sref_x;%Chirp Scaling
scs_kxky=fftshift(fft(fftshift(scs_xky)));%距离向FFT
srmc_kxky=scs_kxky.*exp(j*pi*(kx.^2'*ones(1,Ny))./(1+Cs)./Ks...
                     +j*2*pi*Xc*Cs.*(kx'*ones(1,Ny)));%距离迁移校正&距离向匹配滤波
srmc_xky=fftshift(ifft(fftshift(srmc_kxky)));%距离向IFFT

f_xky=srmc_xky.*exp(-j*pi*Ks.*Cs.*(1+Cs).*((x-Xc).^2'*ones(1,Ny))...
           -j*2*pi*phi0);%消除误差函数,方位向匹配滤波
f_xy=fftshift(ifft(fftshift(f_xky).')).';%方位向IFFT

%%结果显示
subplot(221)
plot_img(ky,x-Xc,scs_xky,35);
axis([-1,1,-inf,inf])
xlabel('ky domain(cross-range),m^-^1')
ylabel('x domain(range),m')
title('|s_c_s(x,k_y)|')
drawnow 

subplot(222)
plot_img(ky,kx,scs_kxky,35);
axis([-1,1,-1,1])
xlabel('ky domain(cross-range),m^-^1')
ylabel('kx domain(range),m^-^1')
title('|s_c_s(k_x,k_y)|')
drawnow 

subplot(223)
plot_img(ky,x-Xc,srmc_xky,40);
axis([-1,1,-20,70])
set(gca,'Ytick',[0,50])
xlabel('ky domain(cross-range),m^-^1')
ylabel('x domain(range),m')
title('|s_r_m_c(x,k_y)|')
drawnow 

subplot(224)
plot_img(y,x-Xc,f_xy,55);
axis([-100,100,-20,70])
set(gca,'Xtick',[-100,-50,0,50,100])
set(gca,'Ytick',[0,50])
xlabel('y domain(cross-range),m')
ylabel('x domain(range),m')
title('|f(x,y)|')
drawnow 



%save sarecho.mat Tx Bx a Ty By b Xc...
                    
%clear all
                  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -