STK/MATLAB/Aerospace联合仿真函数总集

 

 

 

 

 

 

整理者:龚德仁

2008年10月7日


目  录

一、Matlab/Simulink、STK联合仿真的优势. 1

二、mexConnect函数详细介绍. 2

2.1 STK服务器命令(STK Server Commands)... 2

2.1.1 stkDefaultConID. 2

2.1.2 stkDefaultHost. 2

2.1.3 stkSetDefaultHost. 2

2.2 应用命令(Application Commands)... 2

2.2.1 stkAutoSave. 2

2.2.2 stkHomeDir. 2

2.2.3 stkCurrentDir. 2

2.2.4 stkSetCurrentDir. 2

2.2.5 stkObjNames. 2

2.2.6 stkTimerStart. 3

2.2.7 stkTimer. 3

2.3 普通对象命令(Generic Object Commands)... 3

2.3.1 stkCentralBody. 3

2.3.2 stkLoadObj. 3

2.3.3 stkSaveObj. 3

2.3.4 stkNewObj. 3

2.3.5 stkUnload. 4

2.3.6 stkUnloadChildren. 4

2.3.7 stkRename. 4

2.3.8 stkTimePeriod. 4

2.3.9 stkTimePeriodInSec. 5

2.3.10 stkValidObj. 5

2.3.11 stkDescrip. 5

2.3.12 stkSetDescrip. 5

2.4 场景命令(Scenario Commands)... 6

2.4.1 stkAnimTime. 6

2.4.2 stkEpoch. 6

2.4.3 stkSetEpoch. 6

2.4.4 stkSetEpochInSec. 6

2.4.5 stkSyncEpoch. 6

2.4.6 stkConvertDate. 6

2.4.7 stkSetTimePeriod. 6

2.4.8 stkSetTimePeriodInSec. 7

2.4.9 stkScenFilePath. 7

2.4.10 stkValidScen. 7

2.5 基本飞行器数据(Basic Vehicle Data)... 7

2.5.1 stkTimePeriod. 7

2.5.2 stkTimePeriodInSec. 7

2.5.3 stkSetTimePeriod. 7

2.6 卫星运动属性(Satellite Propagators)... 8

2.6.1 stkSetPropCart. 8

2.6.2 stkSetPropClassical. 8

2.6.3 stkSetPropEqui. 9

2.6.4 stkSetPropSGP4. 9

2.6.5 stkPropagate. 10

2.7 飞行器位置与速度(Vehicle Position and Velocity)... 10

2.7.1 stkPosVelCBF. 10

2.7.2 stkPosVelCBI. 10

2.7.3 stkEphemerisCBF. 10

2.7.4 stkEphemerisCBI. 11

2.7.5 stkSetEphemerisCBF. 11

2.7.6 stkSetEphemerisCBI. 11

2.7.7 stkLoadEphemeris. 11

2.7.8 stkSaveEphemerisCBF. 12

2.7.9 stkSaveEphemerisCBI. 12

2.7.10 stkSaveDynState. 12

2.7.11 stkDynState. 12

2.8 飞行器姿态(Vehicle Attitude)... 12

2.8.1 stkAttitudeCBF. 12

2.8.2 stkAttitudeCBI. 13

2.8.3 stkSetAttitudeCBF. 13

2.8.4 stkSetAttitudeCBI. 13

2.8.5 stkLoadAttitude. 14

2.8.6 stkSaveAttitudeCBF. 14

2.8.7 stkSaveAttitudeCBI. 14

2.9 基本飞行器姿态类型(Basic Vehicle Attitude Types)... 14

2.9.1 stkSetAttBasic. 14

2.9.2 stkSetAttSpinSun. 15

2.9.3 stkSetAttSpinNadir. 15

2.9.4 stkSetAttYawNadir. 15

2.9.5 stkSetAttSpinning. 16

2.9.6 stkSetAttFixed. 16

2.9.7 stkAttOffset. 17

2.10 飞机,车辆与船舰属性(Aircraft,GroundVehicle and Ship Propagators)... 17

2.10.1 stkSetWaypoints. 17

2.10.2 stkLoadWaypoints. 18

2.10.3 stkSetGreatArcStart. 18

2.11 导弹运动属性(Missile Propagators)... 18

2.11.1 stkSetPropBallistic. 18

2.12 设备与目标(Facilities and Targets)... 18

2.12.1 stkPosVelCBF. 18

2.12.3 stkSetFacPosCBF. 18

2.12.3 stkSetFacPosLLA. 19

2.13 区域目标(Area Targets)... 19

2.13.1 Area Target boundary. 19

2.14 STK工具(STK Tools)... 19

2.14.1 stkAccess. 19

2.14.2 stkReport. 19

2.14.3 stkAccReport. 20

2.14.4 stkFindData. 21

2.15 连接命令(Connect Commands)... 21

2.15.1 stkOpen. 21

2.15.2 stkClose. 21

2.15.3 stkExec. 21

2.15.4 stkConnect. 22

三、aeroToolbox函数详细介绍. 22

3.1 坐标系中的历元与数据函数Coordinate System Epoch andDate functions)... 22

3.1.1 atbGetEpoch. 22

3.1.2 atbSetEpoch. 22

3.1.3 atbDateToEpochSec. 23

3.1.4 atbEpochSecToDate. 23

3.2 坐标系转换(Coordinate Conversions)... 24

3.2.1 atbCbfToCbi. 24

3.2.2 atbCbfToCbiMtx. 24

3.2.3 atbCbfToLhMtx. 24

3.2.4 atbCbfToLla. 24

3.2.5 atbCbfToLlr. 25

3.2.6 atbCbfToVvlhMtx. 25

3.2.7 atbCbiToCbf. 25

3.2.8 atbCbiToCbi. 26

3.2.9 atbCbiToCbiMtx. 26

3.2.10 atbLlaToCbf. 26

3.2.11 atbLlrToCbf. 27

3.2.12 atbCbCoordinates. 27

3.2.13 atbCoordXForm. 27

3.2.14 atbCoordXFormMtx. 28

3.3 转动与四元数(Rotations and Quaternions)... 28

3.3.1 atbAlignVecQuat. 28

3.3.2 atbEulerToMtx. 28

3.3.3 atbEulerToQuat. 29

3.3.4 atbMinRotQuat. 29

3.3.5 atbMtxToEuler. 29

3.3.6 atbMtxToQuat. 29

3.3.7 atbMtxToYpr. 30

3.3.8 atbQuatToMtx. 30

3.3.9 atbQuatXquat. 30

3.3.10 atbYprToMtx. 30

3.3.11 atbYprToQuat. 31

3.3.12 atbInterpQuat. 31

3.4 中心对象操作与程序(Central Body Operations andRoutines)... 31

3.4.1 atbCbEphemeris. 31

3.4.2 atbCbGetTangent. 31

3.4.3 atbCbGravParam. 32

3.4.4 atbCbGrazeAlt. 32

3.4.5 atbCbGrazeAngle. 32

3.4.6 atbCbIntersect. 33

3.4.7 atbCbLclRadCen. 33

3.4.8 atbCbLclRadDet. 33

3.4.9 atbCbSurfDistCen. 34

3.4.10 atbCbSurfDistDet. 34

3.4.11 atbCbSurfNormCen. 34

3.4.12 atbCbSurfNormDet. 34

3.5 指向,星历与姿态文件(Waypoint, Ephemeris andAttitude Files)... 35

3.5.1 atbReadAttitudeCBF. 35

3.5.2 atbReadAttitudeCBI. 35

3.5.3 atbWriteAttitudeCBF. 35

3.5.4 atbWriteAttitudeCBI. 35

3.5.5 atbReadEphemerisCBF. 36

3.5.6 atbReadEphemerisCBI. 36

3.5.7 atbWriteEphemerisCBF. 36

3.5.8 atbWriteEphemerisCBI. 36

3.5.9 atbWriteWaypointFile. 36

3.6 位置与速度函数(Position and Velocity Functions)... 37

3.6.1 atbGeometry. 37

3.6.2 atbGenGreatArc. 39

3.6.3 atbCreateDynStateCBF. 39

3.6.4 atbCreateDynStateCBI. 39

3.6.5 atbLhQuatCen. 40

3.6.6 atbLhQuatCBFDet. 40

3.6.7 atbFlatten. 41

3.7 轨道要素转换(Orbit Element Set Conversions)... 41

3.7.1 atbOrbCartToDel. 41

3.7.2 atbOrbCartToEqui. 41

3.7.3 atbOrbCartToMod. 42

3.7.4 atbOrbCartToSphere. 42

3.7.5atbOrbCartToMixedSphere. 43

3.7.6 atbOrbDelToCart. 43

3.7.7 atbOrbEquiToCart. 43

3.7.8 atbOrbModToCart. 43

3.7.9 atbOrbSphereToCart. 43

3.7.10atbOrbMixedSphereToCart. 43

3.8 轨道根数分量的转换(Orbit Element ParameterConversions)... 43

3.8.1 atbOrbEccToTrue. 43

3.8.2 atbOrbTrueToEcc. 44

3.8.3 atbOrbMeanToTrue. 44

3.8.4 atbOrbTrueToMean. 44

3.8.5 atbOrbLanToRaan. 44

3.8.6 atbOrbRaanToLan. 44

3.8.7 atbOrbPeriRadToPeriod. 44

3.8.8 atbOrbPeriodToPeriRad. 45

3.8.9atbOrbPeriRadToSMajAxis. 45

3.8.10atbOrbSMajAxisToPeriRad. 45

3.8.11 atbOrbTPANToTrue. 45

3.8.12 atbOrbTrueToTPAN. 45

3.8.13 atbOrbTPPToTrue. 46

3.8.14 atbOrbTrueToTPP. 46

3.9 DTED操作(DTED operations)... 46

3.9.1 atbCbListDtedTypes. 46

3.9.2 atbCbListDted. 46

3.9.3 atbCbAddDtedSource. 47

3.9.4 atbCbDtedSourceUI. 47

3.9.5 atbLoadNimaDted. 47

3.9.6 atbCbRemDtedSource. 47

3.9.7 atbCbGetDtedSourceForPos. 47

3.9.8 atbGetDtedPatch. 48

3.9.9 atbClearDtedPatch. 48

3.9.10 atbAllDtedPatches. 48

3.9.11 atbDtedPatchInfo. 48

3.9.12 atbDtedElev. 48

3.9.13 atbDtedPatchElev. 49

3.9.14 atbAzElMask. 49

3.9.15 atbDtedRes. 49

3.9.16 atbDtedLOSExist. 49

3.10 运动属性(Propagators)... 50

3.10.1 atbLambertFixedTime. 50

3.10.2 atbLambertMinEnergy. 50

3.10.3 atbLambertMinEccen. 50

3.10.4 atbKeplerProp. 50

3.10.5 atbJ2Prop. 51

3.10.6 atbJ4Prop. 51

3.10.7 atbLaunchProp. 52

3.10.8atbMissilePropDataFixedTime. 52

3.10.9atbMissilePropDataFixedAlt. 53

3.10.10atbMissilePropDataFixedDelta. 53

3.10.11atbMissilePropDataMinEnergy. 53

3.10.12 atbTLERead. 53

3.10.13 atbTLEGetAll. 54

3.10.14 atbTLEDelete. 54

3.10.15 atbTLEProp. 54

3.10.16 atbTLEEpoch. 54

3.10.17 atbTLEInfo. 54

3.11 导航精度(Navigation Accuracy)... 55

3.11.1 atbComputeDOP. 55

3.12 地图数据(Map Data)... 56

3.12.1 atbMapDetails. 56

3.12.2 atbPlotMapDetails. 56

3.13 覆盖网格(Coverage Grids)... 56

3.13.1 atbGetPolyHandle. 56

3.13.2 atbInsidePoly. 56

3.13.3 atbClearPolyHandle. 57

四、stkExec使用总结. 57

4.1 场景动画控制... 57

4.1.1 控制按钮... 57

五、示例. 57

4.1 卫星编队之构型设计... 57

4.2 使用心得... 58


一、Matlab/Simulink、STK联合仿真的优势

STK/MATLAB,SIMULINKSTK与Matlab联合实现可视化仿真集成,该方案可以适用于航空航天、航海、作战模拟、电子对抗、卫星导航定位、遥感遥测、卫星通信等各个可视化仿真集成案例之中。

STK/MATLAB接口为STK和MATLAB提供了双向通讯功能,在MATLAB工作区通过Connect模块以TCP/IP协议打开STK端口。 利用超过150个MATLAB命令增强STK的轨道、弹道、轨迹的分析能力,MexConnect还提供在MATLAB命令行直接使用任意 STK/Connect 命令的功能。MexConnect工具可以建立各种不同级别的STK对象,进行操作并生成报告。所有STK的数据,包括动态位置、速度和姿态数据,可以返回到MATLAB工作空间,用于数学分析。宇航工具箱让MATLAB用户可以输出多重坐标系,以及符合STK格式的星历和姿态文件用于VO模块的三维可视 化。另外此工具还可以使用STK附加模块的功能如STK/COMM(通信),STK/Coverage (覆盖)和STK/Radar(雷达)。

表1 STK模块

基本模块

 

基本版
专业版
三维显示
高级三维显示

Satellite Tool Kit(STK)
STK/Professioal(STK/PRO)
STK/Visualization Option(STK/VO)
STK/Advanced VO

分析模块

 

轨道机动
链路分析
通信分析
接近分析
覆盖分析
拦截飞行工具
导弹飞行工具
精确定轨
雷达分析
空间环境

STK/Astrogator
STK/Chains
STK/Comm
STK/Conjunction Analysis Tools
STK/Coverage
STK/Interceptor Flight Tool(IFT)
STK/Missile Flight Tool(MFT)
STK/Precision Orbit DeterminationSystem(PODS)
STK/Radar

STK/Space Environment

综合数据

 

高精度数字地图
高分辨率地球影像
雷达高级环境
全球三维地形

STK/High Resolution Maps
STK/VO Earth Imagery
STK/Radar Advanced Environment(RAE)
STK/Terrain

扩展与接口

 

连接模块
网络实时播放
MATlLAB接口
分布式仿真
地理信息接口
程序开发库

STK/Connect and STK/Server
STK/WebCast
STK/MATLAB Interface
STK/Distributed Interactive Simulation(DIS)
STK/Geographic InformationSystems(GIS)
STK/Programmer's Library(PL)

二、mexConnect函数详细介绍

2.1 STK服务器命令(STK Server Commands)

2.1.1 stkDefaultConID

作用:返回STK的默认标识

2.1.2 stkDefaultHost

作用:返回STK的默认地址

2.1.3 stkSetDefaultHost

作用:设置STK的新地址

用法:stkSetDefaultHost('host:port')

2.2 应用命令(Application Commands)

2.2.1 stkAutoSave

作用:自动保存STK

用法:stkAutoSave('onOff','directory',period)

      stkAutoSave('onOff')

说明:onOff- 'on' or 'off'

        directory  - string pathname of autosave directory

        period    -seconds between saves

2.2.2 stkHomeDir

作用:返回STK的安装路径

用法:dir= stkHomeDir

2.2.3 stkCurrentDir

作用:返回STK的当前路径

用法:dir= stkHomeDir

2.2.4 stkSetCurrentDir

作用:设置STK的当前路径

用法:stkSetCurrentDir('directory')

2.2.5 stkObjNames

作用:返回STK中对象的名字

用法:objNames= stkObjNames

     objNames = stkObjNames(classCell)

说明:classCell- optional cell array of STK class names.

        objNames- cell array of STK object names 2.2.4 stkSetCurrentDir

2.2.6 stkTimerStart

作用:启动计时器

用法:stkTimerStart

2.2.7 stkTimer

作用:返回计时器时间

用法:[split,total] = stkTimer

说明:split- elapsed time since last stkTimer command

     total - elapsed time since last stkTimerStart command

2.3 普通对象命令(Generic Object Commands)

2.3.1 stkCentralBody

作用:返回坐标系的中心体

用法:centBody= stkCentralBody('objPath')

说明:objPath  - String name of object obtained fromstkObjNames.

                If ommitted, the scenario central body is returned.

        centBody  - String name of object coordinate systemcentral body.

备注:更多内容参见stkObjNames、aeroToolbox。

2.3.2 stkLoadObj

作用:导入对象文件

用法:stkLoadObj('parentPath','class', 'fileName')

     stkLoadObj('scenarioFileName')

说明:parentPath  - Valid path, may be obtained fromstkObjNames.

        class       - Valid class name.  Consult STK documentation for a

                    list of valid classes.  Names are case-sensitive.

        fileName   - File path of object file

2.3.3 stkSaveObj

作用:将对象保存

用法:stkSaveObj('objPath','dirName')

     stkSaveObj('objPath')

说明:objPath       - Valid path, may be obtained fromstkObjNames.

        dirName    - Directory path of object file.  When omitted,

                    the default directory is used.

2.3.4 stkNewObj

作用:创建一个新对象

用法:stkNewObj('parentPath','class', 'name')

说明:parentPath   - Valid path, may be obtained from stkObjNames.

        class           - Valid class name.  Consult STK documentation for a

                    list of valid classes.  Names are case-sensitive.

        name       -Name of new object

备注:创建场景时,语法为stkNewObj('Scenario','  ','Scenario1')

2.3.5 stkUnload

作用:卸载对象

用法:stkUnload('objPath')

说明:objPath       - Valid path, may be obtained fromstkObjNames.

2.3.6 stkUnloadChildren

作用:卸载对象的所有子对象

用法:stkUnloadChildren('objPath')

说明:objPath              - Valid path, may be obtained fromstkObjNames.

2.3.7 stkRename

作用:将对象重命名

用法:stkRename('objPath','newName')

说明:objPath              - Valid path, may be obtained fromstkObjNames.

        newName      -New instance name.

2.3.8 stkTimePeriod

作用:获取对象起止时间

用法:timePeriod= stkTimePeriod('dateFormat')

     timePeriod = stkTimePeriod('objPath', 'dateFormat')

说明:

        objPath           - Valid vehicle object path, defaults to scenario path.

timePeriod   - Structure array with start andstop fields.

                Each field contains a string date value.

dateFormat  - Valid date format.  Options are:

                 EPOCHSEC EPOCHSECOND

                 EPOCHMIN EPOCHMINUTE

                 EPOCHHR EPOCHHOUR

                 EPOCHDAY

                 GMT ZULU GMTSYSTEM

                 GREGLCL GREGORIANLOCAL GREGORIANLCL

                 GREGUTC GREGORIANUTC

                  GREGTAI GREGORIANTAI

                 GREGTDT GREGORIANTDT

                 GREGGPSTIME GREGGPS GREGORIANGPSTIME

                 GPSTIME GPS

                 JULDATE JULIANDATE

                 JULLCL JULIANLOCAL JULIANLCL

                 JULUTC JULIANUTC

                 JUL4 JULIAN4

                 JULIAN4UTC

                 JDATEOFF JDATEOFFSET JULDATEOFFSET

                 JULEPHEMDATE JULIANEPHEMERISDATE

                 JULIANEPHEM

                 JULTAI JULIANTAI

                  MISELAP MISSIONELAPSED

                 MODJULDATE MODIFIEDJULIANDATE

                 YYDDD

                 YYDDD.DDD

                 YYYYDDD

                 YYYYDDD.HHMMSS

                 YYYYMMDD

                 YYYYMMDD.DDD

                  YYYY/MM/DDTIME

                 YYYY/MM/DD

 备注:更对内容参见stkConvertDate、stkObjNames

2.3.9 stkTimePeriodInSec

作用:获取对象起止时间,以s为单位

用法:[start,stop] = stkTimePeriodInSec(objPath)

      [start, stop] = stkTimePeriodInSec

说明:objPath- valid object path, see stkObjNames. When

             not provided, the scenario time period is returned.

     start, stop - time in seconds

2.3.10 stkValidObj

作用:检查对象的有效性

用法:result=  stkValidObj('path')

说明:path     - object path name

        result  - 1 if valid, 0 otherwise

2.3.11 stkDescrip

作用:获取对象的描述

用法:description= stkDescrip('objPath', 'shortLong')

说明:objPath              - Valid path, may be obtained fromstkObjNames.

        shortLong      -Type of description to get, 'short' or 'long'.

2.3.12 stkSetDescrip

作用:设置对象的描述

用法:stkSetDescrip('objPath','shortLong', 'description')

说明:objPath              - Valid path, may be obtained fromstkObjNames.

        shortLong      - Type of description to set, 'short' or'long'.

        description    - Description text.

2.4 场景命令(Scenario Commands)

2.4.1 stkAnimTime

作用:返回当前动画时间

用法:time= stkAnimTime

说明:time        -current STK animation time (sec)

2.4.2 stkEpoch

作用:返回当前场景历元

用法:epoch= stkEpoch('dateFormat')

说明:dateFormat  - Valid date format.

epoch      - string representation of scenarioepoch. 

2.4.3 stkSetEpoch

作用:设置场景历元

用法:stkSetEpoch('epoch','dateFormat')

说明:dateFormat  - Valid date format.

epoch      - string representation of scenario epoch.

2.4.4 stkSetEpochInSec

作用:设置场景历元

用法:stkSetEpochInSec(newEpoch)

说明:newEpoch- number of seconds elapsed between current epoch

                and the desired epoch.

2.4.5 stkSyncEpoch

作用:aeroToolbox与STK场景有同样的历元

用法:stkSyncEpoch

备注:STKand aeroToolbox maintain separate scenario epochs.

      Thisfunction should be called anytime the STK epoch is changed

     through mexConnect or via the STK GUI.

2.4.6 stkConvertDate

作用:转换日期格式

用法:newDate= stkConvertDate('date', 'format', 'newFormat')

2.4.7 stkSetTimePeriod

作用:设置场景或卫星的时间周期

用法:stkSetTimePeriod('start','stop', 'dateFormat')

     stkSetTimePeriod('satpath', 'start', 'stop', 'dateFormat')

说明:satpath - satellite path name,defaults to scenario

        start, stop    - string dates

2.4.8 stkSetTimePeriodInSec

作用:设置场景的时间周期

用法:stkTimePeriodInSec(start,stop)

说明:start, stop - time in seconds

2.4.9 stkScenFilePath

作用:返回场景文件的路径

用法:path= stkScenFilePath

说明:path         - current STK scenariodirectory

2.4.10 stkValidScen

作用:检查可用的场景

用法:result= stkValidScen

说明:result  - 1 if valid, 0 otherwise

2.5 基本飞行器数据(Basic Vehicle Data)

2.5.1 stkTimePeriod

作用:获取对象的时间周期

用法:timePeriod= stkTimePeriod('dateFormat')

     timePeriod  =stkTimePeriod('objPath', 'dateFormat')

说明:objPath        - Valid vehicle objectpath, defaults to scenario path.

        timePeriod   - Structure array with start and stopfields.

                     Each fieldcontains a string date value.

2.5.2 stkTimePeriodInSec

作用:获取对象的时间周期

用法:[start,stop] = stkTimePeriodInSec(objPath)

     [start, stop] = stkTimePeriodInSec

说明:objPath - valid object path, seestkObjNames.  When

                not provided,the scenario time period is returned.

      start, stop - time inseconds

2.5.3 stkSetTimePeriod

作用:设置场景或对象的时间周期

用法:stkSetTimePeriod('start','stop', 'dateFormat')

     stkSetTimePeriod('satpath', 'start', 'stop', 'dateFormat')

说明:satpath - satellite path name,defaults to scenario

        start, stop    - string dates

2.6 卫星运动属性(Satellite Propagators)

2.6.1 stkSetPropCart

作用:设置笛卡尔坐标系下卫星运动的参数

用法:stkSetPropCart('objPath','propagator', 'coordSystem', ...

              tStart, tStop,dt, orbitEpoch, pos, vel, coordEpoch)

说明:objPath - Valid path, may beobtained from stkObjNames.

        propagator - 'TwoBody','J2Perturbation', 'J4Perturbation', 'HPOP' or 'PODS'

                   Thisparameter is case sensitive!

        coordSystem - stringname of coordinate system, valid choices are:

                    'Fixed','J2000', 'MeanOfDate', 'MeanOfEpoch',

                   'TrueOfDate', 'TrueOfEpoch', 'B1950',

                   'TEMEOfDate', 'TEMEOfEpoch', 'AlignmentAtEpoch'.

                   Thisparameter is case sensitive!

        tStart, tStop - times inepoch seconds.

        dt - time step inseconds.

        orbitEpoch - referencetime of orbit data, in scenario epoch seconds

        pos - 3x1 vector ofpositions at reference time, meters

        vel - 3x1 vector ofvelocity at reference time, meters/sec

        coordEpoch - coordinatesystem epoch, required by all '...OfEpoch'

                   coordinatesystems.

2.6.2 stkSetPropClassical

作用:设置经典轨道根数描述下卫星运动的参数

用法:stkSetPropClassical('objPath','propagator', 'coordSystem', ...

               tStart, tStop,dt, orbitEpoch, semimajorAxis, eccentricity,...

               inclination,argOfPerigree, RAAN, meanAnomaly, coordEpoch)

说明:objPath - Valid path, may beobtained from stkObjNames.

        propagator - 'TwoBody','J2Perturbation', 'J4Perturbation', 'HPOP' or 'PODS'

                   Thisparameter is case sensitive!

        coordSystem - stringname of coordinate system, valid choices are:

                    'Fixed', 'J2000', 'MeanOfDate','MeanOfEpoch',

                   'TrueOfDate', 'TrueOfEpoch', 'B1950',

                   'TEMEOfDate', 'TEMEOfEpoch', 'AlignmentAtEpoch'.

                   Thisparameter is case sensitive!

        tStart, tStop - times inepoch seconds.

        dt - time step inseconds.

        orbitEpoch - referencetime of orbit data, in scenario epoch seconds

        coordEpoch - coordinatesystem epoch, required by all '...OfEpoch'

                   coordinatesystems.

semimajorAxis - units in meters

eccentricity - unitless

inclination - units in radians

argOfPerigree - units in radians

RAAN - units in radians

meanAnomaly - units in radians

2.6.3 stkSetPropEqui

作用:设置春分点坐标下卫星运动的参数

用法:stkSetPropEqui('objPath','propagator', 'coordSystem', ...

               tStart, tStop,dt, orbitEpoch, semimajorAxis, ...

               h, k, p, q,meanLongitude, formulation, coordEpoch)

说明:objPath - Valid path, may beobtained from stkObjNames.

 propagator - 'TwoBody','J2Perturbation', 'J4Perturbation', 'HPOP' or 'PODS'

                   Thisparameter is case sensitive!

 coordSystem - string name ofcoordinate system, valid choices are:

                   'Fixed','J2000', 'MeanOfDate', 'MeanOfEpoch',

                   'TrueOfDate','TrueOfEpoch', 'B1950',

                   'TEMEOfDate','TEMEOfEpoch', 'AlignmentAtEpoch'.

                   Thisparameter is case sensitive!

tStart, tStop - times in epoch seconds.

 dt - time step in seconds.

 orbitEpoch - reference timeof orbit data, in scenario epoch seconds

 coordEpoch - coordinatesystem epoch, required by all '...OfEpoch'

                 coordinatesystems.

 semimajorAxis - units inmeters

 h, k, p, q - unitless

 meanLongitude - units inradians

 formulation - string,'Posigrade' or 'Retrograde'

2.6.4 stkSetPropSGP4

作用:设置SGP4描述下卫星运动的参数

用法:stkSetPropSGP4('objPath', tStart,tStop, dt, tleInfo)

     stkSetPropSGP4('objPath', tStart, tStop, dt, ...

               'SSC','orbitEpoch', meanMotion, ...

               eccentricity,inclination, argOfPerigree. ...

               RAAN, meanAnomaly, meanMotionDot,meanMotionDotDot, bStar)

说明:objPath - Valid path, may beobtained from stkObjNames.

 tStart, tStop - times inepoch seconds.

 dt - time step in seconds.

 tleInfo - tleInfo fromatbTLEInfo

 SSC - U.S. Space SurveillanceCenter Catalog Number (as a char string)

 orbitEpoch - string date,must be in YYDDD.SSSSSSS format

 meanMotion - rev/day

 eccentricity - unitless

 inclination - units inradians

 argOfPerigree - units inradians

 RAAN - units in radians

 meanAnomaly - units inradians

 meanMotionDot

 meanMotionDotDot

 bStar - m^2/kg

2.6.5 stkPropagate

作用:设置卫星运动的参数

用法:stkPropagate('satPath', tStart,tStop)

说明:satPath - Valid satellite path,may be obtained from stkObjNames.

 tStart, tStop - times inepoch seconds.

2.7 飞行器位置与速度(Vehicle Position and Velocity)

2.7.1 stkPosVelCBF

作用:获取中心体本体系下位置和速度

用法:[pos, vel] =stkPosVelCBF('objPath', time)

说明:objPath - Vehicle or facilitypath, may be obtained from stkObjNames.

        time    - Scenario time (sec).

        pos     -Central Body Fixed position (meters).

        vel     -Central Body Fixed velocity (meters/sec).

备注:CBF coordinates may be convertedto any other system using

      commands in the Aerospace Toolbox.  The command stkCentralBody

      may be used to obtain the central body name ofthe object.

2.7.2 stkPosVelCBI

作用:获取中心体惯性系下位置和速度

用法:[cbiPos, cbiVel] = stkPosVelCBI('vehPath',time)

说明:vehPath - Vehicle path, may beobtained from stkObjNames.

        time    - Scenario time (sec).

        cbiPos  - Inertial position (meters).

        cbiVel  - Inertial velocity (meters/sec).

备注:CBI coordinates may be convertedto any other system using

      commands in the Aerospace Toolbox.  The command stkCentralBody

      may be used to obtain the central body name ofthe object.

2.7.3 stkEphemerisCBF

作用:本体系飞行器星历数据

用法:[time, pos, vel, cb] =stkEphemerisCBF(objPath, dt)

      [time, pos, vel, cb] =stkEphemerisCBF(objPath, dt, start, stop)

说明:objPath - valid STK object path

      dt - time interval for data

      start - starting time (sec)

      stop - stop time (sec)

      time - 1xN vector (sec)

      pos - CBF cartesian position, 3xN (meters)

      vel - CBF cartesian velocity, 3xN (meters/sec)

      cb - central body name

2.7.4 stkEphemerisCBI

作用:惯性系下的飞行器星历数据

用法:[time, pos, vel, cb] =stkEphemerisCBI(objPath, dt)

      [time, pos, vel, cb] =stkEphemerisCBI(objPath, dt, start, stop)

说明:objPath - valid STK object path

      dt - time interval for data

      start - starting time (sec)

      stop - stop time (sec)

      time - 1xN vector (sec)

      pos - CBF cartesian position, 3xN (meters)

      vel - CBF cartesian velocity, 3xN (meters/sec)

      cb - central body name

2.7.5 stkSetEphemerisCBF

作用:本体系下设置飞行器星历数据

用法:stkSetEphemerisCBF(objPath, cb,time, pos, vel)

stkSetEphemerisCBF(objPath,cb, time, pos, vel, eFilePath)

说明:objPath - valid STK object path

      cb -central body name

      time - 1xN vector (sec)

      pos -CBF cartesian position, 3xN (meters)

      vel -CBF cartesian velocity, 3xN (meters/sec)

      eFilePath - file name to create.  Default is to create a file in the scenariodirectory named {objName}.e, where objName is derived from the objPath.

2.7.6 stkSetEphemerisCBI

作用:惯性系下设置飞行器星历数据

用法:stkSetEphemerisCBI(objPath, cb,time, pos, vel)

stkSetEphemerisCBI(objPath, cb, time, pos, vel, eFilePath)

说明:pos - CBI cartesian position, 3xN(meters)

      vel - CBI cartesian velocity, 3xN (meters/sec)

2.7.7 stkLoadEphemeris

作用:从文件中载入星历

用法:stkLoadEphemeris('objPath','fileName')

说明:objPath - Valid path, may beobtained from stkObjNames.

fileName - file name.

2.7.8 stkSaveEphemerisCBF

作用:保存星历到文件

用法:stkSaveEphemerisCBF('objPath',timeStep, 'fileName')

      stkSaveEphemerisCBF('objPath',timeStep, 'fileName', startTime, stopTime)

说明:objPath - Valid path, may beobtained from stkObjNames.

        timeStep - Granularityof time steps (sec).

        fileName - file name.

        startTime - start time(sec).

        stopTime - stop time(sec).

2.7.9 stkSaveEphemerisCBI

作用:保存星历到文件

用法:stkSaveEphemerisCBF('objPath',timeStep, 'fileName')

      stkSaveEphemerisCBF('objPath',timeStep, 'fileName', startTime, stopTime)

说明:objPath - Valid path, may beobtained from stkObjNames.

        timeStep - Granularityof time steps (sec).

        fileName - file name.

        startTime - start time(sec).

        stopTime - stop time(sec).

2.7.10 stkSaveDynState

作用:保存动力学数据

用法:stkSaveDynState('objPath','varName', 'fileName', dT)

说明:objPath - string name of vehicleor facility

        varName - variable namefor MAT file

        fileName - MAT file name

        dT - time step ofdynamic state data

2.7.11 stkDynState

作用:产生动力学数据

用法:dynState = stkDynState(objPath,dt)

说明:objPath - valid STK object path

      dt - time interval for data

      dynState - dynamic state data structure

2.8 飞行器姿态(Vehicle Attitude)

2.8.1 stkAttitudeCBF

作用:飞行器姿态数据

用法:[time, quats, cb] =stkAttitudeCBF(objPath, dt)

[time, quats, cb] = stkAttitudeCBF(objPath, dt, start, stop)

说明:objPath - valid STK object path

      dt - time interval for data

     start - starting time(sec)

     stop - stop time (sec)

     time - 1xN vector (sec)

     quats - CBF to bodyquaternions, 4xN

     cb - central body name

2.8.2 stkAttitudeCBI

作用:飞行器姿态数据

用法:[time, quats, cb] =stkAttitudeCBI(objPath, dt)

      [time,quats, cb] = stkAttitudeCBI(objPath, dt, start, stop)

说明:objPath - valid STK object path

      dt - time interval for data

      start -starting time (sec)

      stop -stop time (sec)

      time -1xN vector (sec)

      quats -CBI to body quaternions, 4xN

      cb -central body name

2.8.3 stkSetAttitudeCBF

作用:设置飞行器姿态

用法:stkSetAttitudeCBF(objPath, cb,time, quats)

     stkSetAttitudeCBF(objPath, cb, time, quats, aFilePath)

说明:objPath - valid STK object path

      cb - central body name

      time -1xN vector (sec)

      quats -CBF to body quaternions, 4xN

      aFilePath - file name to create.  Default is to

        create a file in thescenario directory named

        {objName}.a, whereobjName is derived from the

        objPath.

2.8.4 stkSetAttitudeCBI

作用:设置飞行器姿态

用法:stkSetAttitudeCBI(objPath, cb,time, quats)

     stkSetAttitudeCBI(objPath, cb, time, quats, aFilePath)

说明:objPath - valid STK object path

      cb - central body name

      time -1xN vector (sec)

      quats -CBI to body quaternions, 4xN

      aFilePath - file name to create.  Default is to

        create a file in thescenario directory named

        {objName}.a, whereobjName is derived from the

        objPath.

2.8.5 stkLoadAttitude

作用:从文件载入姿态

用法:stkLoadAttitude('objPath','fileName')

说明:objPath - Valid path, may beobtained from stkObjNames.

        fileName - file name.

2.8.6 stkSaveAttitudeCBF

作用:保存姿态到文件

用法:stkSaveAttitudeCBF('objPath',timeStep, 'fileName')

     stkSaveAttitudeCBF('objPath', timeStep, 'fileName', startTime, stopTime)

说明:objPath - Valid path, may beobtained from stkObjNames.

        timeStep - Granularityof time steps (sec).

        fileName - file name.

        startTime - start time(sec).

        stopTime - stop time(sec).

2.8.7 stkSaveAttitudeCBI

作用:保存姿态到文件

用法:stkSaveAttitudeCBI('objPath',timeStep, 'fileName')

     stkSaveAttitudeCBI('objPath', timeStep, 'fileName', startTime, stopTime)

说明:objPath - Valid path, may beobtained from stkObjNames.

        timeStep - Granularityof time steps (sec).

        fileName - file name.

        startTime - start time(sec).

        stopTime - stop time(sec).

2.9 基本飞行器姿态类型(Basic Vehicle Attitude Types)

2.9.1 stkSetAttBasic

作用:设置基本的姿态类型

用法:stkSetAttBasic('satPath','attType', offset)

说明:satPath - string name ofsatellite

        offset - either analignOffset or constraintOffset, depending on type (radians)

        attType - attitude typestring.  Valid choices are:

              NADIRECIVEL

              NADIRECFVEL

              NADIRSUN

              NADIRORBIT

              ECIVELNADIR

              ECFVELNADIR

              SUNNADIR

              SUNECLIPTIC

              SUNECIZ

              SUNOCCULT

2.9.2 stkSetAttSpinSun

作用:旋转轴指向太阳

用法:stkSetAttSpinSun('satPath', rate,offset, epoch)

说明:satPath - string name ofsatellite

        rate - angular spin rate(rpm)

        offset - angular(radians)

        epoch - control phase ofspin (epoch sec)

备注:The body-fixed Z axis points tothe Sun and the satellite

   rotates about the Sunvector. The spin rate is specified in revolutions

   per minute; positive valuesindicate rotation in a right-handed

   sense with respect to thespin axis. The initial orientation of

   the satellite is specifiedby using the spin offset and offset

   epoch fields. The spinoffset is an angular measure of the

   difference between thesatellite orientation at the offset

   epoch from the orientationachieved by orienting the Z axis.

2.9.3 stkSetAttSpinNadir

作用:旋转轴指向地面

用法:stkSetAttSpinNadir('satPath',rate, offset, epoch)

说明:satPath - string name ofsatellite

   rate -angular spin rate (rpm)

   offset- angular (radians)

   epoch- control phase of spin (epoch sec)

       备注:The satellite's Z axis is assumedto be the spin axis

   and aligned to nadir. Thespin rate is specified in revolutions

   per minute; positive valuesindicate rotation in a right-handed

   sense with respect to thespin axis. The initial orientation of

   the satellite is specifiedby using the spin offset and offset

   epoch fields. The spinoffset is an angular measure of the

   difference between thesatellite orientation at the offset

   epoch from the orientationachieved by orienting the Z axis.

2.9.4 stkSetAttYawNadir

作用:偏航轴指向地面

用法:stkSetAttYawNadir('satPath','PR', pitch, roll)

stkSetAttYawNadir('satPath', 'EULER', angle1, angle2, seq)

     stkSetAttYawNadir('satPath', 'RaDec', RAAN, declination)

说明:satPath - string name ofsatellite

       pitch, roll, angle1,angle2, RAAN, declination - yaw axis orientation angles (radians)

       seq - Euler anglesequence, can be 12, 21, 31 or 32

备注:The satellite's Z axis is fixedin inertial space. The direction

    of the satellite Z axis is specified throughtwo angles, as determined

   by the Orientation Type. The satellite X axisis then constrained, via

   motion in the yaw sense,toward the nadir direction. This profile is

   useful for satellites inhighly elliptical orbits.

2.9.5 stkSetAttSpinning

作用:选装轴任意指向

用法:stkSetAttSpinning('satPath',rate, offset, epoch, 'PR', pitch, roll)

     stkSetAttSpinning('satPath', rate, offset, epoch, 'EULER', angle1,angle2, seq)

     stkSetAttSpinning('satPath', rate, offset, epoch, 'RaDec', RAAN,declination)

说明:satPath - string name of satellite

        rate - angular spin rate(rpm)

        offset - angular(radians)

        epoch - control phase ofspin (epoch sec)

        pitch, roll, angle1,angle2, RAAN, declination - spin axis orientation angles (radians)

        seq - Euler anglesequence, can be 12, 21, 31 or 32

备注:The satellite's Z axis is assumedto be the spin axis and

    is fixed in inertialspace.  The direction of the spin axis

    is specified through twoangles, as determined by the

    Orientation Type. The spinrate is specified in revolutions

    per minute; positivevalues indicate rotation in a right-handed

    sense with respect to thespin axis. The initial orientation of

    the satellite is specifiedby using the spin offset and offset

    epoch fields. The spinoffset is an angular measure of the

    difference between thesatellite orientation at the offset

    epoch from the orientationachieved by orienting the Z axis.

2.9.6 stkSetAttFixed

作用:姿态固定

用法:stkSetAttFixed('satPath', 'YPR',yprVec, yprSeq)

     stkSetAttFixed('satPath', 'EULER', eulerVec, eulerSeq)

     stkSetAttFixed('satPath', 'QUAT', quaternion)

说明:satPath - string name ofsatellite

        yprVec - CBI yaw, pitch,roll vector (3x1, radians)

        yprSeq - rotationsequence, a string specifying

               'RPY', 'RYP','PRY', 'PYR', 'YRP' or 'YPR'

        eulerVec - CBI eulerangle vector (3x1, radians)

        eulerSeq - rotationsequence, an integer specifying

                 121, 123, 131,132, 212, 213, 231, 232,

                 312, 313, 321or 323

        quaternion - CBIorientation quaternion, 4x1

备注:Maintains a constant orientationof the body-fixed axes

     with respect to the inertial coordinatesystem. The

     orientation of the body-fixed axes isspecified by three

     angles or a quaternion, as determined by theOrientation Type.

2.9.7 stkAttOffset

作用:姿态偏移

用法:stkAttOffset('objPath', offset)

说明:objPath - Valid path, may beobtained from stkObjNames.

        offset  - Angular offset (radians).

 

     Offset is applied as anAlignOffset is attitude type is:

         Sun alignment withnadir constraint

         Sun alignment withecliptic normal constraint

         Sun alignment withECI Z axis constraint

         Sunalignment-occultation normal constraint

 

     Offset is applied as anConstraintOffset is attitude type is:

         Nadir alignment withECF velocity constraint

         Nadir alignment withECI velocity constraint

         Nadir alignment withSun constraint

         ECI velocityalignment with nadir constraint

         ECF velocityalignment with radial constraint

         Nadir alignment withorbit normal constraint

 

     There is no change ifattitude type is:

         Yaw to nadir

         Spinning

         Spin about Nadir

         Spin about Sun vector

         Inertially fixed

2.10 飞机,车辆与船舰属性(Aircraft, GroundVehicle andShip Propagators)

2.10.1 stkSetWaypoints

作用:设置路径点

用法:stkSetWaypoints('objPath','startTime', llaMat, speedVec)

     stkSetWaypoints('objPath', 'startTime', llaMat, speedVec, accelVec)

     stkSetWaypoints('objPath', 'startTime', llaMat, speedVec, wpFilePath)

      stkSetWaypoints('objPath', 'startTime',llaMat, speedVec, accelVec, wpFilePath)

说明:objPath - valid STK object path

      startTime  - start time date string.  See stkEpoch for valid formats.

      llaMat  - Matrix of LLA positions, 3xN, (radians andmeters)

      speedVec     - Vector of speeds Nx1 (meters/sec)

      accelVec  - Vector of accelerations, Nx1 (meters/sec^2)

      wpFilePath - file nameto create.  Default is to

        create a file in thescenario directory named

        {objName}.ga, whereobjName is derived from the

        objPath.

2.10.2 stkLoadWaypoints

作用:载入路径点

用法:stkLoadWaypoints('objPath','fileName')

说明:objPath - Valid path, may beobtained from stkObjNames.

        fileName - file name.

2.10.3 stkSetGreatArcStart

作用:设置起始时间

用法:stkSetGreatArcStart('gaVehPath',startTime)

说明:gaVehPath - string name of aircraft,groundVehicle or ship

        startTime - time atfirst waypoint (epoch seconds)

2.11 导弹运动属性(Missile Propagators)

2.11.1 stkSetPropBallistic

作用:设置弹道导弹运动属性

用法:stkSetPropBallistic('missilePath',tLaunch, TOF, dT, launchLLA, impactLLA)

说明:missilePath- Valid missile path, may be obtained from stkObjNames.

        tLaunch- launch time, epoch seconds

        TOF- missile time of flight (seconds)

        dT- time step in seconds.

        launchLLA,impactLLA - geodetic lat/lon/alt vectors, [rad;rad;meters]

2.12 设备与目标(Facilities and Targets)

2.12.1 stkPosVelCBF

作用:Position andVelocity, Central Body Fixed coordinates

用法:[pos, vel] =stkPosVelCBF('objPath', time)

说明:objPath - Vehicle or facilitypath, may be obtained from stkObjNames.

        time    - Scenario time (sec).

        pos  - Central Body Fixed position (meters).

        vel  - Central Body Fixed velocity (meters/sec).

备注:CBF coordinates may be convertedto any other system using

     commands in the AerospaceToolbox.  The command stkCentralBody

     may be used to obtain thecentral body name of the object.

2.12.3 stkSetFacPosCBF

作用:Set FacilityPosition, Central Body Fixed coordinates

用法:stkSetFacPosCBF('facPath', pos)

说明:facPath - Valid facility classpath, may be obtained from stkObjNames.

        pos  - Central Body Fixed position (3x1, inmeters).

备注:CBF coordinates may be obtainedfrom any other system using

     commands in the AerospaceToolbox.

2.12.3 stkSetFacPosLLA

作用:Set FacilityPosition, Geodetic coordinates

用法:stkSetFacPosLLA('facPath',llaPos)

说明:facPath -Valid facility class path, may be obtained from stkObjNames.

        llaPos  - Geodetic lat, long, alt position (3x1,[rad; rad; meters]),

               or use the local terrain altitude by specifying

               lat, long only (2x1, [rad; rad]).

备注:LLAcoordinates may be obtained from any other system using

    commands in the Aerospace Toolbox.

2.13 区域目标(Area Targets)

2.13.1 AreaTarget boundary

2.14 STK工具(STK Tools)

2.14.1 stkAccess

作用:获取链路间隔Access intervals

用法:intervals = stkAccess('fromPath','toPath')

说明:fromPath, toPath - String name ofobjects obtained from stkObjNames.

        intervals - Accessinterval times structure array with fields:

                  start - starttime of access interval

                  stop - stoptime of access interval

2.14.2 stkReport

作用:Generate an object report

用法:[secData, secNames] =stkReport('objPath', 'rptStyle')

      [secData, secNames] =stkReport('objPath', 'rptStyle', tStart, tStop, dT)

说明:objPath  - String name of object obtained fromstkObjNames.

       rptStyle  - String name of existing STK report stylevalid for the object.

       tStart  - Start time for report (override styledefault).

       tStop  - Stop time for report (override styledefault).

       dT  - Time step of data (override style default).

       secData  - Cell array of report data, one cell perreport section.

       secNames  - Cell array of section names, one cell perreport section.

备注:Each section of an STK reportstyle is arranged into a fixed number

     of rows and columns(MxN).  Each cell array element ofsecData is a

     1xN structure withfields:

             name - the dataelement name, e.g. 'Time'

             data - Mx1 matrixof element values

      Use stkFindData toextract desired data elements from a report section.

 

     Reports generated fromthis interface are unitless.  This is adeparture from

     STK reporting, whereusers may control the units of various dimensions.  This

     function returns all datain default internal units as follows:

 

     Dimension         Unit

     ---------------   ---------

     Distance          Meter

     SmallDistance     Meter

     Time              Second

     Angle             Radians

     Mass              Kilogram

     Date              EpochSec

     Latitude          Radians

     Longitude         Radians

     Temperature       Kelvin

     Power             Watt

     Frequency         Hertz

     SmallTime         Second

     Ratio             Decibel

     Rcs               Decibel

     DopplerVelocity   M/S

     SARTimeResProd    Meter*Sec

     PowerDensity      Db/Hz

     PRF               Hertz

     Bandwidth         Hertz

     Duration          Sec

     Force             Newton

2.14.3 stkAccReport

作用:Generate an Access report

用法:[secData, secNames] =stkAccReport('objPath', 'accObjPath', 'rptStyle')

    [secData, secNames] =stkAccReport('objPath', 'accObjPath', 'rptStyle', tStart, tStop, dT)

说明:objPath  - String name of object obtained fromstkObjNames.

      accObjPath  - String nameof access object.

      rptStyle  - String name ofexisting STK report style valid for the object.

      tStart  - Start time forreport (override style default).

      tStop  - Stop time forreport (override style default).

      dT  - Time step of data(override style default).

      secData  - Cell array ofreport data, one cell per report section.

      secNames  - Cell array ofsection names, one cell per report section.

 

     Each section of an STKreport style is arranged into a fixed number

     of rows and columns(MxN).  Each cell array element ofsecData is a

     1xN structure withfields:

             name - the dataelement name, e.g. 'Time'.

             data - Mx1 matrixof element values

2.14.4 stkFindData

作用:Extract data from a reportsection

用法:data = stkFindData(section,'name')

说明:section - report section, fromstkReport or stkAccReport

               NOTE:  stkReport and stkAccReport return a

               cell array ofsections, this function must

               be passed asingle element of the cell.

     name - name of the dataelement, e.g. 'Time'.

     data - data element

备注:assume vehPath is a validsatellite object path

     [secData, secNames] =stkReport(vehPath, 'Beta Angle');

     time = stkFindData(secData{1},'Time');

     betaAngle =stkFindData(secData{1}, 'Beta Angle');

     plot(time, betaAngle);

2.15 连接命令(Connect Commands)

2.15.1 stkOpen

作用:Open a Connection to STK

用法:conID = stkOpen('hostPortStr')

      conID = stkOpen

说明:conID         - STK/Connect handle.

      hostPortStr - A string specifying the host andport for

                   theconnection. When not specified, the

                   hostPortStrwill be set to 'localhost:5001'.

2.15.2 stkClose

作用:close an STK Connection

用法:stkClose(conID)

      stkClose('ALL')

      stkClose

说明:conID  STK/Connect connectionID obtained from stkOpen. Omitting this parameter will close the defaultconnection.

2.15.3 stkExec

作用:Execute an STK/Connect command

用法:rtn = stkExec(conID, 'conCmdStr')

说明:rtn             - A character array containing the STK return

        conID    -STK/Connect connection ID, from stkOpen.

        conCmdStr - Stringcontaining the Connect command

2.15.4 stkConnect

作用:Convenience routine for sendingConnect Commands to STK

用法:rtnData = stkConnect(conID, 'command','objPath', 'cmdParamString')

说明:conID - connection ID, obtainedfrom stkOpen

      command - STK/Connectcommand verb, see the STK/Connect documentation

      objPath - hierarchicalname of object to receive command.

              The function stkObjNamesis a useful source of names.

      cmdParamString - astring containing the command parameters to be

                    processedby STK.  This argument may be ommitted.

      rtnData - string matrixof data returned by STK in repsonse to the command.

三、aeroToolbox函数详细介绍

3.1 坐标系中的历元与数据函数Coordinate System Epoch andDate functions)

3.1.1 atbGetEpoch

作用:Get analysis epoch

用法:epoch = atbGetEpoch

说明:epoch - structure with thefollowing fields:

                 year - e.g.2000

                 month - e.g. 1

                 days - e.g. 1

                 hours - e.g. 12

                 minutes - e.g.30

                 seconds - e.g.0

                 timeZone - e.g.'Z'

                 isDST - e.g. 0

       The above examplecorresponds to the date 1 Jan 2000, 12:30:00.00 GMT

3.1.2 atbSetEpoch

作用:Set analysis epoch

用法:atbSetEpoch(year, month, day,hour, minute, sec, 'timeZone', isDST)

      atbSetEpoch(dateStruct)

      atbSetEpoch(dateVec)

      atbSetEpoch(dateVec,'timeZone', isDST)

说明:year - e.g. 2000

        month - e.g. 1

        day - e.g. 1

        hour - e.g. 12

        minute - e.g. 30

        sec - e.g. 0

        timeZone - e.g. 'Z'

        isDST - e.g. 0

dateStruct - see atbGetEpoch for the format of this structure

        dateVec - a Matlab datevector, see DATEVEC for more help

        timeZone - a singlecharacter string, the default is 'Z'

        isDST - a logical flag,the default is 0 (false)

      The above examplecorresponds to the date 1 Jan 2000, 12:30:00.00 GMT

备注:This function sets the absolutedate corresponding to zero epoch seconds.

      Inertial coordinatesystems are referenced to a particular date.

      Certain functions withinthe aeroToolbox require input of a time

      in seconds to indicatethe elapsed (relative) time since the coordinate

      system epoch.  This function sets the coordinate systemepoch.

3.1.3 atbDateToEpochSec

作用:Convert an absolute date to epochseconds

用法:epochSec = atbDateToEpochSec(year, month, day, hour, minute, sec,'timeZone', isDST)

      epochSec =atbDateToEpochSec(dateStruct)

      epochSec =atbDateToEpochSec(dateVec)

      epochSec =atbDateToEpochSec(dateVec, 'timeZone', isDST)

说明:year - e.g. 2000

        month - e.g. 1

        day - e.g. 1

        hour - e.g. 12

        minute - e.g. 30

        sec - e.g. 0

        timeZone - e.g. 'Z'

        isDST - e.g. 0

 

        dateStruct - seeatbGetEpoch for the format of this structure

        dateVec - a Matlab datevector, see DATEVEC for more help

        timeZone - a singlecharacter string, the default is 'Z'

        isDST - a logical flag,the default is 0 (false)

 

      The above examplecorresponds to the date 1 Jan 2000, 12:30:00.00 GMT

备注:This function returns the offsetin epoch seconds between the current

      epoch and the inputdate.  When a Matlab format dateVec isprovided as

      the only input, thetimeZone is assumed to be 'Z' and isDST is assumed

      to be false.

3.1.4 atbEpochSecToDate

作用:Convert epoch seconds to anabsolute date

用法:date =atbEpochSecToDate(epochSec)

说明:

备注:This function returns theabsolute date corresponding to an offset

      in seconds from thecurrent epoch.

3.2 坐标系转换(Coordinate Conversions)

3.2.1 atbCbfToCbi

作用:Convert CBF coordinates to CBIcoordinates

用法:       cbiPos = atbCbfToCbi('cbName', times,cbfPos)

      [cbiPos, cbiVel] =atbCbfToCbi('cbName', times, cbfPos, cbfVel)

说明:cbName  - Valid       centralbody nam, e.g. 'Earth'

        times   - Length N vector of times for CBF pos andvel

        cbfPos - 3xN matrix of CBF positions

        cbfVel  - 3xN matrix of CBF velocities

        cbiPos - 3xN matrix of CBI positions

        cbiVel  - 3xN matrix of CBI velocities

备注:Converts position and velocity inthe central body fixed

      coordinate system to aposition and velocity in the default

      central body inertialcoordinate system at the provided times.

3.2.2 atbCbfToCbiMtx

作用:Transformation matrix from CBF toCBI

用法:T = atbCbfToCbiMtx('cbName',time)

说明:time    - time in seconds

        T        - Coordinate transformation matrix

备注:Generates the transformationmatrix to convert a vector

      in the Central BodyFixed (CBF) system to a vector in the

      Central Body Inertial(CBI) system.  Inputs are the central

      body name and the time.

3.2.3 atbCbfToLhMtx

作用:Transformation matrix from CBF tolocal horizontal

用法:T = atbCbfToLhMtx('cbName', lat,long)

说明:lat     - Geodetic latitude      

        long    - Geodetic longitude

        T      - Coordinatetransformation matrix

备注:Generates the transformationmatrix to convert a vector

      in the Central BodyFixed (CBF) system to a vector in the

      local horizontal (LH)system.  Inputs are the geodetic

      latitude and longitudeof the reference location.

3.2.4 atbCbfToLla

作用:Transformation from CBF togeodetic LLA

用法:        llaPos = atbCbfToLla('cbName', cbfPos)

      [llaPos, llaRate] =atbCbfToLla('cbName', cbfPos, cbfVel)

说明:cbName  - Valid central body name

        cbfPos - CBF position, 3xN

        cbfVel  - CBF velocity, 3xN

        llaPos  - geodetic lat/long/alt, 3xN   

        llaRate - geodeticlat/long/alt rate, 3xN

备注:Determines the geodetic latitude,longitude, and altitude

      and rates given acartesian position and velocity.  The

      cartesian vectors mustbe expressed in the central body

      fixed coordinate system.

3.2.5 atbCbfToLlr

作用:Transformation from CBF togeocentric LLR

用法:        llrPos = atbCbfToLlr(cbfPos)

[llrPos, llrRate] = atbCbfToLlr(cbfPos, cbfVel)

说明:cbfPos     - CBF position, 3xN

        cbfVel      -CBF velocity, 3xN

        llrPos      -Geocentric lat/long/radius, 3xN 

        llrRate     - Geocentric lat/long/radius rate, 3xN

备注:Determines the geocentriclatitude, longitude, and radius

      and rates given thecartesian position and velocity.  The

      input cartesian vectorscan be in any coordinate system

      and the output willrepresent the corresponding spherical coordinates.

3.2.6 atbCbfToVvlhMtx

作用:Transformation matrix from CBF toVVLH

用法:T = atbCbfToVvlhMtx(cbfPos,cbfVel)

说明:cbfPos  - CBF position vector, 3x1

        cbfVel    - CBFvelocity vector, 3x1

        T        - Coordinate transformation matrix, 3x3

备注:Generates the transformationmatrix to convert a vector

      in the input cartesiansystem to a vector in the Vehicle

      Velocity LocalHorizontal (VVLH) system.  Inputs are the

      cartesian coordinatevector and velocity vector of the

      vehicle.  The VVLH local horizontal definition is based

      on a spherical centralbody model.

3.2.7 atbCbiToCbf

作用:Convert CBI coordinates to CBFcoordinates

用法:       cbfPos= atbCbiToCbf('cbName', times, cbiPos)

        [cbfPos, cbfVel] =atbCbiToCbf('cbName', times, cbiPos, cbiVel)

说明:cbName  - Valid central body name

        times   - Length N vector of times for CBI pos andvel

        cbiPos - 3xN matrix of CBI positions

        cbiVel  - 3xN matrix of CBI velocities     

        cbfPos - 3xN matrix of CBF positions

        cbfVel  - 3xN matrix of CBF velocities

备注:Converts position and velocityvectors in the default

      central body inertialcoordinate system to a position

      and velocity in thecentral body fixed coordinate system

      at the provided time.

3.2.8 atbCbiToCbi

作用:Convert CBI coordinates toanother CBI system

用法:      toPos = atbCbiToCbi('fromCb', 'toCb',times, fromPos)

       [toPos, toVel] =atbCbiToCbi('fromCb', 'toCb', times, fromPos, fromVel)

说明:fromCb, toCb  - Valid central body names

        times         -Length N vector of times for CBF pos and vel

        fromPos            - 3xN matrix of original CBI positions

        fromVel           - 3xN matrix of original CBI velocities

        toPos         -3xN matrix of new CBI positions

        toVel         -3xN matrix of new CBI velocities

备注:Computes the inertial positionand velocity relative to the

      "to" centralbody of an object whose inertial position and

      velocity have beenspecified relative to the "from" central

      body.  This computation therefore accounts for boththe

      difference in positionof the central bodies and the difference

      in the orientations oftheir default inertial coordinate systems.

3.2.9 atbCbiToCbiMtx

作用:Transformation matrix from CBI toanother CBI system

用法:T = atbCbiToCbiMtx('fromCB','toCB')

说明:T      - Coordinate transformation matrix

备注:Generates the transformationmatrix to convert a vector

      in one Central BodyFixed (CBF) system to a vector in

      another Central BodyInertial (CBI) system.  Inputs are the

      two central body names

3.2.10 atbLlaToCbf

作用:Transformation from geodetic LLAto CBF

用法:       cbfPos = atbLlaToCbf('cbName', llaPos)

        [cbfPos, cbfVel] = atbLlaToCbf('cbName', llaPos,llaRate)

说明:cbName  - Valid central body name

        llaPos  - Geodetic lat/long/alt, 3xN

        llaRate - Geodeticlat/long/alt rate, 3xN

        cbfPos - CBF position, 3xN

        cbfVel  - CBF velocity, 3xN

备注:Converts the geodetic latitude,longitude, and altitude

      and rates to a cartesianposition and velocity.  The

      cartesian vectors willbe expressed in the central body

      fixed coordinate system.

3.2.11 atbLlrToCbf

作用:Transformation from geocentricLLR to CBF

用法:       cbfPos = atbLlrToCbf(llrPos)

        [cbfPos, cbfVel] = atbLlrToCbf(llrPos,llrRate)

说明:llrPos  - Geodetic lat/long/radius, 3xN    

        llrRate - Geodeticlat/long/radius rate, 3xN

        cbfPos - CBF position, 3xN

        cbfVel  - CBF velocity, 3xN

备注:Converts the geocentric latitude,longitude, and radius

      and rates to a cartesianposition and velocity.  The

      cartesian vectors will be expressed in thecentral body

      fixed coordinate system.

3.2.12 atbCbCoordinates

作用:Coordinate system namesassociated with a central body

用法:[names, descrips]=atbCbCoordinates('cb')

说明:cb - central body name

        names - cell array ofcoordinate system names

        descrips - cell array ofcoordinate system descriptions

备注:This function outputs thepossible coordinate systems which may

      be converted betweenusing atbCoordXForm and atbCoordXFormMtx

3.2.13 atbCoordXForm

作用:General coordinate systemtransformation

用法:[ToPos, ToVel]=atbCoordXForm(time, 'FromCb', 'FromSystemName', FromEpoch,...

                            'ToCb', 'ToSystemName', ToEpoch,...

                            FromPos, FromVel)

