tempus System Class Target

A generic cooperative target having a single point source beacon, an multiple point source image, and a targetboard.

Tempus Block Diagram Editor Snapshot

Interface
Parameters
control_interval  double   Update interval of the optical sensors (s)   0.001
range  float   Range to beacon/target (m)   50000.0
vtarg  Vector<float>   Target velocity (x,y in m/s)   ZeroVecF(2)
tbd_wavelength  float   Wavelength of targetboard (m)   1.0e-06
tbd_nxy  int   Number of pixels on the targetboard   128
tbd_dxy  float   Targetboard detector spacing (m)   0.01
beacon_wavelength  float   Wavelength of incoming point source (m)   1.0e-06
beacon_x  float   X location of the beacon (m)   0.0
beacon_y  float   Y location of the beacon (m)   0.0
img_wavelength  float   Wavelength of auxiliary point source image (m)   1.06e-06
img_x  Vector<float>   Number of pixels on the auxiliary imaging camera   ZeroVecF(2)
img_y  Vector<float>   Auxiliary imaging camera IFOV (rad)   ZeroVecF(2)
Inputs
incident  WaveTrain   Incident light   
Outputs
transmitted  WaveTrain   Transmitted point source and auxiliary image   
Implementation
Subsystems
  TargetBoard    targetboard 
nametypevalue
wavelength  float   tbd_wavelength
nxy  int   tbd_nxy
dxy  float   tbd_dxy

  FpaProcessing    targetboardproc 
nametypevalue
nx  int   tbd_nxy
ny  int   tbd_nxy
dx  float   tbd_dxy
dy  float   tbd_dxy
relativeThreshold  float   0.0
typeOfThreshold  int   1
n_per_average  int   10

  PulsedPointSource    pointsource Generate a point source beacon.
nametypevalue
pulseInterval  float   control_interval
pulseLength  double   1.0e-06
pulsePower  double   1.0e+06
wavelength  float   beacon_wavelength
x  float   beacon_x
y  float   beacon_y

  SquareWave    zoverc 
nametypevalue
startTime  double   (range/speedOfLight)
pulseHeight  double   1.0
pulseLength  double   1.0e+06
pulseInterval  double   1.0e+06

  IncomingCombiner    combiner Combiner combines two incident (input) wavetrains into a single transmitted (output) wavetrain. A Combiner can be thought of as an idealized aperture sharing element. Combiner serves as the basic for two other WaveTrain library system classes, IncomingCombiner and OutgoingCombiner.
 
  MultiPointSource    multipointsource MultiPointSource models a light source that consists of a multiple pulsed point sources. The point sources are identical, except for their positions in the source plane, and they are mutually incoherent. Each point source has the same specified irradiance, wavelength, pulse interval, pulse length, and power per pulse. Each pulse is modeled as being triangular and symmetric, and ordinarily only a single propagation is performed for each pulse, in the middle of the pulse interval. It has a single WaveTrain output, representing the transmitted light.
nametypevalue
pulseInterval  float   control_interval
pulseLength  float   1.0e-06
pulseEnergy  float   1.0e+06
sourceX  Vector<float>   img_x
sourceY  Vector<float>   img_y
wavelength  float   img_wavelength

  TransverseVelocity    transversevelocity 
nametypevalue
vx  float   -vtarg(0)
vy  float   -vtarg(1)
x0  float   0.0
y0  float   0.0

Connections
transversevelocity.outgoingIncident  <<=  incident
transmitted  <<=  transversevelocity.incomingTransmitted
targetboardproc.image  <<=  targetboard.integrated_intensity
targetboard.on  <<=  zoverc.boolOutputSignal
combiner.incomingIncident  <<=  pointsource.transmitted
combiner.incomingIncident2  <<=  multipointsource.transmitted
targetboard.incident  <<=  combiner.outgoingTransmitted
transversevelocity.incomingIncident  <<=  combiner.incomingTransmitted
combiner.outgoingIncident  <<=  transversevelocity.outgoingTransmitted