Method and system for multipath reduction for wireless synchronization and/or locating

11789111 · 2023-10-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for determining an instantaneous phase difference between time bases of at least two location anchors for a desired point in time (t), each of the location anchors having transmitting and receiving access to a joint broadcast transmission medium and a respective time base for measuring time, wherein a first of the location anchors broadcasts a first broadcast message at least twice; the first location anchor and at least a second of the location anchors receive the first broadcast messages; the second location anchor broadcasting a second broadcast message at least twice; and the second location anchor and at least the first location anchor receive the second broadcast messages. The location server calculates the instantaneous phase difference from a determined first and second clock model functions and from a time elapsed between a reference point in time and the desired point in time t.

Claims

1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more computing devices effectuate operations comprising: receiving, with a computer system, a set of time-of-arrival (TOA) stamps, wherein the set of TOA stamps comprises: a first subset of TOA stamps indicative of a first time of reception of a first broadcast message that is broadcasted from a first location anchor and that is received and stamped by a second location anchor, and a second time of reception of a second broadcast message that is broadcasted from the second location anchor and that is received and stamped by the first location anchor; and a second subset of TOA stamps based on a first self-reception time of the first broadcast message by the first location anchor and a second self-reception time of the second broadcast message by the second location anchor, wherein the second subset of TOA stamps have smaller multipath error than the first subset of TOA stamps, and wherein TOA stamps of the set of TOA stamps are delivered in association with information indicative of a location anchor broadcasting each broadcast message having a TOA stamp among the set of TOA stamps and indicative of a location anchor receiving each broadcast message having a TOA stamp among the set of TOA stamps; identifying the location anchor broadcasting and the location anchor receiving each broadcast message having a TOA stamp among the set of TOA stamps based on the information; calculating, with the computer system, time-difference-of-arrival (TDOA) values from the first subset of TOA stamps and the second subset of TOA stamps corresponding to the first broadcast message and the second broadcast message, and from the broadcasting location anchor and the receiving location anchor that are identified; determining, with the computer system, a first set of parameters that define a first clock model function and a second set of parameters that define a second clock model function using at least four of the TDOA values, wherein the first clock model function and the second clock model function describe a time dependence factor of the TDOA values associated with the first broadcast message and the second broadcast message; calculating, with the computer system, a phase difference from the first clock model function for the first location anchor and the second clock model function for the second location anchor, between time bases of the first location anchor and the second location anchor identified from the set of TOA stamp; operating, with the computer system, a third location anchor, in which the first location anchor, the second location anchor, or the third location anchor are in respective pairs, that broadcasts and receives broadcast messages, and that provides one or more TOA stamps among the first subset of TOA stamps and the second subset of TOA stamps; and determining, with the computer system, respective phase differences of the time bases of the respective pairs.

2. The medium of claim 1, wherein the operations further comprise: correcting, with the computer system, at least one of the TDOA values based on the calculated phase difference.

3. The medium of claim 1, wherein the first subset of TOA stamps and the second subset of TOA stamps further include information indicative of a first source location anchor from which the first broadcast message and a second source location anchor from which the second broadcast message originate, and information indicating a first receiving location anchor that received the first broadcast message and a second receiving location anchor that received the second broadcast message.

4. The medium of claim 1, wherein calculating the phase difference further comprises using the first set of parameters of the first clock model function and the second set of parameters of the second clock model function, the first clock model function and the second clock model function being linear functions.

5. The medium of claim 4, wherein the first set of parameters further comprises a first parameter value of the first set of parameters that corresponds to an offset of a linear function of the first clock model function, and the operations further comprise: determining, for at least one of the first clock model function and the second clock model function, a respective second parameter value corresponding to a slope of the linear function of each of the first clock model function and the second clock model function respectively.

6. The medium of claim 1, wherein the first location anchor determines a self-reception time by self-reception of the first broadcast message with a first location anchor antenna.

7. The medium of claim 1, wherein the set of TOA values are received via a wired connection.

8. The medium of claim 1, wherein the first time of reception is determined by the second location anchor and the second time of reception is determined by the first location anchor.

