17.2.1 Nodes and node positions

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 17.3, 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 17.2 illustrates the spherical coordinate system, and the corresponding Cartesian coordinate system. The coordinate system is centered at the Earth's center, and the $z$ axis coincides with the Earth's axis of rotation. $(R,\theta,\phi) = (6378 km, 90^o, 0^o)$ corresponds to $0^o$ 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:

Tom Henderson 2011-11-05