条带式SARCS算法
下面是我从网上找的一个“正侧视、条带SAR、CS成像”程序,
我对里面的一些步骤不是很清楚,我用红颜色将不明白的语句以及我
的问题标示出来了,如果你看到了这篇帖子,希望能给我一些启示,
谢谢!
%%产生StripmapSAR的回波条带式SAR--CS--成像
clear;
clc;
theta=0;%波束斜视角
theta=theta*pi/180;%rad
c=3e8;%光速
fc=1.5e9;%载频
lambda=c/fc;%波长
%%测绘带区域
X0=200;%方位向[-X0,X0]
Rc=3000;%雷达垂直投影点到条带中心的距离;雷达垂直投影
点到条带两端的距离:Rc-R0,Rc+R0
R0=150;%距离向[Rc-R0,Rc+R0]
%%距离向(Range),r/tdomain
Tr=1.33e-6;%LFM信号脉宽1.33us(200m)
Br=150e6;%LFM信号带宽150MHz
Kr=Br/Tr;%调频斜率
Nr=1024;
r=Rc+linspace(-R0,R0,Nr);
t=2*r/c;%t域序列
dt=R0*4/c/Nr;%采样周期
f=linspace(-1/2/dt,1/2/dt,Nr);%f域序列(即:书上的fr域)
%%方位向(Azimuth,Cross-Range),x/udomain
v=100;%SAR平台速度
Lsar=300;%合成孔径长度
Na=512;
x=linspace(-X0,X0,Na);%u域序列
u=x/v;
du=2*X0/v/Na;
fu=linspace(-1/2/du,1/2/du,Na);%fu域序列
fdc=2*v*sin(theta)/lambda;
fdr=-2*(v*cos(theta))^2/lambda/Rc;%Doppler调频斜率
%%目标位置
Ntar=3;%目标个数
Ptar=[Rc,0,1%距离向坐标,方位向坐标,sigma
Rc+50,-50,1
Rc+50,50,1];
%%产生回波
s_ut=zeros(Nr,Na);
U=ones(Nr,1)*u;%扩充为矩阵
T=t'*ones(1,Na);
fori=1:1:Ntar
rn=Ptar(i,1);
xn=Ptar(i,2);
sigma=Ptar(i,3);
R=sqrt(rn^2+(rn*tan(theta)+xn-v*U).^2);
DT=T-2*R/c;
pha=-pi*Kr*DT.^2-4*pi/lambda*R;%此处为什么在
“pi*Kr*DT.^2”的前面加负号呢
s_ut=s_ut+sigma*exp(j*pha).*(abs(DT)
end;
figure,imagesc(abs(s_ut)),title('回波');
%CS变换
%此处不知道是为什么?在CS.m文件中,直接取了4,但
是也不知道为什么%自己感觉是2*v/lambda
kc=4*pi/lambda;
kc=kc*ones(1,Na);
kx=fu/v;
p_kx0=sqrt(kc.^2-kx.^2);%相位项泰勒展开的系数函数此处的
kc为什么是4*pi/lambda呢?p_kx0好像是书上的cos(Seita),但是
为什么用kc.^2去减,而不是用1去减呢?
p_kx2=2.*kx.^2/c^2./p_kx0.^3;%
C_kx=kc./p_kx0-1;%书上的a(fa)
C_kx=ones(Nr,1)*C_kx;
Ks_r=1/Kr-lambda*r'*p_kx2;%
r0=Rc;
H1=exp(j*pi*C_kx.*gama_e.*(t'*ones(1,Na)-
2*r0*(1+C_kx)/c).^2);%设计的线性调频信号
%figure,imagesc(abs(gama_e)),title('gama_e幅度');
%figure,imagesc(abs(C_kx)),title('C_kx');
%方位向fft
s_kt=fftshift(fft(fftshift(s_ut).')).';
%figure,imagesc(abs(s_kt)),title('回波信号在方位向FFT');
S_cs=s_kt.*H1;
%figure,imagesc(abs(S_cs)),title('与H1相位函数相乘后');
%距离向fft
S_kw=fftshift(fft(fftshift(S_cs)));
%figure,imagesc(abs(S_kw)),title('距离向FFT');
%距离向匹配滤波
H2=exp(j*4*pi*r0*C_kx./c.*(f'*ones(1,Na))).*exp(j*pi*((f.^2)'*
ones(1,Na))./gama_e./(1+C_kx));H2=conj(H2);
S_rmc=S_kw.*H2;
%figure,imagesc(abs(S_rmc)),title('与H2相位函数相乘后');
%距离向ifft
S_kt=fftshift(ifft(fftshift(S_rmc)));
%figure,imagesc(abs(S_kt)),title('距离向IFFT');
%方位向匹配滤波
FU=ones(Nr,1)*fu;
H_kx=exp(j*pi/fdr*(FU-fdc).^2);%方位向压缩因子为什么
是平方呢?书上写的是sqrt(fam.^2-fa.^2),但是此处为什么却用了
平方呢?
d_kxr=4*pi/c^2*Kr.*C_kx.*(1+C_kx).*(Rc-r0).^2;%CS变换带来
的相位误差
H3=H_kx.*exp(j*d_kxr);
I_ut=S_kt.*H3;
I_ut=fftshift(ifft(fftshift(I_ut.'))).';
figure,imagesc(abs(I_ut)),title('方位向IFFT');
本文发布于:2022-12-07 21:48:10,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/62036.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |