The present application relates to co-pending application Ser. No. 10/355,5503, now U.S. Pat. No. 6,816,115, entitled “Systems and Methods for Antenna Selection in an Ad-Hoc Wireless Network,” filed on Jan. 31, 2003, the disclosure of which is incorporated by reference herein.
The present application further relates to co-pending application Ser. No. 10/355,311, entitled “Systems and Methods for Directional Antenna Power Control in a Wireless Network,” filed on Jan. 31, 2003, the disclosure of which is incorporated by reference herein.
The present invention relates generally to wireless networks and, more particularly, to systems and methods for selecting transmit antennas and controlling transmit power levels associated with the transmit antennas at nodes in such networks.
Wireless data communication is often required in an environment where communications infrastructure, such as base stations or a wired backbone network, does not exist or is uneconomical or impractical to use. For example, in military or emergency environments, adequate infrastructure often does not exist in necessary locations and constructing such an infrastructure would be either impractical or uneconomical for the short-term use that is often required. Mobile multi-hop wireless networks have, therefore, been developed to provide wireless data communications in such environments.
In a conventional mobile wireless multi-hop network, each wireless node acts as a packet router that relays packets to other nodes in the network over an air interface link without routing the packets through any portion of a conventional cellular network, such as the wired backbone network, base station controllers, or base stations. Each wireless node, however, is limited in the distance over which it can reliably transmit, with transmission ranges of between a few feet and hundreds of feet being typical. Therefore, in communication environments that span large areas or have significant radio interference, packets transmitted from a sending node must often be hopped over multiple nodes in the wireless network to reach a destination. For such a multi-hop wireless network to perform effectively, all nodes must, therefore, be prepared to route packets on behalf of other nodes.
Conventionally, wireless ad-hoc networks employ omni-directional antennas for sending and receiving routed packet data. Use of omni-directional antennas, however, has the drawback that spatial re-use of the shared frequency space is limited. This limited spatial re-use results in lower throughput and higher latencies that reduce the performance of ad-hoc networks.
Therefore, there exists a need for systems and methods that can increase the spatial re-use of the shared frequency space associated with wireless, ad-hoc networks.
Systems and methods consistent with the present invention address this and other needs by implementing one or more directional antennas, or an omni-directional antenna, in nodes of an ad-hoc, multi-hop, wireless network. Consistent with the present invention, directional antennas, such as, for example, switched beam or steered beam types of directional antennas, may be used for transmitting and/or receiving packets. Use of directional antennas, consistent with the present invention, permits the effective division of the shared frequency space into smaller regions, thus, increasing spatial re-use in the network. Increasing the spatial re-use results in higher throughput and lower latencies in the network, as compared to exclusive use of omni-directional antennas.
Location-determining techniques, such as, for example, Global Positioning System (GPS) signals, or other techniques, may, consistent with the present invention, be employed to determine three-dimensional positions and orientations of neighboring nodes in the network. The determined locations may be used as a basis for determining headings between a transmitting and receiving node that can, in conjunction with known antenna gain patterns associated with one or more directional antennas of the transmitting and receiving nodes, be used for selecting an appropriate transmit power. The selected transmit power, thus, may ensure an adequate receive signal strength at the receiving node that accounts for the orientation of the directional antennas of the transmitting and receiving nodes relative to one another. The selected transmit power may additionally include a minimal transmit power that provides an adequate receive signal strength at the receiving node. The minimized transmit power may serve to increase spatial re-use in the system due to less noise interfering with the transmissions of other nodes.
In accordance with the purpose of the invention as embodied and broadly described herein, a method of selecting an antenna for transmitting data from a first node in an ad-hoc wireless network includes receiving a first message from a second node in the ad-hoc wireless network, the message including three-dimensional position data associated with the second node. The method further includes selecting an antenna from multiple antennas based on the three-dimensional position data and transmitting a second message from the first node to the second node via the selected antenna.
In a further implementation consistent with the present invention, a method of providing a three-dimensional position of a first node to a second node in an ad-hoc wireless network includes receiving a message, at the second node, from the first node, the message including an identifier associated with the first node and data indicating a three-dimensional position and orientation of the first node. The method further includes storing the identifier and the three dimensional position and orientation in an entry of a data table.
In an additional implementation consistent with the present invention, a method of determining transmit power at a first node in a wireless network includes receiving one or more messages from a second node, the one or more messages indicating a three-dimensional position of the second node and a directional antenna associated with the second node that transmitted at least one of the one or more messages. The method further includes determining a vector between the second node and the first node based on the three-dimensional position of the second node and determining a gain of the directional antenna corresponding to the determined vector to produce a transmit antenna gain (XmitAntGain). The method also includes determining the transmit power for transmitting to the second node based on the transmit antenna gain.
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,
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.
Systems and methods consistent with the present invention provide mechanisms for implementing one or more directional antennas in nodes of an ad-hoc, multi-hop, wireless network for transmitting and/or receiving packets. In conjunction with the one or more directional antennas, position and orientation determining techniques may, consistent with the present invention, be employed to determine three-dimensional positions and orientations of neighboring nodes in the network. The determined three-dimensional locations may be used as a basis for determining headings between a transmitting and receiving node that can, in conjunction with known antenna gain patterns associated with one or more directional antennas of the transmitting and receiving nodes, be used for selecting an appropriate transmit power. The selected transmit power may ensure an adequate receive signal strength at the receiving node that accounts for the orientation of the directional antennas of the transmitting and receiving nodes relative to one another. Systems and methods, consistent with the invention, thus, permit spatial re-use gains that allow directional antennas to be used to their fullest advantage.
Modules 210 may include various modules, each of which may be implemented in software, hardware and/or firmware. If implemented in software, modules 210 may include instructions stored in a computer-readable medium, such as, for example, stored in or on random access memory (RAM), read only memory (ROM), a CD-ROM, or a diskette, for execution by a processing unit (not shown) such as, for example, a microprocessor. Modules 210 may include position/orientation driver module 225, position location module 230, neighbor discovery module 235, routing module 240, forwarding module 245, radio driver module 250, configuration module 255 and link characterization module 260.
Position/orientation driver module 225 may receive position and orientation data from position/orientation device 205 and may determine an altitude, latitude, and longitude and roll, pitch, yaw and a compass heading that corresponds to the position and orientation data. In addition to, or as an alternative to, conventional GPS mechanisms, module 225 may determine its location using any conventional technique for determining location. Such techniques may include, but are not limited to, determining location using conventional cellular network “E-911” location services or determining location by performing triangulation of signals transmitted by, for example, AM radio stations. Such techniques may further include a “dead reckoning” technique in which an initial location is known, and movement from that initial location may be tracked through knowledge of the distances and headings traversed from the initial location. Position location module 230 and neighbor discovery module 235 may keep track of node 105's position, and the position of other nodes 105 of network 100.
Routing module 240 may construct routing tables in accordance with network 100 routing protocols. To assist in constructing routing tables, routing module 240 may receive link quality and power control information from link characterization module 260. Forwarding module 245 may consult routing tables provided by routing module 240 to construct and forward packets to appropriate destinations via neighboring nodes of network 100.
Radio driver module 250 may (instead of transceiver/MAC 215) implement the Media Access Layer (MAC) protocol and determine the appropriate antenna of N directional antennas 270–290 for transmitting outgoing packets. Configuration module 255 may store data for configuring radio driver module 250. Such data may include, for example, one or more data tables that indicate the orientation of the N antennas 270–290 relative to node 105's platform. Link characterization module 260 may determine link quality and power control information related to transmitting and receiving packets to and from neighboring nodes of network 100.
Platform azimuth minimum 420 and platform azimuth maximum 425 may represent the range of the antenna gain pattern (i.e., as shown in
The exemplary process may begin with receipt of configuration data [act 805]. Position/orientation driver module 225 may receive the configuration data from position location module 230. The configuration data may include, for example, an indication of how often position/orientation driver module 225 should provide position and orientation data to position location module 230. Position/orientation driver module 225 may then periodically receive raw position and orientation data from position/orientation device 205 [act 810]. The raw position data may include latitude, longitude, and altitude data. Position/orientation driver module 225 may determine altitude (X), easting (Y), northing (Z), heading (psi), pitch (theta), and roll (phi) values from the raw position and orientation data [act 815]. Northing and easting values may be determined from the latitude and longitude data relative to a reference latitude and longitude as follows:
northing=(latitude−ref_latitude)*111319 Eqn. (1)
easting=(longitude−ref_longitude)*cos(latitude) Eqn. (2)
where there are 111,319 meters per degree of latitude and 111,319*cos(latitude) meters per degree of longitude and the reference latitude (ref_latitude) and longitude (ref_longitude) may be an arbitrarily selected global point. The northing and easting values, that are relative to the reference latitude and longitude, can be used instead of absolute global latitude and longitude values to reduce the size of the stored values, thus, reducing the demand on memory storage capacity. From the determined position and orientation data, position/orientation driver module 225 may determine whether there has been a significant heading change, or a significant change in position (i.e., significant change in altitude, easting or northing) for node 105 [act 820]. If not, the exemplary process may continue at act 830 below. If there has been a significant heading or position change, then position/orientation driver module 225 may store the position and orientation in memory [act 825]. Position/orientation driver module 225 may then send a message to position location module 230 that includes the new position and orientation data (e.g., altitude, easting, northing, heading, pitch, roll) [act 830]. Position location module 230 may receive the message and extract and store the position and orientation data [act 835].
Position location module 230 may determine whether the extracted position and orientation data is the first received position and orientation data after system start-up, or whether the extracted position and orientation data represents a significant change in the position or orientation of node 105 [act 905](
The exemplary process may begin with the receipt of a message from a neighboring node 105 of network 100 that contains the neighboring node 105's position and orientation [act 1005]. The message may include a dedicated position data message, a data message, a Request-to-send (RTS), a Clear-to-Send (CTS), or a network control message with node identifier and location data “piggybacked” on the message. Transceiver/MAC 215 may receive the message and extract a node identifier and position (altitude, easting, northing) and orientation (heading, pitch, roll) data from the message [act 1010]. Transceiver/MAC 215 may further insert the node identifier, northing, easting, altitude, heading, pitch and roll values into an entry 505 of neighbor position/orientation table 500 as neighbor ID 510, northing 515, easting 520, altitude 525, heading 530, pitch 535 and roll 540, respectively [act 1015]. Transceiver/MAC 215 may determine whether any entries of table 500 have changed significantly [act 1020]. If so, the exemplary process may continue at act 1025. If no entries of table 500 have changed significantly, then the exemplary process may return to act 1005 above. Transceiver/MAC 215 may change the neighbor identifier values 510 of table 500 into corresponding MAC addresses [act 1025]. Transceiver/MAC 215 may further determine whether to age any entries 505 of table 500 [act 1030]. Transceiver/MAC 215 may use a configurable timer associated with each entry 505 of table 500 for determining whether to age each entry 505. If any entries 505 of table 500 are to be aged, transceiver/MAC 215 may delete the aged table entries of table 505 [act 1035].
The exemplary three-dimensional antenna selection process may begin with the receipt of a message from a neighboring node 105 of network 100 [act 1105]. A node identifier and position (e.g., altitude, easting, northing) and orientation (e.g., heading, pitch, roll) data may, optionally, be extracted from the received message and stored in neighbor position/orientation table 500 [act 1110]. The message's destination node data, from the message header, may be passed from radio driver module 250 and on to forwarding module 245. Forwarding module 245 may, using routing tables received from routing module 240, determine a neighbor identifier of a nexthop node on a path to the message's destination node [act 1120]. Forwarding module 245 may pass the determined nexthop neighbor identifier to transceiver/MAC 215 via radio driver module 250 [act 1125]. Transceiver/MAC 215 may then retrieve the local node's current position (e.g., altitude, easting, northing) and orientation (heading, pitch, roll) data from position/orientation driver module 225 [act 1130].
Transceiver/MAC 215 may calculate a three-dimensional vector (X, Y, Z) that indicates a direction from the local node to the nexthop neighbor node [act 1135] using the local node's position data (Xlocal, Ylocal, Zlocal) and the nexthop neighbor node's position data (Xnexthop, Ynexthop, Znexthop). The three-dimensional vector may be calculated using the following:
X=Xnexthop−Xlocal Eqn. (3)
Y=Ynexthop−Ylocal Eqn. (4)
Z=Znexthop−Zlocal Eqn. (5)
where
The exemplary process may begin with the receipt of an incoming message from a neighboring node 105 of network 100 at transceiver/MAC 215 [act 1305]. A receive power level (RcvPower1) associated with the received message may be measured [act 1310]. Transceiver/MAC 215 may, for example, measure the receive power level and provide the receive power level to link characterization module 260. A neighbor identifier, transmit power (XmitPower1), antenna type, neighbor position (altitude, easting, northing) and orientation (heading, pitch, roll) may be extracted from the received packet [act 1315]. The neighbor identifier may identify the neighboring node 105 which sent the message, the transmit power may indicate the power level that that was put into the transmitting antenna (the effective power out of the antenna may be dependent on the antenna's gain) for transmitting the message, the antenna type may indicate a type of the antenna which transmitted the message, and the position and orientation may indicate the global position of the neighboring node 105 and the orientation of its platform. The local node's current position data (Xlocal, Ylocal, Zlocal) and orientation data (headinglocal, pitchlocal, rolllocal) may be received from position/orientation driver module 225 [act 1320]. A three-dimensional vector (X, Y, Z) may be calculated that indicates a direction from the remote neighboring node to the local node receiving the message [act 1325] using the local node's position data (Xlocal, Ylocal, Zlocal) and the neighbor node's position data (Xneighbor, Yneighbor, Zneighbor). The three-dimensional vector may be calculated using the following:
X=Xlocal−Xneighbor Eqn. (11)
Y=Ylocal−Yneighbor Eqn. (12)
Z=Zlocal−Zneighbor Eqn. (13)
where
A three-dimensional vector (X, Y, Z) may be calculated that indicates the direction from the locate node to the remote neighboring node [act 1410] using the local node's position data (Xlocal, Ylocal, Zlocal) and the neighbor node's position data (Xneighbor, Yneighbor, Zneighbor). The three-dimensional vector may be calculated using the following:
X=Xneighbor−Xlocal Eqn. (19)
Y=Yneighbor−Ylocal Eqn. (20)
Z=Zneighbor−Zlocal Eqn. (21)
where
The rotated vector (X′, Y′, Z′) may then be translated into azimuth (Alocal) and elevation (Elocal) angles relative to the local node's platform [act 1420] according to the following:
A=a tan 2(Y′/Z′) Eqn. (25)
E=a tan 2(X′/(sqrt(Z′*Z′*+Y′*Y′))) Eqn. (26)
The local node's antenna mounting angles may then be subtracted from the azimuth (Alocal) and elevation (Elocal) angles [act 1425]. An antenna gain table 600 corresponding to the receive antenna type of the local node may be indexed with the azimuth (Alocal) and elevation (Elocal) to retrieve a receive antenna gain (RcvAntGain1). The antenna gain may be retrieved from the antenna gain field 629 of the table entry 605 in which the angle relative to center 615 equals the azimuth (Alocal) and the elevation 625 equals the elevation (Elocal). A pathloss between the neighbor node and the current node may then be determined [act 1435] according to the following relation:
Pathloss=XmitPower1+XmitAntGain1+RcvAntGain1−RcvPower1 Eqn. (21)
The Pathloss value may represent a symmetric path loss between the local node and the neighboring node. A normalized transmit power (XmitPowerNORM) may then be determined according to the following relation:
XmitPowerNORM=RcvPower2+PathLoss Eqn. (22)
where RcvPower2 is set to a value above an assumed signal detection threshold of the neighboring node. The normalized transmit power XmitPowerNORM assumes 0 dB antenna gains at transmission and reception. Normalizing the transmit power permits the combination of data on estimated pathloss from many different antenna types.
A minimum receive antenna gain (RcvAntGain2), associated with the neighbor antenna may be assumed [act 1505]. This minimum receive antenna gain may represent some assumed minimum receive gain that the receiving antenna will have regardless of the orientation of the neighboring node. A transmit antenna gain (XmitAntGain2) may be set equal to the previously determined receive antenna gain (RcvAntGain1) [act 1510]. An actual transmit power (XmitPowerAcTUAL) for transmitting data to the neighbor node may be determined [act 1515] according to the following relation:
XmitPowerACTUAL=XmitPowerNORM−(XmitAntGain2+RcvAntGain2) Eqn. (23)
The determined actual transmit power XmitPowerACTUAL along with the neighbor identifier may be stored in an entry of neighbor transmit power table 700 as XmitPower 715 and neighbor ID 710, respectively [act 1520]. For any subsequent transmission of packets to a neighboring node, table 700 may be consulted for an appropriate transmit power to be used for transmitting to the neighboring node. Transmission of packets to a neighboring node may use the exemplary antenna selection process of
Systems and methods consistent with the present invention, therefore, provide mechanisms for employing one or more directional antennas at nodes in an ad-hoc, multi-hop wireless network. Consistent with the present invention, directional antennas, such as, for example, switched beam or steered beam types of directional antennas, may be used for transmitting and/or receiving packets. In conjunction with the one or more directional antennas, three-dimensional position determining techniques may, consistent with the present invention, be employed to determine locations of neighboring nodes in the network. The determined locations may be used as a basis for determining headings between a transmitting and receiving node that can, in conjunction with known antenna gain patterns associated with one or more directional antennas of the transmitting and receiving nodes, be used for selecting an appropriate transmit power that accounts for the orientation of the directional antennas of the transmitting and receiving nodes relative to one another.
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, instead of the antenna to platform azimuth/elevation table 400 of
Furthermore, the present invention could be used for receiving data as well as transmitting data. Any time data is expected to be transmitted from a remote node, the most recent three-dimensional position of that node could be used to point the receive antenna accurately. For example, if a RTS was received at the omni-directional antenna, but indicated that a data packet would soon be coming, the receiving node could then use the three-dimensional position from the RTS to accurately point the antenna for receiving the packet. Similarly, in a TDMA system, the transmission from any remote node in its designated slot may serve as a method for updating the location of that node to all of its neighbors such that receptions of data from that node in future time slots could be optimized.
While series of acts have been described in
The scope of the invention is defined by the following claims and their equivalents.
The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Contract No. DAAD19-01-C-0027, awarded by the Department of the Army.
Number | Name | Date | Kind |
---|---|---|---|
5418539 | Sezai | May 1995 | A |
6058106 | Cudak et al. | May 2000 | A |
6097957 | Bonta et al. | Aug 2000 | A |
6130881 | Stiller et al. | Oct 2000 | A |
6188911 | Wallentin et al. | Feb 2001 | B1 |
6262684 | Stewart et al. | Jul 2001 | B1 |
6304215 | Proctor et al. | Oct 2001 | B1 |
6400317 | Rouphael et al. | Jun 2002 | B2 |
6404386 | Proctor et al. | Jun 2002 | B1 |
6476773 | Palmer et al. | Nov 2002 | B2 |
6490461 | Muller | Dec 2002 | B1 |
6498939 | Thomas | Dec 2002 | B1 |
6611231 | Crilly et al. | Aug 2003 | B2 |
6735178 | Srivastava et al. | May 2004 | B1 |
6804208 | Cain et al. | Oct 2004 | B2 |
6816115 | Redi et al. | Nov 2004 | B1 |
6894975 | Partyka | May 2005 | B1 |
6981052 | Cheriton | Dec 2005 | B1 |
7103344 | Menard | Sep 2006 | B2 |
7110783 | Bahl et al. | Sep 2006 | B2 |
20020067736 | Garcia-Luna-Aceves et al. | Jun 2002 | A1 |
20020147816 | Hlasny | Oct 2002 | A1 |
20020186167 | Anderson | Dec 2002 | A1 |
20030114204 | Allen et al. | Jun 2003 | A1 |
20030185170 | Allen et al. | Oct 2003 | A1 |
20030222819 | Karr et al. | Dec 2003 | A1 |
20040077353 | Mahany | Apr 2004 | A1 |
20040125773 | Wilson et al. | Jul 2004 | A1 |
20040152420 | Redi et al. | Aug 2004 | A1 |
20040218580 | Bahl et al. | Nov 2004 | A1 |
20040230638 | Balachandran et al. | Nov 2004 | A1 |
20050059347 | Haartsen | Mar 2005 | A1 |
20050068228 | Burchfiel | Mar 2005 | A1 |
20050134403 | Kajiya | Jun 2005 | A1 |
20050215280 | Twitchell, Jr. | Sep 2005 | A1 |
20060107081 | Krantz et al. | May 2006 | A1 |
20060229083 | Redi | Oct 2006 | A1 |