There are two basic kinds of satellite nodes: geostationary
and non-geostationary satellite nodes. In addition, terminal nodes
can be placed on the Earth's surface. As is explained later in
Section ,
each of these three different types of nodes is actually implemented with
the same class SatNode object, but with different position,
handoff manager, and link objects attached.
The position object keeps track of the satellite node's location
in the coordinate system as a function of the elapsed simulation time.
This position information is used to determine link propagation delays and
appropriate times for link handoffs. Section 5.3
introduced the
"node-config" utility used to prime the node generator for different
types of satellite nodes.
Figure illustrates the spherical coordinate system,
and the corresponding Cartesian coordinate system.
The coordinate system is centered at the
Earth's center, and the
axis coincides with the Earth's axis of rotation.
corresponds to
longitude
(prime meridian) on the equator.
Specifically, there is one class of satellite node Class Node/SatNode, to which one of three types of Position objects may be attached. Each SatNode and Position object is a split OTcl/C++ object, but most of the code resides in C++. The following types of position objects exist:
$ns node-config -satNodeType terminal \bs (other node config commands go here...) set n1 [$ns node] $n1 set-position $lat $lon; # in decimal degrees
$ns node-config -satNodeType geo (or ``geo-repeater'') \bs (other node config commands go here...) set n1 [$ns node] $n1 set-position $lon; # in decimal degrees
Satellite orbits are usually specified by six parameters: altitude,
semi-major axis, eccentricity,
right ascension of ascending node, inclination, and
time of perigee passage. The polar orbiting satellites in ns have
purely circular orbits, so we simplify the specification of the orbits to
include only three parameters: altitude, inclination, and
longitude, with a fourth parameter alpha specifying initial
position of the satellite in the orbit, as described below.
Altitude is specified in kilometers above the Earth's surface, and
inclination can range from degrees, with
corresponding
to pure polar orbits and angles greater than
degrees corresponding
to ``retrograde'' orbits. The ascending node refers to the point
where the footprint of the satellite orbital track crosses the equator
moving from south to north. In this simulation model, the parameter
longitude of ascending node specifies the earth-centric longitude at
which the satellite's nadir point crosses the equator moving south
to north.18.3 Longitude of ascending node can range from
degrees. The fourth parameter,
alpha, specifies the initial position of the satellite along this
orbit, starting from the ascending node.
For example, an alpha of
degrees indicates that the
satellite is initially above the equator moving from north to south.
Alpha can range from
degrees.
Finally, a fifth parameter, plane, is specified when creating
polar satellite nodes- all satellites in the same plane are given the
same plane index.
The node generator
used to create a polar satellite with an attached position object as
follows:
$ns node-config -satNodeType polar \bs (other node config commands go here...) set n1 [$ns node] $n1 set-position $alt $inc $lon $alpha $plane
Tom Henderson 2014-12-17