VRML Detection / Sensors Model

The Detection / Sensor model simulates the dynamic detection of VRML objects. The model computes the state of each dynamic VRML object based upon the characteristics of the object and the values of the current dynamic motion, sensor and detection related parameters of the object. The model incorporates the effects of the navigation model and the related navigation errors.

During each VRML time interval, the detection / sensor model calculates the information that is known about an object by other objects of each dynamic VRML object based upon speed, direction, altitude and rotation values generated by user actions or generated internally by the browser.

The detection / sensor model algorithms will simulate sensory awareness at the following resolution levels:


Basic Assumptions

The inteval used for detection updates can be based upon time or browser rendering intervals.

If a user or browser action results in motion of a VRML object that exceeds the minimum or maximum characteristic value, then the model will restrict resulting motion to the maximum values defined in the characteristics for the object.

Many functions related to "sensory awareness" in a virtual world or scene will be handled by the browser using it's internal algorithms and rendering functions. Examples are line of sight calculations, collision detection, management of lights, object colors, etc. The VRML 2.0 specification contains intrinsic scene graph nodes for core simulation of sound and lights. This will allow for the fast and efficient simulation of difuse and specular sound sources and also difuse and specular light sources that incorporate the effects of fog. In conjunction with material properties, textures and geometric sensors, browsers will simulate many common sensory / detection functions.

Simple visual detection over short distances under perfect illumination conditions will depend upon line of sight (LOS) calculations only.

The definition of "short distances" will depend upon the minimum detection / classification ranges associated with a dynamic object or similar browser defined ranges. Distances between objects less than 1/2 of the minimum ranges will be considered short.

The effects of fog under normal or perfect illumination conditions will depend upon the intrinsic fog node. If a fog node is not defined then the minimum ranges will be multiplied by a factor less than 1.

Sound sources will be described by intrinsic core VRML 2.0 nodes or by fields in the Sensor Proto / Externproto node listed in the sensor section of the characteristics data dictionary. DETECTION: This is a fundamental operation in VRML simulations. For VR this includes radar, radio detection, electrooptics (the really weird infrared sights on rifles,tanks and just plain image enhancement). It also includes sonar for naval adventures and locating weird sea creatures. Note that it also includes jamming of the above. Advanced phisically based modelling of visual detection falls within the domain of the detection model. I will leave out magic and fantasy detection since these cases are just reuse of the detection model algorithms with just "fantastic" values for the data dictionary used by the model.

Algorithms

Let us consider the physical based level of the model. Using various books such as Jane's, the model developer can generate a set of characteristics for the object performing the detection. This is usually a piece of equipment such as a Radar or Nightscope.

Radar

 
     For electromagnetic detection the roleplayer will need the following:
     a. Power of the detector.
     b. Gains of the transmitter and receiver antennas.
     c. Frequency of operation or wavelength.
     d. Target cross section. This is the area that will interact with the
          detector's electromagnetic field.
     e. Noise introduced by the physical makeup of the detector. Usually
          called the noise factor.
     f. Clutter factor to account for the effects of lakes, seas, trees, brush,
        etc.
        All these environmental factors interact with the detector's
       electromagnetic field.
     g. A factor to account for the degradation of the detectors signal due to
        the atmosphere, the antenna  and the geometry of the detector relative
        to the target.

