【雷达图像】SAR合成孔径雷达成像及处理matlab源码
2021/7/9 12:06:44
本文主要是介绍【雷达图像】SAR合成孔径雷达成像及处理matlab源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、简介
二、源代码
clear all; %====================================================================== %%% (I) parameters' definition %====================================================================== c=3e+8; % speed of light pi=3.1415926; % pi j00=sqrt(-1); % square root of -1 res_a=2; % required azimuth resolution k_r=1.2; % range factor Ra=4000.; % radar working distance va=70.; % radar/platform forward velocity fc=3.e+9; % carrier frequency FsFactor = 1.0; theta=90*pi/180; % squint angle %====================================================================== lamda=c/fc; % wavelength Br=k_r*c/2./res_r; % required transmitted bandwidth Fs=Br*FsFactor; % A/D sampling rate bin_r=c/2./Fs; % range bin Kr=Br/Tp; % range chirp rate La=Ra*k_a*lamda/2/res_a; % required synthetic aperture length Ta=La/va; % required synthetic aperture time fdc=2*va*cos(theta)/lamda; % doppler centriod fdr=-2*(va*sin(theta)).^2/lamda/Ra; % doppler rate Bd=abs(fdr)*Ta; % doppler bandwidth prf=round(Bd*2); % PRF %====================================================================== %%%(II) echo return modelling (point target) %====================================================================== na=fix(Ta*prf/2); % azimuth sampling number ta=-na:na; ta=ta/prf; % slow time along azimuth xa=va*ta-Ra*cos(theta); % azimuth location along flight track Na=2*fix(na); %x0=[ 0 0 0 0 0 ]; % define multi points if you want %R0=[-20 -10 0 10 20 ]; % x0: azimuth location (positive towards forward velocity) % R0: slant range location (positive towards far range) x0=[ 0 0 ]; R0=[ 0 10 ]; % only one point Npt_num = length(x0); ra=zeros(Npt_num, length(xa)); % calculate every point target's slant range history for i=1:Npt_num ra(i,:)=sqrt((Ra*sin(theta)+R0(i)).^2+(xa+x0(i)).^2); end rmax=max(max(ra)); % max. slant range rmin=min(min(ra)); % min. slant range rmc=fix((rmax-rmin)/bin_r); % range migration, number rg=0*ra; % initialize rg=fix((ra-rmin)/bin_r+1); % range gate index caused by range migration rgmax=max(max(rg)); rgmin=min(min(rg)); nr=round(Tp*Fs); % samples of a pluse tr=1:fix(nr)+1; tr=tr/Fs-Tp/2; % fast time within a pluse duration Nr=nr+rgmax; %====================================================================== %%%(II) echo return modelling (point target) %====================================================================== sig=zeros(Na,Nr); for i=1:Na for k=1:Npt_num sig(i,rg(k,i):rg(k,i)+nr)=sig(i,rg(k,i):rg(k,i)+nr)+exp(-j00*4*pi/lamda*ra(k,i))*exp(-j00*pi*Kr*(tr).^2); end end %%% parameters' definition c=3e+8; % speed of light pi=3.1415926; j=sqrt(-1); Tp=1.e-6; % transmitted pulse width fc=1.e+9; % carrier frequency Br=50.e+6; % transmitted bandwidth Fs=200.e+6; % A/D sample rate kr=Br/Tp; % range chirp rate Nr=Tp*Fs; Ni=1:Nr; tr=(Ni-Nr/2)*Tp/Nr; %=============================== %Chirp pulse echo from point A %=============================== sig_point0 = exp(j*pi*kr*(tr).^2); %=============================== %Chirp pulse echo from point B %=============================== dr=3; dr_t=2*dr/c; dN=dr_t*Fs; sig_point1 = exp(j*pi*kr*(tr-dr_t).^2); sig_0 = zeros(1, 3*Nr); sig_1 = sig_0; sum_sig = sig_0; sig_0(Nr+1:2*Nr)=sig_point0; sig_1(Nr+dN+1:2*Nr+dN)=sig_point1; %=============================== % Summary echo signal of A and B %=============================== sum_sig = sig_0 + sig_1; figure; subplot(4,1,1); plot(real(sig_0)); subplot(4,1,2); plot(real(sig_1)); subplot(4,1,3); plot(real(sum_sig));
三、运行结果
这篇关于【雷达图像】SAR合成孔径雷达成像及处理matlab源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南