MATLAB与STK互联25:Sensor对象操作—形状、指向、可见性约束设置

建立卫星、地面站对象后,一般还会建立Sensor,以分析覆盖性等参数。
Sensor对象只能添加在其他对象的下一级,比如卫星、地面站、船、车辆等。建立Sensor语句如下:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘sensor’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
sat.Propagator.Propagate;
sen = sat.Children.New(‘eSensor’,‘mysen’);
(1)Pattern 及角度参数设置
%查看sensor的形状及参数获取
sen.PatternType
获得的参数为:eSnSimpleConic
sen.Pattern.get
%设置sensor形状及角度
sen.SetPatternType(‘eSnComplexConic’);%形状设置
%角度设置,半张角60°,角分辨率1°。
sen.CommonTasks.SetPatternSimpleConic(60,1);
其他设置方法,参见下图。
MATLAB与STK互联25:Sensor对象操作—形状、指向、可见性约束设置
大家可以多尝试。执行完sen.CommonTasks.SetPatternSimpleConic语句,sen就把sor的PatternType也会变成SimpleConic。
(2)指向设置
获取sensor指向类型,执行以下语句,得到eSnPtFixed,则可根据命名规律推测出其他指向的名称,如eSnPtTargeted等。
sen.PointingType
设置指向类型,这里选择指向某个对象的类型
sen.SetPointingType(‘eSnPtTargeted’);
fac = sc.Children.New(‘eFacility’,‘myfac’);
添加指向目标
sen.Pointing.Targets.AddObject(fac);
还可以设置指向的时间范围,后面如果用到,会做进一步的介绍。
(3)可见性约束
可见性约束与之前介绍的卫星对象、地面站对象使用类似,这里只给个视线的例子。
senConstraints = sen.AccessConstraints;
LOS = senConstraints.AddConstraint(‘eCstrLOSSunExclusion’);
LOS.Angle = 15;

Sensor对象的二维显示、三维显示,大家可以尝试着研究一下,这里就不重点说明了。