Abstract:
Tracking systems and methods for obtaining position coordinates of transmitters are provided. One or more transmitters send multiple carrier signals to multiple receivers, where the time difference of arrival of the multiple carrier signals are used to determine the location of each transmitter. Accuracy is obtained by using phase information of multiple carrier frequencies for time difference of arrival measurements. The accuracy obtained by a receiver depends on the quality of the received carrier signal; a received carrier signal may become distorted by the presence of multipath interference. By using multiple signals with different frequencies, the system can screen or compensate for multipath effects. This screening can be accomplished either through various signal-sampling techniques or by averaging the signals received at the receiver. Because signals with different frequencies have different multipath experiences, a computer can analyze and compensate for “good” and “bad” signals.

Description:
RELATED APPLICATIONS 
       [0001]    This application is a continuation-in part of co-pending U.S. patent application Ser. No. 14/354,833, filed Apr. 28, 2014, titled “Systems and Methods of Wireless Position Tracking,” which is a National Stage Entry of International application no. PCT/US2012/064860, filed Nov. 13, 2012, which claims priority to U.S. provisional application Nos. 61/558,032 and 61/558,082, both filed on Nov. 10, 2011, the entireties of which U.S., International, and provisional applications are incorporated by reference herein. This application also claims the benefit of and priority to co-pending U.S. provisional application No. 61/915,639, filed Dec. 13, 2013, titled “System for Tracking an Object using Pulsed Multiple Frequencies,” the entirety of which provisional application is incorporated by reference herein. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention relates generally to systems and methods for tracking the position of electromagnetic signal transmitting devices, particularly in an environment with interference. 
       BACKGROUND 
       [0003]    Radio frequency (RF) signals propagate through the air predictably. However, when physical structures are present, such structures may absorb or reflect the RF signals. In these situations, signal degradation or multipath issues may occur (multipath is generally described as an RF signal reaching an antenna over two or more distinct paths). 
         [0004]    U.S. Pat. No. 8,749,433, granted Jun. 10, 2014, titled “Multiplexing Receiver System”, the entirety of which is incorporated by reference herein, discloses a system for tracking mobile RF transmitters, wherein RF receivers receive RF signals transmitted from a mobile RF transmitter. Based on the phase of the RF signal as received at multiple receiver antennae, the distance between the receiver antennae and the transmitter is calculated along a line. With multiple appropriately spaced antennae, the location of the RF transmitter can be calculated and the position of the mobile RF transmitter may be tracked. 
         [0005]    In such a system, while the data sent in the RF signal is important, the integrity of receiving the correct signal is imperative. Thus, if an object (a person) is disposed between the RF transmitter and an antenna and impedes the signal, the transmitter cannot be tracked as the signal may not be received. Also, the signal being utilized to track the transmitter must be the “straight line” signal from the transmitter and not a multipath signal as created by signal reflection from a surface. 
       SUMMARY 
       [0006]    In terrestrial communication, a transmitted RF signal is reflected and refracted by a variety of smooth and rough terrains, that is, multipath propagation. The propagation characteristics will vary with each individual carrier frequency. As described herein, multiple frequencies (frequency hopping/spread spectrum) are used to screen multipath effects on the carrier signal phase. 
         [0007]    The direct and indirect signals (of same frequency) interfere at the antenna center and may be represented by: 
         [0000]      direct signal:  y   d =α*cos(φ)  (Eq. 1)
 
         [0000]      indirect signal:  y   m =β*α*cos(φ+Δφ)  (Eq. 2)
 
         [0000]    where α and φ=2πft denote the amplitude and the phase of the direct signal. The amplitude of the indirect signal is reduced by the damping factor β because of the reflection at a surface (β&lt;=1). The phase of the indirect signal is delayed by the phase shift Δφ=2πfΔt that is dependent on the multipath effect and the frequency. The received signal at receiver antenna is represented as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         y 
                         = 
                           
                          
                         
                           
                             y 
                             d 
                           
                           + 
                           
                             y 
                             m 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             α 
                             * 
                             
                               cos 
                                
                               
                                 ( 
                                 ϕ 
                                 ) 
                               
                             
                           
                           + 
                           
                             β 
                             * 
                             α 
                             * 
                             
                               cos 
                                
                               
                                 ( 
                                 
                                   ϕ 
                                   + 
                                   Δϕ 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                      
                     3 
                   
                   ) 
                 
               
             
           
         
       
     
         [0008]    Applying the cosine theorem, the combination signal is: 
         [0000]        y=β   m *α*cos(φ+Δφ m )  (Eq. 4)
 
         [0000]      where 
         [0000]      β m =√{square root over (1+β 2 −2*β*cos(Δφ))}  (Eq. 5)
 
         [0000]      and 
         [0000]      Δφ m =arctan(β*sin(Δφ)/(1+β*cos(Δφ))).   (Eq. 6)
 
         [0009]    The damping factor β may vary between 0 and 1. The substitution of β=0 (i.e., there is no reflected signal and no multipath) gives β m =1 and Δφ m =0. This means that the combination signal is identical to the direct signal. The strongest possible reflection is defined by β=1. The substitution of this value produces: 
         [0000]    
       
         
           
             
               
                 
                   
                     β 
                     m 
                   
                   = 
                   
                     2 
                     * 
                     
                       sin 
                        
                       
                         ( 
                         
                           Δϕ 
                           2 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                      
                     7 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     Δϕ 
                     m 
                   
                   = 
                   
                     
                       Δϕ 
                       2 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                      
                     8 
                   
                   ) 
                 
               
             
           
         
       
     
         [0010]    The above equations indicate that signal integrity is directly controlled, to some degree, by signal phase. Free space loss is signal attenuation in air, with it being known that higher frequency signals attenuate more rapidly than lower frequency signals in air. However, one tradeoff for lower frequency is a larger antenna. Further, different frequency signals have varying signal impediments (multipath interference, resonance, local interference, attenuation, etc.) in different environments. 
         [0011]    In one embodiment, a range of frequencies is chosen for operation of the RF transmitter, and the transmitter and receiver make coordinated frequency hops. One advantage of such a system is that if a certain channel produces data that does not fit the expected track of the RF transmitter, the “bad” data from that channel can be ignored and the visual representation of the track can be smoothed. Further, the system may elect to screen (or skip) that channel in future frequency hopping to avoid the interference and resulting bad data. 
         [0012]    All examples and features mentioned below can be combined in any technically possible way. 
         [0013]    In one aspect, a system is provided for tracking a position of a transmitter whose position is to be determined. The transmitter is capable of processing electromagnetic signals and of transmitting frequency-hopping electromagnetic signals. The system comprises at least three receiver antennae capable of receiving the frequency-hopping electromagnetic signals transmitted by the transmitter. A central controller is in communication with the at least three receiver antennae to acquire the frequency-hopping electromagnetic signals from the least three receiver antennae and to compute phase differences based on these frequency-hopping electromagnetic signals. The central controller further calculates the position of the transmitter based on these computed phase differences. 
         [0014]    In another aspect, a system is provided for tracking a position of a transmitter whose position is to be determined. The transmitter is capable of processing electromagnetic signals and of transmitting frequency-hopping electromagnetic signals. The system comprises at least three receiver antennae capable of receiving the frequency-hopping electromagnetic signals transmitted by the transmitter. A central controller is in communication with the at least three receiver antennae to acquire the frequency-hopping electromagnetic signals from the least three receiver antennae and to compute phase differences based on these frequency-hopping electromagnetic signals. The central controller i) calculates the position of the transmitter based on these computed phase differences, and ii) performs a calibration routine that steps through frequencies with the transmitter whereby phase integrity of the electromagnetic signals is calibrated at a plurality of frequencies, and wherein the central controller and the transmitter use frequencies within an acceptable range, as determined by phase relationships of the plurality of frequencies, for position tracking calculations. 
         [0015]    In still another aspect, a method for setting up a system for tracking an RF transmitter comprising placing the RF transmitter in a fixed location, placing at least two receiver antennae in locations within RF signal range of the RF transmitter. The at least two receiver antennae are in communication with a CPU. Communication is established on a first frequency between the RF transmitter and at least one of the at least two receiver antennae. A position of the RF transmitter is calculated relative to the at least one receiver antenna using phase data of signals transmitted by the RF transmitter. The method further comprises frequency hopping to at least one other frequency, calculating the position of the RF transmitter using the phase data of the signals transmitted by the RF transmitter relative to the at least one receiver antenna, and determining if the calculated positions of the RF transmitter based on the multiple frequencies is acceptable for determining a present position of the RF transmitter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]    The above and further advantages of this invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which like numerals indicate like structural elements and features in various figures. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. 
           [0017]      FIG. 1  is a block diagram of an embodiment of a tracking system for tracking position of an RF transmitter. 
           [0018]      FIG. 2  is a block diagram of the RF transmitter carried by, disposed on, or embedded in a stationary or moving object within range of the tracking system. 
           [0019]      FIG. 3  is a graph of a simple example of a frequency-hopping time pattern. 
           [0020]      FIG. 4  is a block diagram of an embodiment of a central processing unit in the tracking system using a wired carrier phase reference. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    Position tracking systems described herein use phase detection techniques to track position of an object having a radio frequency (RF) transmitter.  FIG. 1  shows an embodiment of a tracking system  2  including a plurality of receivers  10   a,    10   b,  and  10   c  (generally, receiver  10 ), an electromagnetic signal transmitter  20 , a central processing unit  30  for processing received microwave or RF signals, and a computer system  40 , which includes an interface circuit (not shown) to calculate the coordinates of the object. The transmitter  20  may be carried by, attached to, or embedded in an object whose position (x, y, z) is to be dynamically determined. The transmitter  20  can be embodied in such objects as a mobile cell phone, television or game controller, a tablet or laptop, etc. Although shown separately, the central processing unit  30  and computer system  40  and/or the receivers  10  can be integrated into a single machine. A single machine comprised of the central processing unit  30  and computer  40  may be referred to herein as a central controller. 
         [0022]    Each of the receivers  10   a,    10   b,  and  10   c  includes at least one antenna  12 , a band pass filter (not shown) and a low noise amplifier (LNA) (not shown). The position (X, Y, Z) of each receiver antenna  22  is known. The antennae  22  are disposed within range of the signal being transmitted by the transmitter  20 . The receivers  10  form a receiver network  14 , and the object carrying the transmitter  20  works within the physical receiver network (i.e., within range of the receivers  10 ). Coordinates of each phase center of the one or more antennae of each receiver  10  are predetermined and used as coordinate reference for correlating the coordinate location of the transmitter  20  within the receiver network  14 . The transmitter  20  includes at least one antenna  16  for transmitting electromagnetic signals (e.g., microwave, radio frequency). Also, the phase center of the one or more antennae  16  of the transmitter  20  is used as a reference for the coordinates of the transmitter. Although three receivers  10  are shown, the principles described herein may be practiced by as few as two receivers  10  (or receiver antennae). 
         [0023]    The central processing unit  30  is in communication with each of the receiver antennae  10  over communication links  18 . Such communication links  18  can be wired (e.g., cables) or wireless. 
         [0024]    During operation of the tracking system  2 , the transmitter  20  associated with the object continuously transmits a pulsed frequency-hopping electromagnetic signal. The receivers  10   a,    10   b,  and  10   c  receive and amplify the traveled frequency-hopping signal. Each receiver  10  then sends its amplified frequency-hopping signal to the central processing unit  30  over its communication link  18 . Alternatively, the receivers  10   a,    10   b,  and  10   c  can send the signals to the central processing unit  30  wirelessly. 
         [0025]    From the received amplified frequency-hopping signal, the central processing unit  30  detects the carrier signals. Phase discriminators ( FIG. 4 ) of the CPU  30  determine carrier phase differences between each carrier signal and a reference signal (received from the transmitter  20  over the communication link  19 ). The central processing unit  30  also includes analog-to-digital converter ( FIG. 4 ) to digitize the carrier phase differences. 
         [0026]    The computer system  40  is in communication with the central processing unit  30  to acquire and convert the digital data representing the phase differences into time differences of arrival of the multiple frequencies used for the frequency-hopping signal. From these time differences of arrival, the computer system  40  calculates the coordinates (i.e., the (x, y, z) position) of the transmitter antenna  16 . One of ordinary skill will recognize that if you have three straight-line signals from the transmitter  20  to three antenna  10   a,    10   b  and  10   c,  calculating the intersection of the three straight lines gives a precise location of the transmitter  20 . The computer system  40  can display the calculated position on a computer screen (e.g., as a cursor or a track), or provide the transmitter position to an application program for further use. 
         [0027]      FIG. 2  shows an embodiment of the transmitter  20  associated with the object. The transmitter  20  includes the antenna  16 , an electromagnetic (EM) signal generator  21 , a Direct Digital Synthesis (DDS) signal source  22 , an Image Rejection Mixer (IRM)  23 , a microprocessor unit  24 , a pulse modulator  25 , a power amplifier  26 , and a power divider  27  (for wired reference channel embodiments). 
         [0028]    During operation, the EM generator  21  generates a electromagnetic (RF or microwave) signal that depends on the signal frequency produced by the DDS signal source  22 . Any frequency can be chosen depending on the required resolution of the coordinates of the transmitter position (e.g., the higher the frequency, the higher the resolution, but also the greater the signal attenuation and susceptibility to multipath issues). The DDS signal frequency depends on information received from and controlled by the microprocessor  24 . The generated electromagnetic signal is synchronized to the same crystal signal for the microprocessor  24 . The electromagnetic signal may be continuous or transmit only while tracking is desired. 
         [0029]    The DDS signal source  22  generates fast, stable multiple frequencies.  FIG. 3  shows an example output of the DDS signal source  22  over different time slots. This particular output is for illustration purposes only; any sequence of the output of the DDS signal source  22  can be randomly chosen. This DDS signal works as a reference clock for the IRM  23  to generate different frequencies for hopping. 
         [0030]    Referring back to  FIG. 2 , the IRM  23  mixes the DDS frequencies to the electromagnetic frequency to complete the fast frequency hopping function. The benefit of using the IRM  23  is that a filter may be omitted. Further, other techniques for transmitting (and receiving, in the case of receivers  10   a,    10   b  and  10   c ) a frequency-hopping electromagnetic signal apply to the principles described herein. The pulse modulator  25  can be a switch controlled by the pulse signal generated by the microprocessor  24  synchronized to the system crystal. This pulsed electromagnetic signal is amplified by the power amplifier  26  and transmitted from the antenna  16 . If the transmitter  20  is wired, the power splitter  27  is used for a wired carrier phase reference. One path of the power splitter  27  is transmitted by the antenna  16 , and one path is used as a carrier phase reference to the central processing unit  30 . For a wireless embodiment, the power splitter  27  may not be used. 
         [0031]      FIG. 4  shows an embodiment of the central processing unit  30 , which provides the carrier phase differences to the computer  40 . In one embodiment, the CPU  30  includes limiting amplifiers  31   a,    31   b,  and  31   c  (generally, limiting amplifier  31 ), power dividers  32 , a pulse recovery and appropriate pulse generator circuit  33 , phase discriminators  34   a,    34   b,  and  34   c  (generally, phase discriminator  34 ), A/D converters  35   a,    35   b,    35   c  (generally, A/D converter  35 ), and a data buffer  36 . 
         [0032]    Each limiting amplifier  31  limits the amplitude of the pulsed electromagnetic signal coupled from the receivers  10  so that the output of each phase discriminator  34  is just dependent on the carrier phase differences. The power dividers  32  divide the input reference signal to four paths for phase discriminating. The phase discriminators  34  are used to discriminate phase differences of hopped frequencies. The A/D converters  35  are used to convert the carrier phase difference from analog to digital format. The buffer  36  functions as storage space to store the digital data for the computer  40 . All the control signals for the A/D converters  35  and buffer  36  come from the pulse recovery circuit  33 . Also, the pulse recovery circuit  33  provides the handshake signal with the computer  40 . Other circuitry and techniques for determining the carrier phase differences based on time of arrival information may be used in connection with the principles described herein. 
         [0033]    The data collected from the buffer  36  contain the phase differences of the different hopped frequencies. As shown in the  FIG. 3  frequency-hopping pattern, the carrier phase differences linearly decrease or increase. Accordingly, one can calculate the best line fit data using a “best-line-fit” technique with all the collected data, and then calculate the error to make a range to see how many measured data are “good” and “bad”. “Good” data refers to those frequencies&#39; phase differences are within expectations and can be used; “bad” data refers to those frequencies&#39; phase differences are much different from what are expected and severely affected by multipath. The “bad” data are ignored, whereas the “good” data are used for data averaging to represent carrier phase differences. These carrier phase differences are then used to convert to time differences of arrival; the time differences of arrival are then converted to position coordinates for locating the transmitter in three-dimensional space. 
         [0034]    When tracking the transmitter  20 , the computer  40  computes a best-fit track of motion representing past movement of the transmitter and a predicted path based on that history. A new direction not on the predicted path may represent “bad” data as indicated above, or it may represent that the transmitter  20  has been suddenly moved in a new path (i.e., good data). Subsequently measured track positions on the frequency-hopping network verify that the path of transmitter  20  has changed or if a position measurement is aberrant (i.e., bad). If a position measurement is bad and the bad data is ignored, a representation of the track of the transmitter  20  is be “smoothed”—the point before and after the bad data is connected with a best line, continuous curve or best curve fit. 
         [0035]    The frequency-hopping pattern disclosed above is a simple step pattern. However, the pattern could start at any point within the selected frequency of operation and step or hop from that point in any variation or sequence. The pattern of frequency hopping is not limited and is discretionary to the system designer. 
         [0036]    Further, certain frequencies may be screened to improve system performance. For example, frequencies f 11  and f 23  may produce “bad” data, as described above, meaning that those frequencies may be severely affected by multipath or signal degradation. In this case, the frequency-hopping pattern may be modified to skip those frequencies. Another common cause of bad data, in addition to multipath signals, is interference from other devices. Such devices may be on a channel that resides within the frequency-hopping pattern. By hopping over the interfering channel, the interference can be avoided or minimized. 
         [0037]    Determining a poor channel of operation (frequency) may occur during initial set-up or at any point during operation. One example of a problem arising during operation is another mobile transmitter being brought within range of the system and creating interfering RF signals on certain channel(s). In such situations where bad data is suspected there are multiple ways to determine is the channel is corrupted. For example, if the transmitter is set in a known position relative to the known positions of the receivers, each channel can be tested for accuracy of measurement. More dynamically, the system can monitor which channel produces bad data and if the same frequency repeatedly indicates false positions relative to other channels, that channel may be excluded. Alternatively, signal strength or indications of signal interference may be used to screen out certain channels. 
         [0038]    At system start-up, the DDS signal source  22  can initiate a calibration routine to find and screen channels that provide poor transmission. The transmitter  20  and receiver network  14  may be coordinated to start on an “acquisition channel” in a variety of ways (designated acquisition channel, transmitter broadcasts on one channel while a receiver hops, a receiver sits on one channel waiting for the transmitter to hop through, or both a receiver and the transmitter hop, but at different rates so the receiver and the transmitter eventually connect). In such an embodiment, after the transmitter and receiver are synchronized, the microprocessor  24  in the transmitter  20 , the central processing unit  30 , and computer  40  coordinate to step through frequencies with the transmitter  20  at a stable location. If certain channels produce data outside an acceptable location range, those channels may be suffering from corruption, interference, or other problems, and use of those channels can be minimized or eliminated. 
         [0039]    In one embodiment, the electromagnetic signal from transmitter  20  may conform to an 802.11 wireless Local Area Network (LAN) type protocol. In addition, the principles described herein extend to other RF protocols including, but not limited to, Bluetooth, ZigBee, and ultra-wideband (UWB). System tradeoffs mean that frequency and spectrum band width choices affect antenna size and that very high frequency systems result in signal propagation limitations. Provided the phase of the signal or time of arrival using UWB (Ultra-Wideband) narrow-pulse signals can be calculated, typical timing measurements, such as time of arrival or time difference of arrival, can be used as well as various protocols and signal wavelengths including, but not limited to Bluetooth, Wi-Fi, ultra wideband, and other frequency RF carrier signals. FSK, BPSK, QPSK or any other modulation scheme that provides phase information may be utilized. 
         [0040]    As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, and computer program product. Thus, aspects of the present invention may be embodied entirely in hardware, entirely in software (including, but not limited to, firmware, program code, resident software, microcode), or in a combination of hardware and software. Such embodiments may generally be referred to herein as a circuit, a module, or a system. In addition, aspects of the present invention may be in the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon. 
         [0041]    Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable medium may be a non-transitory computer readable storage medium, examples of which include, but are not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. 
         [0042]    As used herein, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, device, computer, computing system, computer system, or any programmable machine or device that inputs, processes, and outputs instructions, commands, or data. A non-exhaustive list of specific examples of a computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), a USB flash drive, an non-volatile RAM (NVRAM or NOVRAM), an erasable programmable read-only memory (EPROM or Flash memory), a flash memory card, an electrically erasable programmable read-only memory (EEPROM), an optical fiber, a portable compact disc read-only memory (CD-ROM), a DVD-ROM, an optical storage device, a magnetic storage device, or any suitable combination thereof. 
         [0043]    A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. As used herein, a computer readable storage medium is not a computer readable propagating signal medium or a propagated signal. 
         [0044]    Program code may be embodied as computer-readable instructions stored on or in a computer readable storage medium as, for example, source code, object code, interpretive code, executable code, or combinations thereof. Any standard or proprietary, programming or interpretive language can be used to produce the computer-executable instructions. Examples of such languages include C, C++, Pascal, JAVA, BASIC, Smalltalk, Visual Basic, and Visual C++. 
         [0045]    Transmission of program code embodied on a computer readable medium can occur using any appropriate medium including, but not limited to, wireless, wired, optical fiber cable, microwave or radio frequency (RF), or any suitable combination thereof. 
         [0046]    The program code may execute entirely on a user&#39;s device, partly on the user&#39;s device, as a stand-alone software package, partly on the user&#39;s device and partly on a remote computer or entirely on a remote computer or server. Any such remote computer may be connected to the user&#39;s device through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). 
         [0047]    Additionally, methods of this invention can be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, or the like. In general, any device capable of implementing a state machine that is in turn capable of implementing the proposed methods herein can be used to implement the principles of this invention. 
         [0048]    Furthermore, the disclosed methods may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or a VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. 
         [0049]    While the aforementioned principles have been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be or are apparent to those of ordinary skill in the applicable arts. Accordingly, it is intended to embrace all such alternatives, modifications, equivalents, and variations that are within the spirit and scope of this invention.