FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to wireless networks and, more particularly, to systems and methods for implementing vector models for communicating via one or more antennas.  
       BACKGROUND OF THE INVENTION  
       [0002]     Many communications systems today operate in a three-dimensional environment in which the position and orientation of a communications target may be constantly changing with respect to a communications reference station. Such a system may include, for example, a mobile, multi-hop wireless network in which wireless nodes are added at locations in the system, and are removed from locations in the system in an ad-hoc fashion. In such an ad-hoc three-dimensional system, either an appropriate antenna and/or a transmit power necessary to transmit to the communications target may be constantly changing. If the reference station cannot keep track of the target relative to itself, it cannot ensure that an appropriate transmit power, given an antenna gain pattern, is used such that the target will receive the communication with an adequate signal strength. Additionally, if the reference station has more than one antenna, the reference station may have difficulty selecting an appropriate antenna for transmitting to, or receiving from, the target.  
         [0003]     Therefore, there exists a need for systems and methods that can determine an appropriate antenna from multiple antennas, or an appropriate transmit power, for communicating between a communications target and a reference station in, for example, a three-dimensional operational environment.  
       SUMMARY OF THE INVENTION  
       [0004]     Systems and methods consistent with the present invention address this and other needs by implementing a vector model for communicating between a reference station and a target station in a wireless communications network. Systems and methods consistent with the invention may employ the vector model for translating a vector between the reference station and the target station in a global coordinate system to a local vehicle coordinate system that is referenced to the reference station. The translated vector may be used at the reference station for selecting, in the local vehicle coordinate system, between antennas for transmitting to, or receiving from, the target, or for determining an antenna gain, and a corresponding transmit power for transmitting to the target. The vector model, consistent with the invention, employs vector differences, dot products, cross products and vector normalizations that can execute far faster on limited computational resources than would be the case if angles and trigonometric functions were employed.  
         [0005]     In accordance with the purpose of the invention as embodied and broadly described herein, a method of communicating with a target vehicle includes determining a vector ({right arrow over (v)}) between a reference vehicle and a target vehicle in a global coordinate system. The method further includes translating the vector ({right arrow over (v)}) into a vehicle coordinate system that is referenced to the reference vehicle to produce a translated vector ({right arrow over (i)} {right arrow over (v)}     local   ) and performing at least one of antenna selection, antenna steering and antenna gain calculation, based on the translated vector ({right arrow over (i)} {right arrow over (v)}     local   ), to communicate with the target vehicle via at least one antenna.  
         [0006]     In a further implementation consistent with the present invention, a method of rotating a line of sight vector between a reference vehicle and a target vehicle from a first coordinate system to a second coordinate system includes determining a line of sight vector between the reference vehicle and the target vehicle in a first coordinate system and determining a local gravity vector at the reference vehicle. The method further includes determining a local magnetic field vector at the reference vehicle and rotating the line of sight vector into a second coordinate system using the determined local gravity vector and the local magnetic field vector.  
         [0007]     In an additional implementation consistent with the present invention, a method of rotating a vector between a reference vehicle and a target vehicle from a global coordinate system to a vehicle coordinate system includes determining a first vector between the reference vehicle and the target vehicle in the global coordinate system and determining a second vector, in the vehicle coordinate system, that is parallel to gravity, where the vehicle coordinate system is referenced to the reference vehicle. The method further includes determining a third vector, in the vehicle coordinate system, that points to true north and using vector algebra and the second and third vectors to rotate the first vector from the global coordinate system to the vehicle coordinate system. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with the description, explain the invention. In the drawings,  
         [0009]      FIG. 1  illustrates an exemplary network in which systems and methods, consistent with the present invention, may be implemented;  
         [0010]      FIG. 2  illustrates exemplary components of a vehicle of the network of  FIG. 1  consistent with the present invention;  
         [0011]      FIG. 3A  illustrates an exemplary vehicle vector database consistent with the present invention;  
         [0012]      FIG. 3B  illustrates an exemplary vehicle vector data table consistent with the present invention;  
         [0013]      FIG. 4  illustrates an exemplary vehicle local coordinate system consistent with the present invention;  
         [0014]      FIG. 5  illustrates an exemplary antenna gain pattern associated with a directional antenna consistent with the present invention; and  
         [0015]      FIGS. 6-8  are flow charts that illustrate a vector translation process for communicating with a target vehicle consistent with the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0016]     The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims.  
         [0017]     Systems and methods consistent with the present invention provide mechanisms for implementing a vector model that translates a line of sight vector between a reference communication station and a target communication station in a global coordinate system to a local vehicle coordinate system that is referenced to the reference communication station. The translated line of sight vector can be used by the reference communication station in selecting an appropriate antenna, and an appropriate transmit power, for communicating with the target communication station.  
       Exemplary Network  
       [0018]      FIG. 1  illustrates an exemplary network  100  consistent with the present invention. In one implementation consistent with the present invention, network  100  may include a multi-hop, ad-hoc, wireless packet-switched network. In other implementations consistent with the invention, network  100  may include other types of networks, such as, for example, a circuit-switched network.  
         [0019]     Network  100  may include multiple vehicles, such as reference vehicle  105  -REF and target vehicles  105 - 1  through  105 -N (where N may include any integer greater than 1). Each “vehicle” may be a mobile entity, such as, for example, an automobile, an airplane, a helicopter, a missile or a satellite. Each “vehicle” may further include a stationary, or semi-stationary entity, such as, for example, a cellular base station or a stationary satellite.  
         [0020]     Each vehicle  105  may have associated with it at least one antenna (not shown) used for communicating via one or more wireless links of links  110 . The antenna associated with each vehicle  105  may include, for example, a single, or multiple, simple antennas; a single or multiple directional antennas; a phased array antenna; a switched antenna array; or any combination thereof.  
         [0021]     The number of vehicles shown in  FIG. 1  is for illustrative purposes only. Fewer or greater numbers of vehicles  105  may be employed in network  100  consistent with the present invention. In a multi-hop, ad-hoc, wireless packet-switched network, each vehicle  105  of network  100  may route packets on behalf of other vehicles and, thus, serve as an intermediate node between a packet source vehicle and destination vehicle in network  100 .  
       Exemplary Vehicle  
       [0022]      FIG. 2  illustrates exemplary components of a vehicle  105  of network  100 , such as reference vehicle  105 -REF or target vehicles  105 - 1  through  105 -N. Vehicle  105  may include a transceiver  205 , a transmit/receive (TIR) antenna(s)  210 , an acceleration sensor  215 , a magnetic field sensor  220 , an optional vehicle location determining device(s)  225 , a processing unit  230 , a memory  235 , input/output devices  240  and a bus  245 .  
         [0023]     Transceiver  205  may include transceiver circuitry well known to one skilled in the art for transmitting and/or receiving communications via T/R antenna(s)  210 . For example, among other conventional circuitry, transceiver  205  may include an equalizer and an encoder/decoder. The equalizer may store and implement conventional Viterbi trellises for estimating received symbol sequences using, for example, a conventional maximum likelihood sequence estimation technique, and additionally include conventional mechanisms for performing channel estimation. The encoder/decoder may further include conventional circuitry for decoding and/or encoding received or transmitted symbol sequences.  
         [0024]     Transmit/receive (T/R) antenna(s)  210  may include one or more simple omni-directional antennas, one or more directional antennas, a phased array antenna, or a switched antenna array. T/R antenna(s)  210  may include symmetric (i.e., similar gain patterns in the E and H planes) or non-symmetric antennas (i.e., significantly different gain patterns in the E and H planes).  
         [0025]     Acceleration sensor  215  may include, for example, a three-axis “strap-down” accelerometer. In a steady state, the accelerometer may report the local components of the gravity vector {right arrow over (g)} as {right arrow over (g)} x , {right arrow over (g)} y  and {right arrow over (g)} z  vectors. Magnetic field sensor  220  may include, for example, a three-axis “strap-down” magnetometer that reports the local components of the magnetic field {right arrow over (m)} x  as {right arrow over (m)} x , {right arrow over (m)} y  and {right arrow over (m)} z  vectors.  
         [0026]     Vehicle location determining device(s)  220  may include one or more devices that provide vehicle geographic location data. Device(s)  220  may include one or more of a Global Positioning System (GPS) device, an inertial management unit, or a vehicle navigation unit that provide a location of vehicle  105 . If device(s)  220  includes a GPS device, then device  220  may supply geographic positions in global coordinates, such as standard world models like the World Geodetic System (WGS 84) or the Military Grid Reference System (MGRS). The World Geodetic System designates coordinates in latitude and longitude in degrees, and height over the geoid (mean sea level) in meters. The MGRS is based on the Universal Transverse Mercator (UTM) projection from 84 degrees north to 80 degrees south. In MGRS, the earth&#39;s surface is sliced into sixty North-South “orange slices,” with each slice being six degrees wide and projected onto a flat plane with coordinates Easting (distance in meters from the local meridian, which is centered every 6 degrees), Northing (distance in meters from the equator), and altitude (meters above sea level). MGRS has the advantage of providing genuine “local flat earth” three-vectors aligned with East (E), North (N) and up (U), suitable for local ballistics, intervisibility and other computations.  
         [0027]     Processing unit  230  may perform all data processing functions for inputting, outputting, and processing of data including data buffering and vehicle control functions. Memory  235  provides permanent, semi-permanent, or temporary working storage of data and instructions for use by processing unit  230  in performing processing functions. Memory  235  may include large-capacity storage devices, such as a magnetic and/or optical recording medium and its corresponding drive. Input/Output device  240  may include conventional mechanisms for inputting and outputting data in video, audio, and/or hard copy format. Bus  245  interconnects the various components of vehicle  105  to permit the components to communicate with one another.  
       Exemplary Vehicle Vector Database  
       [0028]      FIG. 3A  illustrates an exemplary vehicle vector database  300  that stores vector data related to a location of reference vehicle  105 -REF and one or more target vehicles  105 - 1  through  105 -N. Database  300  may be stored in memory  235  of a vehicle  105 , or stored external to vehicle  105 . Database  800  may include one or more vehicle vector data tables  305 , as further described below.  
       Exemplary Vehicle Vector Data Table  
       [0029]      FIG. 3B  illustrates a vehicle vector data table  305  consistent with the present invention. Vehicle vector data table  305  may include multiple table entries  310 , each of which may include a target vehicle identifier  315 , and multiple vectors  320 - 370 . Vector {right arrow over (T)}  320  may include a target vehicle&#39;s location vector in global coordinates. Vector {right arrow over (v)}  325  may include a line of sight vector from the reference vehicle to the target vehicle in global coordinates. Vector {right arrow over (i)} {right arrow over (v)}   330  may include a normalized line of sight vector from the reference vehicle to the target vehicle in global coordinates. Vector {right arrow over (g)}  335  may include a vector that indicates the gravity acting upon a vehicle in the local vehicle&#39;s coordinate system. Vector {right arrow over (i)} {right arrow over (g)}   340  may include a normalized vector that indicates the gravity acting upon a vehicle in the local vehicle&#39;s coordinate system. Vector {right arrow over (m)}  345  may include a vector that indicates the local components of the magnetic field in the local vehicle&#39;s coordinate system. Vector {right arrow over (i)} {right arrow over (m)}   350  may include a normalized vector that indicates the local components of the magnetic field in the local vehicle&#39;s coordinate system. Vector {right arrow over (i)} N    355  may include vector {right arrow over (i)} {right arrow over (m)}   350  converted from magnetic to true north. Vector {right arrow over (i)} {right arrow over (E)}   360  may include a unit vector in the east direction (i.e., the cross product of {right arrow over (i)} {right arrow over (g)}  and {right arrow over (i)} N ). Vector {right arrow over (M)}  365  may include a rotation vector that can rotate any vector in a global coordinate system into a vehicle&#39;s local coordinate system. Vector {right arrow over (i)} {right arrow over (v)}     local      370  may include vector {right arrow over (i)} {right arrow over (v)}   330  rotated into a vehicle&#39;s local coordinate system using vector {right arrow over (M)}  365 .  
       Exemplary Vehicle Coordinate System  
       [0030]      FIG. 4  illustrates an exemplary vehicle coordinate system consistent with the invention. As shown, a vehicle body  405  for each vehicle  105  has a local coordinate system in which the x axis  410  may be in the vehicle forward direction, the y axis  415  may be to the right of the vehicle forward direction, and the z axis  420  may be down. As with conventional aerospace standards, a number of motions may be associated with each axis. For example, surge/roll motions  425  may be associated with x axis  410 , sway/pitch motions may be associated with y axis  415  and heave/yaw motions  435  may be associated with z axis  420 . As shown in  FIG. 4 , the vehicle coordinate system includes a right-handed coordinate system, where rotations about the axes are also right handed. “Strap-down” sensors, such as, for example, the acceleration sensor  215  and magnetic field sensor  220  may measure components of external vectors (e.g., gravity, magnetic field) relative to the local vehicle coordinate system x  410 , y  415  and z  420  axes.  
       Exemplary Directional Antenna Gain Pattern  
       [0031]      FIG. 5  illustrates an exemplary antenna gain pattern  500  consistent with the present invention. Antenna gain pattern  500  represents a graphical representation of the gain of a directional antenna at a particular elevation relative to a local vehicle coordinate system. Antenna gain pattern  500 , thus, indicates a transmit and receive gain associated with a corresponding directional antenna at a full 360 degrees surrounding a directional antenna at a particular elevation. Though a gain pattern of a directional antenna is shown, one skilled in the art will recognize that different antenna gain patterns may be associated with different types of antennas. An omni-directional antenna, for example, may have a roughly circular gain pattern at a given elevation relative to a local vehicle&#39;s coordinate system.  
       Exemplary Node Location Transmission Process  
       [0032]      FIGS. 6-8  are flowcharts that illustrate an exemplary process, consistent with the present invention, for translating a vector to a target vehicle from a global coordinate system to a reference vehicle&#39;s local vehicle coordinate system. As one skilled in the art will appreciate, the process exemplified by  FIGS. 6-8  can be implemented as a sequence of instructions and stored in memory  235  associated with reference vehicle  105 -REF for execution by processing unit  230 . Alternatively, the process exemplified by  FIGS. 6-8  can be implemented in hardware and/or firmware.  
         [0033]     The exemplary process may begin with a determination of a vector {right arrow over (O)} describing the reference vehicles  105 -REF location [act  605 ]( FIG. 6  ). Vector {right arrow over (O)} may be derived from data from location determining device  225 , such as, for example, from GPS data in the WGS 84 or MGRS systems. A vector {right arrow over (T)} describing the target vehicle&#39;s  105  location may also be determined [act  610 ]. Vector {right arrow over (T)} may also be derived from data, such as, for example, from GPS data in the WGS 84 or MGRS systems, from a location determining device  225  associated with the target vehicle. Reference vehicle  105 -REF may receive the target vehicle&#39;s location data in a message transmitted from the target vehicle or in a message from an external source (e.g., a vehicle location mapping station). A line of sight vector {right arrow over (v)} from the reference vehicle  105 -REF to a target vehicle  105  may be determined [act  615 ] according to the following relation: 
 
 {right arrow over (v)}={right arrow over (T)}−{right arrow over (O)}   Eqn. (1) 
 
         [0034]     Vector {right arrow over (v)} may then be normalized to determine a unit direction vector {right arrow over (i)} {right arrow over (v)}  to the target vehicle [act  620 ]. Vector {right arrow over (v)} may be normalized according to the following:  
                 i   →       v   →       =       v   →            v   →                    Eqn   .           ⁢     (   2   )               
 
         [0035]     A local gravity vector g may be determined [act  625 ]. Local gravity vector g may be derived, for example, from data from acceleration sensor  215 . Local gravity vector {right arrow over (g)} may then be normalized to determine a unit local gravity vector {right arrow over (i)} {right arrow over (g)}  [act  630 ]. A local magnetic field vector {right arrow over (m)} may then be determined [act  635 ]. Local magnetic field vector {right arrow over (m)} may, for example, be derived from data from magnetic field sensor  220 . Since magnetic north is defined as parallel to the ground, any portion of the local magnetic field vector {right arrow over (m)} that is not perpendicular to the ground (i.e., perpendicular to gravity) may be eliminated according to the following: 
 
 {right arrow over (m)} =( {right arrow over (m)}−{right arrow over (i)}   {right arrow over (g)} ( {right arrow over (i)}   {right arrow over (g)}   ·{right arrow over (m)} ))   Eqn. (3) 
 
 where the dot denotes a vector inner product. The resultant local magnetic field vector {right arrow over (m)} may then be normalized to determine a unit local magnetic field vector {right arrow over (i)} {right arrow over (m)}  [act  705 ]( FIG. 7 ). 
 
         [0037]     The local magnetic declination angle (θ) from true north to magnetic north may be determined [act  710 ], where θ is positive for E declination and negative for W declination. Unit vector {right arrow over (i)} {right arrow over (m)}  may be converted from magnetic north to true north [act  715 ] by rotating {right arrow over (i)} {right arrow over (m)}  in accordance with the following: 
 
 {right arrow over (i)}   {right arrow over (N)}   =C{right arrow over (i)}   {right arrow over (m)}   +S ( {right arrow over (i)}   {right arrow over (m)}   ×{right arrow over (i)}   {right arrow over (g)} )   Eqn. (4) 
 
 where C=cos(θ) and S=sin(θ). A unit vector in the east direction {right arrow over (i)} {right arrow over (E)}  may then be determined [act  720 ] according to the following relation: 
 
 {right arrow over (i)}   E   ={right arrow over (i)}   {right arrow over (g)}   ×{right arrow over (i)}   N    Eqn. (5) 
 
         [0039]     A rotation matrix {right arrow over (M)} may then be formed [act  725 ] by combining orthonormal vectors {right arrow over (i)} E , {right arrow over (i)} N , {right arrow over (i)} {right arrow over (g)}  according to the following: 
 
 {right arrow over (M)}={right arrow over (i)}   E   ;{right arrow over (i)}   N   ;−{right arrow over (i)}   {right arrow over (g)}   Eqn. (6) 
 
         [0040]     Unit direction vector {right arrow over (i)} {right arrow over (v)}  from the reference vehicle to the target vehicle, in global world coordinates, may then be rotated [act  805 ] into local vehicle coordinates to determine a unit direction vector {right arrow over (i)} {right arrow over (v)}     local    to the target vehicle according to the following: 
 
 {right arrow over (i)}   {right arrow over (v)}     local     ={right arrow over (M)}·{right arrow over (i)}   {right arrow over (v)}   Eqn. (7) 
 
         [0041]     One or more antennas may then be selected or steered, or corresponding antenna gain(s) determined, for transmission to, or reception from, a target vehicle using the unit direction vector {right arrow over (i)} {right arrow over (v)}     local    to the target vehicle in local vehicle coordinates [act  810 ]. The determined antenna gain(s) may further be used, for example, for determining an appropriate transmit power for transmitting to the target vehicle that ensures an adequate receive signal strength at the target vehicle.  
         [0042]     In one implementation, for example, if there are a number of identical, simple “patch” antennas fixed to the reference vehicle  105 -REF and pointing in different directions, the best antenna (i.e., highest gain) may be selected using the unit direction vector {right arrow over (i)} {right arrow over (v)}     local   . Each antenna has a “boresight direction” of maximum gain given by a unit vector {right arrow over (i)} a  in local vehicle coordinates. Assuming that the antenna gain falls off smoothly (monotonically) as the direction to a target vehicle moves away from its boresight, the best (highest gain) antenna to use to reach a target vehicle in direction {right arrow over (i)} {right arrow over (v)}     local    is to select the antenna that maximizes the following dot product: 
 
