FORCES Detailed Space-Based IR Detection Data

(a.k.a. Brilliant Eyes Detection Model)

Key Data Structures -

Sensor Definition. This defines the definitional data for the sensors thethemselves. Both the coarse (short wave IR) sensor and the detailed (medium wave IR) tracking sensor use the same data definitions. Within a single scenario only one class of SWIR and one of MWIR can be intelligently accomodated by the algorithm. Data structures for more types of either SWIR or MWIR can be maintained within the simulation, but the queueing algorithms contain no logic in order to differientiate between multiple types of either class of sensor, and there's no approach for selecting the best sensor class for any specific task. So the sensors within each class selected for any task would not be clearly defined.

The data structure containing this information per sensor type is:

typedef struct {
int numelpixels;         /* number of focal plane pixels in el */
int numazpixels;         /* number of focal plane pixels in az */
float meandet;           /* mean signal/noise for detection */
float stdevdet[3];       /* standard deviation in detection signal/noise */
float scantime;          /* local scal time as opposed to sweep time (I guess - pjv) */
float azfor;             /* azmuthal field of regard over a frame */
float elfor;             /* elevation field of regard over a frame */
float fixedpatternoise;  /* standard deviation of residual fixed */
float standardbeirdwell; /* BE IR dwell time on a target */
float settle;            /* BE IR settle time (sec) */
float slewrate;          /* BE IR slew rate (deg/sec) */
int typeflag;            /* BE IR type flag (0=surveillance,1=acquisition) */
float systemnoise;       /* system noise equivalent irradiance
                            (watts/meter**2 at the aperture) */
float looklimits[2];     /* beir look limits realtive to the horizon
                           (degrees A.T.H.). negative numbers indicate that the sytem is not
                            permitted to look near
the horizon */
float azfovinstant;      /* instantaneous azimuth field of view */
float elfovinstant;      /* instantaneous elevation field of view */
float azpixelres;        /* beir sensor azmuthal subpixel resolution */
float elpixelres;        /* beir sensor elevation subpixel resolution *
float wavelength;        /* sensor wavelength - units unknown */
} beir_sensor_params;

Task Queue Data. This data specifies the tasking queue for all detailed SBIRs sensors. This includes tasks for both the coarse (short wave IR) sensors and the detailed (medium wave IR) tracking sensors. The data structure containing this information per sensor platform is:

c BEIR Sensor Task Queue:
c beirqueue_nxt i*4 pointer to next BEIR task queue position
c beirqueue_object i*4 tasked object id
c beirqueue_snstype i*4 tasked sensor type
c beirqueue_sensor i*4 tasked sensor id
c beirqueue_index i*4 unique index for each task per satellite
c beirqueue_az r*4 pointing azimuth requested
c beirqueue_el r*4 pointing elevation requested
c beirqueue_time r*4 task generation time
c beirqueue_azdrift r*4 rate of candidate track drift in azimuth
c beirqueue_eldrift r*4 rate of candidate track drift in elevation
c beirqueue_specints r*4 track spectral intensity (watts/strad)
c beirqueue_trackid i*4 track id

Specific Detection Reports. This data records specific candidate detections on a focal plane. This data is used as an input to a angle-only tracker on each satellite to generate tracks and pick true launch reports out of background clutter. The control data structure for this information is:

c maxbeirframes
c maximum number of historical beir frames kept
c beirframecount(maxsensors)
c current frame count for each sensor. This number cycles
c according to maxbeirframes (i.e. when the number would be
c maxbeirframes+1 it reverts to 1)
c beirframepointer(maxsensors, maxbeirframes)
c pointer to the first entry for each sensor for each frame
c beirframetime(maxsensors, maxbeirframes)
c time tag for each sensor frame.
c beirfreespace
c pointer to the next available space in beirdata
c beirdata(maxbeirreports)
c storage area for sensor reports. Report contents are
c listed below.
c beirpointer
c pointer to next sensor report in this frame (0 for end).
c beirtaskcommand
c search command index

And the data structure containing this information per candidate detection is:

c beirintensity -received spectral intensity
c beiraz - real az coordinates of sensor report
c beirel - real elevation coordinates of sensor report
c beirazpixel - azmuthal pixel coordinates of sensor report
c beirelpixel - elevation pixel coordinates of sensor report
c beirdetcorrelated - track detection correlation flag (true when
c                     detection is correlated to an ongoing track)

SBIRs Tracker Parameters. This includes gate and correlation data for the angle-only and 3D trackers associated with the detailed SBIRs model. The data structure for each tracker is:

3D MultiSensor Track Data. This includes all data required to maintain 3D tracks from SBIR satellites. This includes correlated tracks from multiple sensors and monosensor angular tracks used to generate (usually higher error) 3D tracks based upon estimating the threat type and then estimating the probable location based upon the trajectory profile for this hypothetical threat. The data structure for candidate detections based upon multisensor triangulation and the monosensor hypotheses is:

The data structure for maintaining 3D tracks based upon these candidate detections is: