1. Field of the Invention
The present invention relates generally to wireless access point systems, and, in particular, to clock synchronization in a wireless access point system.
2. Description of the Related Art
In general, in the descriptions that follow, we will italicize the first occurrence of each special term of art which should be familiar to those skilled in the art of ultra-wideband (“UWB”) communication systems. In addition, when we first introduce a term that we believe to be new or that we will use in a context that we believe to be new, we will bold the term and provide the definition that we intend to apply to that term. In addition, throughout this description, we will sometimes use the terms assert and negate when referring to the rendering of a signal, signal flag, status bit, or similar apparatus into its logically true or logically false state, respectively, and the term toggle to indicate the logical inversion of a signal from one logical state to the other. Alternatively, we may refer to the mutually exclusive boolean states as logic—0 and logic—1. Of course, as is well known, consistent system operation can be obtained by reversing the logic sense of all such signals, such that signals described herein as logically true become logically false and vice versa. Furthermore, it is of no relevance in such systems which specific voltage levels are selected to represent each of the logic states.
In general, in an ultra-wideband (“UWB”) communication system, a series of special processing steps are performed by a UWB transmitter to prepare payload data for transmission via a packet-based UWB channel. Upon reception, a corresponding series of reversing steps are performed by a UWB receiver to recover the data payload. Details of both series of processing steps are fully described in IEEE Standards 802.15.4 (“802.15.4”) and 802.15.4a (“802.15.4a”), copies of which are submitted herewith and which are expressly incorporated herein in their entirety by reference.
One of us, Michael McLaughlin, has developed certain improvements for use in UWB communication systems, which improvements are fully described in the following pending applications or issued patents, all of which are expressly incorporated herein in their entirety:
In general, a network of UWB access points (APs) may be employed to locate mobile tags using the known time difference of arrival method. However, the precision of this method is dependent on careful synchronization of the AP clocks. Although various techniques for clock synchronization are known, all of which we are aware suffer from one or more disadvantages. For example, it is possible to achieve clock synchronization using wired distribution of a master clock signal to each AP; but such an implementation is relatively expensive to install and relatively difficult thereafter to modify the physical configuration of the APs. Accordingly, a method and related apparatus for synchronization of all network clock timebases using only wireless transmissions is desirable.
We submit that what is needed is an improved wireless clock synchronization method and apparatus for use in a UWB communication system. In particular, we submit that such a method and apparatus should provide performance generally comparable to the best prior art techniques but without the disadvantages of known implementations of such prior art techniques.
In accordance with a first embodiment of our invention, we provide a clock synchronization method and apparatus for use in an ultra-wideband (UWB) communication network. In general, the network comprises a plurality of access points, APs, including a first access point, AP[0], having a first timebase, and a second access point, AP[1], having a second timebase; and a central location engine, CLE. According to our invention, the CLE is adapted to store a time of flight, ToF[0:1], between AP[0] and AP[1]. AP[0] is adapted to develop and transmit a clock synchronization packet, CCP, to AP[1] at a selected time of transmission, ToT. AP[1] is adapted to receive the CCP and, in response, to develop and transmit an AP response packet, ARP[1], to AP[0], the ARP[1] having embedded therein a time of arrival, ToA[1], referenced to the second timebase. AP[0] is further adapted to receive the ARP[1] and, in response, to develop and transmit a clock response packet, CRP1, to the CLE, the CRP[1] having embedded therein the ToA[1]. The CLE is adapted to receive the CRP[1] and, in response, to calculate a skew between the first and second timebases as a function of the ToT, the ToA[1] and the ToF[0:1].
In accordance with a second embodiment of our invention, AP[1] is adapted to receive the CCP and, in response, to develop and transmit the clock response packet, CRP[1], directly to the CLE, the CRP[1] having embedded therein the time of arrival, ToA[1], referenced to the second timebase.
In accordance with a third embodiment of our invention, AP[0] is adapted to develop the clock synchronization packet, CCP, for transmission at a selected time of transmission, ToT, and to embed the ToT in the transmitted CCP. Further, AP[1] is adapted to receive the CCP at a time of arrival, ToA[0:1::1], referenced to the second timebase, and, in response, to develop a second time of arrival, ToA[0:1::0], referenced to the first timebase as a function of the ToT, the ToA[0:1::1] and the ToF[0:1].
In accordance with a fourth embodiment of our invention, we provide an access point, AP, for use in a wireless communication network, wherein the AP is adapted to develop a selected time of transmission, ToT; and thereafter start transmission of a clock synchronization packet, CCP, such that a selected portion of the CCP is transmitted at precisely the selected ToT. In this embodiment, the AP implements our method for developing a selected time of transmission, ToT, and for thereafter starting transmission of a clock synchronization packet, CCP, such that a selected portion of the CCP is transmitted at precisely the selected ToT.
In accordance with a fifth embodiment of our invention, we provide an access point, AP, for use in a wireless communication network, wherein the AP is adapted to transmit a clock synchronization packet, CCP, and then record the precise time of transmission, ToT, referenced to the AP's timebase, of a selected portion of the CCP. In this embodiment, the AP implements our method for transmitting the CCP, and then recording the ToT of the selected portion of the CCP.
We submit that each of these embodiments of our invention achieve clock synchronization as effectively as any prior art method or apparatus now known to us, but without the associated disadvantages.
Our invention may be more fully understood by a description of certain preferred embodiments in conjunction with the attached drawings in which:
In the drawings, similar elements will be similarly numbered whenever possible. However, this practice is simply for convenience of reference and to avoid unnecessary proliferation of numbers, and is not intended to imply or suggest that our invention requires identity in either function or structure in the several embodiments.
Shown in
In network 10, a primary responsibility of the CLE 12 is to synchronize the timebases of all APs so as to assure normalized time references with respect to mobile tag-related reports. As is known, the topological distance, d[x:y], between each pair of APs can be used to calculate the theoretical time of flight (ToF[x:y]) of a radio frequency signal between the APs; alternatively, the actual ToF[x:y] can be determined empirically by measurement in the field. In accordance with one embodiment of our invention, our method and related apparatus facilitates periodic transmission to the CLE of timebase reports from all APs, which then can be normalized by the CLE as a function of the respective pre-calculated and stored times of flight, ToF[x:y]. In accordance with one other embodiment of our invention, each non-anchor AP is specially adapted to synchronize the local timebase to the timebase of the anchor AP[0], such that all network time reference reports transmitted to the CLE 12, including both synchronization-related and normal tag-related reports, are inherently normalized.
As shown in both
By way of illustration, let us posit that AP[1]'s clock is 1% faster than AP[0]'s clock, and we want to adjust AP[1]'s reported CCP arrival time references to AP[0]'s timebase. Assume for this example that a packet is sent by AP[0] every 200 clock counts. Say a CCP arrives at AP[1] at count 504 by AP[1]'s clock, but the CLE 12 calculates (from known physical network distances) that it arrived when AP[0]'s clock was 100. Now the CLE knows that a count of 504 in AP[1]'s timebase is equivalent to 100 in AP[0]'s timebase. So, 200 AP[0] counts later another packet arrives at AP[1]. From AP[0]'s sending report the CLE calculates it will arrive at count 300 by AP[0]'s clock. Because AP[1]'s timebase is 1% faster, it reports an arrival time of 706. Now the CLE knows that a count of 706 in AP[1]'s timebase is equivalent to 300 in AP[0]'s timebase. The CLE can now normalize any tag arrival reports from AP[1] with a count of anywhere between 504 and 706 by linear interpolation: e.g., a count of 605 from AP[1] is equivalent to 200 in AP[0]'s timebase. Now, if a tag report arrives from AP[1] with a count higher than 706, the CLE can either wait for another CCP report from AP[1] and interpolate as before, or extrapolate using previous CCP data: e.g., a tag report of 807 would be converted to 400. Note that although the above normalization approach adjusts relative receive time references, transmit time references could equally be used for synchronization, wherein CCP send time references may be calculated by subtracting ToF from receive time references, rather than receive time references being calculated from send time references by adding ToF. We recognize, however, that rather than our proposed simple interpolation, other more sophisticated, well known interpolation methods may be used. For example, we might consider using the following:
In one alternate embodiment, each AP may report independently to the CLE 12 using, e.g., wireline. In either embodiment, however, the CLE 12 will be able to maintain normalization factors for all APs in the network 10, thereby enabling precise location of all mobile tags being monitored by the network 10.
As shown in
In the alternate embodiment shown in
Continuing now with routine network operation, AP[0] receives a blink from tag, at a time of arrival, ToA[tagi:0::0], referenced to the first timebase (step 84), and, since the ToA[tagi:0::0] is already referenced to the first timebase, proceeds to communicate to the CLE 12 the ToA[tagi:0::0] (steps 86 and 88). Some small time interval later, due to different topological positions of the APs, AP[1] now receives the same blink from tag, but at a time of arrival, ToA[tagi:1::1], referenced to the second timebase (step 90). Using the known skew between the first and second timebases, AP[1] can locally normalize the ToA[tagi:1::1] to a time of arrival, ToA[tagi:1::0], referenced to the first timebase (step 92), and then communicate the normalized ToA[tagi:1::0] to the CLE (steps 94 and 96). Later, in response to receiving a sufficient number of ToAs for the same blink from tagi, e.g., at least four (4), the CLE may calculate the topological location of tag, as a function of the known location of AP[1] and the set of all ToAs for the same blink from tag, (step 98).
As noted above, AP[0] may be adapted dynamically to predict the actual ToT of each CCP. The IEEE 802.15.4a standard nominates a specific part of the frame, i.e., the first pulse of the PHY Header, as the RMARKER. Therefore, let us designate the precise time that the RMARKER in the CCP message leaves AP[0]'s antenna (not shown but necessarily present) as the send time of that CCP. We propose the following approach, illustrated in
1. Determine the time delay, td, between the time that a transmission order is issued, (t[ITO]), and the actual time of transmission of the first bit of the RMARKER at AP[0]'s antenna, (t[ToT]) (step 100):
t
d
=t[ITO]−t[ToT] [Eq.2]
This delay can be determined by calculation during design or measured during operation, and, preferably, both. Preferably, this delay is periodically recalibrated.
2. At time a selected t[ITO], issue a transmission order to AP[0] to transmit a CCP (step 102).
3. Calculate the projected send time, ts, of the RMARKER (step 104):
t
s
=t
y
+t
d [Eq.3]
4. Embed the calculated, multi-bit send time in the RMARKER field of the ordered CCP (step 106).
5. Start transmission of the CCP (step 108).
6. Transmit the RMARKER (step 110).
Now, because of other system activity, it may happen that AP[0] will be unable to achieve transmission of an ordered CCP message at the projected send time. Accordingly, it is desirable to cancel the pending CCP message so as to prevent transmission of the CCP message with a stale send time as follows:
1. Predetermine (by calculation or measurement), the transmitter latency, lt, between start of transmission of the CCP frame, t[SoT], and the time of transmission of the first bit of the embedded RMARKER, t[ToT] (a first enhancement of step 100).
2. Predetermine (by calculation or measurement), the cancellation latency, lc, being the minimum time between issuance of a cancellation order, t[ICO], and successful cancellation of a pending transmission order (a second enhancement of step 100).
3. Issue the cancellation order if transmission has not been initiated at or before time t[ICO] (step 112).
In
As shown in
If desired, the CLE 12 may employ known figure of merit (FoM) or other known statistical methods to identify and disregard rogue CCP ToA reports. In the alternative, the CLE 12 may selectively weight the error term used by our DPLL 120.
Having determined the skew between the AP[0] clock and the AP[x] clock, we propose to use a clock normalizer 122, such as that shown in
Building now on the capability of AP[0] to embed in each CCP the actual ToT, we propose to implement in at least each non-anchor AP[x] a DPLL 120 adapted to synchronize the local AP[x] clock to the AP[0] clock. In this embodiment, each AP[x] is now capable of locally normalizing all time references with respect to the AP[0] clock, including mobile tag-related reports, thereby relieving the CLE 12 of the need to normalize received time references. Of course, it may still be desirable for other reasons to have each of the APs report to the CLE 12 selected operating parameters of the local DPLL 120.
In accordance with yet another embodiment, AP[0] may wait until a first CCP[0]i has been successfully transmitted, record the precise time, t[ToT]i, that the RMARKER is transmitted, and then embed the recorded t[ToT]i in the next CCP[0]i+1. Using this method, the embedded t[ToT]i is determined a posteriori and is, therefore, always assured to be precise.
Thus it is apparent that we have provided an improved wireless clock synchronization method and apparatus for use in a UWB communication system. In particular, we submit that our method and apparatus provides performance generally comparable to the best prior art techniques but without the disadvantages of known implementations of such prior art techniques. Therefore, we intend that our invention encompass all such variations and modifications as fall within the scope of the appended claims.
Number | Date | Country | |
---|---|---|---|
61413545 | Nov 2010 | US | |
61415175 | Nov 2010 | US |