9. The medium of claim 1, wherein the operations further comprise steps for determining the first self-reception time or the second self-reception time.

10. The medium of claim 1, wherein the operations further comprise steps for calculating the phase difference.

11. A system, comprising: a first location anchor configured to broadcast a first broadcast message, self-receive the first broadcast message, and determine a first self-reception time of the first broadcast message; and a second location anchor configured to broadcast a second broadcast message, self-receive the second broadcast message, and determine a second self-reception time of the second broadcast message, wherein the second location anchor receives the first broadcast message, the first location anchor receives the second broadcast message, and the first location anchor and the second location anchor generate a first set of time-of-arrival (TOA) stamps indicative of respective times of reception of the first broadcast message and the second broadcast message and a second set of TOA stamps indicative of the first self-reception time and the second self-reception time; and a server configured to: receive the first set of TOA stamps and the second set of TOA stamps, wherein TOA stamps are delivered in association with information indicative of a location anchor broadcasting each broadcast message having a TOA stamp among the first set of TOA stamps and the second set of TOA stamps and indicative of a location anchor receiving each broadcast message having a TOA stamp among the first set of TOA stamps and the second set of TOA stamps; identify the location anchor broadcasting and the location anchor receiving each broadcast message having a TOA stamp among the first set of TOA stamps and the second set of TOA stamps based on the information; calculate time-difference-of-arrival (TDOA) values based on the first set of TOA stamps and the second set of TOA stamps corresponding to the first broadcast message and the second broadcast message, and from the broadcasting location anchor and the receiving location anchor that are identified; determine a first set of parameters that define a first clock model function and a second set of parameters that define a second clock model function using at least four of the TDOA values, wherein the first clock model function and the second clock model function describe a time dependence factor of the TDOA values associated with the first broadcast message and the second broadcast message; and calculate, using the TDOA values, a phase difference, according to the first clock model function for the first location anchor and the second clock model function for the second location anchor, between time bases of the first location anchor and the second location anchor identified from the first set of TOA stamps.

12. The system of claim 11, wherein the TOA stamps further include information indicative of a receiving location anchor that received the first broadcast message and the second broadcast message.

13. The system of claim 11, wherein the first clock model function and the second clock model function are linear functions and a respective first parameter value of the first set of parameters corresponding to an offset of each respective linear function; and determining, for at least one of the first clock model function and the second clock model function, a respective second parameter value corresponding to a slope of each respective linear function.

14. A method, comprising: receiving, by a computer system, a set of time-of-arrival (TOA) stamps, wherein the set of TOA stamps comprises: a first subset of TOA stamps indicative of a first time of reception of a first broadcast message that is broadcasted from a first location anchor and that is received and stamped by a second location anchor, and a second time of reception of a second broadcast message that is broadcasted from the second location anchor and that is received and stamped by the first location anchor; and a second subset of TOA stamps based on a first self-reception time of the first broadcast message by the first location anchor and a second self-reception time of the second broadcast message by the second location anchor, wherein the second subset of TOA stamps have smaller multipath error than the first subset of TOA stamps, and wherein the TOA stamps of the set of TOA stamps are delivered in association with information indicative of a location anchor broadcasting each broadcast message having a TOA stamp among the set of TOA stamps and indicative of a location anchor receiving each broadcast message having a TOA stamp among the set of TOA stamps; identifying the location anchor broadcasting and the location anchor receiving each broadcast message having a TOA stamp among the set of TOA stamps based on the information; calculating, by the computer system, time-difference-of-arrival (TDOA) values from the first subset of TOA stamps and the second subset of TOA stamps corresponding to the first broadcast message and the second broadcast message, and from the broadcasting location anchor and the receiving location anchor that are identified; determining, by the computer system, a first set of parameters that define a first clock model function and a second set of parameters that define a second clock model function using at least four of the TDOA values, wherein the first clock model function and the second clock model function describe a time dependence factor of the TDOA values associated with the first broadcast message and the second broadcast message; calculating, by the computer system, a phase difference from the first clock model function for the first location anchor and the second clock model function for the second location anchor, between time bases of the first location anchor and the second location anchor identified from the set of TOA stamps; operating, with the computer system, a third location anchor, in which the first location anchor, the second location anchor, or the third location anchor are in respective pairs, that broadcasts and receives broadcast messages, and that provides one or more TOA stamps among the first subset of TOA stamps and the second subset of TOA stamps; and determining, with the computer system, respective phase differences of the time bases of the respective pairs.