说明:time - time offset from epoch inseconds of the FromPos and FromVel

      Cb - central body names

        SystemName - validcoordinate system name, obtained via atbCbCoordinates

        Epoch - epochs for coordinatesystems, may be ignored (see below)

        Pos - 3x1 positionvector (meters)

        Vel - 3x1 velocityvector (meters) (optional)

备注:This function converts from onecoordinate system of one

      central body to anothersystem of another central body.

      Some coordinate systems require an epoch tofully define them,

      in these cases, theEpoch inputs will be used, otherwise the

      Epoch inputs will beignored.  For example, the J2000 epoch is

      intrinsic to thedefinition of the coordinate system and therefore

      any input epoch will beignored.  The various ...OfEpochcoordinate

      systems are examples ofsystems that need an epoch.

3.2.14 atbCoordXFormMtx

作用:General coordinate systemtransformation

用法:[TfmMtx, AngVelSysName, AngVel]= atbCoordXFormMtx('cb','FromSystemName', FromEpoch,'ToSystemName', ToEpoch)

说明:cb - central body name

        SystemName - validcoordinate system name, obtained via atbCbCoordinates

        Epoch - epochs forcoordinate systems, may be ignored (see below)

        TfmMtx - transformationmatrix

      AngVelSysName- name of the coordinate system in which the angular velocity is defined(optional)

        AngVel - angularvelocity of the two systems (3x1) (optional)

备注:This function generates therotation matrix from one coordinate system

      of a central body toanother system of the same central body.

      Some coordinate systemsrequire an epoch to fully define them,

      in these cases, theEpoch inputs will be used, otherwise the

      Epoch inputs will beignored.  For example, the J2000 epoch is

      intrinsic to thedefinition of the coordinate system and therefore

      any input epoch will beignored.  The various ...Of Epochcoordinate

      systems are examples ofsystems that need an epoch.

3.3 转动与四元数(Rotations and Quaternions)

3.3.1 atbAlignVecQuat

作用:Quaternion for coordinate systemtransformation

用法:rotQuat = atbAlignVecQuat(vec1A, vec1B)

        rotQuat =atbAlignVecQuat(vec1A, vec1B,vec2A, vec3B)

说明:vec1A   - a 3x1vector created by the user.

        vec1B   - a 3x1 vector created by the user.

        vec2A   -a 3x1 vector created by the user.

        vec3B   - a 3x1 vector created by the user.

      rotQuat - a 4x1 vector quaternion

备注:Produces a quaternion for the transformation from coordinate systemA to coordinate system B where the vector 1 is known in both coordinate systems.Vectors 2A and 3B areused (if supplied) to resolve the ambiguity about the vector 1 direction. Afterthe alignment of vector 1 is achieved, the components of vectors 2A and 3B which are perpendicular to vector 1are aligned. An example of this type of application would be to point a sensorboresight at a target while maintaining the minimum possible angle between thesun vector and the solar panels on the satellite. None of the vectors need tobe unit vectors.

3.3.2 atbEulerToMtx

作用:Generate rotation matrix fromEuler angles

用法:cosMtx = atbEulerToMtx(angles,sequence)

说明:angles         - 3x1 vector of Euler angles

      sequence     - 3 digit integer defining the order ofrotation.

                                    (1-X, 2-Y, 3-Z).  A common Euler angle is 313.

        cosMtx       - 3x3 direction cosine matrix.

备注:Computes a direction cosine matrix from a set of Euler angles.  The direction cosine matrix gives the relationshipto transform from the reference coordinate system to the new coordinate system.

3.3.3 atbEulerToQuat

作用:Generate quaternion from Eulerangles

用法:quat = atbEulerToQuat(angles,sequence)

说明:angles         - 3x1 vector of Euler angles

      sequence     - 3 digit integer defining the order ofrotation.

                                   (1-X, 2-Y, 3-Z).  A common Eulerangle is 313.

        quat            - 4x1 quaternion representingrotation

备注:Computes a rotation quaternionfrom a set of Euler angles.

3.3.4 atbMinRotQuat

作用:Minimum Rotation Quaternion

用法:quat = atbMinRotQuat(vec1, vec2)

说明:vec1, vec2  - 3x1 position vectors

        quat            - 4x1 rotation quaternion

备注:Computes a quaternion to performthe minimum angle

             rotation to align vec1 along vec2.  This can

             be useful in both active and passive applications.

             An example of an active application would be the

             generation of a maneuver quaternion to change the

             pointing of a satellite. An example of a passive

             application would be to determin the relationship

             between two coordinate systems when a vector is

             known in both systems. The quaternion would

        represent the system1to system2 transformation.

3.3.5 atbMtxToEuler

作用:Matrix to Euler angles

用法:angles = atbMtxToEuler(cosMtx,sequence)

说明:cosMtx   - 3x3 cosine matrix

      sequence  - 3 digit integer defining the rotation order.

                            (1-X,2-Y, 3-Z).  A common Euler angle is 313.

      angles    - 3x1vector of Euler angles

3.3.6 atbMtxToQuat

作用:Cosine matrix to quaternionconversion

用法:quat = atbMtxToQuat(cosMtx)

说明:cosMtx  - 3x3 directional cosine matrix

        quat       -4x1 quaternion vector

3.3.7 atbMtxToYpr

作用:Cosine matrix to Yaw-Pitch-Roll

用法:yprVec = atbMtxToYpr(cosMtx,sequence)

说明:cosMtx                  - 3x3direction cosine matrix

      sequence         -3 digit integer defining the rotation order

        yprVec          - YPR angles, 3x1

3.3.8 atbQuatToMtx

作用:Quaternion to Matrix conversion

用法:cosMtx = atbQuatToMtx(quat)

说明:quat    - 4x1 quaternion

        cosMtx  - 3x3 directional cosine matrix

3.3.9 atbQuatXquat

作用:Quaternion multiplication

用法:quatC = atbQuatXquat(quatA,quatB)

说明:quatA,quatB - input 4x1quaternions

        quatC         - 4x1 quaternion product

备注:Computes the resultant quaternion due to the combination of the twoinput quaternions.  The input quaternionsmay be thought of as representing two different rotations.  The resulting quaternion represents the newrotation which is equivalent to performing the rotation of quaternion2 followedby the rotation of quaternion1. The order of the input quaternions is designedto resemble the way the rotations would appear on paper if you were writing outan equation. To rotate vector one through two rotations to produce vector 2,you would write V2 = Q1 Q2 V1.  Theresulting quaternion will have unit length.

3.3.10 atbYprToMtx

作用:Yaw Pitch Roll to Matrix

用法:cosMtx = atbYprToMtx(yprVec,sequence)

说明:yprVec    - 3x1 Yaw-Pitch-Roll angles

      sequence - 3 digit integer defining the rotation order

                                  (1-Roll, 2-Pitch, 3-Yaw).  A Yaw-Pitch-Roll

                    sequencewould be 321.

      cosMtx   - 3x3 directional cosine matrix

备注:Builds a direction cosine matrixfrom yaw, pitch and roll

      angles.  The sequence variable is used to specify theorder

      of the rotations(1-Roll, 2-Pitch, 3-Yaw).  AYaw-Pitch-Roll

      sequence would be 321.

3.3.11 atbYprToQuat

作用:Yaw Pitch Roll to Quaternion

用法:quat = atbYprToQuat(yprVec,sequence)

说明:yprVec   - 3x1 yaw-pitch-roll vector

      sequence  - 3 digit integer defining the rotation order.

                            (1-Roll, 2-Pitch, 3-Yaw).  A Yaw-Pitch-Roll

                 sequencewould be 321.

      quat     - 4x1 quaternion

备注:Builds a quaternion from yaw,pitch and roll angles.  The

      sequence variable isused to specify the order of the

      rotations (1-Roll,2-Pitch, 3-Yaw).  A Yaw-Pitch-Roll

      sequence would be 321.

3.3.12 atbInterpQuat

作用:Interpolate Quaternion

用法:interpQuat =atbInterpQuat(startQuat, endQuat, interpParam)

      interpQuat =atbInterpQuat(startQuat, endQuat, interpParam, extraRot)

说明:startQuat   - 4x1 quaternion

      endQuat     - 4x1 quaternion

      interpParam - scalarinterp factor.  0 < interpParam < 1

      extraRot    - extra rotations.

      interpQuat  - 4x1 quaternion

备注:Interpolates two quaternionsassuming a constant rate of rotation

      about a constant spin axis between the two endorientations.

3.4 中心对象操作与程序(Central Body Operations andRoutines)

3.4.1 atbCbEphemeris

作用:Generate central bodyposition/velocity in inertial coordinates

用法:[pos, vel] =atbCbEphemeris('cbName', times)

说明:cbName - valid central body name,e.g. 'Earth'

      times  - vector of times to compute pos/vel for,length M

      pos,vel - 3xM matricesof inertial pos/vel data

备注:This function computes theposition and velocity of the central

    body in the defaultinertial coordinate system at the

    specified time.  The default inertial coordinate system

    has its origin at thesolar system barycenter and axes that are

    aligned with the J2000coordinate system.

3.4.2 atbCbGetTangent

作用:Tangent points on central body

用法:tanPts =atbCbGetTangent('cbName', posVec, normVec)

说明:cbName  - Valid central body name, e.g. 'Earth'

       posVec  - 3x1 vector, CBF position

       normVec - 3x1 vector,CBF normal direction

       tanPts  - 3x2 matrix, CBF points of tangency

备注:Computes vectors to the twotangent points on the

      surface of the centralbody given a position vector specifying

      a location outside ofthe central body and a normal vector.

      The normal vector mustbe perpendicular to the position vector

      and the two outputvectors will lie in the plane defined by the

      normal vector.  All vectors are expressed in central bodyfixed

      coordinates.

3.4.3 atbCbGravParam

作用:Gravitational Parameter

用法:[gm, refDist, J2, J4] =atbCbGravParam('cbName')

说明:cbName      - Valid central body name, e.g. 'Earth'

      gm          - gravitational parameter (meters^3 /sec^2)

      refDistance - equatorialradius (meters)

      J2          - zonal harmonic parameter (unitless)

      J4          - zonal harmonic parameter (unitless)

3.4.4 atbCbGrazeAlt

作用:Grazing altitude

用法:[alt, minAltVec, isBetween] =atbCbGrazeAlt('cbName', vec1, vec2)

               [alt,minAltVec] = atbCbGrazeAlt('cbName', vec1, vec2)

                          alt = atbCbGrazeAlt('cbName', vec1, vec2)

备注:The input vectors are given inthe central body fixed

      coordinate system.  The function returns the minimum

      altitude along the lineof sight between the two locations.

      The CBF vector to theminimum altitude point is optionally computed.

      An indication of whetheror not the minimum altitude point

      is between the endpoints--as opposed to at an end point--

      is provided if the isBetweenoutput is specified.

3.4.5 atbCbGrazeAngle

作用:Grazing angle

用法:angle = atbCbGrazeAngle('cbName',fromVec, toVec)

备注:The input vectors are given inthe central body fixed coordinate

      system.  The function returns the angle between theline of sight

      vector and the closesttangent to the surface of the central body

      which is coplanar withthe two input vectors.  The sign of this

      angle should be positiveif the line of sight does not intersect

      the central body andnegative otherwise.

3.4.6 atbCbIntersect

作用:Central body intersection

用法:[intx,intVec1, intVec2, mult1,mult2] = atbCbIntersect('cbName', posVec, dirVec)

                 [intx,intVec1, intVec2] =atbCbIntersect('cbName', posVec, dirVec)

                                intx = atbCbIntersect('cbName', posVec,dirVec)

说明:cbName  - valid central body name, e.g. 'Earth'

      posVec  - 3x1 CBF position vector

      dirVec  - 3x1 CBF direction vector

      intx    - True/False

      intVec* - Central bodyintercept points, CBF 3x1.

      mult*   - Multiplier to scale dirVec by to yield theintersections

备注:This function returns True if thevector specified by the

      direction argument willintersect the central body and False

      otherwise.  The origin of the direction vector isspecified

      by the positionvector.  The optional vectors intx1 andintx2

      are points ofintersection with the central body.  Theoptional

      outputs mult1 and mult2represent scalars by which the direction

      vector is multiplied andthen added to the position vector to

      yield the intersectionpoints.  The multipliers may be positive

      or negative depending onif the intersections occur in the

      positive or negativedirection.

3.4.7 atbCbLclRadCen

作用:Local central body radius,geocentric basis

用法:radius = atbCbLclRadCen('cbName',lat, long)

说明:cbName  - Valid central body name, e.g. 'Earth'

      lat     - Latitude

      long    - Longitude

      radius  - The central body radius

备注:This function returns the radiusof the central body

      at the input geocentriclatitude and longitude.  The

      term geoocentric impliesthat the latitude and longitude

      are measured based onthe vector from the origin of the central body.

3.4.8 atbCbLclRadDet

作用:Local central body radius,geodetic basis

用法:radius = atbCbLclRadDet('cbName',lat, long)

说明:cbName  - Valid central body name, e.g. 'Earth'

      lat     - Latitude

      long    - Longitude

      radius  - The central body radius

备注:This function returns the radiusof the central body

      at the input geodeticlatitude and longitude.  The term

      geodetic implies thatthe latitude and longitude are

      measured from a vectornormal to the surface of the central body.

3.4.9 atbCbSurfDistCen

作用:Surface path length, geocentricbasis

用法:dist = atbCbSurfDistCen('cbName',lat1, long1, lat2, long2)

说明:cbName      - Valid central body name, e.g. 'Earth'

      lat1, long1 - Latitudeand longitude of first location

      lat2, long2 - Latitudeand longitude of second location

      dist        - Distance across the surface of thecentral body

备注:This function returns thedistance between two locations on

      the surface of thecentral body as specified by the input

      geocentric latitude andlongitude.  The term geocentric implies

      that the latitude andlongitude are measured based on the

      vector from the originof the central body.

3.4.10 atbCbSurfDistDet

作用:Surface path length, geodeticbasis

用法:dist = atbCbSurfDistDet('cbName',lat1, long1, lat2, long2)

说明:cbName      - Valid central body name, e.g. 'Earth'

      lat1, long1 - Latitudeand longitude of first location

      lat2, long2 - Latitudeand longitude of second location

      dist        - Distance across the surface of thecentral body

备注:This function returns thedistance between two locations on

      the surface of thecentral body as specified by the input

      geodetic latitude andlongitude.    The term geodetic implies

      that the latitude andlongitude are measured from a vector

      normal to the surface ofthe central body.

3.4.11 atbCbSurfNormCen

作用:Surface normal, geocentric basis

用法:normal =atbCbSurfNormCen('cbName', lat, long)

说明:cbName  - Valid central body name, e.g. 'Earth'

      lat     - Latitude

      long    - Longitude

      normal  - 3x1 CBF vector representing the normal atthe lat/long

备注:This function computes a vectorwhich is normal to the surface

      of the central body atthe specified geocentric latitude and

      longitude.  The term geocentric implies that the latitudeand

      longitude are measuredbased on the vector from the origin of

      the central body.

3.4.12 atbCbSurfNormDet

作用:Surface normal, geodetic basis

用法:normal =atbCbSurfNormDet('cbName', lat, long)

说明:cbName  - Valid central body name, e.g. 'Earth'

      lat     - Latitude

      long    - Longitude

      normal  - 3x1 CBF vector representing the normal atthe lat/long

备注:This function computes a vectorwhich is normal to the surface

      of the central body atthe specified geodetic latitude and

      longitude.  The term geodetic implies that the latitudeand

      longitude are measuredbased on the vector normal to the

      surface of the centralbody.

