[matlab源程序]MATLAB编的ISAR转台成像仿真程序
clear;
close all;
clc;
f0=10e9; %载频10GHZ
ft=1.6e6;
T=5.12e-3;
t=0:1/ft:(T-1/ft);
M=8192;
B=1.57e9/4;%带宽
c=3e8;
R0=1e3; %目标中心点距离
k=B/T; %调频率k,调频带宽1.57GHZ;
K=menu('选择:','默认演示','自定义演示');
if K==2
disp('输入每一点位置,第一列为距离向y,第二列为方位向x:[y1,x1;y2,x2;......]');
disp('分辨力0.1911m');
R=input('R=');
else
%R=[0,0;0.5,0.5;-0.5,-0.5;-0.5,0.5;0.5,-0.5;1,1;-1,-1;-1,1;1,-1;1.5,-1
.5;-1.5,1.5];
R=[4,4;4,3;4,5;3,4;5,4];
R2=[0,0;0,1;1,0;0,-1;-1,0];
R3=[-4,-4;-4,-3;-4,-5;-5,-4;-3,-4];
end
%回波信号形式
N=64;
u=0;
s=zeros(128,64);
for Q=0:0.035*pi/180:(0.035*(N-1)*pi/180)
%for Q=1:0.14*pi/180:(1+0.14*(N-1)*pi/180)
u=u+1;
% R0>>xO,y0; 近似远场成像;Rt近似如下;
%Rt=R0+R*[cos(Q),-sin(Q)]'+R2*[cos(Q),-sin(Q)]'+R3*[cos(Q),-sin(Q)]';
%Rt=R0+[R;R2;R3]*[cos(Q),-sin(Q)]';
Rt1=R0+R*[cos(Q),-sin(Q)]';
Rt2=R0+R2*[cos(Q),-sin(Q)]';
Rt3=R0+R3*[cos(Q),-sin(Q)]';
Rt=[Rt1;Rt2;Rt3];
st=sum(exp(j*4*pi/c*Rt*(B*t/T+f0)));
%每一固定转角的信号采样8192点
%hanning
hn=hamming(M);
st1=st.*hn'; %加窗,压低旁瓣;
% figure(1);
%plot(st1);
%s1=fft(st1);
%figure(2);
%f=0:ft/M:(M-1)*ft/M;
%plot(f,abs(s1));
st2=zeros(1,8192);
st=[st,st2];
L=2*M;
s2=fft(st,L); %每一列进行傅立叶变换------实现距离向高分辨
%figure(1);
%plot(l,s2);
%identify the frequency index corresponding to the center of the
%object range field;
s3=zeros(1,128);
for i=1:128
s3(i)=s2(i+5168);
end %取128点,对应距离范围6m;
%64个不同角度所对应的数据阵
s(:,u)=s3';
end
figure(1);
contour(abs(s));
xlabel('方位向分辨单元');
ylabel('距离向分辨单元');
view([0,90]);
figure(2);
I1=mat2gray(abs(s));
imshow(I1);
xlabel('方位向分辨单元');
ylabel('距离向分辨单元');
%每一行加窗以压低方位向旁瓣
for v=1:128
s(v,:)=s(v,:).*hamming(64)';
end
%拓展到128列
s0=zeros(128,128);
s00=zeros(128,32);
s0=[s00,s,s00];
%对每一行进行128点傅立叶变换,实现方位向高分辨
Sw=zeros(128,128);
for d=1:128
Sw(d,:)=fftshift(fft(s0(d,:),128));
end
%点目标所成的二维像
figure(3);
a1=0.1911*(-65):0.1911:0.1911*62;
a2=0.1911*(-68):0.1911:0.1911*59;
%h=surf(a1,a2,abs(Sw));
%contour(a1,a2,abs(Sw));
surf(abs(Sw));
title('点目标所成的二维像');
xlabel('方位向(m)');
ylabel('距离向(m)');
zlabel('幅度');
%view([0,90]);
%axis([0.1911*(-63),0.1911*(64),0.1911*(-63),0.1911*(64)]);
if K==1
legend('默认演示');
else legend('自定义演示');
end
%I=mat2gray(abs(Sw));
%I=I';
%figure(4);
%imshow(I);
%xlabel('方位向(m)');
% ylabel('距离向(m)');
%I=1-I;
%figure(5);
%imshow(I);
%xlabel('方位向(m)');
% ylabel('距离向(m)');
figure(6),contour(abs(Sw));
xlabel('方位向(m)');
ylabel('距离向(m)');
%[X,map]=gray2ind(I);
%RGB=ind2rgb(X,map);
%figure(3);
%imshow(RGB);
%rotate(h,[0,0,1],57.3248)
% axis([-8 8 -8 8 0 3.5e4]);
本文档为【[matlab源程序]MATLAB编的ISAR转台成像仿真程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。