Welcome |
DME Component Libraries for Java is a family of powerful class libraries built on version 8 or later of the Java SE Runtime Environment (JRE). Whether you are building a small utility to process some proprietary data, a world-class desktop aerospace software application, a multi-user web application, or a piece of a service-oriented architecture (SOA), DME Component Libraries can help.
DME Component Libraries offers the following major capabilities:
Time
A high-precision JulianDate type
Time standards, including UTC, UT1, TAI, TT, TDB, and GPS, and conversions between them
High-precision Duration, GregorianDate types
Time intervals and time interval collections, optionally associated with data values
Position and Orientation
Time-varying position and orientation modeled in many different ways
Land, air, sea, space vehicles
Values computed through analytical calculation, propagation, interpolation, etc.
Analysis independent of the definition of an object
Access (intervisibility)
Determine the times when one object can "see" another
Constrain access with a wide variety of composable constraints
Constraints can be geometric in nature or based on another metric (for example, signal strength)
Model complex intervisibility problems involving any number of objects by building access queries using boolean operators
Accounts for light-time delay and aberration, even over multiple "hops" in a chain
Multithreaded for scalability and to take full advantage of multicore systems
Platforms
Extensible, high-level objects for modeling satellites, facilities, aircraft, etc.
Construct objects tailored to your problems by attaching individual capabilities and aspects
3D Visualization
Insight3D
Embed visualization in your custom desktop application
High performance, technically accurate 3D globe
First-class support for time-dynamic visualization
Rich terrain and imagery
Render moving points, lines, polygons, meshes, markers and 3D models
Screen overlays for heads-up displays, logos, etc.
Display video on terrain, screen overlays, and 3D models
Rich image processing
Flexible camera control
Cesium
Web browser-based visualization
High-resolution terrain and imagery from online or network sources
Render moving points, polylines, polygons, billboards, 3D models
AGI proprietary features and techniques
Advanced sensor volumes, rectangular, conic, custom, domes, holes
Occlusion and intersection of sensors with terrain and models
3D time-varying vectors
Fan geometry for azimuth-elevation masks
First-class support for time-dynamic visualization
3D globe or 2D map
Client-server applications
Connect browser clients with server-side analysis using CZML
Coordinates
Cartesian, Spherical, Cartographic (Longitude, Latitude, Altitude), and more
Orbital elements including Delaunay, Equinoctial, Keplerian, and Modified Keplerian
Rotations
Matrix3By3, UnitQuaternion, EulerSequence, YawPitchRoll, and more
Earth Modeling
Earth Orientation Parameters (Pole Wander and UTC/UT1 difference)
IAU 1976 precession model
IAU 1980 nutation model
IERS Technical Note 21
J2000, Mean Equator Mean Equinox, Mean Ecliptic Mean Equinox, Mean Ecliptic True Equinox, True Equator True Equinox, True Equator Mean Equinox, Fixed
Atmospheric modeling
Modeling of Other Central Bodies
IAU 2000, 2006 and 2009 models of the orientation of the planets, Sun, and Earth's Moon
Simon1994 analytical model for the positions of the planets and Earth's Moon
JPL Planetary and Lunar Ephemerides
Determine the positions and velocities of the planets and Earth's Moon
Nutation and libration
Geometry Transformation Engine (like STK's Vector Geometry Tool)
Points, Axes, Vectors, Reference Frames, and Scalar
Observe a point in any reference frame
Observe a vector in any set of axes
Find a transformation between any two sets of axes or reference frames
Terrain Analysis
Constrain access using terrain line of sight
Compute an azimuth-elevation mask from terrain
Read terrain data in a variety of formats:
STK Terrain Server
USGS Digital Elevation Model (DEM)
NGA Digital Terrain Elevation Data (DTED)
AGI World Terrain
GEODAS Gridded Data Format (GRD98)
GTOPO30
AGI Processed Data Terrain (PDTT)
Earth Gravity Model 1996 (EGM96) Mean Sea Level surface
Multithreaded caching mechanism delivers great performance even with huge data sets
Sensor Modeling
Rectangular, Complex Conic, Synthetic Aperture Radar (SAR)
Compute access using a sensor
Find the projection of a sensor onto the Earth or other central body
Spatial Analysis (Coverage)
Compute access to an entire region of interest over time
Use any access constraints and compose complex access queries
Parallelized calculation using multithreaded analysis
Geometry primitives representing lines and regions on the globe
Gridding Algorithms
Grid based on surface regions (e.g. area defined by the US border)
Global grid
Latitude and longitude lines
Latitude bounds
Constrain an existing grid using a surface region (area target)
Create your own by extending the provided types
Easily orient and configure constraints on the grid points for Access
Use terrain to determine grid point altitudes
Coverage Definitions
Coverage based on a grid on the surface of a central body
Coverage based on a time-dynamic object
Assets representing spacecraft, aircraft, constellations, chains, or any boolean combination thereof
Figures of Merit
Number of assets
Coverage time
Response time
Coverage gaps
Percentages and statistics over the grid
Instantaneous and/or accumulated values
Navigation Figures of Merit
Dilution of precision
Navigation accuracy predicted
Navigation accuracy assessed
Communications Analysis
Model wireless links, antennas, transmitters, receivers
Digital and analog radio frequency (RF) transmitters and receivers
Optical transmitters and receivers
Antenna Gain Patterns
Isotropic gain pattern (omnidirectional)
Gaussian gain pattern
Helical gain pattern
Parabolic gain pattern
Square Horn gain pattern
Phased Array gain pattern
Wireless signal propagation
Signal modeling - power, frequency, noise, etc.
Signal interference
Connect links into a signal propagation graph
Light time delay and doppler shift taken into account for signal propagation
Free space path loss
Polarization efficiency loss
Atmospheric attenuation from ITU-R P.676 and ITU-R P.835
Cloud and fog attenuation from ITU-R P.840
Rain attenuation from ITU-R P.618 or ITU-R P.838
Tropospheric scintillation from ITU-R P.618 or ITU-R P.1814
Beer-Lambert Law atmospheric absorption model
Simple SATCOM attenuation model
Crane rain attenuation model
Signal processors modeling hardware behavior
Constant gain amplifier
Variable gain amplifier (IBO/OBO)
Constant frequency mixer
Variable frequency mixer
Digital modulator
Digital demodulator
Rectangular filter
Pulsed signal source
Photodiode photodetector (Avalanche and PIN)
Custom signal source (analog or digital)
Scalars Representing Link Budget Parameters
Effective Isotropic Radiated Power - EIRP
Received Isotropic Power - RIP
Carrier to Noise - C/N
Carrier to Noise Density - C/No
Carrier to Interference - C/I
Carrier to Noise + Interference - C/(N+I)
Energy per Bit to Noise Density - Eb/No
Bit Error Rate - BER
Antenna Gain in Link Direction
Power at Receiver Output
Received Power Flux Density
Propagation Loss
Link budget scalars can be used as access constraints and coverage figures of merit
Access constraints can be used to constrain communications links during signal propagation
Orbit Propagation
Two Body, J2, and J4 propagators
Propagate from a Two-Line Element Set (TLE) using SGP4
Long-term propagation to determine expected orbit decay time using LifetimeOrbitPropagator
NavstarISGps200DPropagator for propagating GPS satellites according to IS-GPS-200D
Multithreaded for scalability and to take full advantage of multicore systems
Stop propagating after a fixed amount of time or on arbitrary events
Model a vertical launch segment from an initial location to specified burnout conditions
Model continuous thrusting of rocket engines.
Numerical Propagation
Propagate a state from initial conditions using derivatives
Propagate state using SRP, drag, gravity and custom force models
Ballistic Propagation
Ballistic propagation to and from fixed points on a central body
Calculate trajectories to satisfy:
Minimum energy
Minimum eccentricity
Specified delta-V
Specified flight duration
Specified apogee altitude
Waypoint Propagation
Shortest path over an ellipsoid
Useful for modeling straight paths between waypoints on the surface of a central body
Route Propagation
Provides a simple way to model aircraft, ground vehicle, and ship routes
Simple turn procedures at waypoints
Holding patterns and search procedures
Takeoff and landing
Simple orientation for modeling aircraft banking and vehicles driving along terrain
Segment Propagation
Provides a simple way to model a trajectory where the means of propagation changes
Propagate any number and combination of state elements
Use a numerical or analytical propagator that stops at arbitrary events
Apply impulsive maneuvers with fuel usage
Group individual segments together in a list that is itself a segment
Solve for a particular trajectory by modifying the segments settings
Control the flow of propagation with stopping conditions, returning out of a list, or stopping propagation
Follow other propagation elements before starting another segment
Hold propagation elements constant until a condition is satisfied
Apply discrete updates to state elements
Model finite maneuvers and optionally configure them based upon a previously propagated impulsive maneuver.
Dynamically switch between one of two segments during propagation.
Aircraft Propagation
Model motion of an aircraft through different maneuvers
Performance models correspond to different phases of flight
Sequence maneuvers using Segment Propagation
Aerodynamic and propulsion models define the flight characteristics of the aircraft
Determine orientation and fuel flow under flight conditions
Assess whether overall flight objectives are achieved
Dynamic Data Analysis (Tracking Library)
Dynamic data acquisition and incorporation into an entity set
Provide situational awareness and live analysis
Software Transactional Memory System for performant, thread-safe operation
Evaluator parameterization for one-point analysis
Data filtering and event processing
Archiving and playback
Navigation Accuracy Analysis (GPS)
Read Performance Assessment Files (PAF), Prediction Support Files (PSF), RINEX Navigation files, Satellite Outage Files (SOF), SEM and YUMA almanacs, and SP3a and SP3c ephemeris files
Propagate SVs according to IS-GPS-200D
Track satellites with All-in-view and Best-N algorithms
Compute Dilution of Precision (DOP)
Compute assessed and predicted navigation accuracy
Compute Receiver Autonomous Integrity Monitoring (RAIM) outages
Use navigation quantities to constrain access
Navigation Communications Analysis
GPS signal transmitters for all current GPS satellite blocks
Multiple receiver channels, each capable of tracking multiple signals
Direct or handover acquisition models (C/A or C/A to P(Y) for example)
Constrain receiver channel tracking by C/N0 values
Supports addition of interference and jamming transmitters
GPS specific link budgets
Noise calculations for single or dual frequency GPS receivers
GPS signal power spectral density models
Modern signal architectures included (C code, M code)
Standard constellation and receiver models included
Configurable engineering parameters and antenna gain patterns
Radar Analysis
Model radar transmitters and receivers
Monostatic and bistatic radar geometry
Define attitude-dependent radar cross sections
Electromagnetic interference (EMI)
Scalars representing radar metrics
Target scattered power
Target radar cross section
Mitchell-Walker probability of detection
Integrated pulse count
Dwell time
Link budget scalars can be used as access constraints and coverage figures of merit
Numerical Methods
Numerical integration
Brent bracketing root and extremum finders
Find the places where an arbitrary function crosses a threshold value
Lagrange and Hermite interpolation/extrapolation
Translational and rotational motion interpolators
Polynomial modeling and root finding
Solve multivariable functions with a multithreaded Newton-Raphson method
The above list is only a sampling of the capabilities offered by DME Component Libraries. For a complete listing, browse the table of contents of the Library Reference. If you are an experienced Java developer, you can get started with DME Component Libraries right away simply by adding references to its JAR files to your project. They are found in the Jars subdirectory under the directory where you installed DME Component Libraries.
In addition to the Library Reference, the help system includes a Programmer's Guide, with high level descriptions and explanations of the class library, Example Applications illustrating the use of important DME Component Libraries types, a Tutorial, and other information.