U.S. patent application number 17/152337 was filed with the patent office on 2022-02-03 for geo-locating of wireless devices using a binning function.
The applicant listed for this patent is SR Technologies, Inc.. Invention is credited to Mark PASSLER, Steven ROMANOW, Graham SMITH.
Application Number | 20220035020 17/152337 |
Document ID | / |
Family ID | 80002856 |
Filed Date | 2022-02-03 |
United States Patent
Application |
20220035020 |
Kind Code |
A1 |
PASSLER; Mark ; et
al. |
February 3, 2022 |
GEO-LOCATING OF WIRELESS DEVICES USING A BINNING FUNCTION
Abstract
A method for determining a geo-location of a target station is
provided. The method includes receiving a plurality of RTTs over a
plurality of successive time intervals. Each successive time
interval is equal to a predetermined amount of time. The plurality
of RTTs is placed into a plurality of bins. Each bin has a
predetermined time width and a count of RTTs placed in the bin. A
bin with a highest count of RTTs (maxCb) and another bin with a
next highest count of RTTs are selected and a maximum count ratio
determined. The bin with maxCb to a maximum bin value is set based
at least on a predetermined threshold of the maximum count ratio.
During a next successive time interval, the RTTs that are placed in
the bin that is set to the maximum bin value are selected to
determine the geo-location of the target station.
Inventors: |
PASSLER; Mark; (Boca Raton,
FL) ; ROMANOW; Steven; (North Lauderdale, FL)
; SMITH; Graham; (Boca Raton, FL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SR Technologies, Inc. |
Sunrise |
FL |
US |
|
|
Family ID: |
80002856 |
Appl. No.: |
17/152337 |
Filed: |
January 19, 2021 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
63057544 |
Jul 28, 2020 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G01S 13/767 20130101;
G01S 13/765 20130101 |
International
Class: |
G01S 13/76 20060101
G01S013/76 |
Claims
1. A method for determining a geo-location of a target station
using round-trip times (RTTs) of signals transmitted by a measuring
station to the target station, and response signals received from
the target station corresponding to the transmitted signals, the
method comprising: receiving a plurality of RTTs over a plurality
of successive time intervals, each successive time interval being
equal to a predetermined amount of time (T.sub.1); placing the
plurality of RTTs into a plurality of bins, each bin having a
predetermined time width (T.sub.W), and a count of RTTs placed in
the bin; selecting a bin with a highest count of RTTs (maxCb) and
another bin with a next highest count of RTTs (nextCb); determining
a maximum count ratio as maxCb/nextCb; setting the bin with maxCb
to a maximum bin value based at least on a predetermined threshold
of the maximum count ratio; and selecting, during a next successive
time interval, the RTTs that are placed in the bin that is set to
the maximum bin value to determine the geo-location of the target
station.
2. The method of claim 1, wherein placing the plurality of RTTs
into the plurality of bins includes: determining an average value
of the RTTs in each bin of the plurality of bins, the average value
corresponding to the bin; and for each RTT (RTT.sub.n) of the
received plurality of RTTs: placing the RTT.sub.n into the bin that
corresponds to the average value if a difference between the
RTT.sub.n and the average value is one of less than and equal to
half of the T.sub.W of the bin.
3. The method of claim 2, wherein each RTT.sub.n has a receipt
time, the receipt time being a time at which the corresponding RTT
is received at the measuring station, the method further including:
for each RTT in each bin: determining a time difference between a
present time and the receipt time of the RTT; and removing, from
each bin, each RTT for which the time difference is greater than a
preset time interval; and updating the average value of the RTTs in
each bin.
4. The method of claim 1, wherein placing the plurality of RTTs
into the plurality of bins further includes: creating a first bin
for a first RTT and including the first bin in the plurality of
bins, the first RTT being an RTT that is first received by the
measuring station; and placing the first RTT in the first bin.
5. The method of claim 2, the method further including: if the
difference between the RTT.sub.n and the average value is greater
than half of T.sub.W of each bin of the plurality of bins: creating
a new bin and including the new bin in the plurality of bins; and
adding the RTT.sub.n to the new bin.
6. The method of claim 3, wherein determining the time difference
and removing each RTT is performed after T.sub.1 has elapsed.
7. The method of claim 1, wherein selecting the bin with maxCb and
another bin with nextCb is performed after T.sub.1 has elapsed.
8. The method of claim 1, the method further including: determining
the geo-location of the target station based at least on the
selected RTTs that are placed in the bin that is set to the maximum
bin value.
9. The method of claim 1, wherein the measuring station is an
airborne measuring station.
10. A wireless device, WD, configured to determine a geo-location
of a target station using round-trip times (RTTs) of signals
transmitted by a measuring station to the target station and
response signals received from the target station corresponding to
the transmitted signals, the WD comprising: processing circuitry
configured to: receive a plurality of RTTs over a plurality of
successive time intervals, each successive time interval being
equal to a predetermined amount of time (T.sub.1), place the
plurality of RTTs into a plurality of bins, each bin having a
predetermined time width, T.sub.W, and a count of RTTs placed in
the bin; select a bin with a highest count of RTTs (maxCb) and
another bin with a next highest count of RTTs (nextCb); determine a
maximum count ratio as maxCb/nextCb; set the bin with maxCb to a
maximum bin value based at least on a predetermined threshold of
the maximum count ratio; and select, during a next successive time
interval, the RTTs that are placed in the bin that is set to the
maximum bin value to determine the geo-location of the target
station.
11. The WD of claim 10, wherein placing the plurality of RTTs into
the plurality of bins includes: determining an average value of the
RTTs in each bin of the plurality of bins, the average value
corresponding to the bin; for each RTT (RTT.sub.n) of the received
plurality of RTTs: placing the RTT.sub.n into the bin, B, that
corresponds to the average value, if a difference between the
RTT.sub.n and the average value is one of less than and equal to
half of the T.sub.W of the bin.
12. The WD of claim 11, wherein each RTT.sub.n has a receipt time,
the receipt time being a time at which the corresponding RTT is
received at the measuring station, the processing circuitry being
further configured to: for each RTT in each bin: determine a time
difference between a present time and the receipt time of the RTT;
and remove, from each bin, each RTT for which the time difference
is greater than a preset time interval; and update the average
value of the RTTs in each bin.
13. The WD of claim 10, wherein placing the plurality of RTTs into
the plurality of bins further includes: creating a first bin for a
first RTT and including the first bin in the plurality of bins, the
first RTT being an RTT that is first received by the measuring
station; and placing the first RTT in the first bin.
14. The WD of claim 11, the processing circuitry being further
configured to: if the difference between the RTT.sub.n and the
average value is greater than half of T.sub.W of each bin of the
plurality of bins: create a new bin and including the new bin in
the plurality of bins; and add the RTT.sub.n to the new bin.
15. The WD of claim 12, wherein determining the time difference and
removing each RTT is performed after T.sub.1 has elapsed.
16. The WD of claim 10, wherein selecting the bin with maxCb and
another bin with nextCb is performed after T.sub.1 has elapsed.
17. The WD of claim 10, the processing circuitry being further
configured to: determine the geo-location of the target station
based at least on the selected RTTs that are placed in the bin that
is set to the maximum bin value.
18. The WD of claim 10, wherein the measuring station is an
airborne measuring station.
19. An airborne measuring station configured to determine a
geo-location of a target station using round trip times (RTTs)
associated with a target station, the airborne measuring station
comprising: a transmitter receiver configured to: transmit a
signal, the transmitted signal including at least a plurality of
transmitted packets; and receive a response signal corresponding to
the transmitted signal, the response signal including at least a
plurality of response packets; and measure a plurality of RTTs
based on the plurality of transmitted packets of the transmitted
signal and the plurality of response packets of the received
response signal; and processing circuitry, the processing circuitry
being in communication with the transmitter receiver, the
processing circuitry being configured to: receive a plurality of
RTTs over a plurality of successive time intervals, each successive
time interval being equal to a predetermined amount of time
(T.sub.1); place the plurality of RTTs into a plurality of bins,
each bin, B, having a predetermined time width (T.sub.W) and a
count of RTTs placed in the bin, placing the plurality of RTTs into
a plurality of bins comprising: determining an average value of the
RTTs in each bin of the plurality of bins, the average value
corresponding to the bin; and for each RTT (RTT.sub.n) of the
received plurality of RTTs: placing the RTT.sub.n into the bin that
corresponds to the average value if a difference between the
RTT.sub.n and the average value is one of less than and equal to
half of the T.sub.W of the bin; select a bin with a highest count
of RTTs (maxCb) and another bin with a next highest count of RTTs
(nextCb); determine a maximum count ratio as maxCb/nextCb; set the
bin with maxCb to a maximum bin value based at least on a
predetermined threshold of the maximum count ratio; and select,
during a next successive time interval, the RTTs that are placed in
the bin that is set to the maximum bin value to determine the
geo-location of the target station.
20. The airborne measuring station of claim 19, wherein each
RTT.sub.n has a receipt time, the receipt time being a time at
which the corresponding RTT is received at the airborne measuring
station, the processing circuitry being further configured to: for
each RTT in each bin: determine a time difference between a present
time and the receipt time of the RTT; and remove, from each bin,
each RTT for which the time difference is greater than a preset
time interval; and update the average value of the RTTs in each
bin.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to and claims priority to U.S.
Provisional Patent Application Ser. No. 63/057,544, filed Jul. 28,
2020, entitled "GEO-LOCATING OF WIRELESS DEVICES USING A BINNING
FUNCTION," the entirety of which is incorporated herein by
reference.
TECHNICAL FIELD
[0002] The present disclosure relates to geo-location of wireless
devices, and in particular to methods, devices, and systems for the
geo-location of wireless local area network (WLAN) devices.
BACKGROUND
[0003] Initially, it is noted that IEEE Standard 802.11-2016 is
used as the base reference for disclosures used herein, the entire
contents of which are incorporated herein by reference. The IEEE
802.11-2016 Standard is commonly referred to as "Wi-Fi" and may be
referred to as the "Standard" herein.
[0004] Location of wireless devices can be determined by various
methods. These methods may be classified as active, passive and
combined active and passive. In an active location scheme, a device
that is determining the location or range, the measuring device,
transmits certain packets, referred to as "ranging packets", to a
device being located, i.e., the target device. A common method is
to measure the time of arrival (TOA) of a response packet from the
target device, and compare that to the time of departure (TOD) of
the ranging packet that was transmitted by the measuring device so
as to determine the round trip time, RTT.
[0005] In such location systems it is common to use multiple
measuring devices to determine the location. In such systems,
simultaneous TOA and/or TOD measurements are taken by different
measuring devices situated at different points, and the location of
the target device is calculated from these simultaneous
measurements.
[0006] In an active location system, the TOD may be measured for a
ranging packet that is transmitted from the measuring station
addressed to the target station. The TOA of the response from the
target station at the measuring station is then also measured. If
the turnaround time for the target station to receive the packet
from the measuring station and to start to transmit the response is
known, or is known to be a constant, then the time difference at
the measuring station between the TOA and the TOD, minus the
turnaround time at the target station will be directly proportional
to twice the distance of the target station from the measuring
station. For example, if the target station is a wireless device
based upon IEEE 802.11 technology, and if the ranging packet
transmitted from the measuring station to the target station is a
data packet, the response from the target station will typically be
an acknowledgement (ACK) packet. If the ranging packet transmitted
from the measuring station to the target station is a control
packet, for example a request-to-send (RTS) packet, then the
response from the target station will typically be a clear-to-send
(CTS) packet. In these two examples, the turnaround time at the
target station is defined in the IEEE 802.11 standard as the short
interframe spacing (SIFS), which is a preset value. Hence, the time
delay, td, or time of flight (TOF) between the measuring station
and the target station, may be determined from the calculation
td=(TOA-TOD-SIFS)/2 and the distance between the measuring station
and the target station is then td*c, where c is the speed of light.
This method of estimating the distance to a target station by
measuring the TOD and TOA and accounting for the turnaround time is
known.
[0007] FIG. 1 is a diagram of a typical location system 100 which
includes three measuring stations 110a, 110b and 110c (referred to
collectively herein as "measuring stations" or "measuring
receivers" 110). The target station 120 may be a wireless device,
such as, for example, an Access Point (AP) that is to be located by
the three measuring stations 110. The distance of the target
station 120 from measuring station 110a is D1, 130. The distance of
the target station 120 from measuring station 110b is D2, 140. The
distance of the target station 120 from measuring station 110c is
D3, 150. The time of flight, TOF1, determined from the calculation
TOF=(TOA-TOD-SIFS)/2, is measured for transmissions from measuring
station 110a and this can be used to calculate the distance D1 130
using the formula D1=TOF1*c where c is the speed of light.
Similarly, TOF2 and TOF3 measurements result in the determination
of distances D2 140 and D3 150. The methods for calculating the
location of target station 120 using the distances D1 130, D2 140
and D3 150 are well known.
[0008] FIG. 2 is a diagram of a location system where a single
airborne measuring station 110 is used. The airborne measuring
station 110 is depicted being flown in a circular orbit 200, center
E 220, around a target station 120 at location F 230. The distance
of the target station 120 from the measuring station 110, when the
measuring station 110 is at position A 201, is D4 210. The distance
of the target station 120 from the measuring station 110, when the
measuring station 110 is at position B 202, is D5 211. The distance
of the target station 120 from the measuring station 110, when the
measuring station 110 is at position C 203, is D6 212. Unless the
target station 120 is positioned at the center E 220 of the orbit
200, the distances D4 210, D5 211, and D6 212 will not be equal and
thus, in the general sense, as the airborne measuring station 110
moves around the orbit 200 the RTT measurements will vary in
relation to the relative positions of the airborne measuring
station 110 and the target station 120.
[0009] RTT measurements, in the general sense, will exhibit
variations due to noise, in the case of weak signal strengths, and,
in part, the timing accuracy of the clock at the target station 120
and the timing accuracy of the clock at the airborne measuring
station 110.
[0010] The signal level, Pr, received at the airborne measuring
station 110 is:
Pr=Pt+G.sub.1+G.sub.2-L.sub.fs-Lo (1)
[0011] Where Pt=Transmit power from the target station 120 [0012]
G.sub.1=Antenna gain at the airborne measuring station [0013]
G.sub.2=Antenna gain at the target station [0014]
L.sub.fs=Propagation loss, free space [0015] Lo=Obstruction
loss
[0016] With respect of an airborne measuring station 110, the
obstruction losses, Lo, for target stations may vary from 0 dB, for
line of sight or outdoor target stations, up to 15-20 dB for target
stations that are indoors. The range of the airborne measuring
station 110 to successfully detect the response packets from each
of these target stations is dependent upon the receive sensitivity
of the airborne measuring station 110. A standard airborne
measuring station, compliant with the Standard, would need to
receive a packet without errors and the receive sensitivity is
restricted by the noise figure.
[0017] Methods to improve the sensitivity of the airborne measuring
station 110 include that of a technique known as correlation where
the individual bits of the received response packet are compared to
the individual bits of the expected response packet and, based upon
a correlation threshold, a decision may be taken as to whether the
true response packet, CTS or ACK, has been received. As the
correlation threshold is lowered, in order to make the sensitivity
higher, there is an increased likelihood that pure noise can exceed
the threshold and produce a false RTT result.
[0018] With reference again to FIG. 2, as the airborne measuring
station 110 is moving around the orbit 200, it may be transmitting
request packets. Response packets, from the intended target station
120, may be received, and in order to obtain the highest
sensitivity, the correlation threshold may be set low, increasing
the chance and number of such false RTTs. Furthermore, as the
airborne measuring station 110 flies over differing environments,
e.g., open, rural, suburban, urban, the background noise levels
vary and different correlation thresholds may be required in order
to obtain an effective sensitivity that can distinguish the wanted
RTT measurements from the false RTTs due to noise. The need to set
the correlation threshold to correspond to the environmental
background noise may require constant calibration and may result in
poorer sensitivity than may have been possible.
SUMMARY
[0019] According to one aspect of the invention, a method for
determining a geo-location of a target station is provided. The
method uses round-trip times (RTTs) of signals transmitted by a
measuring station to the target station and response signals
received from the target station corresponding to the transmitted
signals. The method includes receiving a plurality of RTTs over a
plurality of successive time intervals. Each successive time
interval is equal to a predetermined amount of time (T.sub.1). The
plurality of RTTs is placed into a plurality of bins. Each bin has
a predetermined time width (T.sub.W) and a count of RTTs placed in
the bin. A bin with a highest count of RTTs (maxCb) and another bin
with a next highest count of RTTs (nextCb) are selected and a
maximum count ratio as maxCb/nextCb determined. The method further
includes setting the bin with maxCb to a maximum bin value based at
least on a predetermined threshold of the maximum count ratio and
selecting, during a next successive time interval, the RTTs that
are placed in the bin that is set to the maximum bin value to
determine the geo-location of the target station.
[0020] In some embodiments, placing the plurality of RTTs into the
plurality of bins includes determining an average value of the RTTs
in each bin of the plurality of bins. The average value corresponds
to the bin. For each RTT (RTT.sub.n) of the received plurality of
RTTs, the RTT.sub.n is placed into the bin that corresponds to the
average value if a difference between the RTT.sub.n and the average
value is one of less than and equal to half of the T.sub.W of the
bin. In some other embodiments, each RTT.sub.n has a receipt time.
The receipt time is a time at which the corresponding RTT is
received at the measuring station. The method further includes, for
each RTT in each bin, determining a time difference between a
present time and the receipt time of the RTT, removing, from each
bin, each RTT for which the time difference is greater than a
preset time interval, and updating the average value of the RTTs in
each bin.
[0021] In other embodiments, placing the plurality of RTTs into the
plurality of bins further includes creating a first bin for a first
RTT and including the first bin in the plurality of bins. The first
RTT is an RTT that is first received by the measuring station. In
addition, the first RTT is placed in the first bin. In some
embodiments, if the difference between the RTT.sub.n and the
average value is greater than half of T.sub.W of each bin of the
plurality of bins, a new bin is created, the new bin is included in
the plurality of bins, and the RTT.sub.n added to the new bin. In
another embodiment, determining the time difference and removing
each RTT is performed after T.sub.1 has elapsed.
[0022] In some embodiments, selecting the bin with maxCb and
another bin with nextCb is performed after T.sub.1 has elapsed. In
other embodiments, the method further includes determining the
geo-location of the target station based at least on the selected
RTTs that are placed in the bin that is set to the maximum bin
value. In another embodiment, the measuring station is an airborne
measuring station.
[0023] According to another aspect, a wireless device, WD, is
provided. The WD is configured to determine a geo-location of a
target station using round-trip times (RTTs) of signals transmitted
by a measuring station to the target station and response signals
received from the target station corresponding to the transmitted
signals. The WD includes processing circuitry that is configured to
receive a plurality of RTTs over a plurality of successive time
intervals. Each successive time interval is equal to a
predetermined amount of time (T.sub.1). The processing circuitry is
also configured to place the plurality of RTTs into a plurality of
bins. Each bin has a predetermined time width, T.sub.W, and a count
of RTTs placed in the bin. In addition, the processing circuitry is
configured select a bin with a highest count of RTTs (maxCb) and
another bin with a next highest count of RTTs (nextCb) and
determine a maximum count ratio as maxCb/nextCb. Further, the
processing circuitry is configured to set the bin with maxCb to a
maximum bin value based at least on a predetermined threshold of
the maximum count ratio and select, during a next successive time
interval, the RTTs that are placed in the bin that is set to the
maximum bin value to determine the geo-location of the target
station.
[0024] In some embodiments, placing the plurality of RTTs into the
plurality of bins includes determining an average value of the RTTs
in each bin of the plurality of bins, where the average value
corresponds to the bin. For each RTT (RTT.sub.n) of the received
plurality of RTTs, the RTT.sub.n are placed into the bin, B, that
corresponds to the average value, if a difference between the
RTT.sub.n and the average value is one of less than and equal to
half of the T.sub.W of the bin. In some other embodiments, each
RTT.sub.n has a receipt time, where the receipt time is a time at
which the corresponding RTT is received at the measuring station.
The processing circuitry being further configured to, for each RTT
in each bin, determine a time difference between a present time and
the receipt time of the RTT. In addition, the processing circuitry
is configured to, for each RTT in each bin, remove, from each bin,
each RTT for which the time difference is greater than a preset
time interval and update the average value of the RTTs in each
bin.
[0025] In another embodiment, placing the plurality of RTTs into
the plurality of bins further includes creating a first bin for a
first RTT and including the first bin in the plurality of bins,
where the first RTT is an RTT that is first received by the
measuring station, and placing the first RTT in the first bin. In
some other embodiments, the processing circuitry is further
configured to, if the difference between the RTT.sub.n and the
average value is greater than half of T.sub.W of each bin of the
plurality of bins, create a new bin and including the new bin in
the plurality of bins and add the RTT.sub.n to the new bin.
[0026] In some embodiments, determining the time difference and
removing each RTT is performed after T.sub.1 has elapsed. In some
other embodiments, selecting the bin with maxCb and another bin
with nextCb is performed after T.sub.1 has elapsed. In another
embodiment, the processing circuitry is further configured to
determine the geo-location of the target station based at least on
the selected RTTs that are placed in the bin that is set to the
maximum bin value. In another embodiments, the measuring station is
an airborne measuring station.
[0027] According to another aspect, an airborne measuring station
is provided. The airborne measuring station is configured to
determine a geo-location of a target station using round trip times
(RTTs) associated with a target station. The airborne measuring
station includes a transmitter receiver configured to transmit a
signal, where the transmitted signal includes at least a plurality
of transmitted packets. The transmitter receiver is further
configured to receive a response signal corresponding to the
transmitted signal, where the response signal includes at least a
plurality of response packets, and measure a plurality of RTTs
based on the plurality of transmitted packets of the transmitted
signal and the plurality of response packets of the received
response signal. The airborne measuring station further includes
processing circuitry, where the processing circuitry is in
communication with the transmitter receiver. The processing
circuitry is configured to receive a plurality of RTTs over a
plurality of successive time intervals, where each successive time
interval is equal to a predetermined amount of time (T.sub.1). The
processing circuitry is further configured to place the plurality
of RTTs into a plurality of bins. Each bin, B, has a predetermined
time width (T.sub.W) and a count of RTTs placed in the bin. Placing
the plurality of RTTs into a plurality of bins includes determining
an average value of the RTTs in each bin of the plurality of bins,
the average value corresponding to the bin. For each RTT
(RTT.sub.n) of the received plurality of RTTs, the RTT.sub.n are
placed into the bin that corresponds to the average value if a
difference between the RTT.sub.n and the average value is one of
less than and equal to half of the T.sub.W of the bin. The
processing circuitry is further configured to select a bin with a
highest count of RTTs (maxCb) and another bin with a next highest
count of RTTs (nextCb) and determine a maximum count ratio as
maxCb/nextCb. In addition, the processing circuitry is configured
to set the bin with maxCb to a maximum bin value based at least on
a predetermined threshold of the maximum count ratio and select,
during a next successive time interval, the RTTs that are placed in
the bin that is set to the maximum bin value to determine the
geo-location of the target station.
[0028] In some embodiments, each RTT.sub.n has a receipt time,
where the receipt time is a time at which the corresponding RTT is
received at the airborne measuring station. The processing
circuitry is further configured to, for each RTT in each bin,
determine a time difference between a present time and the receipt
time of the RTT, remove, from each bin, each RTT for which the time
difference is greater than a preset time interval, and update the
average value of the RTTs in each bin.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] A more complete understanding of the present disclosure, and
the attendant advantages and features thereof, will be more readily
understood by reference to the following detailed description when
considered in conjunction with the accompanying drawings
wherein:
[0030] FIG. 1 is a diagram of a typical location system which
includes three measuring stations;
[0031] FIG. 2 is a diagram of a location system where a single
airborne measuring station is used;
[0032] FIG. 3 is a timing diagram that describes an example ranging
method that may be used to determine the distance between two
wireless devices according to some embodiments of the present
disclosure;
[0033] FIG. 4 is a timing diagram that describes in further detail
an example ranging transmission method according to some
embodiments of the present disclosure;
[0034] FIG. 5 is a timing diagram of an example series of bursts of
transmissions of the ranging packets according to some embodiments
of the present disclosure;
[0035] FIG. 6 is a graph of an example of Correlation % versus
received signal power, Pr, for 304 bits according to some
embodiments of the present disclosure;
[0036] FIG. 7 is a graph of an example of Correlation % versus
received signal power, Pr, for 304 bits with a noise 3.sigma. level
displayed that represents a suburban environment where a background
noise is higher than thermal noise according to some embodiments of
the present disclosure;
[0037] FIG. 8 is a graphical representation of an example of wanted
and noise bin counts, for varying percentage of RTTs from a target
station, with conditions B=10 and N=500, according to some
embodiments of the present disclosure;
[0038] FIG. 9 is a graphical representation of an example wanted to
top noise bin count ratios for varying percentage of RTTs from a
target station, with the conditions B=10 and N=500, according to
some embodiments of the present disclosure;
[0039] FIG. 10 is a graphical representation of an example wanted
to top noise bin count ratios for varying percentage of RTTs from a
target station, with the conditions B=20 and N=500, according to
some embodiments of the present disclosure;
[0040] FIG. 11 is a diagram of an example airborne measuring
station flying between two positions P and Q, at a distance d
according to some embodiments of the present disclosure;
[0041] FIG. 12 is a plot of an example RTT difference, with time,
for the conditions v=150 mph, .theta.1=60.degree., and
.theta.1=180.degree. for altitude A values of 1500, 5000, 10000 and
200000 ft according to some embodiments of the present
disclosure;
[0042] FIG. 13 is a plot of an example RTT difference against the
airborne measuring station antenna yaw angle .phi.1, for varying
antenna tilt angles, .theta.1, according to some embodiments of the
present disclosure;
[0043] FIG. 14 illustrates a block diagram of an example wireless
communication device which, according to an embodiment of the
disclosure, may be used as or as part of the airborne measuring
station;
[0044] The combination of FIG. 15, FIG. 16, and FIG. 17 illustrate
a flowchart of a non-limiting example of a process to reject RTTs
due to noise and only pass on to a next stage of a geo-location
calculation those RTTs that occur in a bin that corresponds to the
RTTs from the wanted target station according to some embodiments
of the present disclosure;
[0045] FIG. 18 is a flow diagram of an example process that outputs
RTTs that have a high probability of representing wanted RTTs from
a target station according to some embodiments of the present
disclosure; and
[0046] FIG. 19 is a flow diagram of another example process that
determines a geo-location of a target station using RTTs of signals
transmitted by a measuring station to the target station and
response signals received from the target station corresponding to
the transmitted signals according to some embodiments of the
present disclosure.
DETAILED DESCRIPTION
[0047] Methods, devices, and systems are disclosed that mitigate
the need for a correlation threshold setting and determine the
presence of wanted RTT measurements in the presence of many false
RTTs. This Application incorporates U.S. patent application Ser.
Nos. 16/589,627 and 16/708,923 by reference in their entireties. A
presence of false RTT measurements may arise when the technique of
correlation is used to determine if a received response packet is
an expected response packet. A dynamic binning method is disclosed
that, in the general sense, places received RTT measurements into
bins which are examined in order to select the bin with the most
entries and then determine if this bin contains the wanted RTTs.
Based on the principle that the true RTT will be a consistent
value, whereas the values of false RTTs, due to noise, will vary
randomly, the bin of the true RTT may be identified. The disclosed
binning method is independent of background noise level and enables
sensitivities better than can be achieved by those restricted by a
need to set a correlation threshold.
[0048] As described above with reference to FIG. 2, based upon a
set of measured RTTs and corresponding airborne measuring station
110 locations, and with knowledge of the ground elevation of the
target station 120, the airborne measuring station 110 may estimate
the position of the target station 120. The disclosed dynamic
binning method may be used to filter the RTT measurements such that
only those RTTs that are determined to be true RTTs from the target
station 120 are used in the calculations to estimate the position
of the target station 120.
[0049] FIG. 3 is a timing diagram that describes a ranging method
of the present disclosure that may be used to determine the RTT
between two wireless devices, wireless device STA A 300 and
wireless device STA B 305. In one embodiment, one of the wireless
devices (i.e., one of STA A 300 and STA B 305) may be target
station 120. In another embodiment, at least one of wireless
devices (i.e., at least one of STA A 300 and STA B 305) is
measuring station 110. Time axis 310 refers to the time axis for
STA A 300 and time axis 320 refers to the time axis for STA B 305.
At time T1 311, STA A 300 transmits a packet to STA B 305. This
ranging packet 312 transmission is received at STA B 305 at time T2
313. The propagation time of the ranging packet 312 transmission is
(T2-T1) 330. STA B 305 transmits a response packet 324 at time T3
323. The time 322 that has elapsed between the reception of the
ranging packet 312, at time T2 313, and the transmission of the
response packet 324, at time T3 323, is the turnaround time at STA
B 305. Ideally the turnaround time 322 at STA B 305 will be equal
in duration to SIFS. At time T4 314, STA A 300 receives the
response packet 324 from STA B 305. The propagation time of the
transmission of the response packet 324 is (T4-T3) 334. It should
be noted that the time differences 330 (T2-T1) and 334 (T4-T3)
represent the propagation time, td, of the transmissions and should
be equal assuming the distance between the two stations has not
changed. The total time that elapses between the transmission of
ranging packet 312 and the response packet 324 at STA A 300 is
(T2-T1)+(T3-T2)+(T4-T3)=(T4-T1)=td+SIFS+td=2*td+SIFS
Hence, RTT=(T4-T1) and TOF=td=(T4-T1-SIFS)/2 (2)
[0050] Expression (2) is a simplified equation that is included to
provide a basic idea of an example ranging transmission method.
Note that the duration of the transmitted ranging packet and the
response packet is not accounted for in equation (2). Note that in
practice it is common that the timestamp of a packet is set to
coincide with the end of the packet at the point where the frame
check is completed.
[0051] FIG. 4 is a timing diagram that describes in further detail
the example ranging transmission method. Time axis 310 is the time
axis for STA A 300 and time axis 320 is the time axis for STA B
305. At time Ta 411, STA A 300 starts the transmission of ranging
packet 312 which is addressed to STA B 305. After a time-delay of
td, at time Tb 421, STA B 305 starts to receive ranging packet 312.
At time Tc 412, STA A 300 completes the transmission of ranging
packet 312 and at time Td 422, STA B 305 completes the reception of
ranging packet 312. The time difference between Tc 412 and Td 422
is td, the propagation time for the packet to travel from STA A 300
to STA B 305. Note that the time differences (Tc-Ta) and (Td-Tb)
are both the duration tp 430 of the transmitted ranging packet
312.
[0052] STA B 305 transmits the response packet 324 at time Te 423.
Assuming that the response packet 324 is an ACK or an CTS packet in
reply to the received ranging packet 312, time Te 423 ideally will
be at a time t.sub.SFS 432 after time Td 422, where t.sub.SFS 432
is the SIFS time as defined in the IEEE 802.11 Standard. At time Tf
413, STA A 300 starts to receive the response packet 324. The time
difference between Te 423 and Tf 413 is td 433, the propagation
time for the packet to travel from STA to B 305 STA A 300 and is
equal to the propagation time td 431. At time Tg 424, STA B 305
completes the transmission of the response packet 324 and at time
Th 414, STA A 300 completes receiving the response packet 324. RTT
415 is the time, Th, that the response packet 324 was received at
STA A 300, minus the time, Tc, that the ranging packet 312 was
transmitted by STA A 300. Note that the time differences (Tb-Ta),
(Td-Tc), (Tf-Te) and (Th-Tg) are all equal and have the value td
431 which is the propagation time for the ranging packet and
response packet to travel between the two STAs.
[0053] At STA A 300, the time of a packet at the point when the
frame check has completed, may be recorded. Hence, if STA A 300 is
the measuring station, the time for the transmission of ranging
packet 312 that is recorded is Tc 412, and the time that is
recorded for the reception of the response packet 324 is Th 414. In
order to calculate the value of td, it is necessary to know the
duration tr 434 of the response packet 324. As the details of the
response packet 324 are predictable, based upon the details of the
ranging packet 312, the duration tr 434 of the response packet is
known. In practice therefore, STA A 300 can calculate the values of
RTT 415 and td (TOF) from expression (3):
RTT=(Th-Tc) and td=(RTT-tr-t.sub.SIFS)/2=TOF (3)
and hence the corresponding distance, D=td*c (4)
[0054] Stated another way, STA A 300 begins transmission of ranging
packet 312 at a beginning transmission time Ta 411 and ends
transmission of the ranging packet 312 at an ending transmission
time Tc 412. STA A 300 begins receiving of the response packet 324
at a beginning reception time Tf 413 and receives the complete
response packet 324 at an ending reception time Th 414, wherein RTT
is measured as the time between the ending reception time Th 414
and the ending transmission time Tc 412, and TOF is RTT minus the
duration of the response packet tr 434, minus t.sub.SIFS 432,
divided by 2.
[0055] A reception window Trw 460 may be defined which may be
related to the range of the target, STA B 305. The reception window
starts at time Ts 410 after the end of the transmission, Tc 412 of
ranging packet 312 and ends at time Tt 420 after the end of the
transmission, Tc 412 of ranging packet 312. As an example, consider
the case where the target STA B 305 is considered to be at a range
of, for example, 2 to 6 miles from STA A 300. In this example, the
reception window Trw may be set to start at time Ts 410, 15 .mu.s
after time Tc 312, and end at time Tt 420, 65 .mu.s after time Tc
312. In this example the duration of the reception window Trw 460
is 50 .mu.s.
[0056] In the general sense, ranging packets may be sent at either
regular intervals or in bursts. The time Tp 450 is the time between
successive ranging packets either within a burst or continuous.
[0057] FIG. 5 is a timing diagram of a series of bursts of
transmissions of the ranging packets 312. In one embodiment of this
disclosure, a "burst", 551, consisting of a preset number R of
transmissions of ranging packets 312, from STA A 300, may be sent
followed by a "wait" period, Twait 571. This sequence may continue
until a command may be issued to terminate the transmissions.
Within each burst, each of the R transmissions may be separated by
a preset time, Tp 430. The duration TB of each burst will therefore
be R*Tp. For example, a burst may consist of 30 transmissions of
ranging packets 312 from STA A 300, each transmission, say, 1 ms
apart, followed by a wait period of, say, 30 ms after which another
burst of 30 transmissions may be sent. In this example the duration
of each burst will be 30 ms and about 500 ranging packets 312 will
be transmitted per second.
[0058] As mentioned previously, the packet exchange may be any pair
of packets where an automatic response packet is sent. Commonly
used packets in Wi-Fi include an RTS/CTS exchange and a Data
(null)/Ack exchange.
[0059] In some embodiments, the disclosed method applies to the
reception of direct sequence spread spectrum DSSS ACK and CTS
packets in response to data null and RTS packets respectively, in
the 2.4 GHz band. In other embodiments, the disclosed method
applies to the reception of OFDM ACK and CTS packets in response to
data null and RTS packets respectively, in the 2.4 GHz and 5 GHz
bands. A more complete understanding of the present disclosure, and
the attendant advantages and features thereof, will be more readily
understood by reference to the following detailed analysis of the
reception of direct sequence spread spectrum DSSS ACK and CTS
packets using correlation.
[0060] In one non-limiting embodiment used to describe some of the
functions and concepts herein, a DSSS CTS and a DSSS ACK packet
consist of 304 bits.
[0061] A 1 Mbps DSSS packet uses an 11 bit Barker code to spread
the signal. Each bit is represented by the 11 bit code either as
is, for a 1, or inverted for a 0. Hence there is a theoretical
processing gain (PG) of approximately 10 dB (PG=10 log 11). The
modulation is binary phase shift keying (BPSK).
[0062] The probability of a bit error, Pb, for BPSK, is
Pb=0.5erfc {square root over (E.sub.b/N.sub.0)} (5)
[0063] where "erfc" is the Gauss complimentary error function
[0064] E.sub.b is energy per bit [0065] N.sub.0 is noise per hertz
For BPSK, E.sub.b/N.sub.0 is equal to the signal to noise ratio,
SNR. The packet error rate (PER) is related to the bit error, Pb by
the expression
[0065] PER=1-(1-Pb).sup.M, (6) [0066] where M is the number of bits
in the packet For a packet error rate PER=0.7, with M=304, from
equations (5) and (6), Pb=0.00386 and Eb/No=SNR=5.5 dB. With the 10
dB processing gain (11 bit Barker code), this is equivalent to an
input SNR=-4.5 dB. The received signal level is calculated using
the standard formula:
[0066] Pr=10 log(1000K T)+10 Log BW+NF+SNR dBm (7)
[0067] Where K is Boltzmann's constant [0068] T is temperature in
degrees Kelvin [0069] BW is the occupied bandwidth, Hz [0070] NF is
the noise figure, dB
For T=20.degree. Celsius, 10 log (1000 K T)=-174 dBm
[0071] BW=20 MHz for DSSS and assuming NF=3 dB and SNR=-4.5 dB,
from (7) Pr=-102.5 dBm.
[0072] A receiver sensitivity of -102.5 dBm for a 70% PER
represents a situation with no implementation losses.
[0073] If all the bits of the CTS or ACK are known in advance, then
the received bits may be compared to the expected bits. If enough
of the bits match then a decision may be made that the CTS or ACK
had indeed been detected. This technique is known as correlation
where the decision may be based upon a correlation threshold.
[0074] In the general sense, correlation works by passing the known
pattern across the noisy pattern, and if the bits agree, they add,
if not, the bits subtract.
For a packet of M bits, MPb bits will not match and M (1-Pb) will
match,
Hence Correlation %=100(Match-Mismatch)/Total
or Correlation %=100(M-2 M Pb)/M=100(1-2Pb)
Hence, for Pb=0.2, Correlation %=100(1-2.times.0.2)=60% (8)
Note that for pure noise, Pb=0.5 and hence 152 bits will agree
(match), 152 will not agree (mismatch) and correlation will be
0%.
[0075] If the raw detected 304 bits of the DSSS CTS or DSSS ACK
packets are correlated across the known bits of the complete
packet, then it is possible to detect a CTS or ACK packet that is
well below the noise level.
[0076] For a given SNR, the bit error Pb may be calculated using
equation (5) and the correlation % calculated using equation (8).
The variance and standard deviation, a, of the mismatched bits may
be calculated:
.sigma..sup.2=M Pb(1-Pb)
.sigma.= {square root over (M Pb(1-Pb))} (9)
For M bits, the number of mismatched bits is MPb, with a standard
deviation of .sigma.. Hence, mismatched bits=MPb.+-..sigma., and
the number of matched bits is M-(MPb.+-..sigma.). Thus, the
correlation (%) from equation (8) expressed as mean.+-.standard
deviation, is given by:
Correlation = .times. ( M - ( MPb .+-. .sigma. ) - ( MPb .+-.
.sigma. ) ) .times. / .times. M = .times. 1 - 2 .times. P .times. b
.+-. 2 .times. .sigma. .times. / .times. M ( 10 ) ##EQU00001##
Comparing (10) to (8), the following associations can be made:
Correlation mean=(1-2Pb)
and Correlation standard deviation=2.sigma./M. (12)
Noise has a bit error rate, Pb=0.5 with a mean of zero and, from
equation (9), .sigma.= {square root over (M/4)}, and from equation
(12)
noise correlation standard deviation= {square root over (1/M)}
(13)
Hence, the effective "3.sigma. correlation" for thermal noise
is
3 .times. 1 .times. / .times. M , ##EQU00002##
i.e., for M=304, thermal noise 3.sigma. correlation=0.172 or
17.2%.
[0077] FIG. 6 is a graph of Correlation % versus received signal
power Pr for M=304 bits for laboratory, "Lab", conditions. For a
given received signal strength Pr, the SNR is calculated using
equation (7) assuming a noise figure of 3 dB. The SNR is used to
determine the bit error rate Pb using equation (5). The correlation
mean 610 is calculated using equation (11). The one .sigma.
correlations 635 and the three .sigma. correlations 630 plots are
calculated using equations (11) and (12). The 3 .sigma. and one
.sigma. values for noise, 24.3% and 8.1%, 640 and 645,
respectively, are calculated using formula (13) and then multiplied
by {square root over (2)} to account for the 3 dB noise figure.
[0078] As discussed above with reference to FIG. 4, the correlation
may be performed for the duration of a reception window Trw 460. As
an example, the duration of a reception window may be 50 .mu.s and
at a typical sampling rate of 20 MS/sec there may be 1000
correlation values in the reception window of which only one would
correspond to the wanted. In order to be detected, the correlation
peak of the wanted signal, the response 324, must be greater than
the highest peak due to noise, but there are 1000 correlations due
to noise. The Gumbel distribution may be used to describe the
distribution of the maximum of a sample size n, where, for example
n=1000. The probability that the singular signal correlation will
exceed the highest of the all of noise correlations is found by
integrating, over all correlations, the Gumbel probability
distribution (of highest noise correlation) times the probability
that the signal exceeds that correlation, i.e. (1-CDF).
[0079] The probability, Pw, that the wanted correlation is greater
than the peak noise correlation is
P.sub.W=.intg.u(x;.mu.,.beta.)[1-(x)]dx (14)
[0080] Where u(x; .mu., .beta.) is the Gumbel PDF of noise with
location .mu., scale .beta. for a value of n,
[0081] And [1-(x)] is the complement cumulative distribution
function (1-CDF) of the normal distribution of the wanted signal
correlation with mean and standard deviation as per equations (11)
and (12).
[0082] Table 1 shows the probability of the wanted correlation peak
being higher than the maximum peak of the noise correlations as the
correlation mean varies for thermal, lab and suburban noise
conditions. The noise is assumed to be 3 dB higher than thermal for
lab conditions, and 6 dB higher for suburban conditions.
TABLE-US-00001 TABLE 1 Probability that the Wanted correlation is
highest, Corr Prob Wanted Peak Wins % Mean % Thermal Lab Suburban
90 100 100 100 85 100 100 100 80 100 100 100 75 100 100 100 70 100
100 100 65 100 100 100 60 100 100 100 55 100 100 99 50 100 100 97
45 100 100 88 40 100 98 67 35 100 91 38 30 97 72 14 25 86 41 3 20
59 15 0 15 27 3 0 10 7 0 0 5 1 0 0
[0083] Referring again to FIG. 6, in a burst, 551, of N=100
transmissions, for a correlation mean of 26%, 648, from Table 1
there is about a 50% probability that the wanted peak is detected,
or, a burst of 100 transmissions, the wanted peak will be detected
50 times and a noise peak will win 50 times. This corresponds to a
signal level of--about 114 dBm 650. For a correlation mean of about
18% 652, from Table 1, there is a 10% probability that the wanted
peak is detected, corresponding to a signal level of about -117 dBm
655. Dropping the correlation threshold from 26% to 18% increases
the sensitivity by 3 dB but out of the 100 results, only 10 will be
the wanted peak and 90 will be noise peaks.
[0084] FIG. 6 represents the results using equations (5) to (11)
which assume laboratory noise. In many scenarios the airborne
measuring station 110 will be receiving many different signals from
a large area on the ground. The background noise level may be
significantly higher than thermal noise and will also be variable
dependent upon the environment, i.e., open, rural, suburban or
urban.
[0085] FIG. 7 is a similar graph as FIG. 6 of Correlation % versus
received signal power, Pr, for 304 bits but with a noise .sigma.
745 and 3.sigma. level 740 displayed that represents a suburban
environment where the background noise is assumed to be 6 dB
higher. The correlation mean 710 curve is similar as that in FIG.
6, 610, but the signal levels, Pr, are 6 dB higher so as to
maintain the required SNR. With reference to Table 1, at a
correlation threshold of 37% 748 the theoretical correlation 710
corresponds to a theoretical signal level of about -106 dBm, 750,
which corresponds to the level at which it is to be expected that
the wanted signal will be greater than the peak noise level for 50%
of the time. If the correlation threshold is lowered to about 29%
752, a wanted theoretical signal level of about -108 dBm 755
results but with the probability that a wanted peak will exceed the
noise peak only 10% of the time.
[0086] As discussed above with reference to FIGS. 6 and 7, in the
case of lab noise as shown in FIG. 6, a correlation threshold of
about 26% may be chosen, in order to minimize the correlations due
to noise. However, in the case of suburban noise, as shown in FIG.
7, a correlation threshold of about 37% may have to be chosen.
Choosing a correlation threshold too low may result in the ratio of
false RTT to true RTT measurements being too high resulting in the
geo-location calculations failing. Choosing a correlation threshold
that is too high may result in the ratio of false RTT to true RTT
measurements being low but reduces the sensitivity. A more ideal
setting for the correlation threshold might require a calibration
procedure based upon measuring the background noise level, and as
this level may change with time and place, the calibration
procedure may have to be constantly updated.
[0087] FIGS. 6 and 7, as discussed above, are based upon the
correlation of DSSS CTS or DSSS ACK packets. If using OFDM CTS or
ACK packets, as the modulation is the same, BPSK, the performance
is similar except that the received signal power, Pr, is generally
lower due to the difference in gain between the DSSS Barker Code
correlation and the Coding Gain of OFDM. However, as the signal
level decreases and the bit error rate, Pb, increases, the gains
due to the Barker code correlation or the coding gain will
decrease.
[0088] A binning method is disclosed that mitigates the need for
the use of a correlation threshold, does not require a calibration
procedure, and enables a high signal sensitivity even in the
presence of changing background noise levels.
[0089] A more complete understanding of the present disclosure, and
the attendant advantages and features thereof, will be more readily
understood by reference first to an exemplar analysis of a general
binning method.
[0090] A number of bins, B, may be created as the RTT measurements
are received. As discussed above with reference to FIG. 4, after
having transmitted the ranging packet 312, STA A 300 (which may be
airborne measuring station 110) may listen for a response packet
324 for a time period Trw 460. Let each bin have the same time
width, T.sub.W, hence the number of bins, B=T.sub.rw/T.sub.W. For
example, for T.sub.rw=100 .mu.s and T.sub.W=10 .mu.s, B=10. Let the
number of transmissions per second of the ranging packet 312 be N.
As discussed above with reference to FIG. 5, in the example given
there, there may be about 500 transmissions per second of the
ranging packet 312, hence N=500. Assuming no correlation threshold
is used, there will be 500 RTT measurements, as a peak correlation
will be found in every reception window T.sub.rw Assuming that RTTs
due to noise are distributed with a Poisson distribution, then,
after N transmissions, the average count per bin, due to noise,
will be N/B and the standard deviation, .sigma., is
N B . ##EQU00003##
For example, if N=500 and B=10, the average count per bin will be
50 and .sigma.=7.07. Counts in the bins due to noise, may be
assumed to vary with a Poisson distribution and the bin with the
top count, corresponding to 3.sigma., a probability of 0.2%, would
have a value of about 72. Assuming that a percentage of the RTTs
correspond to the target station 120, then these would all be added
to one bin, which may be termed the "wanted" bin. For example, if
20% of the 500 RTTs, i.e., 100, corresponded to the target station
120, then 400 RTTs would be due to noise, resulting in an average
count of 40 per bin and a standard deviation of 6.32, resulting in
a count of 59 in the noise bin with the top count. With the average
count due to noise of 40, and the number of true RTTs is 100, then
the wanted bin will have a count of 140. In this example, the
wanted bin will have a wanted to top noise bin count ratio of
140/59=2.37. If, in order to assess a minimum condition, it is
assumed that the count due to noise in the wanted bin is equivalent
to -.sigma., i.e., 34, then the wanted to top noise bin count ratio
becomes 134/59=2.27.
[0091] FIG. 8 is a graphical representation of the wanted and noise
bin counts, for varying percentage of RTTs from the target station
120, with the conditions B=10 and N=500. The total number of RTTs
in the top noise bin count 810 gradually decreases as the
percentage of RTTs from the target station 120 increases from 0 to
20%. The average number of RTTs in the wanted bin 820 rises
linearly as the percentage of RTTs from the target station 120
increases from 0 to 20%. Assuming that the noise count in the
wanted bin is -.sigma., then the "minimum" number of RTTs in the
wanted bin 830 also rises linearly as the percentage of RTTs from
the target station 120 increases, but the count is lower. The
average wanted bin count 820 exceeds the top noise bin count 810 at
the point 840 where about 4% of the RTTs from the target station
120 are detected. The minimum wanted bin count 830 exceeds the top
noise bin count 810 at the point 845 where about 5.5% of the RTTs
from the target station 120 are detected. At these points 840 and
845 it would be impossible to distinguish the wanted bin from the
noise bins.
[0092] FIG. 9 is a graphical representation of the wanted to top
noise bin count ratios for varying percentage of RTTs from the
target station, with the conditions B=10 and N=500. The average
wanted to top noise bin count ratio 910 reaches a value of two when
about 16%, 930, of the RTTs from the target station 120 are
detected, and the minimum wanted to top noise bin count ratio 920
reaches a value of two when about 18%, 935, of the RTTs from the
target station 120 are detected. For example, when 16% of the
wanted RTTs from the target station 120 are detected, out of the
500 RTTs, 420 will be noise and 80 will be wanted. Hence the
average noise bin count will be 42 with a standard deviation of
6.48. The top noise bin count is therefore [42+3*6.48]=62. The
count in the wanted bin is 80+42=122, hence, the wanted bin to top
noise bin count, the "count ratio", is 122/62=1.97.
[0093] Stated another way, if a bin has a count equal to or greater
than twice the count of any other bin, then that bin may be assumed
to be the bin with the RTTs of the target station 120. Conversely,
if no bin has a count equal to or greater than twice the count of
any other bin, then it may be assumed that RTTs from the target
station 120 are not present. Note also that the count ratio is
independent of the actual signal strength of the received response
packets 324 from the target station 120, and of the amplitude of
the background noise. Setting the count ratio to a preset value,
for example 2, effectively sets a threshold of the % RTTs from the
target station 120, for example about 16%, and mitigates the
requirement to set a correlation threshold. Other count ratio
thresholds may be chosen, the higher the ratio the more likely that
the bin with the maximum count is the one with the RTTs from the
target station 120 but the effective sensitivity of the system will
be less.
[0094] FIG. 10 is a graphical representation of the wanted to top
noise bin count ratios for varying percentage of RTTs from the
target station, with the conditions B=20 and N=500. By doubling the
number of bins, B, the average count per bin due to noise will be
halved. The average wanted to top noise bin count ratio 1010
reaches a value of two, 1030, when about 10% of the RTTs from the
target station 120 are detected, as compared to 16%, 930, when 10
bins were used. The minimum wanted to top noise bin count ratio
1020 reaches a value of two, 1035, when about 11% of the RTTs from
the target station 120 are detected, as compared to 18%, 935, when
10 bins were used. Hence, by increasing the number of bins, the
sensitivity is increased. Doubling the number of bins, B, results
in the halving of the bin width. T.sub.W. In the previous example,
T.sub.rw=100 .mu.s and T.sub.W=10 .mu.s, which resulted in the
number of bins, B=10. In order to double the number of bins, the
bin width T.sub.W must be halved, i.e., B=20, T.sub.W=5 .mu.s. The
selection of a value for the bin width, T.sub.W, is dependent upon
the range of RTT values from the target station 120 over time. In
order to collect all the wanted RTTs values from the target station
120 into the same bin, the value of the RTT cannot change beyond
the chosen bin width T.sub.W.
[0095] With reference again to FIG. 2, when the airborne measuring
station 110 is at position B 202, the distance to the target
station 120 at location F 230, is D5 211. When the airborne
measuring station 110 is at position C 212, the distance to the
target station 120 at location F 230, is D6 212. The difference
between the RTTs corresponding to the distances D5 211 and D6 212
will be 2.times.(D5-D6). The longer the elapsed time between two
points of the orbit 200, the further the airborne measuring station
110 will fly around the orbit and the higher the possible
difference between the RTTs. The longer the elapsed time the more
RTTs will be received but at the cost of having to use a wider bin
width T.sub.W. Conversely, setting the elapsed time shorter can
result in more bins, but fewer RTTs.
[0096] An analysis of the change of RTT values, the RTT difference,
is provided below.
[0097] FIG. 11 is a diagram of an airborne measuring station 110
flying between two positions P 1101 and Q 1102, a distanced 1130.
Position P 1101 is at an altitude of A 1120 above point S 1104 on
the ground. Position Q 1102 is at an altitude of A 1120 above point
V 1105 on the ground. The distance between points S 1104 and V 1105
is also d 1130. A target station 120 is located at position T 1103.
The distance between position P 1101 and position T 1103 is R1
1131. The distance between position Q 1102 and position T 1103 is
R2 1132. On the ground, the distance between point S 1104 and
position T 1103 is D1 1121, and the distance between point V 1105
and position T 1103 is D2 1122. When the airborne measuring station
110 is at position P 1101, the antenna in the airborne measuring
station 110 is pointing at the target station 120 at position T
1103 at an antenna tilt angle of .theta.1 1110 and a yaw angle
.phi.1 1112. When the airborne measuring station 110 is at position
Q 1102, the antenna in the airborne measuring station 110 is
pointing at the target station 120 at position T 1103 at an antenna
tilt angle of .theta.2 1111 and a yaw angle .phi.2 1113. The
difference in the RTT measurements for the target station 120 when
the airborne measuring station 110 moves from position P 1101 to
position Q 1102 is 2.times.|R2-R1|. Distance d 1130 is the velocity
v of the airborne measuring station 110 multiplied by the time t
that it takes to fly between positions P 1101 and Q 1102, i.e.,
d=vt.
[0098] Knowing the distance d, the antenna tilt angle .theta.1, the
antenna yaw angle .phi.1, and the altitude A of the airborne
measuring station 110 the difference R1-R2 may be calculated using
standard trigonometry:
From .times. .times. triangle .times. .times. PTS .times. .times. D
.times. .times. 1 = A .times. .times. tan .times. .times. .theta.1
( 15 ) From .times. .times. triangle .times. .times. QTV .times.
.times. D .times. .times. 2 = A .times. .times. tan .times. .times.
.theta. .times. .times. 2 ( 16 ) From .times. .times. triangle
.times. .times. VTS .times. .times. D .times. 1 sin .times. .times.
.PHI. .times. .times. 2 = D .times. 2 sin .times. .times. .PHI.1 =
d sin .function. ( .PHI.1 - .PHI.2 ) .times. .times. From .times.
.times. ( 13 ) .times. .times. and .times. .times. ( 15 ) .times.
.times. D .times. .times. 1 = A .times. .times. tan .times. .times.
.theta.1 = d .times. .times. sin .times. .times. .PHI. .times.
.times. 2 sin .function. ( .PHI.1 - .PHI.2 ) .times. .times. sin
.function. ( .PHI.1 - .PHI.2 ) = d .times. .times. sin .times.
.times. .PHI.2 A .times. .times. tan .times. .times. .theta.1
.times. .times. Expanding .times. .times. sin .function. ( .PHI.1 -
.PHI.2 ) .times. .times. sin .times. .times. .PHI.1cos.PHI.2 - cos
.times. .times. .PHI.1sin.PHI.2 = d .times. .times. sin .times.
.times. .PHI.2 A .times. tan .times. .theta. .times. 1 .times.
.times. Divide .times. .times. by .times. .times. sin .times.
.times. .PHI.2 .times. .times. sin .times. .times. .PHI.1 tan
.times. .times. .PHI.2 - cos .times. .times. .PHI.1 = d A .times.
tan .times. .theta. .times. 1 ( 17 ) Rearranging .times. .times.
.PHI.2 = A .times. .times. TAN .function. ( A .times. .times. sin
.times. .times. .PHI.1 .times. .times. tan .times. .times. .theta.
.times. .times. 1 d + A .times. .times. cos .times. .times.
.PHI.1tan.theta.1 ) ( 18 ) From .times. .times. ( 16 ) .times.
.times. and .times. .times. ( 17 ) .times. .times. D2 = A .times.
.times. tan .times. .times. .theta.2 = d .times. .times. sin
.times. .times. .PHI.1 sin .function. ( .PHI.1 - .PHI.2 ) ( 19 )
Hence , .theta.2 = A .times. .times. TAN .function. ( d .times.
.times. sin .times. .times. .PHI.1 A .times. .times. sin .function.
( .PHI.1 - .PHI.2 ) ) ( 20 ) ##EQU00004##
From (16) and (20) the value of D2 is now known.
Then R1-R2= {square root over (D1.sup.2+A.sup.2)}- {square root
over (D2.sup.2+A.sup.2)}
And RTT difference=2|R1-R2| (21)
[0099] FIG. 12 is a plot 1200 of the RTT difference, with time, for
the conditions v=150 mph, .theta.1=60.degree., and
.theta.1=180.degree. for altitude A 1120 values of 1500, 5000,
10000 and 20000 ft. A velocity of 150 mph is 220 feet per second.
With an antenna yaw angle .phi.1 of 180.degree., the airborne
measuring station 110 is flying directly towards the target station
120 and hence this plot 1200 represents the maximum RTT difference
with time. Plot 1200 indicates that altitude, A 1120, over 1500
feet, has a minimal effect on the RTT difference and also that the
RTT difference is linear with time, t. If the airborne measuring
station 110 is flying at a velocity of 150 mph directly towards the
target station 120, with the antenna tilt angle .phi.1 1110 of 60
degrees, after 5 seconds of flight, the RTTs from the target
station 120 will be different by about 1.9 .mu.s, 1210. This
represents a worst case where the target station 120 is located
directly on the orbit 200 of the airborne measuring station 110 and
in the general sense, for practical orbits, this condition would
not exist for any significant length of time.
[0100] FIG. 13 is a plot 1300 of the RTT difference against the
airborne measuring station 110 antenna yaw angle .phi.1 1112, for
varying antenna tilt angles, .theta.1, 1110, over an elapsed time
of 5 seconds. With reference to FIG. 2, if the target station 120
is positioned at location center E 220, near the center of the
orbit 200, then the yaw angle .phi.1 1112 will be close to 90
degrees throughout the orbit 200. If the target station 120 is
positioned at location F 230, then the yaw angle .phi.1 1112 will
vary from 90 degrees, corresponding to two opposite sides of the
orbit 200, to a maximum and a minimum value, approximately
110.degree. and 70.degree.. As shown by plot 1300, as the airborne
measuring station 110 moves around the orbit, and the antenna yaw
angle .phi.1 1112 varies from a minimum to a maximum value, passing
through 90 degrees, the RTT difference will vary from a negative
value, through zero, to a positive value. In the worst case, where
the minimum and maximum yaw angle .phi.1 1112 is 0 or 180 degrees
respectively, and the antenna tilt angle .theta.1 1110 is 90
degrees, the RTT difference, after 5 seconds of flight, is about
+/-2.2 .mu.s. Stated another way, as the airborne measuring station
100 flies around an orbit, 200, if the target station 120 is
located directly on the orbit, then the RTT difference will vary
from -2.2 .mu.s to 0 .mu.s to +2.2 .mu.s if the RTTs are measured
over 5 second periods. With reference again to FIG. 2, if the
target station 120 is located at location F 230, then the maximum
and minimum yaw angles .phi.1 1112 are 110 and 70 degrees
respectively. Assuming a maximum antenna tilt angle .theta.1 1110
of 60 degrees, the RTT difference will vary from +1.25 .mu.s to 0
.mu.s to -1.25 .mu.s to 0 .mu.s over 5 second periods.
[0101] As discussed above with reference to FIGS. 9 and 10, the
more bins, B, the lower the % RTTs from the target station 120
required for the wanted to top noise bin count ratio 1020 to be a
value of two and the higher the sensitivity. The number of bins B
is related to the value for the bin width, T.sub.W. In order to
collect all the wanted RTTs values from the target station 120 into
the same bin, the value of the RTT cannot change beyond the chosen
bin width T.sub.W. The RTT difference depends upon two main
criteria: the time period, as shown in FIG. 12, and the variation
in t.sub.SIFS 432 of the target station 120. Wi-Fi devices in the
general case use a 1 microsecond clock to time transmissions and
hence the t.sub.SIFS 432 of a device may dither up to .+-.1 .mu.s.
This SIFS dither may be accounted for when setting the bin width,
T.sub.W. Also, in the general case where the location of the target
station 120 is not at the center of the orbit 200, over time the
distance to the target station 120, and thus the measured RTT for
the target station 120, will vary significantly. If using fixed
bins, with respect to the long term RTT difference, it is possible
that over time the bin with the wanted RTT will change. In order to
avoid this, there is a timeout limit where the bins need to be
refreshed. With respect to the bin width T.sub.W, over a short time
period, the value selected may be either fixed to represent a worst
case, i.e., when the antenna yaw angle .phi.1 1112 is 0 or 180
degrees, or indeed may be variable dependent upon the antenna yaw
angle .phi.1 1112 as shown in FIG. 13. As discussed above with
reference to FIGS. 8, 9, and 10, the higher the number of bins, B,
i.e., the smaller the value for T.sub.W, and the more RTT
measurements, i.e., the longer the time t, the lower the percentage
of wanted RTTs from the target station 120 required to produce a
wanted to top noise bin count ratio of 2.
[0102] As the value of the wanted RTT measurement is unknown, using
fixed bins can result in the wanted RTT measurements being spread
across more than one bin. A dynamic binning method, where the bins
are set up according to the RTT measurement values as they are
received, and where the center value of each bin may be adjusted
with time, is described below.
[0103] The basic concept of a dynamic binning method is that there
are B bins, of bin width T.sub.W, each containing a count Cb of
RTTs.
RTTb,c represents the cth RTT in bin b,
[0104] Where, b={1, 2, 3, . . . B,}.
[0105] and where c={1, 2, 3 . . . Cb)}
[0106] A burst of N RTTs is received, as described above with
reference to FIG. 5. As each RTT is received, RTTn, its value is
compared to the average RTT value in each of the B bins. For bin
b,
AveRTTb = 1 C .times. b .times. c = 1 Cb .times. .times. RT .times.
T b , c ##EQU00005##
[0107] If the value of RTTn is within T.sub.W/2 of the AveRTTb for
any of the B bins, then RTTn is added to that bin and the count Cb
in that bin will be incremented. If the value of RTTn is not within
T.sub.W/2 of the AveRTTb for any of the B bins, then a new bin is
created, and B is incremented. Hence,
.A-inverted. n .di-elect cons. [ 1 , N ] , if .times. .times.
.E-backward. b .di-elect cons. [ 1 , B ] .times. .times. such
.times. .times. that ##EQU00006## RTTn - AveRTTb < T W 2 .times.
.times. Then ##EQU00006.2## Cb = C .times. b + 1 , .times. R
.times. T .times. T .times. n = R .times. T .times. T b , C .times.
.times. Else ##EQU00006.3## B = B + 1 , .times. R .times. T .times.
T .times. n = R .times. T .times. T B , 1 ##EQU00006.4##
Bursts of N RTTs continue to be received, as described above with
reference to FIG. 5.
[0108] At the end of a regular time interval of T.sub.1 all the
existing bins may be examined to remove RTTs that were recorded at
a time in the past that renders them out-of-date. An out-of-date
time, t.sub.o, may be based on a fixed time or one that is
calculated relative to the speed of the airborne measuring station
110, or the lesser of the two. Any RTT in any bin that is older
than t.sub.o may then be discarded. The AveRTT of all the B bins
may then be (re)calculated, AveRTTb.
[0109] Also, at the end of a regular interval, T.sub.1, following
the procedure to remove out-of-date RTTs, the bins may be examined
to determine the bin with highest count, maxCb, of RTTs. The ratio
of the count, maxCb, to the count, nextCb, in the bin with the next
highest count of RTTs may then be determined:
Ratio=maxCb/nextCb
If the ratio exceeds a preset value, R, then the bin with highest
count, maxCb, may be referred to as "BINmax". For example, a value
of 2 may be used for R. The (re)calculated RTT average values,
AveRTTb, and BINmax, may then be used throughout the next T.sub.1
time interval.
[0110] During the regular intervals T.sub.1, several bursts of N
RTTs may be received. After each burst of N RTTs, if a BINmax is
present (as determined for the previous T.sub.1 interval), then
only those RTTs that are added to BINmax are passed on to the next
stage for the calculation of the geo-location. The other RTTs are
retained in their respective bins. If a BINmax is not present, then
none of the N RTTs that have been received during that burst are
passed on to the next stage for the calculation of the
geo-location, but the N RTTs of that burst are all still retained
in their respective bins. RTTs may only be deleted when they become
out-of-date.
[0111] The objective of the dynamic binning process, as disclosed
above, is to reject RTTs due to noise and only pass on to the next
stage of the geo-location calculation those RTTs that occur in the
bin that corresponds to the RTTs from the wanted target station
120. As discussed above with reference to FIGS. 8, 9, and 10, the
dynamic binning count ratio R is independent of the actual signal
strength of the received response packets 324 from the target
station 120, and of the amplitude of the background noise. Setting
the count ratio R to a preset value, for example 2, effectively
sets a threshold of the % RTTs from the target station 120, as
discussed above with reference to FIG. 9, and mitigates the
requirement to set a correlation threshold that would need to be
varied, as the background noise changes, in order to achieve
maximum sensitivity.
[0112] FIG. 14 illustrates a block diagram of an example wireless
communication device 1400 which, according to an embodiment of the
disclosure, may be used as or as part of the airborne measuring
station 110. In one embodiment, wireless communication device 1400
may include an antenna assembly 1480, a transmitter receiver 1410,
a computer system 1430, a global positioning system (GPS) module
1440, a gyro 1460 and a network switch 1450 such as an Ethernet
switch.
[0113] The transmitter receiver 1410 may transmit and/or receive
radio frequency (RF) signals to and from the antenna assembly 1480.
The GPS module 1440 output may be connected to the transmitter
receiver 1410. The GPS module 1440 may provide the latitude,
longitude, and altitude of the wireless communication device 1400.
The transmitter receiver 1410 may append GPS information to any RF
transmission and/or reception. The network switch 1450 may be
connected to the Transmitter Receiver 1410, and the computer system
1430. The transmitter receiver 1410 may include a transmitter 1411
and a receiver 1412. The receiver 1412 may be connected to a
correlator 1413 that may perform the correlation processes as
described above with reference to FIGS. 6 and 7. The transmitter
receiver 1410 may include a processor 1415 that may perform all or
part of the exemplar binning processes as described above with
reference to FIGS. 8, 9 and 10 and as further described in FIGS.
15, 16 17 and 18 below. In addition to a traditional processor, the
processor 1415 may include integrated circuitry for processing
and/or control, e.g., one or more processors and/or processor cores
and/or FPGAs (Field Programmable Gate Array) and/or ASICs
(Application Specific Integrated Circuitry) for carrying out the
functions described herein with respect to the Transmitter Receiver
1410. Although not shown, the Transmitter Receiver 1410 may include
memory that may work in conjunction with the processor 1415 to
perform the functions described herein with respect to the
Transmitter Receiver 1410. The GPS information may be provided to
the processor 1415 by the GPS module 1440. RF receptions may have
the GPS information added such that the position of the wireless
communication device 1400 is known for each received signal. The
receiver 1412 may include more than one radio and therefore any
transmission from transmitter 1411 may be automatically received by
another radio within the receiver 1412 and by this means, the
airborne platform position is also known for each transmission and
the time of the transmission is also known. The GPS information may
be sent to the network switch 1450 and therefore made available to
the computer system 1430. In some embodiments, the network switch
1450 is an Ethernet switch.
[0114] The computer system 1430 may include an interface 1431.
Interface 1431 may contain an Ethernet connection to the network
switch 1450, the connection to a display 1436, a connection to a
keyboard and mouse 1437 as well as interfacing to the processing
circuitry 1435. In some embodiments the processing circuitry 1435
may include a processor 1432, a memory 1433 and a database 1434.
The database 1434 may contain the ground mapping information of the
area of interest and the processor 1432 and memory 1433 may be used
to carry out all or part of the exemplar binning processes as
described above with reference to FIGS. 8, 9 and 10 and as further
described in FIGS. 15, 16 17 and 18 below. The processor 1432 and
memory 1433 may be used to carry out processes for the geo-location
of the target station 120, using the output of the binning process
derived in the processor 1415 of the transmitter receiver 1410,
plus information on the position of the wireless communication
device 1400 derived from the GPS module 1440, the gyro 1460, and
information on the target station 120 which may be inputted using
the keyboard and mouse 1437. The display 1436 may be used to show
the ground map together with the estimated location of the target
station 120. Note that the modules discussed herein may be
implemented in hardware or a combination of hardware and software.
For example, the modules may be implemented by a processor
executing software instructions or by application specific
integrated circuitry configured to implement the functions
attributable to the modules. Also note that the term "connected to"
as used herein refers to "being in communication with" and is not
intended to mean a physical connection nor a direct connection. It
is contemplated that the signal path between one element and
another may traverse multiple physical devices.
[0115] Thus, in some embodiments, the processing circuitry 1435 may
include the memory 1433 and a processor 1432, the memory 1433
containing instructions which, when executed by the processor 1432,
configure the processor 1432 to perform the one or more functions
described herein. In addition to a traditional processor and
memory, the processing circuitry 1435 may comprise integrated
circuitry for processing and/or control, e.g., one or more
processors and/or processor cores and/or FPGAs (Field Programmable
Gate Array) and/or ASICs (Application Specific Integrated
Circuitry).
[0116] The processing circuitry 1435 may include and/or be
connected to and/or be configured for accessing (e.g., writing to
and/or reading from) the memory 1433, which may include any kind of
volatile and/or non-volatile memory, e.g., cache and/or buffer
memory and/or RAM (Random Access Memory) and/or ROM (Read-Only
Memory) and/or optical memory and/or EPROM (Erasable Programmable
Read-Only Memory). Such memory 1433 may be configured to store code
executable by control circuitry and/or other data, e.g., data
pertaining to communication, e.g., configuration and/or address
data of nodes, etc. The processing circuitry 1435 may be configured
to control any of the methods described herein and/or to cause such
methods to be performed, e.g., by the processor 1432. Corresponding
instructions may be stored in the memory 1433, which may be
readable and/or readably connected to the processing circuitry
1435. In other words, the processing circuitry 1435 may include a
controller, which may comprise a microprocessor and/or
microcontroller and/or FPGA (Field-Programmable Gate Array) device
and/or ASIC (Application Specific Integrated Circuit) device. It
may be considered that the processing circuitry 1435 includes or
may be connected or connectable to memory, which may be configured
to be accessible for reading and/or writing by the controller
and/or processing circuitry 1435.
[0117] FIG. 15, FIG. 16, and FIG. 17 form a flowchart of a
non-limiting example of a process 1500 to reject RTTs due to noise
and only pass on to the next stage of the geo-location calculation
those RTTs that occur in a bin that corresponds to the RTTs from
the wanted target station 120 according to an embodiment of the
disclosure.
[0118] In some embodiments, process 1500 may include five
sub-processes:
[0119] Sub-process 1 "Initializing"--Inputting values for T.sub.W,
T.sub.1, t.sub.0, R and N. Receiving during a preset interval of
T.sub.1 the first sets of RTTs, forming the initial set of bins,
and determining their respective AveRTT values, (steps 1501 to
1527);
[0120] Sub-process 2--Determining the ratio of the count maxCb, in
the bin with the highest count of RTTs, to the count, nextCb, in
the bin with the next highest count of RTTs. If the ratio exceeds a
preset value, R, the bin with highest count of RTTs is "BINmax"
(steps 1710 to 1714);
[0121] Sub-process 3--Receiving RTTs, in bursts of N, checking
their values against the AveRTT of all existing bins and placing
them into either an existing bin or creating a new bin (steps 1601
to 1611);
[0122] Sub-process 4--If a "BINmax" exists, as determined in
Process 2, then only those RTTs received in each burst of N RTTs
that are added to BINmax are passed on to the next stage. If a
BINmax is not present, then none of the RTTs that have been
received during that burst are passed on to the next stage (Steps
1620 to 1624);
[0123] Sub-process 5--Examining all bins and removing RTTs that are
out-of-date, i.e., older than t.sub.o, and then re-calculating the
AveRTT for each bin (steps 1701 to 1708).
[0124] The process 1500 may start at step 1501 where the values for
Bin Width, T.sub.W, Time intervals T.sub.1 and t.sub.0, ratio R,
and the number of packets in a burst N, may be inputted. These
values may be inputted via the Keyboard/Mouse 1437 or may reside in
the memory 1433 of the processing circuitry 1435. At step 1502 a
timer may be started so as to initiate the time intervals T.sub.1
and t.sub.0 and at step 1502, the value B, number of bins, may be
set to 1. At step 1505 the first RTT, RTT.sub.1, is received. Bin 1
may be created at step 1506 and RTT.sub.1 is added to it. RTT.sub.2
may then be received at step 1507.
[0125] An RTT may be the result of an exchange of a ranging packet
312 transmitted by Transmitter 1411 and the reception of a response
packet 324, from a target station 120, received by Receiver 1412 as
discussed above with reference to FIGS. 3 and 4. The bit pattern of
the received response packet 324 is correlated against the expected
bit pattern of the response packet 324 in the correlator 1413 and
the results of that correlation, a peak corresponding to the RTT,
are inputted to the processor 1415 as described above with
reference to FIGS. 6 and 7. The time of the reception of the RTT
may be appended to the RTT value as well as the corresponding
position information of the airborne measuring station 110. The
position information may be derived from the GPS module 1440 and,
via the network Switch 1450, the Gyro 1460.
[0126] At step 1508 the value of RTT.sub.2 may be compared to the
value of RTT.sub.1 to check if it is within T.sub.W/2 of RTT.sub.1,
i.e. |RTT.sub.2-RTT.sub.1|<T.sub.W/2, and if true, at step 1509
RTT.sub.2 may be added to Bin 1 and a value for AveRTT.sub.1
calculated. If, at step 1508, |RTT.sub.2-RTT.sub.1|>T.sub.W/2,
then at step 1511 a new bin, Bin 2, may be created and RTT.sub.2
added to it. Then at step 1512, the value of B, the number of bins,
is incremented to 2 and, at step 1513, AveRTT2 may be set equal to
the value of RTT.sub.2.
[0127] A new RTT, RTTn, is received at step 1520 and at step 1521
the value of RTTn may be compared to the value of AveRTTb for each
existing bin, Bin 1 to Bin B, to check if it is within T.sub.W/2 of
the AveRTTb, i.e. |RTT.sub.n-RTT.sub.b|<T.sub.W/2, and, if true,
at step 1522, RTT.sub.n may be added to that bin b, and a value for
AveRTTb calculated, i.e., for b=1 to B, if
|RTT.sub.n-AveRTT.sub.b|<T.sub.W/2 (step 1521), then RTTn is
added to Bin b (step 1522). At step 1523 a new value for AveRTTb
may then be calculated, i.e.,
AveRTTb = 1 C .times. b .times. c = 1 Cb .times. .times. RT .times.
T b , c ##EQU00007##
where Cb is the number of RTTs in bin b. If, at step 1521,
|RTT.sub.n-RTT.sub.b|>T.sub.W/2 for all bins, then at step 1524
a new bin, Bin B+1, may be created and RTT.sub.n added to that bin.
Then, at step 1525, the value of B, the number of bins, may be
incremented and, at step 1526, the AveRTTB may be set equal to the
value of RTT.sub.n. At step 1527 a check is made of the time to
determine if a time equal to or greater than T.sub.1 may have
elapsed. If not, then the process may return to step 1520 where a
new RTTn may be received.
[0128] If at step 1527 it is determined that a time of T1 has
elapsed, then the process may advance to FIG. 17 step 1710 where
the counts, Cb, of RTTs in all bins are examined and the highest
count, "maxCb", may be selected. In step 1711, the next highest
count, "nextCb", may be selected. The ratio of maxCb to nextCb may
then be checked in step 1712 and if that ratio is greater than R, a
value inputted at step 1501, then at step 1713, the bin, "BINmax",
with the count maxCb is selected, and the process advances to FIG.
16 step 1601. If, at step 1712, the ratio maxCb/nextCb is less than
R, then at step 1714, no bin is selected as BINmax and the process
advances to FIG. 16 step 1601.
[0129] At step 1601, a value n is initialized. A new RTT, RTTn, is
received at step 1602 and at step 1603 the value of RTTn may be
compared to the value of AveRTTb for each existing bin, Bin 1 to
Bin B, to check if it is within T.sub.W/2 of the AveRTTb, i.e.
|RTT.sub.n-RTT.sub.b|<T.sub.W/2, and, if true, at step 1604,
RTT.sub.n may be added to that bin b, and a value for AveRTTb
calculated, i.e., for b=1 to B, if
|RTT.sub.n-AveRTT.sub.b|<T.sub.W/2 (step 1603), then RTTn is
added to Bin b (step 1604). At step 1605 a new value for AveRTTb
may then be calculated, i.e.,
AveRTTb = 1 C .times. b .times. c = 1 Cb .times. .times. RT .times.
T b , c ##EQU00008##
where Cb is the number of RTTs in bin b. If, at step 1603,
|RTT.sub.n-RTT.sub.b|>T.sub.W/2 for all bins, then at step 1606
a new bin, Bin B+1, may be created and RTT.sub.n added to that bin.
Then, at step 1607, the value of B, the number of bins, may be
incremented and, at step 1607, the AveRTTB may be set equal to the
value of RTT.sub.n. At step 1610 the value of n may be checked
against N, the number of RTTs in a burst. The number of RTTs in a
burst is discussed above with reference to FIG. 5. A value for N
may be inputted at step 1501 and. If n<N then at step 1611 the
value for n is incremented and the process returns to step 1602
where a new RTTn may be received.
[0130] If at step 1610 it is determined that the burst of N RTTs
has been received, then at step 1620 a check that a BINmax exists,
as determined in step 1713, may be made. If a BINmax does exist
then, at step 1621 all those RTTs that have been added to BINmax in
the last burst of N RTTs, may be selected and these RTTs are
outputted to the next stage of the geo-location calculations (step
1622). If, at step 1620, no BINmax exists, as determined in step
1714, then no RTTs from the last burst of N RTTs are outputted. At
step 1623 a check is made of the time to determine if a time equal
or greater than T.sub.1 may have elapsed. A value for T.sub.1 may
be inputted at step 1501. If not, then the process may return to
step 1601 where a new burst of N RTTs may be received. If, at step
1623, it is determined that a time of T.sub.1 has elapsed, then at
step 1624 the timer T.sub.1 may be reset and then the process may
advance to FIG. 17 step 1701.
[0131] At step 1701, a value b may be initiated. At step 1702, the
entry times of each of the RTTs in Bin b may be examined and if
that time is greater than t.sub.0, then at step 1703, that RTT is
deleted from Bin b. A value for to may be inputted at step 1501. At
step 1704 a check that all the entries in bin b have been examined,
c=Cb, and if not, the next c maybe selected at step 1705 and the
next entry may be examined at step 1702. If, at step 1704, all the
entries in bin b have been examined then at step 1706 it may be
determined if all bins have been examined, i.e., b=B. If not, then
at step 1707 the value of b may be incremented, and the next bin is
checked at step 1702. Stated another way, at the end of a preset
interval of T.sub.1, all bins may be examined and all RTTs that are
out-of-date, i.e., older than t.sub.o, may be deleted (steps 1701
to 1707). When all bins, 1 to B, have been checked and out-of-date
RTTs removed, then at step 1708 the AveRTT for each bin may be
re-calculated and the method advances to step 1710 where the
counts, Cb, of RTTs in all bins are examined and the highest count,
"maxCb", may be selected.
[0132] The process 1500 may then continue through steps 1710 to
1714, 1601 to 1623, and back to 1710, as described above. The
calculations and determinations as described above with reference
to FIGS. 15, 16 and 17 may be performed by the processor 1415
and/or processing circuitry 1435. The outputted RTTs at step 1622
have been selected as described above with reference to FIGS. 8, 9
and 10 and by selection of a suitable value R, as used at step
1712. Those selected RTTs have a high probability of representing
wanted RTTs from the target station 120 independent of the changes
in background noise levels as would be required if using a
correlation threshold level, as discussed above with reference to
FIGS. 6 and 7.
[0133] FIG. 18 is a flow diagram of process 1800 of an example of
an embodiment of the disclosure that outputs RTTs that have a high
probability of representing the wanted RTTs from target station
120. Process 1800 includes five processes 1810, 1820, 1830, 1840,
and 1850 that correspond to Sub-process 1, Sub-process 2,
Sub-process 3, Sub-process 4, and Sub-process 5 described above
with reference to FIGS. 15, 16, and 17.
[0134] Process 1800 starts with Sub-process 1, 1810. Sub-process 1,
1810 includes and starts by step 1811 where the values for Bin
Width, T.sub.W, Time intervals T.sub.1 and t.sub.0, ratio R, and
the number of packets in a burst N, are inputted. The parameter B,
the number of bins, is initialized and a timer started. As
discussed above with reference to FIGS. 12 and 13, a value of 5
seconds may be chosen for time interval t0, and this corresponds to
a Bin Width T.sub.W of 4 or 5 .mu.s. Sub-process 1 1810 includes
step 1812 the first RTT, RTT.sub.1, is received, Bin 1 is created
and RTT.sub.1 is added to it such that AveRTT.sub.1=RTT.sub.1.
Process 1 1810 also includes step 1813 where an RTT, RTTn, is
received. The value of RTTn is compared to the value of AveRTTb for
each existing bin, Bin 1 to Bin B, to check if it is within
T.sub.W/2 of the AveRTTb, and, if true, then RTT.sub.n is added to
that bin b, and the value for AveRTTb calculated, i.e., for b=1 to
B, if |RTT.sub.n-AveRTT.sub.b|<T.sub.W/2, then RTTn is added to
Bin b, and
AveRTTb = 1 C .times. b .times. c = 1 Cb .times. .times. RT .times.
T b , c ##EQU00009##
where Cb is the number of RTTs in Bin b. If,
|RTT.sub.n-RTT.sub.b|>T.sub.W/2 for all bins, then the value of
B, the number of bins, is incremented, a new bin, Bin B, is
created, RTT.sub.n added to that bin and the AveRTT.sub.B is set
equal to the value of RTT.sub.n. Each RTT is the result of an
exchange of a ranging packet 312 transmitted by Transmitter 1411
and the reception of a response packet 324, from a target station
120, received by Receiver 1412 as discussed above with reference to
FIGS. 3 and 4. The bit pattern of the received response packet 324
is correlated against the expected bit pattern of the response
packet 324 in the correlator 1413 and the results of that
correlation, a peak corresponding to the RTT, are inputted to the
processor 1415 as described above with reference to FIGS. 6 and 7.
The time of the reception of the RTT, as determined by the
correlator 1413, is appended to the RTT value as well as the
corresponding position information of the airborne measuring
station 110. The position information is derived from the GPS
module 1440 and, via the network switch 1450, the Gyro 1460.
Process 1 1810 includes step 1814 where a check of the elapsed time
is made. If the elapsed time is less than T.sub.1, then Process 1,
1810, returns to step 1813 the next RTT.sub.n is received. If the
elapsed time is equal or greater than T.sub.1, then the Process
1800 advances to Sub-process 2 1820.
[0135] Sub-process 2, 1820, includes and starts by step 1821 where
the counts, Cb, of RTTs in all bins are examined and the highest
count, "maxCb", and the next highest count, "nextCb" are selected.
Sub-process 2 includes step 1822 where the ratio of maxCb to nextCb
is calculated. If maxCb/nextCb>R then the bin with the count
maxCb is selected, "BINmax". If maxCb/nextCb<R then no "BINmax"
is selected. The Process 1800 then advances to Sub-process 3,
1830.
[0136] Sub-process 3 1830 includes and starts by step 1831 where a
burst of N RTTs are received. As each RTTn, is received, where n=1
to N, the value of RTTn is compared to the value of AveRTTb for
each existing bin, Bin 1 to Bin B, to check if it is within
T.sub.W/2 of the AveRTTb, and, if true, then RTT.sub.n is added to
that bin b, and the value for AveRTTb calculated, i.e. for b=1 to
B, if |RTT.sub.n-AveRTT.sub.b|<T.sub.W/2, then RTTn is added to
Bin b, and
AveRTTb = 1 C .times. b .times. c = 1 Cb .times. .times. RT .times.
T b , c ##EQU00010##
where Cb is the number of RTTs in Bin b. If,
|RTT.sub.n-RTT.sub.b|>T.sub.W/2 for all bins, b=1 to B, then the
value of B, the number of bins, is incremented, and a new bin, Bin
B, is created with RTT.sub.n added to that bin and the AveRTT.sub.B
set equal to the value of RTT.sub.n. When all N RTTs have been
received, then Process 1800 advances to Sub-process 4 1840.
[0137] Sub-process 4, 1840, includes and starts by step 1841 where
it is a checked if a BINmax exists, as determined in Sub-process 2,
step 1822. If a BINmax does exist then, all those RTTs that have
been added to BINmax in the last burst of N RTTs, from Sub-process
3 1830 step 1831, are selected and outputted to the next stage of
the geo-location calculations. If no BINmax exists, then no RTTs
from the last burst of N RTTs from Sub-process 3 1830, are
outputted. Sub-process 4 1840 includes step 1842 where a check is
made of the time to determine if a time equal or greater than
T.sub.1 has elapsed. If BINmax exists, then for the time period
T.sub.1, all RTTs added to BINmax will be outputted to the next
stage. If not, then Process 1800 returns to Sub-process 3 1830
where a new burst of N RTTs are received. If, at step 1842, it is
determined that a time of T.sub.1 has elapsed, then Process 1800
advances to Sub-process 5 1850. It may be noted that if BINmax
exists, then for the time period T.sub.1, all RTTs added to BINmax
will be outputted to the next stage.
[0138] Sub-process 5 1850 includes and starts by step 1851 where
the entry times of each of the RTTs in each Bin b, where b=1 to B,
is examined and if the RTT is older than a time greater than
t.sub.0, then that RTT is deleted from Bin b. Sub-process 5 1850
includes step 1852 where the AveRTT for each bin is re-calculated.
Process 1800 then advances back to Sub-process 2 1820.
[0139] Process 1800 then continues through Sub-process 2 1820,
Sub-process 3 1830, Sub-process 4 1840 and Sub-process 5 1850, as
described above.
[0140] The settings of the parameters Bin Width, T.sub.W, Time
intervals T.sub.1 and t.sub.0 are interrelated. As discussed above
with reference to FIGS. 8, 9 and 10, it is advantageous to have as
many bins as practical and hence the Bin Width T.sub.W should be as
small as possible. As discussed above with reference to FIGS. 12
and 13, the longer the time interval, the greater the variation in
RTT values from the target station 120 is. Over a 5 second period,
the worst-case variation in RTT values from the wanted target
station 120 is 2.2 .mu.s if the airborne measuring station 110 is
flying directly towards the target station 120. In most practical
situations, the target station 120 would be located within the
orbit of the airborne measuring station 110, and by reference to
FIG. 13, the maximum variation in RTT values from the wanted target
station 120 over a 5 second interval would be in the order of 1
.mu.s. In addition, there is a variation in t.sub.SIFS 432 of the
target station 120. This variation may be assumed to be in the
order of .+-.1 .mu.s. Hence, assuming that to is set to 5 seconds,
a suitable value for T.sub.W is 4 .mu.s (.+-.2 .mu.s). Higher
values for to may be chosen but, with reference to FIG. 2, as the
airborne measuring station 110 flies from position A 201 to
position B 202 to position C 203, then the larger the variation of
the RTTs from the target station is due to the change in the
distances D4 210, D5 211, and D6 212. Thus, with longer time
intervals t.sub.0, the higher the value for the Bin Width T.sub.W
is such that all the RTTs from the target station 120 will be in
the same bin. A wider Bin Width T.sub.W results in fewer bins. A
further consideration for the choice of the time interval to is
that if, during part of the orbit 200, RTTs are not being received
from the target station 120 then bins will still be being populated
by noise, the count in each bin being greater with time. Then, when
RTTs from the target station 120 are received, if counts in the
bins are high, then more time is required for the RTTs to be
received from target station 120, before the ratio R can be
achieved. Table 2 below is a table of the time required, assuming
16% of the RTTs are the wanted RTTs from the target station 120,
before the ratio R=2 is achieved for delays of 5, 10, 20, and 30
seconds, and for 5, 10, and 12 bins. Note that the timeout to is
set to be the same as the delay such that the maximum time that
RTTs due to noise can populate bins is t.sub.0.
TABLE-US-00002 TABLE 2 Time Required to reach R = 2 for 16% wanted
RTT, after delay BINS DELAY, (and 5 10 20 t.sub.0), seconds Time to
x2 ratio, seconds 5 6 4 3 10 12 8 4 20 23 14 7 30 34 19 10
[0141] With to =5 seconds, the worst-case delay is 5 seconds, and
10 to 20 bins are possible, assuming a 100 .mu.s reception window.
As can be seen from Table 2, as soon as wanted RTTs arrive at a
rate of 16%, the bin count ratio exceeds 2 in as little as 4
seconds. If a longer to is selected the number of bins reduces and
also the time to overcome the worst-case delay becomes longer. A
value for to of 5 seconds is a good compromise.
[0142] The value for T.sub.1 should be chosen to be less than to
and may be chosen based upon the processing time and overhead. A
suitable value for T.sub.1 is 1 second.
[0143] The lower the value of the ratio R, the more effective
sensitivity is, but the higher the chance that the BINmax is due to
noise. The higher the value for ratio R, the better the chance that
the BINmax is correct. As discussed above with reference to FIGS.
8, 9, and 10, a value of 2 for the ratio R is a reasonable
choice.
[0144] FIG. 19 is a flow diagram of another example process 1900
that determines a geo-location of a target station using RTTs of
signals transmitted by a measuring station to the target station
and response signals received from the target station corresponding
to the transmitted signals according to some embodiments of the
present disclosure. At step 1902, a plurality of RTTs over a
plurality of successive time intervals is received. Each successive
time interval is equal to a predetermined amount of time (T1). At
step 1904, the plurality of RTTs are placed into a plurality of
bins. Each bin has a predetermined time width (T.sub.W), and a
count of RTTs placed in the bin. At step 1906, a bin with a highest
count of RTTs (maxCb) and another bin with a next highest count of
RTTs (nextCb) are selected. At step 1908, a maximum count ratio as
maxCb/nextCb is determined. The process 1900 also includes, at step
1910, setting the bin with maxCb to a maximum bin value based at
least on a predetermined threshold of the maximum count ratio. The
process 1900 further includes, at step 1912, selecting, during a
next successive time interval, the RTTs that are placed in the bin
that is set to the maximum bin value to determine the geo-location
of the target station.
[0145] As will be appreciated by one of skill in the art, the
concepts described herein may be embodied as a method, data
processing system, and/or computer program product. Accordingly,
the concepts described herein may take the form of an entirely
hardware embodiment, an entirely software embodiment or an
embodiment combining software and hardware aspects all generally
referred to herein as a "circuit" or "module." Furthermore, the
disclosure may take the form of a computer program product on a
tangible computer usable storage medium having computer program
code embodied in the medium that can be executed by a computer. Any
suitable tangible computer readable medium may be utilized
including hard disks, CD ROMs, optical storage devices, or magnetic
storage devices.
[0146] Some embodiments are described herein with reference to
flowchart illustrations and/or block diagrams of methods, systems
and computer program products. It will be understood that each
block of the flowchart illustrations and/or block diagrams, and
combinations of blocks in the flowchart illustrations and/or block
diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor
of a general purpose computer, special purpose computer, or other
programmable data processing apparatus to produce a machine, such
that the instructions, which execute via the processor of the
computer or other programmable data processing apparatus, create
means for implementing the functions/acts specified in the
flowchart and/or block diagram block or blocks.
[0147] These computer program instructions may also be stored in a
computer readable memory that can direct a computer or other
programmable data processing apparatus to function in a particular
manner, such that the instructions stored in the computer readable
memory produce an article of manufacture including instruction
means which implement the function/act specified in the flowchart
and/or block diagram block or blocks.
[0148] The computer program instructions may also be loaded onto a
computer or other programmable data processing apparatus to cause a
series of operational steps to be performed on the computer or
other programmable apparatus to produce a computer implemented
process such that the instructions which execute on the computer or
other programmable apparatus provide steps for implementing the
functions/acts specified in the flowchart and/or block diagram
block or blocks.
[0149] It is to be understood that the functions/acts noted in the
blocks may occur out of the order noted in the operational
illustrations. For example, two blocks shown in succession may in
fact be executed substantially concurrently or the blocks may
sometimes be executed in the reverse order, depending upon the
functionality/acts involved. Although some of the diagrams include
arrows on communication paths to show a primary direction of
communication, it is to be understood that communication may occur
in the opposite direction to the depicted arrows.
[0150] Computer program code for carrying out operations of the
concepts described herein may be written in an object-oriented
programming language such as Java.RTM. or C++. However, the
computer program code for carrying out operations of the disclosure
may also be written in conventional procedural programming
languages, such as the "C" programming language. The program code
may execute entirely on the user's computer, partly on the user's
computer, as a stand-alone software package, partly on the user's
computer and partly on a remote computer or entirely on the remote
computer. In the latter scenario, the remote computer may be
connected to the user's computer through 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).
[0151] While the above description contains many specifics, these
should not be construed as limitations on the scope, but rather as
an exemplification of several embodiments thereof. Many other
variants are possible including, for examples: the choices of the
variables' values (T.sub.W, T.sub.1, t.sub.0, N, R), the averaging
method used for the RTTs in each bin. Accordingly, the scope should
be determined not by the embodiments illustrated, but by the claims
and their legal equivalents.
[0152] It will be appreciated by persons skilled in the art that
the present invention is not limited to what has been particularly
shown and described herein above. In addition, unless mention was
made above to the contrary, it should be noted that all of the
accompanying drawings are not to scale. A variety of modifications
and variations are possible in light of the above teachings without
departing from the scope of the following claims.
* * * * *