NXM Help SYSMOD

From ICE Enterprises
Jump to navigation Jump to search
Go to the full list of NXM Help pages.

Summary: Covers spatial coordinate systems and reference frames.

The systems modeling facilities in NeXtMidas are designed to manipulate data describing objects moving in 3-dimensional space and the propagation of electromagnetic energy. Although the design requirements are quite focused, the tools developed to support these functions are generally applicable to a variety of problems. These tools include:

  1. Type 3000/5000 record oriented files
  2. Mechanisms for defining or manipulating absolute or relative event times
  3. Coordinate system transformations
  4. General arithmetic operations on 3 element data items (x,y,z)

The basis for mathematical operations in the systems modeling package (SMP) is the vector data atom. Typically, signal processing primitives are coded to interpret either scalar (real) or complex data atoms. Spatial quantities, when expressed as 3 component atoms, are call vector atoms. The SMP also makes use of the matrix (3x3) atom and the transmatrix (4x4) atoms.

There are a number of operations that can be performed on or with vector atoms:

  1. Scaling of magnitude
  2. Rotation of direction
  3. Translation of origin
  4. Addition/Subtraction of two vectors
  5. Scalar product (aka inner/dot product) of two vectors
  6. Vector product (aka outer/cross product) of two vectors

Conceptually, all of these operations are independent of the vector's expressed representation. However, to obtain meaningful numeric results from operations involving two or more vectors, they must be expressed in the same coordinate system, engineering units, and frame of reference. While the choice of representation is entirely arbitrary, sometimes the convenience of a particular form is so overwhelming compared to others as to make it almost (but never quite) mandatory.

For a particular application, different elements of a problem may be expressed more conveniently in different representations. It is this fact that motivates one to have the capability to convert easily among different representations.

NeXtMidas recognizes two types of ENGINEERING UNITS:

  1. ENGLISH
  2. METRIC

The specific units are associated with a numeric key as defined by the Util.unitsName() routine. However, the angular components of a vector are ALWAYS in units of degrees. The units keys are for the distance components of the vector only.

NeXtMidas recognizes four types of COORDINATE SYSTEMS:

  1. Cartesian (x,y,z)
  2. Spherical (R,theta,phi)
  3. Cylindrical (R,theta,h)
  4. Geodetic (alt,lat,lon)

NeXtMidas recognizes five standard types of REFERENCE FRAMES:

  1. NULL - not applicable to problem
  2. ECR - Earth Centered Rotational (X&Y in equatorial plane at 0 and 90
    degrees East respectively, and Z north along rotational axis)
  3. ECI - Earth Centered Inertial (X towards vernal equinox, Y 90 degrees
    east of X, and Z north along rotational axis)
  4. TOPOCENT - X due South in local horizon, Y east in horizon plane, and
    Z perpendicular (up) to local horizon
  5. TOP - X due East in local horizon, Y north in horizon plane, and
    Z perpendicular (up) to local horizon. This system is then
    augmented by a specified azimuth rotation, elevation angle,
    and roll angle.

If the reference name does not match one of these recognized names, it is assumed to be a CUSTOM frame of reference frame as defined by a special type 5000 file of that name with the appropriate transformation matrices.

The TRANSMATRIX is defined as follows

A = a11 a12 a13   b1  s1
a21 a22 a23   b2  s2
a31 a32 a33   b2  s2

where the columns are contiguous in memory. This leads to a matrix transformation of the form y = Ax.

y1  =  a11*x1 + a12*x2 + a13*x3  + b1
y2  =  a21*x1 + a22*x2 + a23*x3  + b2
y3  =  a31*x1 + a32*x2 + a33*x3  + b3

The S term is currently unused. It is for a scaling factor.