15. The method of claim 14, further comprising: correcting, by the computer system, at least one of the TDOA values based on the calculated phase difference.

16. The method of claim 14, wherein the first subset of TOA stamps and the second subset of TOA stamps further include information indicative of a source location anchor from which the first broadcast message and the second broadcast message originate, and information indicating a receiving location anchor that received the first broadcast message and the second broadcast message.

17. The method of claim 14, wherein the first set of parameters further comprises a first parameter value of the first set of parameters that corresponds to an offset of a linear function of the first clock model function, and the method further comprises: determining, by the computer system and for at least one of the first clock model function and the second clock model function, a respective second parameter value corresponding to a slope of the linear function of each of the first clock model function and the second clock model function respectively.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 shows a typical state of the art Real Time Locating System

(2) FIG. 2 shows a general embodiment of the invention

(3) FIG. 3 shows the minimal embodiment of the invention with two anchors

(4) FIG. 4 shows the generation of timestamps of location anchors when transmitting and receiving messages

(5) FIG. 5 shows the processing of timestamps at the location server

(6) FIG. 6 shows a situation with blocked direct connection between two location anchors

(7) FIG. 7 shows a time diagram for TDOAs between two location anchors when one location anchor is also the originator of the message

(8) FIG. 8 shows a block diagram of a location anchor, according to an embodiment of the present invention

DETAILED DESCRIPTION OF EMBODIMENTS

(9) A first embodiment of the invention is depicted in FIG. 2. For the purpose of clarity, those location receivers, which have wireless receivers and which are located at known positions will be called location anchors in the following and share the reference label 200. The location anchors 200 are each connected with at least one location server 204 through some communication channel 103, which may be wired or wireless, the latter including, but not being limited to a radio communication, infrared or acoustic communication channel.

(10) The location anchors 200 are capable of wirelessly transmitting signals. Each or at least some of the location anchors 200 are also capable of receiving wirelessly transmitted signals or messages from other location anchors 200, and they are capable of receiving wirelessly transmitted signals or messages from location tags 102, the position of which is initially unknown and which are thus to be located.

(11) Furthermore the location anchors 200 are capable of transmitting messages. However, this capability is used completely different from prior-art systems described in the introductory part of the present specification as background art.

(12) The location anchors 200 generate time of arrival stamps (TOAs) for messages they receive, and they also generate additional TOAs for messages they transmit. This is indicated by a self reception arrow 205. It is important to note that those additional TOAs have little or no multipath error, because the transmission path from the transmission antenna to the reception antenna (which may even be implemented by only one antenna) is not subject to significant multipath effects.

(13) Each location anchor 200 is equipped with some kind of time base. Typically a crystal oscillator is used.

(14) In order to fully and precisely describe the invention, a time base model will be defined in the following. The commonly used, simple model which describes a time base based on two parameters, start offset and frequency error, is sufficient here. Of course, a time base model of higher complexity would result in more complex calculations, but would in the end yield similar or same results in the context of the present invention.

(15) We define:
C.sub.A.sub.n(t)=T.sub.A.sub.n.sup.o+(1+e.sub.A.sub.n)t,n={1,2, . . . ,N}  (1)

(16) where

(17) t is the true reference time;

(18) C.sub.A.sub.n (t) is the instantaneous phase of the time base of location anchor

(19) An at time t;

(20) In other words, the instantaneous phase of the time base of a location anchor is a time value that the time base of the location anchor provides at a given time value of the true reference time.

(21) T.sub.A.sub.n.sup.o is the initial offset of the time base of location anchor An and can be interpreted as random start value at t=0; and

(22) e.sub.A.sub.n is the frequency error of time base of location anchor An.

(23) Typically the absolute value of the frequency error is below a known limit, e.g., a tolerance of a crystal. Due to changes in temperature, supply voltage etc. it will vary randomly but slowly.

