STK与matlab交互 雷达探测和轨道确定 (1)

一、背景介绍

在本节中,将利用STK软件构建太空目标监视雷达的仿真模型,并且通过给定的空间目标,能够分析优选探测雷达搜索屏设置方案,能够模拟生成雷达跟踪测量数据,之后根据初轨确定和轨道改进的原理,针对给定的探测数据,编写MATLAB程序,实现目标轨道的确定。

二、案例仿真

1、创建一个场景,初始化场景,添加地面设施,以及相关的传感器,代码如下

clear;clc
%% 太空态势感知仿真任务
uiApplication = actxGetRunningServer('STK11.application');
% Get our IAgStkObjectRoot interface
root = uiApplication.Personality2;
checkempty = root.Children.Count;
if checkempty ~= 0
    root.CurrentScenario.Unload
    root.CloseScenario;
end
%% 根据你的需要设定场景的名称
root.NewScenario('RadarDetectSim');
StartTime = '20  Mar 2024 17:00:00.000';    % 场景开始时间
StopTime = '21 Mar 2024 17:00:00.000';     % 场景结束时间
root.ExecuteCommand(['SetAnalysisTimePeriod * "',StartTime,'" "',StopTime,'"']);
root.ExecuteCommand(' Animate * Reset');
root.ExecuteCommand(['New / */Facility Radar_01']);
root.ExecuteCommand(['SetPosition */Facility/Radar_01 Geodetic 30 115 0.0 MSL']);

root.ExecuteCommand(['New / */Facility/Radar_01/Sensor 3DegSearch']);
root.ExecuteCommand(['Define */Facility/Radar_01/Sensor/3DegSearch Conical 85 86.2 100 220']);
root.ExecuteCommand(['SetConstraint */Facility/Radar_01/Sensor/3DegSearch Range Min 200000 Max 4500000'])

root.ExecuteCommand(['New / */Facility/Radar_01/Sensor 25DegSearch']);
root.ExecuteCommand(['Define */Facility/Radar_01/Sensor/25DegSearch Conical 64 65.2 100 220']);
root.ExecuteCommand(['SetConstraint */Facility/Radar_01/Sensor/25DegSearch Range Min 200000 Max 4500000']);
root.ExecuteCommand(['Graphics */Facility/Radar_01/Sensor/25DegSearch Projection RangeConstraint']);
root.ExecuteCommand(['Graphics */Facility/Radar_01/Sensor/3DegSearch Projection RangeConstraint']);

添加的搜索屏效果图

2、利用TLE双行轨道根数插入卫星

root.ExecuteCommand(['New / */Satellite TERRA_25994'])
root.ExecuteCommand(['SetState */Satellite/TERRA_25994 SGP4 UseScenarioInterval 60.0 25994 TLESource Automatic Source File "D:\TLE-Terra.txt" UseTLE All SwitchMethod Epoch']);

3、进行可视性分析,结果如图所示

bb=root.ExecuteCommand(['Access */Satellite/TERRA_25994 */Facility/Radar_01/Sensor/3DegSearch TimePeriod UseScenarioInterval'])
root.ExecuteCommand(['ReportCreate */Satellite/TERRA_25994 Type Display Style "Access" AccessObject */Facility/Radar_01/Sensor/3DegSearch'])
root.ExecuteCommand(['GraphCreate */Satellite/TERRA_25994 Type Display Style  "Access" AccessObject */Facility/Radar_01/Sensor/3DegSearch'])
root.ExecuteCommand(['ReportCreate */Satellite/TERRA_25994 Type Display Style "Access" AccessObject */Facility/Radar_01/Sensor/25DegSearch'])
root.ExecuteCommand(['GraphCreate */Satellite/TERRA_25994 Type Display Style  "Access" AccessObject */Facility/Radar_01/Sensor/25DegSearch'])

4、生成卫星穿过两个雷达的AER报告,即得到下一步的定轨数据

root.ExecuteCommand(['ReportCreate */Satellite/TERRA_25994 Type Display Style "AER" AccessObject */Facility/Radar_01/Sensor/3DegSearch']);
root.ExecuteCommand(['ReportCreate */Satellite/TERRA_25994 Type Display Style "AER" AccessObject */Facility/Radar_01/Sensor/25DegSearch']);
root.ExecuteCommand(['GraphCreate */Satellite/TERRA_25994 Type Display Style "AER" AccessObject */Facility/Radar_01/Sensor/3DegSearch']);
root.ExecuteCommand(['GraphCreate */Satellite/TERRA_25994 Type Display Style "AER" AccessObject */Facility/Radar_01/Sensor/25DegSearch']);

5、设计一个跟踪波束雷达,代码如下

root.ExecuteCommand(['New / */Facility/Radar_01/Sensor Target_01']);
root.ExecuteCommand(['Define */Facility/Radar_01/Sensor/Target_01 SimpleCone 1.5']);
root.ExecuteCommand(['Point */Facility/Radar_01/Sensor/Target_01 Targeted Tracking Satellite/TERRA_25994']);
root.ExecuteCommand(['SetConstraint */Facility/Radar_01/Sensor/Target_01 Range Min 200000 Max 4500000'])
root.ExecuteCommand(['SetConstraint */Facility/Radar_01/Sensor/Target_01 AzimuthAngle Min 100 Max 220 '])
root.ExecuteCommand(['SetConstraint */Facility/Radar_01/Sensor/Target_01 ElevationAngle Min 3 Max 85'])
root.ExecuteCommand(['Graphics */Facility/Radar_01/Sensor/Target_01 SetColor red']);

%% Access生成报告
root.ExecuteCommand(['ReportCreate */Satellite/TERRA_25994 Type Display Style "AER" AccessObject */Facility/Radar_01/Sensor/Target_01 TimeStep 1' ])

观测效果图

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值