{right arrow over (i)} a ·{right arrow over (i)} {right arrow over (v)}     local      Eqn. (8) 
 
         [0043]     The gain of an antenna may be determined (i.e., estimated) by a lookup of resulting dot product (Eqn. (8)) values in the range of 1 to 0, which correspond to the cosine of an angle zero to 90 degrees off boresight. Alternatively, the antenna gain can be approximated as a low-order polynomial function of the dot product.  
         [0044]     A phased array antenna, for example, may be steered also using the unit direction vector {right arrow over (i)} {right arrow over (v)}     local   . A phased array antenna is an array of elements that directs a beam by creating a phase gradient across its elements. Assume that an antenna has its own coordinate unit directions {right arrow over (i)} 1 , {right arrow over (i)} 2  and {right arrow over (i)} 3 , where {right arrow over (i)} 1  points along the antenna surface in one direction, {right arrow over (i)} 2  points along the antenna surface in an orthogonal direction, and {right arrow over (i)} 3  is equal to the cross product of {right arrow over (i)} 1  and {right arrow over (i)} 2  and is the unit vector normal to the antenna&#39;s surface. The antenna beam may be steered to the target vehicle by commanding it to present a phase gradient of 2π/λ {right arrow over (i)} t ·{right arrow over (i)} {right arrow over (v)}     local    in the {right arrow over (i)} 1  direction and 2π/λ {right arrow over (i)} 2 ·{right arrow over (i)} {right arrow over (v)}     local    in the {right arrow over (i)} 2  direction.  
         [0045]     If an antenna is a non-symmetric antenna and has significantly different gain patterns in the E and H planes (assumed in its {right arrow over (i)} 1  and {right arrow over (i)} 2  directions), the antenna gain may additionally be determined using {right arrow over (i)} {right arrow over (v)}     local   . The antenna gain may be expressed as the boresight gain (G) times an E plane off-axis factor ≦1, times an H plane off-axis factor ≦1. The E plane off-axis factor may be determined by doing a lookup or polynomial fit to the E plane pattern as a function of {right arrow over (i)} 1  and {right arrow over (i)} {right arrow over (v)}     local   . The H plane off-axis factor may be determined by doing a lookup or polynomial fit to the H plane pattern as a function of {right arrow over (i)} 2  and {right arrow over (i)} {right arrow over (v)}     local   . The resulting antenna gain may include G multiplied by the product of the two factors.  
       Conclusion  
       [0046]     Systems and methods consistent with the present invention, therefore, provide mechanisms for implementing a vector model for communicating between a reference station and a target station in a wireless communications network that translates a vector between the reference station and the target station in a global coordinate system to a local vehicle coordinate system that is referenced to the reference station. The translated vector may be used at the reference station for selecting, in the local vehicle coordinate system, between antennas for transmitting to, or receiving from, the target, or for determining an antenna gain, and a corresponding transmit power for transmitting to the target. The vector model, consistent with the invention, employs vector differences, dot products, cross products and vector normalizations that can execute far faster on limited computational resources than would be the case if angles and trigonometric functions were employed.  
         [0047]     The foregoing description of embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of acts have been described in  FIGS. 6-8 , the order of the acts may vary in other implementations consistent with the present invention. Also, non-dependent acts may be performed in parallel. No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.  
         [0048]     The scope of the invention is defined by the following claims and their equivalents.
A reference vehicle ( 105 -REF) includes a transceiver ( 205) and processing logic ( 230). The transceiver ( 205) couples to at least one antenna ( 210). The processing logic ( 230) determines a vector between the reference vehicle ( 105 -REF) and a target vehicle ( 105 -1) in a global coordinate system and translates the vector into a vehicle coordinate system that is referenced to the reference vehicle to produce a translated vector. The processing logic ( 230) further performs at least one of antenna selection, antenna steering and antenna gain calculation, based on the translated vector, to communicate with the target vehicle via the at least one antenna ( 210).