Abstract:
Apparatus and method for real-time determination of radar cross sections is disclosed using interleaved gridding. Radar cross section calculations are amenable to an implementation on parallel processors wherein the shooting window is subdivided into smaller areal units that are assigned to the parallel processors in an alternating fashion, such that the calculations performed by a single processor are not localized to a single area of the shooting window. 
     As further disclosed, the shooting and bouncing ray technique for calculating radar cross sections is implemented using the apparatus and method disclosed herein.

Description:
BACKGROUND 
   The present invention relates to method and apparatus for the real-time computation of radar cross sections in a distributed multiple computing system. 
   Radar has found many uses since its invention nearly 100 years ago. It can be used for relatively simple tasks such as detecting an approaching airplane at an airport or more complex tasks such as imaging a planet&#39;s surface from orbit or even from another planet. As a matter of national defense; radar can also be used to detect and subsequently identify approaching targets such as planes and missiles. 
   Operationally, radar systems use a transmitter to generate and radiate a radar beam in a preferred direction. Known various technologies, mechanical and electronic, exist for steering the beam such that the beam can cover a defined area of the sky. Reflections of the radar signal from an object will be received by a receiver and processed to yield desired information, such as the discrimination between decoy and real targets. 
   Identification of an object of interest, as opposed to simple detection of the object&#39;s presence, can be a computer intensive activity. One known technique for identifying an object based upon the returned radar signal is known as the “shooting-and-bouncing-rays” (SBR) method. Elaboration on the methodology is unnecessary here. Information on SBR methodology can be found in numerous sources, including the original paper on the technique, “Shooting and Bouncing Rays: Calculating the RCS of an Arbitrarily Shaped Cavity,” IEEE Transactions on Antennas and Propagation, Vol. 37, No. 2, (February 1989). Suffice it to say for purposes of this application that this technique enables the calculation of the radar cross-section (RCS) of an object of interest, from which the object itself can be determined. 
   As noted, the calculation of the RCS using the SBR method is computer intensive, meaning, of course, that its usefulness in situations where an RCS must be determined rapidly can be limited. For example, where there exists a plurality of approaching objects, such as real and dummy missile warheads, it is critical that the real be discriminated from the dummy so that the appropriate defensive countermeasures can be undertaken. A real-time computation of RCS in such situations is desirable to enable the use appropriate and effective defensive countermeasures. Using ever-more powerful computer processors can aid in speeding up this discrimination, but not to the extent desired or necessary. 
   To further enhance the rapidity with which object discrimination is accomplished a distributed computing system can be used. Such systems take advantage of a plurality of processors and software that divides the calculation between the various-processors. The processors could be in individual personal computers interconnected over a local area network or could all be located within a single machine and appropriately connected. 
   Increasing the number of processors doing an RCS calculation will not necessarily increase the speed of such calculations, that is, the time to finally calculate the RCS, since the calculation can be slowed by an unequal distribution of the calculation workload between the processors. Thus, there exists a need for a method and apparatus for more equally distributing the workload between a plurality of processors performing RCS calculations. 
   The present invention, as well as its various features and advantages, will become evident to those skilled in the art when the following description of the invention is read in conjunction with the accompanying drawings as briefly described below and the appended claims. Throughout the drawings, like numerals refer to similar or identical parts. 

   
     BRIEF DESCRIPTION OF THE DRAWING 
       FIG. 1  schematically depicts a radar system. 
       FIG. 2  schematically illustrates a distributed computing system. 
       FIG. 3  illustrates a section of the sky being scanned by a radar system and illustrates the prior art method of allocating the data to a computing system. 
       FIG. 4  illustrates an interleaved gridding system for use in real-time computation of RCS. 
       FIG. 5  illustrates by comparison with  FIG. 4 , the relatively improved load distribution provided by the method disclosed herein. 
   

   DETAILED DESCRIPTION 
   What follows hereafter is a description of a novel, non-obvious, and useful method of load balancing a parallel implementation of a shooting window by alternating the assignment of work units from the shooting window to parallel processors. In various embodiments, there is disclosed a method for performing RCS generation, in parallel across a plurality of microprocessors, such that the assignment of adjacent sub-units of the shooting window to the same processor is avoided. Furthermore, there is disclosed a division of work performed by the parallel processors wherein the smallest sub-components of the shooting window are assigned to the processing units in an alternating fashion along the horizontal axis of the shooting window or in an alternating fashion along the vertical axis or in an alternating fashion on both the horizontal and vertical axis simultaneously. There is further disclosed method and apparatus for performing RCS generation by subdividing the shooting window into smaller areal subunits or cells and, assigning non-contiguous subunits or cells to a processor in the manner heretofore and hereafter described. 
     FIG. 1  schematically depicts a radar system  10  including a transmitter and a receiver, or transceiver (not shown). The transmitter in the system  10  generates a radar beam  12  comprising a plurality of individual pulses or signals that are swept across a predetermined area or “shooting window”  14  of the sky. When a radar pulse encounters an object a portion of the pulse may be reflected back to the system and detected by the radar receiver. The detected reflected radar pulses are appropriately filtered and amplified and provided to a processing system  16 . 
     FIG. 2  illustrates in schematic form a distributed computing or processing system  16  comprising a master computer  20 , a display  22 , a network  24 , and a plurality n of slave processors  24   i  for i=1 to n. As shown, the processors may take the form of personal computers interconnected by local area network  22 . It will be understood, however, that the system  16  could also comprise a parallel computer including a plurality of interconnected processors. 
   The raw RCS data—the reflected, received, and filter and amplified, radar return signals—is provided to the system  16  for processing to calculate an RCS of an object or objects of interest. As shown in  FIG. 3 , in prior art calculations of a RCS the shooting window  14  of the sky illuminated by the radar signals would be divided into a grid composed of j cells where j was equal to the number of processors being used to calculate the RCS of any object or objects in the scanned area. That is, the data from a particular cell j would be sent to the n j  processor for calculations. 
   The problem with the prior art method of distributing the data load between the n processors is that any the reflected radar signals from any particular cell j may be substantially greater or less than other cells j. During the processing of the information to calculate the RCS of objects of interest then, the processors n will finish calculating their share of data at different times. Since the ability to determine a RCS is dependent upon calculation of all or at least a proportion of the data, the time do complete such a calculation is generally equal to the time it takes to process the data. If one processor is overloaded with data, then, that time may be significant and thus impair the effort to provide a real-time calculation. More specifically, in the data distribution scheme shown in the  FIG. 3 , it is presumed that the object of interest illustrated here as a cube in a perspective view would return  40  reflected radar signals (or rays in the SBR analysis methodology). The gray shaded thread is loaded with 34 rays which it must process to yield part of the RCS for the object, and the clear shaded thread is loaded with 6 rays to process to yield the remaining part of the RCS. Therefore, this methodology of unbalanced data loading will result in an idle processor receiving the data from the clear grid area until the processor receiving data from the gray shaded area finishes computation. This has two undesirable consequences: first, the idle processor reduces computational efficiency; and second, the computation of the final result, the RCS, is delayed undesirably. 
     FIG. 4  illustrates a method of distributing the data, and thus the processing load, between the processors in a manner that will reduce overall RCS calculation time, thereby enabling real-time or nearly real-time processing of an RCS. As seen in  FIG. 4 , the subgrids j in the shooting window grid are each further subdivided into a plurality of subcells k equal to a whole number multiple greater than 1 of the number of processors n. Stated otherwise, this shooting window grid comprised of j cells would be divided into subcells k equal in number to some multiple number of processing threads allocated to the grid processing task. As illustrated in  FIG. 4  the grid subdivision is shown for a distributed computing cluster of nine personal computers or nine processors. It will be understood, of course, that the cluster could be composed of any number of processors and that the shooting window would be divided up accordingly. 
   More specifically, the interleaved gridding scheme illustrated in  FIG. 4  subdivides the complete shooting window grid into smaller areal units—subgrids. The size of a subgrid will be generally equal to the size of the shooting window grid divided by number of processing threads allocated to the processing task. 
   The subgrids are then further subdivided into subcells. Subcells are then created by assigning a single point from each subgrid of the shooting window grid to the corresponding sub-grid. The pattern of interleaved subcells is determined by the number of allocated processing threads; for example, if four threads are needed a subgrid having a 2×2 subcell configuration will be used and if nine threads are needed a 3×3 subcell configuration will be used. 
   To recreate the shooting window the points of the sub-grids must be interleaved. 
   The reflected radar pulse data from a particular subcell is then sent to its assigned parallel computation processor. 
   This type of grid division improves processing efficiency by providing a balanced load to all threads. The processing load for processing a set of rays according to SBR methodology is driven by the number of returned radar pulses or rays that collide with objects. The distribution of rays in an interleaved fashion ensures an equal or more equal number of rays resulting in bounces are distributed between the plurality of processors. As shown with  FIG. 3 , other known methods of ray distribution result in large numbers of bounced rays computed by one thread while another thread has few bounced rays. The result is idle processor time and analysis delays. Stated succinctly, the interleaved scheme divides the work of an entire shooting window of rays substantially equally between a plurality of processing units and thereby provides the equivalent efficiency of a single thread. 
   The assignment of the RCS signals to the processors can be accomplished in any one of several different manners. For example, the RCS signals from the subcells could be alternately assigned to the processors based upon the position of the subcells along the horizontal axis of the shooting window, along the vertical axis of the shooting window, or along both axes simultaneously. It will be understood that the size and number of the subcells can be determined consistent with the available processing power of the system  16 . 
   The method of allocating data shown in  FIG. 4  will improve the efficiency of processing an RCS by providing a substantially balanced load to all of the threads. This improvement is shown in  FIG. 5 . By subdividing up the shooting window in subcells as discussed above, the interleaved scheme yields equal or substantially equal numbers of rays to compute for both processing threads. The interleaved scheme provides better load balancing than simple shooting window sub-division. Thus, processing threads are not idle during computation of the entire shooting window as with the prior art method shown in  FIGS. 3 and 5 . 
   Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. For example, while the SBR methodology of analyzing returned radar signals has been discussed, the methods described herein may be useful with other analysis techniques in existence or hereafter developed. In addition, while one example of a hardware configuration has been shown, it is understood that multiple configurations of parallel processing computation systems exist and that those other configurations could find use with the methods described herein. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.