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

📄 crange.m

📁 InSAS Simulation! Its wonderful
💻 M
字号:
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        %        CROSS-RANGE IMAGING         %        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%colormap(gray(256))cj=sqrt(-1);pi2=2*pi;%c=3e8;              % propagation speedfc=200e6;           % frequencylambda=c/fc;        % Wavelengthk=pi2/lambda;       % WavenumberXc=1.e3;            % Range distance to center of target area%% Case 1:L=400;              % synthetic aperture is 2*LY0=100;             % target area in cross-range is within [Yc-Y0,Yc+Y0]Yc=0;               % Cross-range distance to center of target area%% Case 2:% L=150;% Y0=200;% Yc=.5e3;%theta_c=atan(Yc/Xc);  % squint angle to center of target areaRc=sqrt(Xc^2+Yc^2);   % squint range to center of target areakus=2*k*sin(theta_c); % Doppler frequency shift in ku domain due to squint%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   Program performs slow-time compression to save PRF   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Xcc=Xc/(cos(theta_c)^2);       % redefine Xc by Xcc for squint processing%du=(Xcc*lambda)/(4*(Y0+L));    % sample spacing in aperture domainduc=(Xcc*lambda)/(4*Y0);       % sample spacing in aperture domain                               % for compressed signalDY=(Xcc*lambda)/(4*L);         % Cross-range resolution%L_min=max(Y0,L);               % Zero-padded aperture%% u domain parameters and arrays for compressed signal%mc=2*ceil(L_min/duc);             % number of samples on apertureuc=duc*(-mc/2:mc/2-1);            % synthetic aperture arraydkuc=pi2/(mc*duc);                % sample spacing in ku domainkuc=dkuc*(-mc/2:mc/2-1);          % kuc array%dku=dkuc;                         % sample spacing in ku domain%% u domain parameters and arrays for Synthetic aperture signal%m=2*ceil(pi/(du*dku));            % number of samples on aperturedu=pi2/(m*dku);u=du*(-m/2:m/2-1);                % synthetic aperture arrayku=dku*(-m/2:m/2-1);              % ku array%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%          SIMULATION      %%%%%%%          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ntarget=4;             % Number of targets%% Targets' coordinates and reflectivityyn(1)=0;             fn(1)=1;yn(2)=.7*Y0;         fn(2)=1;yn(3)=yn(2)-4*DY;    fn(3)=1.;yn(4)=-.8*Y0;        fn(4)=1;%s=zeros(1,mc);         % Measured Echoed Signal (Baseband)for i=1:ntarget; dis=sqrt(Xc^2+(Yc+yn(i)-uc).^2); s=s+fn(i)*exp(-cj*2*k*dis).*(abs(uc) <= L);end;%s=s.*exp(-cj*kus*uc);     % Slow-time baseband conversion for squintfs=fty(s);                % aliased aperture signal spectrum%plot(uc,real(s))xlabel('Synthetic Aperture u, meters')ylabel('Real Part')title('Aliased Aperture Signal')axis([uc(1) uc(mc) 1.1*min(real(s)) 1.1*max(real(s))]);axis('square')print P2.1a.pspause(1)%plot(kuc+kus,abs(fs))xlabel('Synthetic Aperture Frequency ku, rad/m')ylabel('Magnitude')title('Aliased Aperture Signal Spectrum')axis('square')print P2.2a.pspause(1)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  COMPRESSION-INTERPOLATION-DECOMPRESSION TO UNALIAS  %%%%                   APERTURE SIGNAL                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%s=s.*exp(cj*kus*uc);              % Original signal before baseband conversion for squintcs=s.*exp(cj*2*k*sqrt(Xc^2+(Yc-uc).^2));  % compressed signal%plot(uc,real(cs))xlabel('Synthetic Aperture u, meters')ylabel('Real Part')title('Compressed Aperture Signal')axis('square')axis([uc(1) uc(mc) 1.1*min(real(cs)) 1.1*max(real(cs))]);print P2.3a.pspause(1)cs=[cs,cs(mc:-1:1)];  % Append mirror image in slow-time to reduce                      % wrap around errors in interpolation (upsampling)fcs=fty(cs);          % F.T. of compressed signal w.r.t. u%plot(dkuc*(-mc:mc-1),abs(fcs))xlabel('Synthetic Aperture Frequency ku, rad/m')ylabel('Magnitude')title('Compressed Aperture Signal Spectrum')axis('square')axis([-mc*dkuc mc*dkuc -.05*max(abs(fcs)) 1.05*max(abs(fcs))]);print P2.4a.pspause(1)% Zero-padding in ku domain%mz=m-mc;        % number of zeros is 2*mzfcs=(m/mc)*[zeros(1,mz),fcs,zeros(1,mz)];%plot(dku*(-m:m-1),abs(fcs))xlabel('Synthetic Aperture Frequency ku, rad/m')ylabel('Magnitude')title('Compressed Aperture Signal Spectrum after Zero-padding')axis('square')axis([-dku*m dku*m -.05*max(abs(fcs)) 1.05*max(abs(fcs))]);print P2.5a.pspause(1)%cs=ifty(fcs);cs=cs(:,1:m);            % Remove mirror image in slow-timeplot(u,real(cs))xlabel('Synthetic Aperture u, meters')ylabel('Real Part')title('Compressed Aperture Signal after Upsampling')axis([u(1) u(m) 1.1*min(real(cs)) 1.1*max(real(cs))]);axis('square')print P2.6a.pspause(1)%s=cs.*exp(-cj*2*k*sqrt(Xc^2+(Yc-u).^2));  % decompressed signals=s.*exp(-cj*kus*u);  % Baseband conversion for squintfs=fty(s);%plot(u,real(s))xlabel('Synthetic Aperture u, meters')ylabel('Real Part')title('Aperture Signal after Upsampling')axis([u(1) u(m) 1.1*min(real(s)) 1.1*max(real(s))]);axis('square')print P2.7a.pspause(1)%plot(ku+kus,abs(fs))xlabel('Synthetic Aperture Frequency ku, rad/m')ylabel('Magnitude')title('Aperture Signal Spectrum after Upsampling')axis('square')print P2.8a.pspause(1)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                  RECONSTRUCTION               %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NOTE: ku array corresponds to baseband Doppler domain%%%       Add kus (squint Doppler shift) for true ku values%kx=4*(k^2)-(ku+kus).^2;kx=sqrt(kx.*(kx > 0));        % kx array%fs0=(kx > 0).*exp(cj*kx*Xc+cj*(ku+kus)*Yc+cj*.25*pi); % reference signal%F=fs.*fs0;     % Slow-time matched filteringf=ifty(F);plot(u,abs(f))         % also try "real" and "imag" parts of "f" arrayxlabel('Cross-range y, meters')ylabel('Magnitude')title('Cross-range Reconstruction')axis('square')axis([-Y0 Y0 0 1.1*max(abs(f))]);print P2.9a.pspause(1)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   REDUCING BANDWIDTH OF RECONSTRUCTED IMAGE   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Fc=fty(f.*exp(-cj*2*k*sqrt(Xc^2+(Yc+u).^2)+cj*kus*u));plot(ku,abs(Fc))xlabel('Cross-range Spatial Frequency ky, rad/m')ylabel('Magnitude')title('Compressed Target Function Spectrum')axis('square')print P2.10a.pspause(1)

⌨️ 快捷键说明

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