3.5 指向,星历与姿态文件(Waypoint, Ephemeris andAttitude Files)

3.5.1 atbReadAttitudeCBF

作用:read an STK external Attitudefile

用法:[time, quats, epoch, cb] =atbReadAttitudeCBF('fileName')

说明:fileName - valid filename ofAttitude file

      time - scenario time,1xN (sec)

      quats - attitudequaternions, CBF to Body, 4xN

      epoch - date string ofepoch, will be empty if not specified in file

      cb - central body name,will be empty if not specified in file

3.5.2 atbReadAttitudeCBI

作用:read an STK external Attitudefile

用法:[time, quats, epoch, cb] =atbReadAttitudeCBF('fileName')

说明:同上

3.5.3 atbWriteAttitudeCBF

作用:write an STK external attitudefile in CBF format

用法:atbWriteAttitudeCBF('fileName',timeVec, quatMat, 'epoch', 'cb')

说明:fileName - String file name, willbe overwritten if already exists

        timeVec  - Length N vector of times

      quatMat - Matrix of CBF to body quaternions, 4xN

        epoch    - epoch of data, date string

        cb       - central body name

3.5.4 atbWriteAttitudeCBI

作用:write an STK external attitudefile in CBI format

用法:atbWriteAttitudeCBI('fileName',timeVec, quatMat, 'epoch', 'cb')

说明:fileName - String file name, willbe overwritten if already exists

        timeVec  - Length N vector of times

        quatMat  - Matrix of CBI-to-body quaternions, 4xN

        epoch    - epoch of data, date string

        cb       - central body name

3.5.5 atbReadEphemerisCBF

作用:read an STK external ephemerisfile

用法:[time, pos, vel, epoch, cb] =atbReadEphemerisCBF('fileName')

说明:fileName - valid filename ofephemeris file

      time - scenario time,1xN (sec)

      pos - CBF positionmatrix, 3xN (meters)

      vel - CBF velocity matrix, 3xN (meters/sec)

      epoch - date string ofepoch, will be empty if not specified in file

      cb - central body name,will be empty if not specified in file

3.5.6 atbReadEphemerisCBI

作用:read an STK external ephemerisfile

用法:[time, pos, vel, epoch, cb] =atbReadEphemerisCBI('fileName')

说明:fileName - valid filename ofephemeris file

      time - scenario time,1xN (sec)

      pos - CBI positionmatrix, 3xN (meters)

      vel - CBI velocitymatrix, 3xN (meters/sec)

      epoch - date string ofepoch, will be empty if not specified in file

      cb - central body name,will be empty if not specified in file

3.5.7 atbWriteEphemerisCBF

作用:write an STK external ephemerisfile in CBF format

用法:atbWriteEphemerisCBF('fileName',timeVec, posMat, velMat, 'epoch', 'cb')

说明:fileName - String file name, willbe overwritten if already exists

        timeVec  - Length N vector of times

        posMat   - Matrix of CBF positions, 3xN

        velMat   - Matrix of CBF velocities, 3xN

        epoch    - epoch of data, date string

        cb       - central body name

3.5.8 atbWriteEphemerisCBI

作用:write an STK external ephemerisfile in CBI format

用法:atbWriteEphemerisCBI('fileName',timeVec, posMat, velMat, 'epoch', 'cb')

说明:fileName - String file name, willbe overwritten if already exists

        timeVec  - Length N vector of times

        posMat   - Matrix of CBI positions, 3xN

        velMat   - Matrix of CBI velocities, 3xN

        epoch    - epoch of data, date string

        cb       - central body name

3.5.9 atbWriteWaypointFile

作用:write an STK waypoint file

用法:atbWriteWaypointFile('fileName','startTime', llaMat, speedVec, accelVec)

     atbWriteWaypointFile('fileName', 'startTime', llaMat, speedVec)

说明:fileName - String file name, willbe overwritten if already exists

      startTime  - start time date string.  See stkEpoch for valid formats.

      llaMat  - Matrix of LLA positions, 3xN, (radians andmeters)

      speedVec     - Vector of speeds Nx1 (meters/sec)

      accelVec  - Vector of accelerations, Nx1 (meters/sec^2)

3.6 位置与速度函数(Position and Velocity Functions)

3.6.1 atbGeometry

作用:compute absolute and relativegeometry

用法:            geom = atbGeometry(times, dynState)

      [fromGeom, toGeom] = atbGeometry(times,fromDynState, toDynState)

说明:times       - times to compute state

        dynState    - raw dynamic data generated by STKpropagators.

        geom       -array of currentData structures corresponding

                              toeach time.

备注:atbGeometry calculates absoluteand relative state

     data for a single objector a pair of objects.

 

     A dynState structurecontains a full description of

     a vehicle's position,velocity and attitude over

     the vehicle's lifetime.

 

     atbGeometry interpolatesthe data in the dynState

     structure for the timesgiven. 

 

     When two dynStates arepassed, relative geometry is

     calculated in addition toabsolute geometry.

 

     If a time is requestedthat is outside the time

     interval of the dynState,geometry with each

     field set to zero isreturned at the array index

     corresponding to theinvalid time.

 

     Users should test for azero'd currentData state

     structure prior to usingit.

 

     The currentData structurehas the following fields:

 

     time        in seconds from propagator epoch

 

     pos         in CBF cartesian coordinate (meters)

 

     vel         in CBF cartesian coordinates (m/s)

 

     relPos      in CBF cartesian coordinates (meters)

                 empty whencomputing absolute geometry only

 

     relVel      in CBF cartesian coordinates (m/s)

                 empty whencomputing absolute geometry only

 

     range       in meters

 

     timeDelay   in seconds

 

     cbfToBody   transfomation matrix from CBF to

                 object bodyframe

 

     cb          central body name, i.e. 'Earth'

 

     isDir       whether to position vectors represent

                 a directionas opposed to an

                 absoluteposition (Stars use this)

 The atbFlatten command may beused to easily extract a given

 field of a geometry structurearray.

 

  SEE ALSO   atbFlatten

 

  EXAMPLE

Assume the user has generated two aircraft, ac1 and ac2 withoverlapping time intervals.

  try the following commands:

 

     minTime =max([min(ac1.dynState.times) min(ac2.dynState.times)]);

     maxTime = min([max(ac1.dynState.times)max(ac2.dynState.times)]);

     times = linspace(minTime,maxTime);

     geom = atbGeometry(times,ac1.dynState, ac2.dynState);

 

     pos =atbFlatten(geom,'pos');

     lla =atbCbfToLla(geom(1).cb, pos);

     lat = lla(1,:);

     long = lla(2,:);

     plot(long*180/pi,lat*180/pi, '+');

 

     vel = atbFlatten(geom,'vel');

     relPosCBF =atbFlatten(geom, 'relPos');

     len = max(size(geom));

     az = zeros(1, len);

     el = zeros(1, len);

     for k=1:len

         relPosVVLH =atbCbfToVvlhMtx(pos(:,k), vel(:,k)) ...

                *relPosCBF(:,k);

         az(k) =atan2(-relPosVVLH(2), relPosVVLH(1));

         el(k) = pi/2 -acos(relPosVVLH(3)/norm(relPosVVLH));

     end

     figure;

     plot(az*180/pi,el*180/pi, '+');

3.6.2 atbGenGreatArc

作用:compute great arc route

用法:llaPos = atbGenGreatArc('cb',fromLLA, toLLA, angRes)

说明:cb                 - central bodyname

        fromLLA    - 3x1 LLA vector [rad;rad;meters].

        toLLA      - 3x1 LLA vector [rad;rad;meters].

      angRes    - angular resolution (rad)

        llaPos     - 3xN LLA vector of intermediate points

3.6.3 atbCreateDynStateCBF

作用:Create a dynState structure fromCBF data elements

用法:dynState = atbCreateDynStateCBF('cb', posVelTimes, cbfPos, cbfVel,quatTimes, cbfQuat, angVel)

      dynState = atbCreateDynStateCBF('cb',posVelTimes, cbfPos, cbfVel, quatTimes, cbfQuat)

说明:cb - valid central body name,i.e. 'earth'

      posVelTimes - 1xN lengthtime array for pos and vel data

      cbfPos      - 3xN CBF position array [x;y;z] (meters)

      cbfVel      - 3xN CBF velocity array [vx;vy;vz](m/sec)

      quatTimes   - 1xM time array for attitude data

      cbfQuat     - 4xM attitude quaternion arrayrepresenting the rotation

                   from theCBF frame to the objects body axes frame

      angVel      - optional 3xM angular velocity arrayrepresenting the rotation rate

                   around eachbody frame axis [rx;ry;rz] (rad/sec). The default is

                   fornon-rotating objects in which case geometry calculations

                   willinterpolate the quaternions.

3.6.4 atbCreateDynStateCBI

作用:Create a dynState structure fromCBI data elements

用法:dynState = atbCreateDynStateCBI('cb', posVelTimes, cbiPos, cbiVel,quatTimes, cbiQuat, angVel)

      dynState = atbCreateDynStateCBI('cb',posVelTimes, cbiPos, cbiVel, quatTimes, cbiQuat)

说明:cb - valid central body name,i.e. 'earth'

      posVelTimes - 1xN lengthtime array for pos and vel data

      cbiPos      - 3xN CBI position array [x;y;z] (meters)

      cbiVel      - 3xN CBI velocity array [vx;vy;vz](m/sec)

      quatTimes   - 1xM time array for attitude data

      cbiQuat     - 4xM attitude quaternion arrayrepresenting the rotation

                   from theCBI frame to the objects body axes frame

      angVel     - optional 3xM angular velocity array representing the rotation rate

                   around eachbody frame axis [rx;ry;rz] (rad/sec). The default is

                   fornon-rotating objects in which case geometry calculations

                   will interpolate the quaternions.

3.6.5 atbLhQuatCen

作用:Compute a local horizontalcoordinate frame, geocentric version

用法:quats = atbLhQuatCen(cbPos)

      quats =atbLhQuatCen(cbPos, cbVel)

说明:cbPos - 3xN array of positionvectors [x;y;z] (meters)

      cbVel - optional 3xNvelocity array [vx.vy;vz] (m/s).

            Specification ofthis parameter will generate

            a coordinatesystem with the X axis aligned with

            the velocityvector.  The default is to generate

            a body frame with its X axis parallel to the

            central bodyequator and its Y axis pointing

            to the centralbody north pole.

      quats - rotation matrixfrom CB coordinates into a body

            frame with its XYplane perpendicular to the

            CB positionvector.

 

3.6.6 atbLhQuatCBFDet

作用:Compute a local horizontalcoordinate frame, geodetic version

用法:quats = atbLhQuatCBFDet('cbName',cbfPos)

      quats =atbLhQuatCBFDet('cbName', cbfPos, cbfVel)

说明:cbName - valid central body name,e.g. 'earth'

      cbfPos - 3xN array ofCBF position vectors [x;y;z] (meters)

      cbfVel - optional 3xNCBF velocity array [vx.vy;vz] (m/s).

             Specification ofthis parameter will generate

             a coordinatesystem with the X axis aligned with

             the velocityvector.  The default is to generate

             a body frame withits X axis parallel to the

               central bodyequator and its Y axis pointing

               to the centralbody north pole.

       quats  - rotation matrix from CBF coordinates into abody

                      framewith its XY plane tangent to the central

                      bodysurface.

3.6.7 atbFlatten

作用:Flatten a multidimensionalstructure's field

用法:v      = atbFlatten(s, 'field')

        [v, fs] =atbFlatten(s, 'field')

说明:s     - multidimension structure of length m

     field - a fieldname of swith length n

     v     - flatten'd matrix of size m x n, the rows

             of whichrepresent each field of s

     fs    - the size of each field.  n = fs(1) * fs(2).

                useful when thefield is a matrix.

 

     Every field must have thesame length.

3.7 轨道要素转换(Orbit Element Set Conversions)

3.7.1 atbOrbCartToDel

作用:将直角坐标下的位置速度转换成两行(Delaunay)根数

用法:delElems = atbOrbCartToDel(pos,vel, gravParam)

说明:pos    -inertial cartesian position vector, 3x1, meters

        vel      - inertial cartesian velocity vector,3x1, meters/sec

        gravParam - scalargravitational paramter, see atbCbGravParam

        delElems - Delaunayorbit element set structure

                 This structurehas the following fields:

                     H - zcomponent of angular momentum

                     G - angularmomentum

                     L - sqrt(mu* a)

                     h - rightascension of ascending node (rad)

                     g - argument of perigree (rad)

                     l - meananomaly (rad)

备注:This function errors when themagnitude of eccenVec > 1, where

      eccenVec = c1*pos -c2*vel

      c1 = norm(vel)^2 /gravParam - 1/norm(pos)

      c2 = dot(pos, vel) / gravParam

3.7.2 atbOrbCartToEqui

作用:将直角坐标下的位置速度转换成春分(equinoctial)根数

用法:equiElems = atbOrbCartToEqui(pos,vel, gravParam)

说明:pos    -inertial cartesian position vector, 3x1, meters

        vel      - inertial cartesian velocity vector,3x1, meters/sec

        gravParam - scalargravitational paramter, see atbCbGravParam

        equiElems - equinoctialorbit element set structure

                  This structurehas the following fields:

                      a -semimajor axis length (meters)

                      h - e *sin(omegaBar) (unitless)

                      k - e *cos(omegaBar) (unitless)

                      p -tan(i/2) * sin(raan) (unitless)

                      q -tan(i/2) * cos(raan) (unitless)

                      lambda -mean longitude (rad)

                     isPosigrade - alternative is retrograde

                 Where:

                    e - orbiteccentricity

                    i - orbitinclination

                    raan -right ascension of ascending node

                    omegaBar -argument of perigree + raan for posigrade or

                             argument of perigree - raan for retrograde

备注:This function will generate anerror if:

          2.0 / norm(pos) -norm(vel)^2 / gravParam < 0

3.7.3 atbOrbCartToMod

作用:将直角坐标下的位置速度转换成修正(modified)根数

用法:modElems = atbOrbCartToMod(pos,vel, gravParam)

说明:pos    -inertial cartesian position vector, 3x1, meters

        vel      - inertial cartesian velocity vector,3x1, meters/sec

        gravParam - scalargravitational paramter, see atbCbGravParam

        modElems - modifiedorbit element set structure

                  This structurehas the following fields:

                      rp -periapsis radius (meters)

                      e -eccentricity (unitless)

                      i -inclination (rad)

                      raan -right ascension of ascending node (rad)

                      ap -argument of periapsis (rad)

                      ta - trueanomaly (rad)

3.7.4 atbOrbCartToSphere

作用:将直角坐标下的位置速度转换成球形(spherical)根数

用法:sphereElems =atbOrbCartToSphere(pos, vel)

说明:pos    -inertial cartesian position vector, 3x1, meters

        vel      - inertial cartesian velocity vector,3x1, meters/sec

        sphereElems - sphericalorbit element set structure

                    Thisstructure has the following fields:

                        ra -right ascension (rad)

                        dec - declination (rad)

                        r -radius (meters)

                        fpa -horizontal flight path angle (rad)

                        az -flight path aximuth (rad)

                        v -speed (meters/sec)

3.7.5 atbOrbCartToMixedSphere

作用:将直角坐标下的位置速度转换成混合球形(mixed spherical)根数

用法:mixedElems =atbOrbCartToMixedSphere('cb', time, pos, vel)