(24) Although the number of location anchors usable by the invention is not limited, for explanatory purposes the calculation involved will be derived for a minimum embodiment with two location anchors A1 and A2 as depicted in FIG. 3. As indicated in FIG. 3, the propagation time, T.sup.propagation 300, of a message which travels form location anchor A1 to location anchor A2 or vice versa consists of two components, which are the duration T.sup.geo which results from the geometric distance between location anchors A1 and A2 and the error T.sup.mpe which is caused by multipath propagation.

(25) With (1) and
T.sub.A.sub.1.sub.A.sub.2.sup.0=T.sub.A.sub.1.sup.o−T.sub.A.sub.2.sup.o
e.sub.A.sub.1.sub.A.sub.2=e.sub.A.sub.1−e.sub.A.sub.2  (2)

(26) where

(27) T.sub.A.sub.1.sub.A.sub.2.sup.0 is the initial offset difference between the time bases of location anchors A1 and A2, and

(28) e.sub.A.sub.1.sub.A.sub.2 is the frequency-error difference between the time bases of location anchors A1 and A2,

(29) the instantaneous phase difference between the time bases of the two location anchors at time t can be expressed as
C.sub.A.sub.1.sub.A.sub.2(t)=C.sub.A.sub.1(t)−C.sub.A.sub.2(t)=T.sub.A.sub.1.sup.o−T.sub.A.sub.2.sup.o+(e.sub.A.sub.1−e.sub.A.sub.2).Math.t=T.sub.A.sub.1.sub.A.sub.2e.sub.A.sub.1.sub.A.sub.2.Math.t  (3)

(30) Every once in a while each location anchor wirelessly transmits a message which can be received by one or more location anchors. It is irrelevant how the transmission is triggered (random, deterministic, synchronized or other). Each of the N location anchors, which receive the message, generates a TOA stamp, with respect to its individual time base.

(31) It is important to note that the transmitting location anchor also generates a TOA stamp for the message transmitted by this very location anchor itself. Several possibilities for generating this special TOA stamp exist. For example, this TOA stamp can be derived from the time of transmission. As an alternative, it can be generated by a receiver, to which the propagation delay and multipath delay are either zero, for instance because it is colocated with the transmitting part of the location anchor, or to which the propagation delay and multipath delay are exactly known. The receiver must be active during transmission of the message.

(32) It is assumed in the following, that location anchor A1 has transmitted a broadcast message at t=t1 and that it has generated the TOA stamp TOA.sub.A.sub.1.sub.,A.sub.1.sub.,t=t.sub.1, while location anchor A2 has generated the TOA stamp TOA.sub.A.sub.1.sub.,A.sub.2.sub.,t=t.sub.1 upon reception of the broadcast message transmitted by location anchor A1. In the notation used here for the TOA stamps, the first index indicates the source location anchor, from which the message originates, while the second index indicates the receiving location anchor. The third index indicates the true time at which the transmitting location anchor would have received the message. Similarly, for the broadcast message transmitted by the second location anchor A2, the first location anchor A1 generates a TOA stamp TOA.sub.A.sub.2.sub.,A.sub.1.sub.,t=t.sub.2, and the transmitting second location anchor generates a time stamp TOA.sub.A.sub.2.sub.,A.sub.2.sub.,t=t.sub.2. Thus, for example, after each of the two location anchors A1, A2 has sent one broadcast message, four TOA stamps have been generated, two at the first location anchor A1, and two at the second location anchor A2. After each of the two location A1, A2 has sent two broadcast message, eight TOA stamps have been generated, four at the first location anchor A1, and four at the second location anchor A2. For reasons of clarity and conciseness of the present specification, the symbols used for the time stamps do not explicitly show an additional index that would refer to an order number per anchor of a respective broadcast message, that is, whether the time stamp refers to the first, second, third, etc. broadcast message transmitted by the respective location anchor. This additional index would not provide any additional help in explaining the principle discussed in the present context.

