SAR 三点回波模拟 正侧视RD算法(经典好用)

学习目标:

SAR 三点回波模拟 正侧视RD算法

学习内容:

%============  SAR 三点回波模拟  正侧视RD算法  ======================
clc;
close all;  
clear all;

c=3e8;       %光速       
f0=10e9;        %雷达工作频率
lamd=c/f0;     %雷达工作波长     
Tp=1e-6;        %
B=100e6;         %  
PRF=3600;        %脉冲重复频率 
fs=120e6;          %
K=B/Tp;            %

v=150;          %等效雷达运动速度

x1=0;y1=0;      %目标1位置         
x2=0;y2=-50;        %目标2位置
x3=0;y3=50;    %目标3位置

Na=4096;    % 方位向采样点数为4096
bet=18/180*pi;      %
R0=1000;            

Nr=256;             
Tr=Nr/fs;           
Ta=Na/PRF;          

tr=2*R0/c+linspace(-Tr/2,Tr/2,Nr);   
ta=linspace(-Ta/2,Ta/2,Na);          
xr=v*ta;                             
yr=R0;                               
fr=fftshift(linspace(-fs/2,fs/2,Nr));       
fa=linspace(-PRF/2,PRF/2,Na);                
r=tr*c/2;                                    
r_c=sqrt(xr.^2+yr^2);

%====================================产生回波===============================

rec_signal=zeros(Na,Nr);
for i=1:Na
    puls_signal=zeros(1,Nr);                     
    r1=sqrt((y1+yr).^2+(xr(i)-x1).^2);           
    cita1=atan(abs(x1-xr(i))/(yr+y1));           
    if (abs(cita1)<bet/2)
        puls_signal=exp(j*(pi*K*(tr-2*r1/c).^2-2*pi*f0*2*r1/c)).*(abs(tr-2*r1/c)<Tp/2);   
    end
    
    
    r2=sqrt((y2+yr).^2+(xr(i)-x2).^2);           
    cita2=atan(abs(x2-xr(i))/(yr+y2));          
    if (abs(cita2)<bet/2)
        puls_signal=puls_signal+exp(j*(pi*K*(tr-2*r2/c).^2-2*pi*f0*2*r2/c)).*(abs(tr-2*r2/c)<Tp/2);%目标2回波
    end
    
    r3=sqrt((y3+yr).^2+(xr(i)-x3).^2);          
    cita3=atan(abs(x3-xr(i))/(yr+y3));          
    if (abs(cita3)<bet/2)
        puls_signal=puls_signal+exp(j*(pi*K*(tr-2*r3/c).^2-2*pi*f0*2*r3/c)).*(abs(tr-2*r3/c)<Tp/2);%目标3回波
    end
    
    
    rec_signal(i,:)=puls_signal;
end
figure(1);
imagesc(abs(rec_signal));


%================================距离向脉压=================================

tran_signal=exp(1j*pi*fr.^2/K);      %.*(abs(fr)<B/2); 这个范围限制最好要有,但为了方便改写C语言,不要范围图像也还可以,真正的改写要加上此范围
for i=1:Na
    t = fft(rec_signal(i,:));
    tt =t .*tran_signal;
    rec_signal(i,:)=ifft(tt);
end
figure(2);
imagesc(abs(rec_signal));
title('距离压缩后仿真图');
xlabel('距离向(采样点)');
ylabel('方位向(采样点)');


% %==============================插值法消除距离徙动===========================
signal_fft  = fft(rec_signal,[],1);
 rec_signal1=fftshift(signal_fft,1);    %方位向变为频域
% rec_signal=fft(rec_signal,[],1);
% %方位向变为频域,只方位向FFT不行,需要FFT后进行fftshift操作

 figure(3);
  imagesc(abs(rec_signal1));
 title('方位向FFT后仿真图');
xlabel('距离向(采样点)');
ylabel('方位向(采样点)');


for i=1:Na
    delt_r(i)=lamd.^2*R0*fa(i).^2/8/v.^2;
    rec_signal(i,:)=interp1(r,rec_signal1(i,:),r+delt_r(i),'nearest');  %插值  分段线性插值 linear   球面插值spline   三次多项式插值pchip   临近插值nearest
end

figure(4);
rec_signal_abs = abs(rec_signal);
imagesc(abs(rec_signal));
title('距离徙动校正后仿真图');
xlabel('距离向(采样点)');
ylabel('方位向(采样点)');

%================================方位向进行脉压===========================
%{
for ii=1:Nr
    Ka=2*v.^2/lamd/r(ii);
    puls_a=exp(-j*pi*fa.^2/Ka).*(abs(fa)<Ka*Ta/2);
    rec_signal(ii,:)=ifft(rec_signal(ii,:).*puls_a);
end
%}
%以下为降低方位向旁瓣 18°可按照大斜视角做
for ii=1:Nr
    Ka=sqrt( 1-(lamd.^2.*fa.^2) / ( 4*(v^2) )  );
    theta = 2*pi.*tr(ii)*f0.*Ka;
    puls_a=exp(j*2*pi.*tr(ii)*f0.*Ka);
   rec_signal1(:,ii) =  rec_signal(:,ii).*puls_a.';
    rec_signal2(:,ii)=ifft(rec_signal1(:,ii));
end

figure(5);
% colormap(gray);
rec_signal2_abs = abs(rec_signal2);
imagesc(abs(rec_signal2));
title('目标图像');
xlabel('距离向(采样点)');
ylabel('方位向(采样点)');

学习时间:

20200907

学习产出:

回波信号幅度
在这里插入图片描述
回波信号相位
在这里插入图片描述
距离向脉压后
在这里插入图片描述
方位向FFT后
在这里插入图片描述
距离徙动校正后
在这里插入图片描述
目标图像
在这里插入图片描述

学习总结

在距离徙动校正阶段:(1)插值方法(插值是通过在一个域根据已有值估算未知值,数学表达式上可以写成尺度变换在一个域中的表达式形式,可通过尺度变换将一个域的插值转化为另一域的插值): Sinc插值、 临近插值nearest、分段线性插值linear 、球面插值spline、三次多项式插pchip…、
(2)线调频变标Chirp Scaling(线调频变标Chirp Scaling是已有值通过一个域的时延得到未知值,时延可以对应另一个域的相乘操作,数学表达式是时延形式;就不是尺度变换中那种乘以一个因子的形式,可通过尺度变换将一个域中的线调频变标(写成等价的插值形式,即乘或除某一因子)转换成另一个域中的线调频变标(等价的插值形式,即乘或除某一因子);时延形式与插值形式(可以写成尺度变换形式)是可以相互转换的,时延可以看做是一个非线性映射但是线性系统关系(齐次性、叠加性)的尺度变换
(3)上面MATLAB代码对应的C代码链接如下,已在CCS软仿以及6678硬仿成功!
【闲鱼】https://m.tb.cn/h.5FAuzEb?tk=bq7KWOOfMjx HU0025 「我在闲鱼发布了【SAR 三点回波模拟 正侧视RD算法(经典好用)对应C代码(】」
点击链接直接打开
(4)插值,时延,补相位,尺度变换,keytone变换,啥啥变换都是一样的,妈的,起这么多破名字!

  • 10
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 37
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

embrace_the_sunhaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值