Program to identify an unknown satellite. This program differs from other ID programs in that at least two observations in IOD format are required. An approximate circular orbit is fit to the two observations using ELFIND, which will determine the plane of the orbit and location on the plane. The unidentified satellite is found by matching the orbit plane (track angle error) and the location (position error) at the observation epoch.
The two programs, SATID and ELFIND can operate independently or as part of the desktop environment. Extract both programs to the same directory. They may be operated from shortcuts to the programs created on the WIDOWS desktop.
The unknown satellite is identified using a two-step process. First ELFIND approximates the unknown orbit from two or three observations. Even with this small bit of information, three parameters of the unknown orbit can be very closely determined : inclination, ascending node and longitude at epoch. ELFIND creates a TLE describing the unknown orbit. Second, SATID compares the UNKNOWN TLE to TLE's in a master reference file, such as allsats.tle to find candidates matching these parameters. Very little ambiguity results from this match.
A master file of satellites and objects orbiting the earth is required for SATID operation. This file must be constructed from resources found on the WEB. I have included a MERGE program with the SATID.ZIP file for this purpose. The instructions for MERGE are included in the package. MERGE will combine and sort two files containing TLE's in three line format, i.e. a title line together with its two line element. The files we want to combine are the full three line catalog from Space-Track and the classified satellite file from Mike McCants site. The resulting master file can have any name, but I use the name ALLSATS.TLE as the default name of the master TLE file. I use CATALOG.BAT to manage all the steps to create this file. The program GUNZIP is required for CATALOG.BAT file operation to unzip the Space-Track catalog.
ELFIND finds and reads observations in the IOD format and computes a set of orbital elements matching the observations. The observations must be made on a single pass from a single location.
The default file for ELFIND input is named "unid.txt". However, any file name may be used as a command line argument to ELFIND.
elfind unid.txt
would search for observations in the file "unid.txt" and append the computed TLE at the end of the same file. If two command line arguments are found, ELFIND interprets the first as the input file and the second as the output file. If ELFIND is executed with no command argument i.e.
elfind
The file "unid.txt" is searched for properly formatted observations and the computed TLE is appended to the end of the file "unid.txt".
A properly formatted observation is recorded as a single line in one of the four IOD formats using right ascension and declination codes 1, 2, 3, or 7. Two observations give the program enough information to find the orbital elements of the circular earth orbit through those observations. Three observations find all parameters but the atmospheric drag. A nonzero value is supplied for the drag element in both cases.
One important consideration while running ELFIND. Although the program will accept three observations as input, the orbit calculated EXACTLY fits the three observations. Unless the observations are very close to the exact orbit, wild values for eccentricity and mean motion will result and the program may fail altogether if the three observations describe an impossible orbit. A two observation fit to a circular orbit is usually the most appropriate and is sufficient to find the inclination, ascending node, and true longitude at epoch. SATID tries to identify the UNKNOWN by finding a match to these three parameters. ELFIND requires that the file "STATIONS.IN" be present in the same directory so it can read the observations.
When executed, ELFIND prompts the user to enter the row number of the observations to be used in calculating the preliminary orbit. Type two numbers separated by a space and press [ENTER]. No further user action is required. The preliminary circular orbit will be displayed in the DOS window and written to the output text file.
After the preliminary orbit is determined and appended to the unid.txt file, we are ready to run SATID. In the DOS mode, SATID may be run with one, two or no command line arguments. The first argument is the name of the text file containing the UNKNOWN TLE. The default name is unid.txt. The second argument is the master TLE file. The default master file name is allsats.tle. If only one argument is used, or if SATID is activated in the WINDOWS Drag and Drop mode, the single argument is the file name containing the UNKNOWN TLE (unid.txt).
satid unid.txt allsats.tle
satid unid.txt
satid
When we Drag and Drop unid.txt on the SatID icon, we are prompted for two values. The first is the error limit for position. The default position error is 2.0 degrees. Press [ENTER] to accept the default value or enter the desired value.
The second value is the error limit for the track crossing angle in degrees. The default value is 20.0 degrees. Press [ENTER] to accept the default value.
Several runs of SATID may be required to find a good match for the UNKNOWN. If the error limits are too small, no matches will be found. If the error limits are too large, too many candidates will be found.

All satellite TLE's in the master file within the error parameters are displayed in the SATID DOS window. The displayed TLE's are SGP4 mean elements found to match the UNKNOWN after having been advanced to the epoch of the UNKNOWN TLE. The TLE's are propagated using SGP4 or SDP4 as appropriate. Note that all TLE dates are identical in the window above. The advanced TLE's are displayed in the DOS window so that the user may visually compare the orbit parameters at epoch.
The TLE's appended to the unid.txt file are the matching TLE's repeated exactly from the master file, i.e. not advanced to the new epoch. They are unchanged from the master reference file.
The unid.txt file may now be loaded into your favorite orbit visualization program to compare orbit positions and tracks at epoch. The data used in this example were from observations of NOSS 2-2(C).
Scott Campbell
campbel.7@hotmail.com