(33) Without loss of generality and only for reasons of clarity, we can assume that the time base of anchor A1 is absolutely correct, which means that the location anchor A1 has the ‘true’ time. Hence we can write:
T.sub.A.sub.1.sup.o=0
e.sub.A.sub.1=0  (4)

(34) Using (1) and (4) we get for a transmission of a message from location anchor A1 at t=t1 for the TOA stamp at location anchor A1:
TOA.sub.A.sub.1.sub.,A.sub.1.sub.,t=t.sub.1=t.sub.1  (5)

(35) Using (1), (2) and (4) we get for a transmission of the same message from location anchor A1 at t=t1 for the TOA stamp at location anchor A2:
TOA.sub.A.sub.1.sub.,A.sub.2.sub.,t=t.sub.1=−T.sub.A.sub.1.sub.A.sub.2.sup.0+t.sub.1−e.sub.A.sub.1.sub.A.sub.2.Math.t.sub.1+T.sub.A.sub.1.sub.A.sub.2.sup.geo+T.sub.A.sub.1.sub.A.sub.2.sup.mpe  (6)

(36) wherein

(37) T.sub.A.sub.1.sub.A.sub.2.sup.geo is the propagation time caused only by a (nearest) geometrical distance between location anchor A1 and location anchor A2, and

(38) T.sub.A.sub.1.sub.A.sub.2.sup.mpe is the multipath delay encountered by a signal, which travels from location anchor A1 to location anchor A2.

(39) For most wireless media it is reasonable to assume reciprocal propagation of signals. Thus we can write:
T.sub.A.sub.2.sub.A.sub.1.sup.geo=T.sub.A.sub.1.sub.A.sub.2.sup.geo
T.sub.A.sub.2.sub.A.sub.1.sup.mpe=T.sub.A.sub.1.sub.A.sub.2.sup.mpe  (7)

(40) Using (5), (6) and (7) the Time Difference Of Arrival between location anchors A1 and A2 for the message transmitted by the location anchor A1 at time t1 can be calculated as follows:
TDOA.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t=t.sub.1=TOA.sub.A.sub.1.sub.,A.sub.1.sub.,t=t.sub.1−TOA.sub.A.sub.1.sub.,A.sub.2.sub.,t=t.sub.1  (8)
This yields
TDOA.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t=t.sub.1=T.sub.A.sub.1.sub.A.sub.2.sup.0−T.sub.A.sub.1.sub.A.sub.2.sup.geo−T.sub.A.sub.1.sub.A.sub.2.sup.mpe+e.sub.A.sub.1.sub.A.sub.2.Math.t.sub.1  (9)

(41) It should be noted that, since the terms T.sub.A.sub.1.sub.A.sub.2.sup.0, e.sub.A.sub.1.sub.A.sub.2, T.sub.A.sub.1.sub.A.sub.2.sup.geo and T.sub.A.sub.1.sub.A.sub.2.sup.mpe are each constant or varying slowly, equation (9) can be approximated as a straight line with offset K.sub.Λ.sub.1.sub.Λ.sub.2 and slope e.sub.Λ.sub.1.sub.Λ.sub.2 and the variable t, which straight line is sampled at t=t1. This can be represented as follows
TDOA.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t=k.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2+s.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2.Math.t  (10)

(42) This means that from at least two measurements of TDO.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t at different times, say for example TDO.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t.sub.1 TDO.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2.sub.,t.sub.3 estimates of the parameters k.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2 (offset) and s.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2 (slope) can be obtained by common techniques of parameter estimation, e.g., least square fitting, Kalman-filtering etc., which are well known to a person of ordinary skill in the art. The estimates are related as follows to physical quantities involved:
{circumflex over (k)}.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2≈k.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2=T.sub.A.sub.1.sub.A.sub.2.sup.0−T.sub.A.sub.1.sub.A.sub.2.sup.geo−T.sub.A.sub.1.sub.A.sub.2.sup.mpe
ŝ.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2≈a.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2=e.sub.A.sub.1.sub.A.sub.2  (11)

(43) The symbol “{circumflex over ( )}” is used here for indicating that the respective value is an estimate. In other words, the estimate {circumflex over (k)}.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2 is related to the initial offset difference T.sub.A.sub.1.sub.A.sub.2.sup.0 between the time bases of the location anchors A1 and A2, to the propagation time based on geometrical distance only, and to the multipath delay encountered by the signal, which travels from location anchor A1 to location anchor A2.