说明:cb    -central body name, e.g. 'Earth'

        time  - coordinate time (seconds)

        pos   -inertial cartesian position vector, 3x1, meters

        vel      - inertial cartesian velocity vector,3x1, meters/sec

        mixedElems - mixedspherical orbit element set structure

                    This structure has the following fields:

                        lon -longitude (rad)

                        lat -latitude (rad)

                        alt - altitude (meters)

                        fpa -horizontal flight path angle (rad)

                        az -flight path aximuth (rad)

                        v -speed (meters/sec)

3.7.6 atbOrbDelToCart

作用:将两行(Delaunay)根数根数转换成直角坐标下的位置速度

用法:[pos, vel] =atbOrbDelToCart(delElems, gravParam)

3.7.7 atbOrbEquiToCart

作用:将春分(equinoctial)根数根数转换成直角坐标下的位置速度

用法:[pos, vel] =atbOrbEquiToCart(equiElems, gravParam)

3.7.8 atbOrbModToCart

作用:将两行(Delaunay)根数根数转换成直角坐标下的位置速度

用法:[pos, vel] =atbOrbDelToCart(delElems, gravParam)

3.7.9 atbOrbSphereToCart

作用:将两行(Delaunay)根数根数转换成直角坐标下的位置速度

用法:[pos, vel] =atbOrbDelToCart(delElems, gravParam)

3.7.10 atbOrbMixedSphereToCart

作用:将两行(Delaunay)根数根数转换成直角坐标下的位置速度

用法:[pos, vel] =atbOrbDelToCart(delElems, gravParam)

3.8 轨道根数分量的转换(Orbit Element ParameterConversions)

3.8.1 atbOrbEccToTrue

作用:偏近点角E转换为真近点角f

用法:trueAnom =atbOrbEccToTrue(eccAnom, eccentricity)

说明:eccAnom - eccentric anomaly (rad)

      eccentricity - unitless

      trueAnom - true anomaly(rad)

3.8.2 atbOrbTrueToEcc

作用:真近点角f转换为偏近点角E

用法:eccAnom =atbOrbTrueToEcc(trueAnom, eccentricity)

说明:trueAnom - true anomaly (rad)

      eccentricity - unitless

      eccAnom - eccentricanomaly (rad)

3.8.3 atbOrbMeanToTrue

作用:平近点角M转换为真近点角f

用法:trueAnom =atbOrbMeanToTrue(meanAnom, eccentricity)

说明:meanAnom - mean anomaly (rad)

      eccentricity - unitless

      trueAnom - true anomaly(rad)

3.8.4 atbOrbTrueToMean

作用:真近点角f转换为平近点角M

用法:meanAnom =atbOrbTrueToMean(trueAnom, eccentricity)

说明:trueAnom - true anomaly (rad)

      eccentricity - unitless

      meanAnom - mean anomaly(rad)

3.8.5 atbOrbLanToRaan

作用:升交点经度(地理)转化为升交点赤经(天球)

用法:raan = atbOrbLanToRaan('cbName',lan, curTime, tpan)

说明:cbName - valid central body name,e.g. 'Earth'

      lan - longitude of ascending node (rad)

      curTime - current time(sec)

      tpan - time pastascending node (sec)

      raan - right ascensionof ascending node (rad)

3.8.6 atbOrbRaanToLan

作用:升交点赤经(天球)转化为升交点经度(地理)

用法:lan = atbOrbRaanToLan('cbName',raan, curTime, tpan)

说明:cbName - valid central body name,e.g. 'Earth'

      raan - right ascensionof ascending node (rad)

      curTime - current time(sec)

      tpan - time pastascending node (sec)

      lan - longitude ofascending node (rad)

3.8.7 atbOrbPeriRadToPeriod

作用:近地点向径转化为轨道周期

用法:period = atbOrbPeriRadToPeriod(perigreeRad,eccentricity, gm)

