MATLAB与STK互联42:创建星座(Walker星座)

最近在做一个关于星座覆盖性分析的仿真工况,是用MATLAB与STK联合仿真实现。本来想讲整个覆盖性分析的仿真案例,但是感觉涉及到星座创建、覆盖性定义及分析模块,因此还是分两篇来讲解。本篇先讲星座创建的基础内容。
在STK中创建星座的操作步骤如下:
(1)建立种子卫星(seed satellite)。种子卫星顾名思义,就是建立星座的模板卫星。在该步,要将轨道参数设置好。如果卫星有Sensor、antenna等其他子对象,也在这步添加好、设置好。
(2)创建星座。如果不使用MATLAB交互操作步骤如下:选中种子卫星,单击右键,进而选择Walker。
在这里插入图片描述
(3)Walker星座设置。点击上图中的Walker选项,则会出现如下图的界面。
在这里插入图片描述
选择Delta类型,每个轨道面2颗卫星,2个轨道面,相位因子1。选择这组参数,形成Walker星座的参数为4\2\1,即总卫星数量4颗、2个轨道面、相位因子1.且同一轨道面的卫星颜色一样。
(4)创建星座。点击“Create Walker”,效果如下:生成的星座不包括种子卫星。
在这里插入图片描述
以上是利用STK软件手动创建星座。下面利用MATLAB代码实现,代码如下:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘walker’);
sc = root.CurrentScenario;

%建立种子卫星,并设置轨道参数。500km、倾角50°的圆轨道,其他参数选择默认值,并添加一个Sensor(Sensor形状为简单圆锥型,半张角为77°)
sat = sc.Children.New(18,‘mysat’);
kep = sat.Propagator.InitialState.Representation.ConvertTo(‘eOrbitStateClassical’);
kep.SizeShapeType = ‘eSizeShapeAltitude’;
kep.SizeShape.ApogeeAltitude = 500;
kep.SizeShape.PerigeeAltitude = 500;
kep.Orientation.Inclination = 50;
sat.Propagator.InitialState.Representation.Assign(kep);
sat.Propagator.Propagate;

%添加Sensor,并进行设置
sen = sat.Children.New(‘eSensor’,‘mysen’);
sen.CommonTasks.SetPatternSimpleConic(77,1);
%这里加一条跟星座创建无关的设置,如果半张角选用77°,在STK三维视图中将会出现以下的场景:
在这里插入图片描述
这是因为sensor的半张角设置的过大,这种三维视图会影响肉眼观看的效果,尤其是创建星座之后,视图会特别乱,因此要设置掉。
设置语句如下:
sen.VO.ProjectionType = ‘eProjectionEarthIntersections’;
执行效果如下,只保留了Sensor与地球的截线。
在这里插入图片描述
%下面就是生成Walker星座了。这里是利用root.ExecuteCommand来是实现。具体语句如下:
root.ExecuteCommand(‘Walker */Satellite/mysat Type Delta NumPlanes 4 NumSatsPerPlane 3 InterPlanePhaseIncrement 2 ColorByPlane Yes’);
执行该语句,生成一个Delta类型、4轨道面、每个轨道面3颗星、相位因子2、同轨道面颜色相同的星座。Walker星座记为 :12/4/2。效果如下:

在这里插入图片描述
以上则完成了Walker星座的创建。
关于STK中Walker星座参数的说明:
Walker星座有3个类型,分别是Delta、Star、Custom。解释如下:
Delta类型:星座轨道面的升交点赤经均分0~360°范围。
Star类型:星座轨道面的升交点赤经均分0~180°范围。
Custom类型:星座轨道面的升交点赤经均分范围由用户设置。
相位因子(Inter Plane Spacing ):某卫星恰好过升交点时,相邻(东边)轨道圈卫星的纬度俯角。一般公式为:f = i*360/T,T为卫星总数。i取0~n-1,其中n为轨道面数量。
好了,本篇博文到此结束。如果有错误的,请大家批评指正。

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值