(44) Similarly as above, for the transmission of the broadcast message from location anchor A2 at t=t.sub.2:
TOA.sub.A.sub.2.sub.,A.sub.1.sub.,t=t.sub.2=t.sub.2+T.sub.A.sub.1.sub.A.sub.2.sup.geo+T.sub.A.sub.1.sub.A.sub.2.sup.mpe
TOA.sub.A.sub.2.sub.,A.sub.2.sub.,t=t.sub.2=−T.sub.A.sub.1.sub.A.sub.2.sup.0+t.sub.2−e.sub.A.sub.1.sub.A.sub.2.Math.t.sub.2  (12)

(45) and the corresponding TDOA for the message transmitted by the location anchor A2 at the time t.sub.2 is:
TDOA.sub.A.sub.2.sub.,A.sub.1.sub.,A.sub.2.sub.,t=t.sub.2=T.sub.A.sub.1.sub.A.sub.2.sup.0+T.sub.A.sub.1.sub.A.sub.2.sup.geo+T.sub.A.sub.1.sub.A.sub.2.sup.mpe+e.sub.A.sub.1.sub.A.sub.2.Math.t.sub.2  (13)

(46) Estimating the parameters yields
{circumflex over (k)}.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2≈k.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2=T.sub.A.sub.1.sub.A.sub.2.sup.0+T.sub.A.sub.1.sub.A.sub.2.sup.geo+T.sub.A.sub.1.sub.A.sub.2.sup.mpe
ŝ.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2≈s.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2=e.sub.A.sub.1.sub.A.sub.2  (14)

(47) Since T.sub.A.sub.1.sub.A.sub.2.sup.mpe appear with opposite signs in equations (11) and (14) it is now possible to determine an estimate for the unknown T.sub.A.sub.1.sub.A.sub.2.sup.0 using equation (15)
{circumflex over (T)}.sub.A.sub.1.sub.A.sub.2.sup.0=½({circumflex over (k)}.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2+{circumflex over (k)}.sub.A.sub.1.sub.A.sub.2.sub.A.sub.2)  (15)

(48) Equation (15) yields an estimate for the initial offset between the time bases of the two location anchors A1 and A2. It is to be pointed out that the estimate is not affected by multipath error T.sub.A.sub.1.sub.A.sub.2.sup.mpe, and is not even affected by the propagation time T.sub.A.sub.1.sub.A.sub.2.sup.geo of the signal over the geometrical distance.

(49) If T.sub.A.sub.1.sub.A.sub.2.sup.geo is given, e.g., from the known locations of the location anchors A1 and A2, T.sub.A.sub.1.sub.A.sub.2.sup.mpe can be estimated from equations (11) and (14) as
{circumflex over (T)}.sub.A.sub.1.sub.A.sub.2.sup.mpe=½({circumflex over (k)}.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2−{circumflex over (k)}.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2)−T.sub.A.sub.1.sub.A.sub.2.sup.geo  (16)

(50) Regarding the slope of the lines it is possible to utilize the fact that both lines should have the same slope and thus two independent estimates for one parameter are available and can for example be averaged in order to further reduce the estimation error as indicated in equation (17)
ê.sub.A.sub.1.sub.A.sub.2=½(ŝ.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2)  (17)

(51) With the estimates obtained up to equation (15) it is now possible to calculate an estimate for the instantaneous phase difference between the time bases of the two location anchors A1 and A2 at any time t. For example either equation (18) or (19) could be used
Ĉ.sub.A.sub.1.sub.A.sub.2(t)={circumflex over (T)}.sub.A.sub.1.sub.A.sub.2.sup.0.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2.Math.t  (18)
Ĉ.sub.A.sub.1.sub.A.sub.2(t)={circumflex over (T)}.sub.A.sub.1.sub.A.sub.2.sup.0.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2.Math.t  (19)