The model needs the location, i.e. the range of the target from the controller of the adventure. These values are then plugged into what is called the radar equation. The radar equation is also used to determine if the detector is being jammed and whether any other interference is present.

 
     The simplest Radar equation in logarithmic form is the following:

            S/N = P + GT + GR + l + s - 4 * log(R) - B - NF - L - C

       Where,     P = power of the radar. (dB // w)
                          = 10log(p), p = power in plain watts
                       GT = gain of the transmitter antenna. (dB)
                       GR = gain of the receiver antenna. (dB)
                       l = wavelength (reciprocal of frequency). (dB // cm)
                         = 20log(3x10000/F) , F = Hz 
                       s  = target cross section {area that will reflect the radar
                              beam}. (dB)
                       R = range to target. { from the game controller} (dB // mi)
                          = 40log(r), r = range in miles
                       B = bandwidth { reciprocal of the pulse duration }. (dB/Hz)
                          = 10log(bw) , bw = IF bandwidth in Hz
                       NF = radar self noise due to it's electronics. (dB)
                       L = loss due to environment, etc. (dB)
                       C = clutter due to terrain, buildings, etc. (dB)

The value from the radar equation is then used to generate a probability of detection based upon the probability of false alarm and the number of radar pulses illuminating the target. For this calculation the model needs the pulse repetition rate, the scan rate (how fast is the radar turning or sweeping), the beam width and the width of the area being illuminated by the radar beam. Width is in degrees.

 
                 NP = (60 * PRR * B) / SW * SR.

             Where,  PRR = pulse repetition rate.
                               B = bandwidth.
                               SW = field of view of the radar beam.
                               SR = scan rate of the radar dish.

Once we have NP we can determine the probability of detection (Pd ) from graphs of Pd versus S/N for various values of false alarm rate. There is one chart each for various representative values of NP.

One such graph is in the old Proceedings of the I.R.E. which is the predecessor of the I.E.E.E from the 50's and 60's. Try the February proceedings from 1956. A good reference for radar is the book by W. Morchin called Radar Engineer's Sourcebook published by ARTECH House in 1992. There are massive amounts of books on Radar. Have fun.

For ESM detections which are just plain passive detections of radio and radars we have the radar equation without the cross section. The probability of detection for ESM is determined by dividing the S/N by 6 and generating the probability from a cumulative normal distribution with a mean of zero and a standard deviation of 6dB.

For radar jamming, just use the radar equation without the cross section to get the S/N contributed by each jammer and then add it to the noise in the radar equation.

The value for the probability of detection is tested against a random number to see if a detection has occurred. If you have a computer you use a random number generator. If you don't then get enough dice so that when you add the dice throws together you can possibly get a really big number such as fifty or 100. Then divide the sum of the dice roll into 1 and use that as the random number.

Now for the "fantasy" level of the model. These fantasy factors are similar to the system losses and the clutter factors. These fantasy factors have a plus or a minus sign when used in the radar equation for S/N. Factors that have a plus sign enhance the detection ability. Those with negative signs degrade the detection. The radar equation is performing addition and subtraction for the most part (since the equation is in logarithmic form).

Sonar

There are several other types of detecting equipment. The obvious ones are Sonar, which I presume is used to ferret out dangerous sea creatures, and visual detection.

Sonar is detection through the use of sound. If you bounce sound you make off of something then you have an active sonar. If you sit there listening and wait for something to make a loud noise then you have a passive sonar.

 
     There are a series of sonar parameters just like radar parameters. Sonar equipment parameters are:

             Active Sonar Source Level (SL).
             Active and Passive Self Noise Level (NL).
             Active and Passive Receiver Directivity {sensitive to direction} (DI).
             Active and Passive Detection Threshold (DT). S/N level that will 

     Environment parameters are:

           Transmission Loss {sea affects the sound} (TL).
           Reverberation Loss {sea affects the sound} (RL).
           Ambient Noise Level {other ships, etc. affect the sound} (ANL).

     Target parameters are:

     Sonar Cross Section {ship area that the sound bounces off of} (CS).
     Target Source Level {How much noise it's making} (TSL).

     The Active sonar equation is:

          SL + TSL - 2 TL  + CS - NL - ANL - DT + DI = S/N { This is a logarithmic form }

     where S/N is the signal to noise ratio. What I labeled DT is a S/N ratio of 0 in decibels above but can be a real value. I am assuming a system loss of 0 decibels. You can just subtract the system loss on the left hand side otherwise.

     The passive sonar equation is:

         TSL - TL - NL - ANL + DI = S/N { This is a logarithmic form }

The values for the sonar equations are characteristics stored in an UNDERWATERSENSOR PROTO / EXTERNPROTO VRML NODE.

As in the radar model above, the S/N value is converted to a probability of detection and the result is compared to a random number or dice roll. The probability is generated by dividing S/N by the standard deviation of a normal random variable and then generating the probability from the distribution. Whatever you prefer.

This is the simplest physical model of sonar. You can find the active and passive sonar equations in the following: Principles of Underwater Sound by Robert J. Urick. The third edition is from 1983.

How do you get the values. My advice is to make up anything that you can't find within one days research at a University library. The alternative is to read several dozen technical monographs on Sonar or have a Russian spy as a VRML contributor. You can approximate some values using general sonar textbooks. DI may be a slight problem. If you can't find it in the literature then assume omnidirectional values (all directions equally good for sound).

The values for the environment parameters may be just average values that are made up. Finding real ones requires a lot of reading. Transmission loss really depends upon the the actual sound characteristics of the area of the ocean and also depends upon the relative position of the detector and detectee with regard to the area that the sound is traversing. Thus Transmission loss is really just an average loss in an average ocean at an average temperature, etc. A realistic set of transmission loss characteristics would require large numbers of

InfraRed , ElectroOptical

As for Nightscope and Infrared (heat) sensors, consider the following intuitive description of an optical model. Take a clear plastic sheet with a grid of lines etched on it. Sort of like a piece of translucent engineering paper. Hold it in front of you and think of it as the area around a target that you can see. Then figure out how many of the squares enclosed by the grid lines are occupied by the target. Then figure our the maximum number of squares in the horizontal and the vertical direction. If you can convert this number to a probability of detection then you have hit the jackpot.

Fortunately, a lot of people have spent their careers painting stripes next to ships, aircraft, cars, trains,people and tanks. Think of them as rows of these squares. The minimum size of these stripes that can be distinguished during these boring academic and military experiments can be related to the number of rows of these squares for detection and classification.

 
     The basic approximate equation for Electrooptics is the following:

          nh = [2 * tf  * Nh * tan-1(w/2*s) ] / a

     Where,   nh = number of pixels to be converted to probability of detection.
                       tf = temperature factor (humidity, etc.).
                       Nh = number of horizontal pixels on target.
                       a = Horizontal field of view in radians
                       s = slant range from detector to target (the hypotenuse)
                       w = width of the target.

This equation assumes that the number of pixels in the vertical dirrection is equal or greater than the number of pixels in the horizontal dirrection. If it is not then the model becomes much more complicated and CPU intensive {or brain intensive}.

The nh value is then transformed into a probability of detection via an exponential probability distribution that seems to match the behavior of the human that would be looking through the scope. The upper limit of integration of the exponential distribution is calculated from the following:

 
      a) Generic signal to noise threshold for the generic human {or illegal alien or demon microchip} for just plain nightscopes.
                                      OR for infrared detections
      a) Generic signal to noise threshold for the generic human {or illegal alien or microchip} for just plain nightscopes.
       b) Perceived signal to noise ratio that takes into consideration the difference between the temperature of the target and the temperature of the surrounding air. This perceived ratio also must consider the minimum temperature difference that can be perceived by the human, alien, technodemon chip, etc.

See the following references for details and the detailed table values. Some generic values are the following. Generic signal to noise is about 2.5 from a lot of experiments. The minimum temperature difference will have to be acquired from technical specs or just plain invented. After all, it's just a VR game. The probability of detection can be interpolated from the following values for the Generic or perceived signal to noise ratio (S/N).

 
        a)S/N below or equal to 0 results in a Pd = .5.
        b) S/N equal to .5 results in a Pd = .69.
        c) S/N equal to 1.0 results in a Pd = .84.
        d) S/N equal to 1.5 results in a Pd = .93.
        e) S/N equal to 2.0 results in a Pd = .97.
        f) S/N equal to 2.5 results in a Pd = .99.
        b) S/N above or equal to 4.0 results in a Pd = 1.0.

The basic references for the more complicated optics stuff are the following. FLIR Performance Handbook by David Shumaker, James Wood and Clinton Thacker. It is published by DCS Corporation. Electro-Optical Imaging System Performance by Gerald C. Holst (1995). It is published by JCD Publishing and the SPIE (the optical engineering society).

Detection Model / BOLTS / warthogale@aol.com