• 大小: 1.02MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-12
  • 语言: 其他
  • 标签: RD  CS  OmegaK  

资源简介

合成孔径雷达(Synthetic aperture radar, SAR)点目标仿真代码及报告,包括RD、CS和OmegaK算法。

资源截图

代码片段和文件信息

%% 小前斜角CS成像算法
clc
clear all
close all

%% 基本参数
C = 299792458 ; % 电磁波传播速度,m/s

% 几何关系
Vel = 100 ;    % 速度,m/s
Rref = 5e3 ;    % 中心距离,m
BeamWidAzi = 2 ;    % 方位波束宽度,度
Theta = 10 ;    % 前斜角(波束指向与速度法向的夹角,deg)

% 雷达参数 
Lambda = 0.03 ;   % 波长,m
Prf = 400 ; % 重频,Hz
Br = 300e6 ;    % 带宽,Hz
Fs = 360e6 ;    % 采样率,Hz
Tp = 2e-6 ; % 脉宽,s
SignOfChirpSlope = 1 ;  % 调频斜率符号,1表示正调频,-1表示负调频

% 点目标坐标
TarX = [0 0 20] + Rref*cosd(Theta) ;
TarY = [0 20 0] + Rref*sind(Theta) ;
% TarX = [0 ] + Rref*cosd(Theta) ;
% TarY = [0 ] + Rref*sind(Theta) ;
TarPosi = [TarX(:) TarY(:)] ;
TarNum = length(TarX) ;

% 录取数据参数
Na = 1024 ;    % 方位积累点数
Nr = 1024 ; % 距离向点数
Rmin = 4.95e3 ;    % 起始采样距离,m
tr = 2*Rmin/C+(0:Nr-1)/Fs ;  % 距离时间

% 航迹坐标 雷达沿Y正方向飞行,天线沿X方向照射
RadarX = ones(Na1)*0 ;
RadarY = (-Na/2:Na/2-1)‘/Prf*Vel ; 
RadarPosi = [RadarX RadarY] ;


%% 仿真生成回波
disp(‘正在生成回波。。。‘) ;
Echo = zeros(NaNr) ; 
for kPrt = 1 : Na
    for kTar = 1 : TarNum
        TarR = sqrt(sum( (RadarPosi(kPrt:)-TarPosi(kTar:)).^2 )) ; % 点目标的斜距,m
        TarTau = 2*TarR/C ;     % 点目标的时延,s
        AziAng = acosd(dot(TarPosi(kTar:)-RadarPosi(kPrt:)[cosd(Theta) sind(Theta)])./TarR) ;  % 点目标视线与波束中心的夹角,deg
        if abs(AziAng)<=BeamWidAzi/2  % 点目标在方位波束内
            trTar = tr-TarTau-Tp/2 ;                    % 每个点目标的距离时间
            Echo(kPrt:) = Echo(kPrt:) + exp(-1j*4*pi*TarR/Lambda) ...
                *rectpuls(trTarTp) .* exp(1j*pi*SignOfChirpSlope*Br/Tp*(trTar).^2) ;
        end
    end
end
figureimagesc(Rmin+(0:Nr-1)*C/Fs/2(-Na/2:Na/2-1)*Vel/Prfreal(Echo)) ;
xlabel(‘距离(km)‘)ylabel(‘方位位置(m)‘)title(‘回波实部‘) ;
figureimagesc(Rmin+(0:Nr-1)*C/Fs/2(-Na/2:Na/2-1)*Vel/Prfimag(Echo)) ;
xlabel(‘距离(km)‘)ylabel(‘方位位置(m)‘)title(‘回波虚部‘) ;

%% 方位FFT
disp(‘正在方位FFT。。。‘) ;
ta = (-Na/2:Na/2-1)‘/Prf ;  % 方位时间,s
fa = ((-Na/2:Na/2-1)‘/Na*Prf) ;    % 方位频率,Hz
Fdc = 2*Vel*sind(Theta)/Lambda ;    % 多普勒中心,Hz
AziFft = zeros(NaNr) ;
for kR = 1 : Nr
    AziFft(:kR) = fftshift( fft( Echo(:kR) ...
        .*exp(-1j*2*pi*Fdc*ta) ) ) ;
end
figureimagesc(Rmin+(0:Nr-1)*C/Fs/2fa+Fdcreal(AziFft)) ;
xlabel(‘距离(km)‘)ylabel(‘方位频率(Hz)‘)title(‘方位FFT(实部)‘) ;

%% 距离CS
disp(‘正在距离CS。。。‘) ;
KsRef = (SignOfChirpSlope*Br/Tp)./(1-(SignOfChirpSlope*Br/Tp)*Rref*cosd(Theta) ...
    *2*Lambda/C^2*(Lambda*(fa+Fdc)/2/Vel).^2./(sqrt(1-(Lambda*(fa+Fdc)/2/Vel).^2)).^3) ;
Cs = 1./sqrt(1-(Lambda*(fa+Fdc)/2/Vel).^2)-1 ;
RanCS = zeros(NaNr) ;
for kFa = 1 : Na
    RanCS(kFa:) = AziFft(kFa:) .* exp(1j*pi*KsRef(kFa)*Cs(kFa) ...
        *(tr-Tp/2-2/C*Rref*cosd(Theta)*(1+Cs(kFa))).^2) ;
end
figureimagesc(Rmin+(0:Nr-1)*C/Fs/2fa+Fdcreal(RanCS)) ;
xlabel(‘距离(km)‘)ylabel(‘方位频率(Hz)‘)title(‘距离CS(实部)‘) ;

%% 距离FFT
disp(‘正在距离FFT。。。‘) ;
fr = (-Nr/2:Nr/2-1)/Nr*Fs ;  % 距离频率轴
RanFft = fftshift(fft(RanCS[]2)2) ;
figureimagesc(fr/1e6fa+Fdcreal(RanFft)) ;
xlabel(‘距离频率(MHz)‘)ylabel(‘方位频率(Hz)‘)title(‘距离FFT(实部)‘) ;

%% 距离压缩、徙动校正、二次距离压缩
disp(‘正在距离压缩、徙动校正、二次距离压

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4681  2017-07-09 15:56  Main_CS.m

     文件       4604  2017-07-13 22:18  Main_OmegaK.m

     文件       3937  2017-06-25 23:44  Main_RD.m

     文件     490391  2017-07-09 16:01  合成孔径雷达CS算法点目标仿真实验.docx

     文件     380731  2017-07-13 22:19  合成孔径雷达OmegaK算法点目标仿真实验.docx

     文件     203702  2017-06-25 23:49  合成孔径雷达RD算法点目标仿真实验.docx

----------- ---------  ---------- -----  ----

              1088046                    6


评论

共有 条评论