(52) A potentially even better estimate is obtained when the result from equation (17) is used. This yields equation (20):
Ĉ.sub.A.sub.1.sub.A.sub.2(t)={circumflex over (T)}.sub.A.sub.1.sub.A.sub.2.sup.0.sub.A.sub.1.sub.A.sub.2.Math.t  (20)

(53) Of course the same result would be obtained if the values at time t of the functions defined in equations (9) and (13) were estimated first and then averaged. This shown in equation (21)
Ĉ.sub.A.sub.1.sub.A.sub.2(t)=½({circumflex over (k)}.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2.sub.A.sub.2.sub.A.sub.1.sub.A.sub.2.Math.t)+({circumflex over (k)}.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2.sub.A.sub.1.sub.A.sub.1.sub.A.sub.2.Math.t)  (21)

(54) It should be emphasized that the above equations, which were derived for one location anchor pair, can be applied to any location anchor pair in which the location anchors receive messages from each other in a system with an arbitrary number N of location anchors. Thus, information on timebase differences and multipath error between many or all location-anchor pairs is available.

(55) In the use case of a real-time locating system additionally comprising a location tag, wherein the location of the location tag is unknown and the respective positions of the first and second location anchors are known to a location server, if a message from a location tag is received by a location anchor pair at time t—wherein any of the location anchors may serve as a time reference for t, irrespective of its correctness in terms of true time, because what matters in the present context is only the difference in respective times of the respective time bases of the location anchors —, the multipath-error free synchronization correction value between the two location anchors can be estimated and subtracted from the TDOA measured for the location tag. This yields a TDOA estimate or, after multiplying with the propagation speed, distance difference for the location tag with none or minimum synchronization error. For further processing of the TDOA values of location tags and/or for improvement of the location estimate of location tags the multipath information from equation (16) will be useful.

DETAILED DESCRIPTION OF FIG. 4

(56) FIG. 4 depicts the generation of TOA stamps of the location anchors 200.

(57) From time to time each location anchor 200 transmits a message, which is received by other (not necessarily all) location anchors 200. The timing for transmitting may be independent or coordinated between the location anchors. Location anchors 200 generate a TOA stamp 402 for each message which they receive. For messages which they transmit they also generate TOA stamps 401 which match the TOA stamp they would have generated if they had received the message over their reception antenna without any or with negligible multipath delay.

(58) After two location anchors have received at least two messages from each other and the respective TOA stamps have been gathered in one place, typically the location server, the method disclosed in this invention can be applied. Further messages can be processed similarly in order to update and improve results.

(59) Location anchors typically report the TOA stamps (TOAs) they generate to the location server together with information on the originating source of the message and other information like message ids. In the example here messages send out from a location anchor are enumerated with a counter which is given in brackets in order to identify a TOA stamp. E.g. TOA.sub.An,A1(2) denotes the time of arrival at location anchor A1, of the second message sent by location anchor An.

DETAILED DESCRIPTION OF FIG. 5

(60) FIG. 5 depicts the processing of TOAs in the location server. At first TOAs reported by location anchors are collected 501 and TOAs which are related to the same message are grouped together 502. This grouping may be based on the time context of the incoming TOAs or on other information like the originating source, some message content like for example a message identifier or counter or on a combination of such.

(61) In the next step some or all possible TDOAs in-between location anchor pairs are calculated from the TOAs 503.

(62) Further processing depends on the type of source of the originating message for which the TOAs were generated.

(63) If the message for which the TOAs have been generated, was transmitted by a location anchor, the resulting TDOAs are used for estimating the parameters of time base differences in-between the location anchor pairs like indicated in equations (11) and (14). At this point these parameter estimates are still subject to multipath error 504. Such estimation can be achieved by state of the art techniques like Kalman filtering or others. It is also possible to collect time series of TDOAs for location anchor pairs and update the estimation once in a while using all or some of the collected TDOAs.

(64) If on the other hand the message was transmitted by a location tag, the instantaneous multipath error free phase differences for some or all location anchor pairs are calculated 505 using the method indicated by equation (18) or (19) or (20) or (21).

(65) By applying (e.g. subtracting) the synchronisation correction values from the TDOAs of the location tag obtained in 503 synchronization error free TDOA values for the location tag are obtained 507.

(66) In an enhanced embodiment further steps are taken:

(67) Using the estimates obtained in 504 and applying equation (16) the multipath errors in-between anchor pairs are explicitly found 510. The multipath information found in 510 can either be passed up or it can be used immediately. Since the TDOA values of the location tags are still subject to multipath error between location tag and location anchors, there is a potential to reduce this multipath error. For example by utilizing the statistical correlation of multipath errors between different locations in one environment the TDOA values of the location tags can be reduced by a certain amount based on the multipath error determined between location anchors 511.

DETAILED DESCRIPTION OF FIG. 6

(68) As indicated in FIG. 6 the benefit of the disclosed invention even carries in situations in which there is no direct wireless connection in between a location anchor pair. Due to their spacing and the existence of a blocking obstacle 601 location anchor A1 does not receive messages from A2 and vice versa. Thus the parameter sets from 504 are not available for location anchor pair A1, A2. However they are available for location anchor pairs A1, A3 and A2, A3. If location anchor pair A1, A2 receives a message from a tag T1 the synchronization correction value for this location anchor pair is calculated out of the synchronization correction values for location pairs A1, A3 and A2, A3.

DETAILED DESCRIPTION OF FIG. 7

(69) As has been shown in equation (3) the time base difference between two location anchors changes over time but it can be modelled in a as a simple function e.g. as a straight line at least within a certain time interval of observation. FIG. 7 is a visualization of the time base differences between two location anchors A1, A2 and the TDOAs calculated from the TOAs between two location anchors when one location anchor is also the originator of the message.

(70) In case A1 is the originator the TDOA.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2 as introduced in equation (8) are plotted as +701. A straight line 710 is estimated from these TDOA measurements 701. In case A2 is the originator the TDOAs TDOA.sub.A.sub.1.sub.,A.sub.1.sub.,A.sub.2 are plotted as x 702. A straight line 720 is estimated from these TDOA measurements 702. Since the multipath error and geometry caused propagation time effect those lines with opposite signs the error free time base offset is the straight line 730 in between. Thus the error free time base offset between the two location anchors can be estimated for any time for which the function 730 which in this example is a piece of a straight line for illustration purposes, can be estimated.

(71) A location server, according to an embodiment of the present invention, is shown in FIG. 8. As shown in FIG. 8, the location server 204 comprises a transmitting/receiving part 210 configured to receive pairs of TOA stamps from a first and a second location anchors (not shown) and to provide the TOA stamps to a TDOA unit 220 configured to calculate TDOA values. The location server 204 further comprises a parameter estimation unit 230 configured to determine first and second sets of parameters from the calculated TDOA values; and a phase-difference determination unit 240 configured to calculate the instantaneous phase difference from either some or all elements of the determined sets of parameters. The location server may comprise a multipath estimation unit 260 configured to calculate a message propagation time span using the known locations of the first and second location anchors and a known speed of signal propagation in the broadcast medium; and to calculate a multipath error of the reception time, using only a difference between elements of the determined sets of parameters of the first and second clock model functions, and using the message propagation time span.

(72) The location server 204 is configured to determine a difference of distances of a location tag from at least two location anchors, the location of the location tag being unknown and the respective locations of the location anchors being known to a location server, wherein the transmitting/receiving part 210 is configured to receive, from the first and second location anchors, tag TOA stamps, which are indicative of a first and second time of reception of the tag message broadcast by the location tag at the first and second location anchor, respectively, in terms of the time base of the first and second location anchor, respectively. The phase-difference determination unit 240 is also configured to determine an instantaneous phase difference between time bases of the first and second location anchors for the time at which the tag message has been received by one of the anchors. The TDOA unit 220 is configured to determine a TDOA value for the tag message from the first and second TOA stamps and to correct the determined TDOA value by the determined instantaneous phase difference, thus obtaining a corrected TDOA value. The location server 204 also comprises a locating unit 250 configured to determine a difference in distance of the location tag from the first and second location anchor, using the corrected TDOA value and a known speed of signal propagation within a broadcast medium used by the first and second location anchors and by the location tag.