资源简介
该代码模拟了一个圆形运动目标的航迹,运用matlab实现
代码片段和文件信息
clc;
clear all;
close all;
angle_rd_fw_start=0;%雷达天线波束起始方位角为0;
r_max=18e3;%雷达最大作用距离
r_min=5e3;%雷达最小作用距离
angle_rd_bandwidth=10/180*pi;%天线波束宽度4°
rd_speed=6/180*pi;%雷达波束扫描速度为3°/s
load E:\line2.dat
v_m=line2(:1)‘;%目标的速度大小
r_m=line2(:2)‘;%目标初始的径向距离
angle_m_fw=line2(:3)‘;%目标初始的方位角
angle_v_fw=line2(:4)‘;%目标初始的速度方位角
tgt_modle=line2(:5)‘;%目标的运动模型
pos_x=r_m.*cos(angle_m_fw);%根据上面的初始参数算出目标的初始的X坐标
pos_y=r_m.*sin(angle_m_fw);%根据上面的初始参数算出目标的初始的Y坐标
m_num=length(r_m);%求出飞机航迹的个数;
%%模拟器过程;
cpi_time=85e-2;%%对目标航迹的采样间隔时间,单位s
z_time=300;%%设置雷达波束扫描的总时间,单位s
trace_length=ceil(z_time/cpi_time);%%表示对目标航迹采样的总个数
x_m_trace=zeros(m_numtrace_length);%%设置一个m_num*trace_length放置m_num个航迹x坐标的矩阵
y_m_trace=zeros(m_numtrace_length);
angle_m_trace=zeros(m_numtrace_length);%放置m_num个航迹的方位角
angle_rd_trace=zeros(1trace_length);%放置雷达的方位角
angle_rd_trace(11)=angle_rd_fw_start;
n=60;
angle_rd_trace1(1:n1)=(linspace(angle_rd_trace(11)-angle_rd_bandwidth/2angle_rd_trace(11)+angle_rd_bandwidth/2n))‘;
pos_x1=pos_x;
pos_y1=pos_y;
x_m_trace(1:m_num1)=pos_x‘;
y_m_trace(1:m_num1)=pos_y‘;
% angle_m_trace1=pos_y/pos_x;%?????????????
% if pos_x<0%?????????
% angle_m_trace1=angle_m_trace1+pi;
% end
% angle_m_trace(1:m_num1)=angle_m_trace1;
angle_m_fw=atan(pos_y./pos_x);%%得到目标的方位角,因为是用atan的函数求角,因此需要修正。
m0=find(pos_x<0);
angle_m_fw(m0)=angle_m_fw(m0)+pi;
angle_m_trace(1:m_num1)=angle_m_fw‘;
m=1;
w=2;
while m<=trace_length %%进入波束扫描
for i=1:4
if(tgt_modle(1i)==0)%航迹模型为直线
% [pos_jh_xpos_jh_y]=LINE(pos_x1pos_y1);
pos_jh_x(1i)=pos_x1(1i)+v_m(1i).*cpi_time.*cos(angle_v_fw(1i));%m个cpi时间间隔之后目标的新坐标
pos_jh_y(1i)=pos_y1(1i)+v_m(1i).*cpi_time.*sin(angle_v_fw(1i));
else
pos_jh_x(1i)=pos_x1(1i)+v_m(1i)./w.*cos(angle_m_fw(1i)+w.*cpi_time);%m个cpi时间间隔之后目标的新坐标
pos_jh_y(1i)=pos_y1(1i)+v_m(1i)./w.*sin(angle_m_fw(1i)+w.*cpi_time);
end
end
pos_r=sqrt(pos_jh_x.^2+pos_jh_y.^2);
R_sub=pos_r-r_max;
r_sub=pos_r-r_min;
% R_sub>0;
m_R=find(R_sub>0);
R=length(m_R);
% r_sub<0;
m_r=find(r_sub<0);
r=length(m_r);
%%%%%%%若目标超出雷达最大作用距离,则目标从起始点重新开始运动%%%%%%%
if R
pos_jh_x(1m_R)=pos_x(1m_R);
pos_jh_x(1m_R)=pos_y(1m_R);
end
%%%%%%%若目标超出雷达最小作用距离,则目标从起始点重新开始运动%%%%%%%
% if r
% pos_jh_x(1m_r)=pos_x(1m_r);
% pos_jh_y(1m_r)=pos_y(1m_r);
%pos_jh_z(1m_r)=pos_z(1m_r);
% end
angle_m_fw=atan(pos_jh_y./pos_jh_x);%%得到目标的方位角,因为是用atan的函数求角,因此需要修正。
m1=find(pos_jh_x<0);
- 上一篇:语音信号倒谱的matlab程序
- 下一篇:matlab计算心率 QRS波群定位
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论