说明:perigreeRad - perigree radius(meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      period - orbit period(sec)

3.8.8 atbOrbPeriodToPeriRad

作用:轨道周期转化为近地点向径

用法:perigreeRad =atbOrbPeriodToPeriRad(period, eccentricity, gm)

说明:perigreeRad - perigree radius(meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      period - orbit period(sec)

3.8.9 atbOrbPeriRadToSMajAxis

作用:近地点向径转化为轨道半长轴

用法:semimajorAxis =atbOrbPeriRadToSMajAxis(perigreeRad, eccentricity)

说明:perigreeRad - perigree radius(meters)

      eccentricity - unitless

      semimajorAxis -semimajor axis length (meters)

3.8.10 atbOrbSMajAxisToPeriRad

作用:轨道半长轴转化为近地点向径

用法:perigreeRad =atbOrbSMajAxisToPeriRad(semimajorAxis, eccentricity)

说明:perigreeRad - perigree radius(meters)

      eccentricity - unitless

      semimajorAxis -semimajor axis length (meters)

3.8.11 atbOrbTPANToTrue

作用:过升角点时转化为真近点角

用法:trueAnom = atbOrbTPANToTrue(tpan,argOfPerigree, sma, eccentricity, gm)

说明:tpan - time past ascending node(sec)

      argOfPerigree - argumentof perigree (rad)

      sma - semimajor axislength (meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      trueAnom - true anomaly(rad)

3.8.12 atbOrbTrueToTPAN

作用:真近点角转化为将过升角点时

用法:tpan = atbOrbTrueToTPAN(trueAnom,argOfPerigree, sma, eccentricity, gm)

说明:tpan - time past ascending node(sec)

      argOfPerigree - argumentof perigree (rad)

      sma - semimajor axislength (meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      trueAnom - true anomaly(rad)

3.8.13 atbOrbTPPToTrue

作用:过近地点时转化为真近点角

用法:trueAnom = atbOrbTPPToTrue(tpp,sma, eccentricity, gm)

说明:tpp - time past perigree (sec)

      sma - semimajor axislength (meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      trueAnom - true anomaly(rad)

3.8.14 atbOrbTrueToTPP

作用:过近地点转化为时真近点角

用法:tpp = atbOrbTrueToTPP(trueAnom,sma, eccentricity, gm)

说明:tpp - time past perigree (sec)

      sma - semimajor axislength (meters)

      eccentricity - unitless

      gm - gravitationalparameter, see atbCbGravParam

      trueAnom - true anomaly(rad)

3.9 DTED操作(DTED operations)

3.9.1 atbCbListDtedTypes

作用:列出中心体的所有数据类型

用法:typeInfo =atbCbListDtedTypes('cb')

说明:cb                 - central bodyname

        typeInfo   - structure array with following fields:

                   id - terraintype string, possible values are:

                      MRAS

                      NIMADMED

                      NIMAFILE

                      MTOP

                      DEM

                      XTRA

                      MOLA

                     CONVERTEDMOLA

                    provider

                    formalName

                    fileSuffix

3.9.2 atbCbListDted

作用:列出中心体的所有数据源

用法:[sources, rect] =atbCbListDted('cb')

说明:cb                 - central bodyname

        sources   - cell array of source file names

      rect      - matrix of boundarys [minLon maxLonminLat maxLat] for each source (rad)

3.9.3 atbCbAddDtedSource

作用:给中心体增加DTED

用法:atbCbAddDtedSource('cb', 'type','filePath')

说明:cb                 - central bodyname

        type      - valid terrain file type, choices are:

                   MRAS

                   NIMADMED

                   NIMAFILE

                   MTOP

                   DEM

                   XTRA

                   MOLA

                   CONVERTEDMOLA

        filePath   - full file path

3.9.4 atbCbDtedSourceUI

作用:用一个GUI管理地球DTED

用法:atbCbDtedSourceUI

备注:Associates terrain files withEarth.

3.9.5 atbLoadNimaDted

作用:递归加载压缩包中所有的NIMA DTED

用法:atbLoadNimaDted(rootFolder,wildcard)

说明:rootFolder - string name of theroot folder to recurse

      wildcard - optional filename filter, default is '*.dt*'

3.9.6 atbCbRemDtedSource

作用:删除中心体的DTED

用法:atbCbRemDtedSource('cb','fileName')

说明:cb                 - central bodyname

        fileName   - a string or cell array of strings

                   use thestring 'ALL' to remove all files

                   useatbCbListDted to obtain an array of loaded files

3.9.7 atbCbGetDtedSourceForPos

作用:获取周围地形数据

用法:sources =atbCbGetDtedSourceForPos('cbName', lat, lon)

说明:cbName - valid central body name,e.g. 'earth'

      lat - geodetic latitude(radians)

      lon - geodetic longitude(radians)

      sources - cell array ofterrain sources with boundaries encompassing lat/lon

3.9.8 atbGetDtedPatch

作用:获取DTED的句柄

用法:h = atbGetDtedPatch('cb', minLon,maxLon, minLat, maxLat)

      h =atbGetDtedPatch('cb', rect)

说明:cb                 - central bodyname

        minLon     - minimum longitude of bounding box (rad).

        maxLon     - maximum longitude of bounding box (rad).

        minLat      -minimum latitude of bounding box (rad).

        maxLat     - maximum latitude of bounding box (rad).

        rect        -1x4 array [minLon maxLon minLat maxLat] (rad).

        h          - handle to the terrain patch.

                    use atbClearDtedPatch to clear the patch frommemory.

3.9.9 atbClearDtedPatch

作用:清除DTED的句柄

用法:atbClearDtedPatch(h)

说明:h            - terrain patch handle obtained fromatbGetDtedPatch

3.9.10 atbAllDtedPatches

作用:获取当前DTED的句柄

用法:hVec = atbAllDtedPatches

说明:hVec    - terrain patch handles

3.9.11 atbDtedPatchInfo

作用:获取DTED句柄中的信息

用法:[rect, res] = atbDtedPatchInfo(h)

说明:h          - terrain patch handle(s)

        rect       - matrix of boundarys [minLon maxLonminLat maxLat] for each handle

        res        - resolution of each handle [longReslatRes] (rad)

3.9.12 atbDtedElev

作用:获取中心体DTED的高度

用法:altMN  = atbDtedElev('cbName', lat, lon)

      altN   = atbDtedElev('cbName', latLon)

说明:cbName      - valid central body name

        lat         - MxN latitude array (rad)

        lon        - MxN longitude array (rad)

        latLon      -2xN lat and lon array [lat;lon] (rad)

        altMN      - MxN altitude (meters)

        altN       - 1xN altitude vector (meters)

3.9.13 atbDtedPatchElev

作用:获取句柄DTED的高度

用法:altMN  = atbDtedPatchElev(h, lat, lon)

      altN   = atbDtedPatchElev(h, latLon)

说明:h            - terrain patch handle obtianed fromatbGetDtedPatch

        lat        - MxN latitude array (rad)

        lon        - MxN longitude array (rad)

        latLon     - 2xN lat and lon array [lat;lon] (rad)

        altMN      - MxN altitude (meters)

        altN       - 1xN altitude vector (meters)

3.9.14 atbAzElMask

作用:compute an az/el mask

用法:[az, maxEl, riseEl, riseDist] =atbAzElMask('cb', posLLA, NAz)

说明:cb                   -central body name

        posLLA    - 3x1 LLA observer position vector[rad;rad;meters].

        NAz       - number of azimuth points

        az         - NAz x 1 vector of azimuths (rad)

        maxEl      - NAz x 1 vector of maximum elevationsalong az (rad)

        risEl       - NAz x 1 cell array of intermediateelevations along az (rad)

3.9.15 atbDtedRes

作用:get DTED resolution

用法:res = atbDtedRes('cb', lat, lon)

说明:cb                  -central body name

        lat        - latitude (rad)

        lon        - longitude (rad)

        res          - resolution of DTED data at lat/lon (rad)

3.9.16 atbDtedLOSExist

作用:compute existence of line ofsight between two points

用法:losAngle = atbDtedLOSExist('cb',fromLLA, toLLA)

说明:cb                 - central bodyname

       fromLLA    - 3x1 LLA vector [rad;rad;meters].

       toLLA      - 3x1 LLA vector [rad;rad;meters].

       losAngle   - angle between the maximum terrainelevation point

                   between thepoints and the direct line of sight

                   between thepoints.  A positive number indicates the

                   terrain does notobstruct the line of sight.

3.10 运动属性(Propagators)

3.10.1 atbLambertFixedTime

作用:Lambert targeting algorithm -fixed time

用法:startVel =atbLambertFixedTime(startPos, finalPos, gm, deltaTime)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

        finalPos  - 3x1 final position [x;y;z] (meters)

        gm        - gravitational parameter (meters^3 /sec^2)

        deltaTime - time to movefrom start to final pos

        startVel  - 3x1 starting velocity vector [vx;vy;vz](m/s)

备注:Computes the Lambert targetingalgorithm to design a two-body

        trajectory between theinitial and final positions.

3.10.2 atbLambertMinEnergy

作用:Lambert targeting algorithm -minimum energy

用法:[startVel, deltaTime] =atbLambertMinEnergy(startPos, finalPos, gm)

      [startVel, deltaTime] =atbLambertMinEnergy(startPos, finalPos, gm, longWayFlag)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

        finalPos  - 3x1 final position [x;y;z] (meters)

        gm        - gravitational parameter (meters^3 /sec^2)

        longWayFlag - flag tocompute the alternate long way around the orbit.

                    The defaultis the short way around.

        startVel  - 3x1 starting velocity vector [vx;vy;vz](m/s)

        deltaTime - time to movefrom start to final pos

3.10.3 atbLambertMinEccen

作用:Lambert targeting algorithm -minimum eccentricity

用法:[startVel, deltaTime] =atbLambertMinEccen(startPos, finalPos, gm)

      [startVel, deltaTime] =atbLambertMinEccen(startPos, finalPos, gm, longWayFlag)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

        finalPos  - 3x1 final position [x;y;z] (meters)

        gm        - gravitational parameter (meters^3 /sec^2)

        longWayFlag - flag tocompute the alternate long way around the orbit.

                    The defaultis the short way around.

        startVel  - 3x1 starting velocity vector [vx;vy;vz](m/s)

        deltaTime - time to movefrom start to final pos

备注:Computes the Lambert targetingalgorithm to design a two-body

        trajectory between theinitial and final positions.

3.10.4 atbKeplerProp

作用:Kepler two body propagator

用法:[pos, vel, accel] =atbKeplerProp(startPos, startVel, gm, times)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

        startVel  - 3x1 starting velocity [vx;vy;vz](meters/sec)

        gm        - gravitational parameter (meters^3 /sec^2)

        times     - N length vector of times at which tocompute the orbit.

                  The first timein the vector is considered to be the start time.

        pos       - 3xN orbit position [x;y;z] (meters)

        vel       - 3xN orbit velocity [vx;vy;vz] (m/s)

        accel     - 3xN orbit acceleration [ax;ay;az] (m^2/s)

备注:Propagates a two-body trajectoryfrom the given initial conditions.

3.10.5 atbJ2Prop

作用:J2 propagator

用法:[pos, vel, accel] =atbJ2Prop(startPos, startVel, gm, eccRad, J2, times)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

       startVel  - 3x1 starting velocity [vx;vy;vz](meters/sec)

       gm        - gravitational parameter (meters^3 /sec^2)

       eccRad    - equatorial radius (meters)

       J2        - zonal harmonic coefficient (unitless)

       times     - N length vector of times at which tocompute the orbit.

                  The first timein the vector is considered to be the start time.

       pos       - 3xN orbit position [x;y;z] (meters)

       vel       - 3xN orbit velocity [vx;vy;vz] (m/s)

       accel     - 3xN orbit acceleration [ax;ay;az](m^2/s)

备注:Propagates a two-body trajectoryfrom the given initial conditions.

       The propagator uses afirst order J2 perturbation algorithm which models

       only the secular effectson the orbital elements. The output positions,

       velocities andaccelerations are in the same inertial coordinate system

       as the inputelements.  There is an implicitassumption in this algorithm

       that the central body isin a simple spin about its Z axis and that the

       inertial and central bodyfixed Z axes are aligned.

3.10.6 atbJ4Prop

作用:J4 propagator

用法:[pos, vel, accel] =atbJ4Prop(startPos, startVel, gm, eccRad, J2, J4, times)

说明:startPos  - 3x1 starting position [x;y;z] (meters)

        startVel  - 3x1 starting velocity [vx;vy;vz] (meters/sec)

        gm        - gravitational parameter (meters^3 /sec^2)

        eccRad    - equatorial radius (meters)

        J2        - zonal harmonic coefficient (unitless)

        J4        - zonal harmonic coefficient (unitless)

        times     - N length vector of times at which tocompute the orbit.

                  The first timein the vector is considered to be the start time.

        pos       - 3xN orbit position [x;y;z] (meters)

        vel       - 3xN orbit velocity [vx;vy;vz] (m/s)

        accel     - 3xN orbit acceleration [ax;ay;az](m^2/s)

备注:Propagates a two-body trajectoryfrom the given initial conditions.

        The propagator uses asecond order J2/J4 perturbation algorithm which

        models only the seculareffects on the orbital elements. J2 effects are

        considered to the secondorder and J4 effects are considered to the first

        order. The outputpositions, velocities and accelerations are in the same

        inertial coordinatesystem as the input elements.  There isan implicit

        assumption in thisalgorithm that the central body is in a simple spin about

        its Z axis and that theinertial and central body fixed Z axes are aligned.

3.10.7 atbLaunchProp

作用:Simple ascent propagator

用法:[pos, vel] = atbLaunchProp('centBody', launchLLA, burnoutLLA,burnoutSpeed, retroFlag, times)

说明:centBody     - valid central body name, i.e. 'Earth'

        launchLLA    - 3x1 LatLonAlt vector [rad;rad;m]

        burnoutLLA   - 3x1 LatLonAlt vector [rad;rad;m]

        burnoutSpeed - burnoutspeed (meters/sec)

        retroFlag    - retrograde flag

        times        - N length vector of times at which tocompute the orbit.

        pos          - 3xN orbit position [x;y;z] (meters)

        vel          - 3xN orbit velocity [vx;vy;vz] (m/s)

备注:Propagates an ellipticaltrajectory from the launch LLA point

        to the burnout LLApoint, generating a velocity profile which is zero at

        launch and burnoutSpeedat burnout.  The burnout velocity vectorwill

        be perpendicular to theburnout position vector.  The initialvelocity

        vector will be parallelto the launch positition vector.  Thetrajectory

        will be generated in theplane formed by the launch and burnout position

        vectors.

3.10.8 atbMissilePropDataFixedTime

作用:Missile propagator data - fixedtime

用法:[posCBI, velCBI, apogeeAlt, deltaV] = atbMissilePropDataFixedTime('centBody',startPosCBF, endPosCBF, startTime, longWay, deltaTime)

说明:centBody     - valid central body name, i.e. 'Earth'

        startPosCBF  - 3x1 CBF position vector [x;y;z] (meters)

        endPosCBF    - 3x1 CBF position vector [x;y;z] (meters)

        startTime    - time corresponding to startPosCBF (sec)

        longWay      - flag to generate the trajectory thelong way around the central body

        deltaTime    - time of flight (sec)

        posCBI       - 3x1 initial position [x;y;z] (meters)

        velCBI       -3x1 initial velocity [vx;vy;vz] (m/s)

        apogeeAlt    - apogee altitude of the trajectory(meters)

        deltaV       - velocity impulse required fortrajectory(m/s)

备注:Determines the initial inertialposition and velocity

        for a missile trajectorybetween two CBF position vectors.

        Use atbLambertMinEccento determine the minimum valid time.

3.10.9 atbMissilePropDataFixedAlt

作用:Missile propagator data - fixedaltitude

用法:[posCBI, velCBI, deltaTime, deltaV] =atbMissilePropDataFixedAlt('centBody', startPosCBF, endPosCBF, startTime,longWay, apogeeAlt)

说明:centBody     - valid central body name, i.e. 'Earth'

        startPosCBF  - 3x1 CBF position vector [x;y;z] (meters)

        endPosCBF    - 3x1 CBF position vector [x;y;z] (meters)

        startTime    - time corresponding to startPosCBF (sec)

        longWay      - flag to generate the trajectory thelong way around the central body

        apogeeAlt    - apogee altitude of the trajectory(meters)

        posCBI       - 3x1 initial position [x;y;z] (meters)

        velCBI       -3x1 initial velocity [vx;vy;vz] (m/s)

        deltaTime    - time of flight (sec)

        deltaV       - velocity impulse required fortrajectory(m/s)

备注:Determines the initial inertial position and velocity for a missiletrajectory between two CBF position vectors.

3.10.10 atbMissilePropDataFixedDelta

作用:

用法:

说明:

3.10.11 atbMissilePropDataMinEnergy

作用:Missile propagator data - minimumenergy

用法:[posCBI, velCBI, deltaTime,apogeeAlt, deltaV] = atbMissilePropDataMinEnergy ( 'centBody',  startPosCBF, endPosCBF, startTime, longWay)

说明:centBody     - valid central body name, i.e. 'Earth'

        startPosCBF  - 3x1 CBF position vector [x;y;z] (meters)

        endPosCBF    - 3x1 CBF position vector [x;y;z] (meters)

        startTime    - time corresponding to startPosCBF (sec)

        longWay      - flag to generate the trajectory thelong way around the central body

        posCBI       - 3x1 initial position [x;y;z] (meters)

        velCBI       - 3x1 initial velocity [vx;vy;vz] (m/s)

        deltaTime    - time of flight (sec)

        apogeeAlt    -apogee altitude of the trajectory (meters)

        deltaV       - velocity impulse required fortrajectory(m/s)

3.10.12 atbTLERead

作用:Read a 2-line element set file

用法:vehNames = atbTLERead('fileName','prefix')

说明:fileName     - full path to TLE file in a formatreadable by STK

        prefix       - string to prepend to the name of eachTLE in the file

        vehNames     - cell array of loaded TLE names

备注:Extracts TLEs from the specifiedfile and store for use by atbTLEProp

        Consult STKdocumentaiton for further information on TLE files

3.10.13 atbTLEGetAll

作用:Get all loaded 2-line elementsets

用法:vehNames = atbTLEGetAll

说明:vehNames     - cell array of all loaded TLE names

备注:Lists all TLEs available for useby atbTLEProp

        Consult STKdocumentaiton for further information on TLE files

3.10.14 atbTLEDelete

作用:删除2行根数设置

用法:atbTLEDelete(vehNames)

说明:vehNames     - single name or cell array of TLE names

备注:Deletes the specified TLEs frommemory

3.10.15 atbTLEProp

作用:设置SGP4两行根数运动属性参数

用法:[times, posECF, velECF] =atbTLEProp('vehName', timeStart, timeStop, timeStep)

说明:vehName      - loaded TLE name

        timeStart      - propagation start time (sec)

        timeStop      - propagation stop time (sec)

        timeStep      - propagation time step (sec)

        times         - N length array of times relative to theinternal ATB epoch

        posECF       - 3xN ECF position matrix [x;y;z](meters)

        velECF       - 3xN ECF velocity matrix [vx;vy;vz](m/s)

3.10.16 atbTLEEpoch

作用:获取SGP4两行根数的历元

用法:epoch = atbTLEEpoch('vehName')

说明:vehName      - loaded TLE name

        epoch        - the offset in sec form the internalATB epoch

备注:Returns the offset in sec fromthe internal ATB epoch

3.10.17 atbTLEInfo

作用:获取SGP4两行根数

用法:tleInfo = atbTLEInfo('vehName')

说明:vehName    - loaded TLE name

        tleInfo      - structure with the following fields:

                      orbitEpoch - string date in YYDDD.SSSSSSS format

                      meanMotion - rev/day

                      eccentricity - unitless

                      inclination - units in radians

                       argOfPerigree - units in radians

                       RAAN -units in radians

                      meanAnomaly - units in radians

                      meanMotionDot

                      meanMotionDotDot

                       bStar -m^2/kg

备注:Returns the two-line-element setdata for a loaded vehicle

3.11 导航精度(Navigation Accuracy)

3.11.1 atbComputeDOP

作用:计算精度因子

用法:[dop,bestInd] = atbComputeDOP(posVecs, N)

                  dop = atbComputeDOP(posVecs)

说明:posVecs   - a 3xM matrix of nav beacon positions[x;y;z] (meters), 4 <= M <= 30

        N         - optional integer value to computethe optimal subset

                   of the beacons.  Meaningless unless N < M. N <= 30.

        bestInd   - a length N vector of indices into optimalbeacons.

        dop       - a structure with the following fields:

                  GDOP

                  PDOP

                  HDOP

                  VDOP

                  TDOP

                  HMajDOP - the local horizontal error ellipse major axis

                  HMinDOP - the local horizontal error ellipse minor axis

HMajAz  - therotation angle (from the x axis) of the local horizontal error ellipse

 备注:Computesdilution of precision based on the optimal set of

             N beacons from the input array.  The optimal set of N

             is determined as the set that yieldsthe minimum GDOP.

             The beacon positions should beexpressed in a local horizontal

             coordinate system so the DOP valuesmay be interpreted as

             stated.  This local coordinate system should have Zpointed

             toward the center of the Earth, orperpendicular to the

             surface and X should be oriented ina north-south sense.

             The best array will be filled withthe indices of the beacons

             that yield the minimum GDOP

3.12 地图数据(Map Data)

3.12.1 atbMapDetails    

作用:地图细节Earth map details

用法:xyCell = atbMapDetails(mapName)

说明:mapName - one of the followingstrings:

                'coasts' -coastlines

                'intl' -international boundaries

                 'islands' -ocean islands

                 'lakes' -freshwater lakes

                 'prov' -provincial boundaries, e.g. US State lines

                   'rivers' -freshwater rivers

       xyCell - cell arraywith elements containing 2xN matrices of

                    [lon;lat](deg).

3.12.2 atbPlotMapDetails   

作用:绘地图Plot Earth map details

用法:hl = atbPlotMapDetails(hax,mapName, style)

说明:mapName - one of the followingstrings:

                'coasts' -coastlines

                 'intl' -international boundaries

                 'islands' -ocean islands

                  'lakes' -freshwater lakes

                  'prov' -provincial boundaries, e.g. US State lines

                  'rivers' -freshwater rivers

       style - a plot linestyle, see the help for PLOT

       hl - handles to lines

3.13 覆盖网格(Coverage Grids)

3.13.1 atbGetPolyHandle

作用:获取多边形句柄

用法:hGrid =atbGetPolyHandle(XYpolygon)

说明:XYpolygon - a 2xN matrix ofpositions [x;y] (unitless), N >= 3

        hGrid     - grid handle for use in atbInsidePoly andatbClearPolyHandle

备注:Generates a grid handle for a polygon.  The grid handle is used by atbInsidePoly todetermine if a point is enclosed by the polygon.

3.13.2 atbInsidePoly

作用:检查一个点是否为多边形的内点

用法:inside = atbInsidePoly(hGrid,XYpoints)

说明:hGrid     - handle obtained from atbGetPolyHandle

        XYpoints  - 2xN matrix of points to check [x;y](unitless)

        inside    - 1xN vector of flags indicating if thecorresponding point

                  is enclosed bythe polygon represented by hGrid.

3.13.3 atbClearPolyHandle

作用:清除多边形句柄

用法:atbClearPolyHandle(hGrid)

     atbClearPolyHandle('ALL')

说明:hGrid     - vector of handles to polygon grids toclear from memory.


四、stkExec使用总结

作用:Execute an STK/Connect command

用法:rtn = stkExec(conID, 'conCmdStr')

说明:rtn             - A character array containing the STK return

        conID    -STK/Connect connection ID, from stkOpen.

可以说,所有的STK/Connect都可以通过调用函数stkExec( )来实现,具体使用参见STK/Help/Connect。下面仅就已经使用过的功能做介绍。

4.1 场景动画控制

4.1.1 动画时间设置

4.1.2 动画控制按钮

4.1.3 3D场景控制按钮

4.2 新建物体

4.2.1 新建场景

4.2.2 新建卫星

4.2.3 同时新建多个对象

4.3 3D场景中的设置(针对卫星3D Graphics)

4.3.1 模型引用、大小

   

 

 

4.10 STK中颜色编号

 

五、示例

4.1 卫星编队之构型设计

1、Matlab连接STK,首先要获得STK的地址,示例中采用了默认地址stkDefaultHost。得到地址后,就可以利用语句stkOpen打开默认地址,建立Matlab与STK的连接了。

remMachine = stkDefaultHost;

conid=stkOpen(remMachine);

2、在STK中创建新场景前,需要检查STK中的当前场景,如果目前STK中已经存在一个场景,就可以利用语句stkUnload关闭场景,或者利用语句stkClose关闭当前连接。

scen_open = stkValidScen;

if scen_open == 1

   rtn =questdlg('Close the current scenario?');

   if~strcmp(rtn,'Yes')

     stkClose(conid)

      return

   else

     stkUnload('/*')

   end

end

3、利用语句stkNewObj创建新场景。这里需要注意一个问题,stkNewObj在STK5.0中创建新场景时,语法为stkNewObj('Scenario','','Scenario1'),这应该是STK5.0的程序错误所致。stkNewObj的正确语法应该是stkNewObj('ParentPath','Class','Name'),其中ParentPath为场景或对象的路径,Class为新建对象的类别,Name为新建对象的名称。

disp('Create a new scenario: SatelliteFormation');

stkNewObj('Scenario','','SatelliteFormation');

stkNewObj('*/','Satellite','Chief');

4、场景建立完成后,需要为场景设置时间参数。其中场景的历元时刻设置这是通过语句stkSetEpoch和stkSyncEpoch实现的。而设置场景运行方式时是通过语句stkConnect直接调用STK连接命令的方式实现的。STK调用连接命令语句stkConnect非常重要,它的正确语法是

rtn=stkConnect(conid,'<Command>','<ObjectPath>','<Parameters>')

其中,conid代表通过语句stkOpen打开的当前连接,Command代表要执行的命令,

ObjectPath代表对象名称,Parameters代表相应命令的执行参数。

disp('Set scenario timeperiod');

stkSetTimePeriod('1 May 200700:00:00.00','2 May 2007 00:00:00.00','GREGUTC');

stkSetEpoch('1 May 200700:00:00.00','GREGUTC');

stkSyncEpoch;

rtn=stkConnect(conid,'Animate','Scenario/SatelliteFormation','SetValues"1 May 2007 00:00:00.00" 60 0.1');

rtn=stkConnect(conid,'Animate','Scenario/SatelliteFormation','Reset');

rtn = stkConnect(conid,'SetBoundary','Scenario1/sun_rfi/AreaTarget/BoxTarget','Pattern 10 10 -80 10 -70 10 -60 10 -50 10-40 -37 -40 -37 -50 -37 -60 -37 -70 -37 -80');

4.2 使用心得

如果需要设置或是获取上述函数中没有提到的属性或参数,需要借助stkConnect或是stkExec完成,常采用stkExec,其调用函数为

rtn=stkExec(conid,'<Command> <ObjectPath> <Parameters>')

具体应用需查询STK中的Help。如改变卫星模型尺寸,调用语句为:stkExec( conid, 'VO*/Satellite/Deputy ScaleLog 1' )

 

你可能感兴趣的:(stk)