【雷达通信】基于matlab雷达前视成像仿真【含Matlab源码 643期】
【摘要】
一、获取代码方式
获取代码方式1: 完整代码已上传我的资源: 【雷达通信】基于matlab雷达前视成像仿真【含Matlab源码 643期】
获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,...
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源: 【雷达通信】基于matlab雷达前视成像仿真【含Matlab源码 643期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、雷达前视成像简介
三、部分源代码
clear all;clc; close all;
% 前视线阵
%% 参数
C=3e8;
fc=10e9;
lambda=C/fc;
v=100;
Tp=1.5e-6;
N=60; %阵元个数
B=100e6;
Fs=120e6;
gama=B/Tp;
Da=0.2;
H=600;
PRF=1000; %阵元切换速度
phi=45/180*pi; %俯视角
theta=24/180*pi; %波束宽度
d=0.3;% 阵元间距
va=d*PRF; %方位速度
nrn=200;
nan=N;
Rs=H*sqrt(2);
%% point targets
% point=[600 0 0; 650 0 0; 600 50 0 ; 600 -50 0; 550 0 0 ];
point=[600 0 0];
point_num=size(point,1);
%%
La=N*(Da+d);
ta=[-N/2:N/2-1]/PRF;
Tstart=2*Rs/C-nrn/2/Fs; %起始时刻
Tend=2*Rs/C+(nrn/2-1)/Fs; %终止时刻
tr=[Tstart:1/Fs:Tend].'; %快时间
%%
x_pos=ta.*v;
y_pos=ta.*va;
z_pos=H;
R0=sqrt(z_pos^2+(600-v.*ta).^2);
Rr=sqrt(R0.^2+(va.*ta).^2);
%% echo
x=zeros(nrn,nan,'single');
for m=1:N
temp1=zeros(nrn,1);
for num=1:point_num
x_temp=abs(x_pos(m)-point(num,1));
y_temp=y_pos(m)-point(num,2);
z_temp=z_pos-point(num,3);
Rt=sqrt(x_temp^2+y_temp^2+z_temp^2);
alpha=atan(y_temp./sqrt(x_temp.^2+z_temp.^2));
if (alpha>=-theta/2 && alpha<=theta/2)
Rt=sqrt(x_temp^2+y_temp^2+z_temp^2);
Wr=abs(tr-2*Rt/C)<=Tp/2;
temp2=Wr.*exp(j*pi*gama*(tr-2*Rt/C).^2).*exp(-j*4*pi*Rt/lambda);
temp1=temp1+temp2;
end
end
x(:,m)=temp1;
end
figure;imagesc(abs(x));
ka=(-2/lambda).*(va^2./R0); %方位调频率
fr=[-nrn/2:nrn/2-1]'/nrn*Fs;
del_ran=Rr-Rs;
%% range compress
fr=[-nrn/2:nrn/2-1]'/nrn*Fs;
% length=(fr/abs(gama)/Tp);
Hp=exp(j*pi*(2*v/lambda+(fr.^2)/gama));
%%
x=fftshift(fft(fftshift(x)));
for m=1:N
temp2=exp(j*4*pi*del_ran(m)/C*fr);
temp1=x(:,m).*Hp.*temp2;
x(:,m)=fftshift(fft(fftshift(temp1)));
end
figure;imagesc(abs(x));
%%
for n=1:nrn
xa(n,:)=fftshift(fft(fftshift(x(n,:))));
end
delta_R=((va.*ta).^2)./(2*R0);
Curve=delta_R*2*Fs/C;
delta_RMC=Curve-floor(Curve);%小数部分
% sinc
P=4;
temp=zeros(nrn,nan);
for n=1:nan
for m=P:nrn
for i=-P/2:P/2
if m+Curve(n)+i>nrn
temp(m,n)=temp(m,n)+xa(nrn,n)*sinc((-i+Curve(n)));
else
temp(m,n)=temp(m,n)+xa(m+floor(Curve(n))+i,n)*sinc((-i+delta_RMC(n)));
end
end
end
end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
[4]李树锋.基于完全互补序列的MIMO雷达与5G MIMO通信[M].清华大学出版社.2021
[5]何友,关键.雷达目标检测与恒虚警处理(第二版)[M].清华大学出版社.2011
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/115292756
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)