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.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority under 35 USC §119(e) to European Patent Application No. 11 166 284.7 filed on May 16, 2011 and European Patent Application No. 11 181 681.5 filed on Sep. 16, 2011, which applications are hereby incorporated by reference. 
       FIELD OF THE INVENTION 
       [0002]    The present invention relates to the field of wireless synchronization, which can be used for instance in Real Time Locating Systems (RTLS) based on Time Difference Of Arrival (TDOA). 
       BACKGROUND OF THE INVENTION 
       [0003]    In Real Time Locating Systems, which utilize a Time Difference Of Arrival of messages transmitted by location tags and received by location receivers, time base synchronization between location receivers is a key task. 
         [0004]    In the context of the present specification, synchronization is to be understood as a determination of a synchronization correction value, which describes the difference between the time assessed in accordance with the different time bases of the location receivers at a given moment. Whether this information is subsequently used to actually adjust the time bases or to correct TDOA values which were generated using these time bases is irrelevant. The latter use of synchronization is sometimes called “virtual synchronization”, for instance in U.S. Pat. No. 6,968,194 B2. 
         [0005]    In many products synchronization is achieved by connecting the location receivers, which herein will also referred to as location anchors, with a reference time base over a wired connection. Obviously, however, a wired connection is expensive to install and in some cases may even be impossible to install. 
         [0006]    Several methods have been developed in order to perform said synchronization via a wireless channel. Such methods use a reference device, which transmits a reference signal. For example, US 2004/0108954 A and U.S. Pat. No. 7,492,316 B1 describe the use of a “reference tag”, which transmits a sequence of pulses as a reference signal, for distributing reference timing within a network of location receivers. 
         [0007]    Another system described in U.S. Pat. No. 7,528,776 B2 makes use of the fact that the reference device is positioned at a known location. 
         [0008]    Another prior-art Real Time Locating System that uses a wireless channel for synchronization is shown in  FIG. 1 . It comprises location receivers  100 , reference devices  101 , location tags  102  and a location server  104 . The location receivers  100  are located at known positions. The reference devices  101 , which will also be called reference tags herein, are also located at known positions. The location tags  102  are those devices, for which the current position shall be identified by the RTLS. 
         [0009]    For synchronization purposes, the reference tags  101  periodically broadcast messages, which are received by the location receivers  100 . Based on the respective Times Of Arrival (TOAs), time differences of arrival (TDOAs) between the respective times of reception of these messages by different location receivers  100  are calculated. Given the known positions of the reference tags, the synchronization between the location receivers  100  is calculated. 
         [0010]    In order to determine the location of the location tags  102 , the location tags  102  broadcast messages, which are received by at least some of the location receivers  100 . The respective TOAs of these messages are recorded at the location receivers  100  and reported to the location server  104 . The location server  104  calculates the TDOAs between location receivers. Based on the TDOAs and the known positions of the location receivers  100  the location server  104  determines the location of the location tags  102 . 
         [0011]    In practice, a message which is transmitted by the reference tag  101  and received by location receivers  100  is subject to multipath propagation. This multipath propagation causes an error in the synchronization of the location receivers  100 . Thus, the synchronization between location receivers  100  and the subsequent calculations of TDOAs and locations of location tags may be highly inaccurate in a multipath environment. 
         [0012]    US 2008/0095131 A1 addresses the problem of multipath propagation of reference messages by performing a distance measurement between a reference tag, (which is called “sync unit”), and the location receivers. Basically, two-way ranging measurements between location receivers and reference tags are suggested. Two way ranging has been described for example in annex D1.3.1 of IEEE 802.15.4a-2007. For this purpose, the location receivers are also capable of transmitting messages. Hence the location receivers of this system might actually be called location transceivers. A drawback of the approach disclosed in US 2008/0095131 A1 lies in the fact that the accuracy of the two-way ranging will strongly depend on the accuracy of the time bases of the location receivers involved. Furthermore, this approach puts additional hardware complexity and additional processing load on the location receivers by requiring the handling of the two-way ranging process, which consumes additional airtime and energy. 
       SUMMARY OF THE INVENTION 
       [0013]    According a first aspect of the present invention, a method for determining an instantaneous phase difference Ĉ A     1     A     2   (t) between time bases of at least two location anchors A 1 , A 2  at 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 is provided. The method comprises in one embodiment
       a first of the location anchors broadcasting a first broadcast message at least twice, that is, at different times;   the first location anchor and at least a second of the location anchors receiving the first broadcast messages;   the second location anchor broadcasting a second broadcast message at least twice, that is, at different times;   the second location anchor and at least the first location anchor receiving the second broadcast messages;   the first and the second location anchors each generating time-of-arrival stamps, hereinafter TOA stamps, which are indicative of respective first and second times of reception of the first and second broadcast messages in terms of their respective time base, wherein the first and second location anchor not only generates TOA stamps for the broadcast messages received from the respective other of the first and second location anchors, but also TOA stamps for the broadcast messages received from the respective same location anchor itself;   the first and second location anchor providing the generated TOA stamps to a location server in a manner that allows the location server an identification of also the location anchor broadcasting the broadcast message subject to a respective TOA stamp, of the location anchor receiving the broadcast message subject to a respective TOA stamp, and of the broadcast message;   the location server calculating time-difference-of-arrival values, hereinafter TDOA values, from each pair of collected TOA stamps that pertains to the same first or second broadcast message;   the location server, using at least two of the calculated TDOA values pertaining to the broadcast messages broadcast by a respective one of the first and second location anchor, respectively, determining first and second set of parameters that define a first and a second clock model function of time, respectively, the first clock model function describing a time dependence of the TDOA values of the broadcast messages transmitted by the first location anchor only, and the second clock model function describing a time dependence of the TDOA values of the broadcast messages transmitted by the second location anchor only;   the location server calculating the instantaneous phase difference from the 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.       
 
         [0023]    The present invention discloses methods including a real-time locating method and a real-time locating system, which eliminate the need for using reference tags and which yields synchronization between location anchors free of multipath error even without requiring additional measurements. Instead of performing additional measurements, a time base difference free of multipath error is calculated based on pairs of measured TDOA values subject to multipath error. Thus, air time used for location anchor synchronization is minimized and the capacity of location tags in the system can be maximized. 
         [0024]    The method of the first aspect of the invention allows determining an estimate of the instantaneous phase difference between the time bases of location anchors. This estimate is not affected by multipath error, and is also not affected by errors in determining the propagation time of the signal over the geometrical distance. 
         [0025]    The method provides a basis for numerous advantageous embodiments, which, for instance determining a precise distance of a location tag from location anchors, or determining a precise position of a location tag, or other location-related information. Furthermore, the disclosed method is capable of generating detailed information on the multipath situation, in which the system is operated, by determining the value of a multipath error for the exchange between different or all possible pairs of location anchors. 
         [0026]    Since the method works per location anchor pair, the disclosed invention can easily be applied to small systems which contain at least two anchors as well as to large and very large systems with in principle unlimited numbers of location anchors distributed over a wide spatial area. 
         [0027]    A location anchor according to the present invention may be implemented in various forms and using one or more different technologies for communication of broadcast messages. In one embodiment, the location anchor is implemented in a fixed network node of a long-range radio access network operating in accordance with a wireless communication standard, such as, for instance, GSM, UMTS or LTE. As such, the location anchor may be implemented for example in the form of a base station or Node B. In another embodiment, the location anchor is implemented in a fixed network node of a local wireless network installation using for instance a short-range radio network communication technology standard such as Bluetooth, ZigBEE, Wireless LAN/Wi-Fi, or WPAN. “Fixed” means that the respective location anchor is not in motion with respect to the other location anchors involved in the processing of the method according to the present invention. In most application cases, the location anchors involved are installed at respective locations known to the location server and do not move at all during operation. 
         [0028]    Different clock model functions may be of same function type, i.e., show the same type of dependence (linear, quadratic, etc.) on time t, but may be shifted along the vertical axis (ordinate) with respect to with each other. As such, they may also be referred to as different clock model function realizations of the same clock model function. 
         [0029]    According to an embodiment of the method of the invention, the first and second clock model functions are linear functions. Calculating the instantaneous phase difference (Ĉ A     1     A     2   (t)) comprises in this embodiment determining first and second sets of parameters of the first and second clock model functions, a respective first parameter value corresponding to an offset of the respective linear function, and determining, for at least one of the first and second clock model functions, a respective second parameter value corresponding to a slope of the respective linear function. 
         [0030]    In a further embodiment, at least three locations anchors, in respective pairwise associations, broadcast and receive broadcast messages, and provide their TOA stamps to the location server. The method of this embodiment further comprises determining respective instantaneous phase differences of the time bases of the different pairs of the location anchors, by performing the method according to any embodiment of the first aspect of the invention individually for the different location anchor pairs. 
         [0031]    The time of reception to be included in a TOA stamp pertaining to a reception of a broadcast message sent by a subject location anchor itself may in one embodiment be determined by receiving the broadcast message via an antenna separate from an antenna used for transmitting the broadcast message. 
         [0032]    In a further embodiment, the location anchor determines a time of transmission of the broadcast message, and the time of reception is estimated by the location anchor being equal to the time of transmission. 
         [0033]    In a further embodiment, which may be used in combination with anyone of the preceding embodiments, the following steps are additionally performed:
       at least one of the location anchors and the location server monitoring a physical quantity indicative of a predetermined characteristic of a transmission channel used for the broadcast messages;   the location server or the location anchors adapting a time schedule for broadcasting the broadcast messages in dependence on an instantaneous value of the physical quantity.       
 
         [0036]    According a second aspect of the present invention, a method for determining a difference of distances of a location tag from at least two location anchors is provided, the location of the location tag being unknown and the respective locations of the location anchors being known to a location server. The method comprises:
       the location tag broadcasting a tag message;   a first and a second of the location anchors receiving the tag message;   the first and second location anchors generating first and second tag message time-of-arrival stamps, herein after tag TOA stamps, which are indicative of a first and second time of reception of the tag message at the first and second location anchor, respectively, in terms of the time base of the first and second location anchor, respectively;   the first and second location anchors providing the generated respective tag TOA stamps to the location server;   the location server determining a TDOA value for the tag message from the first and second tag TOA stamps;   the location server determining an instantaneous phase difference between time bases of the first and second location anchors for a time at which the tag message was received by one of the location anchors;   the location server correcting the determined TDOA value by the determined instantaneous phase difference, thus obtaining a corrected TDOA value;   the location server determining 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 the broadcast medium;   wherein determining the instantaneous phase difference between the time bases of the first and second location anchors comprises performing a method according to any of the embodiments of the method of the first aspect of the invention.       
 
         [0046]    According to a third aspect of the invention, a method for determining a location of a location tag in terms of an at least one-dimensional coordinate system comprises
       performing the method of the second aspect of the invention or any of its embodiments for at least two different pairs of location anchors formed by at least three location anchors, namely the first, the second and a at least a third location anchor;   the location server calculating differences in distance of the location tag from at least two different pairs formed by the first, second and third location anchors;   the location server determining the location of the location tag as the location that exhibits all calculated distance differences between the tag and the at least two different pairs formed by the first, second and third location anchors.       
 
         [0050]    According to a fourth aspect of the invention, a method for operating a location server in determining an instantaneous phase difference between time bases of at least two location anchors at a desired point in time t, each location anchor having a respective time base for measuring time comprises:
       the location server receiving, from a first and a second location anchor, pairs of TOA stamps, which are indicative of respective first and second times of reception of first and second messages in terms of their respective time base, wherein the location server receives from the first and second location anchor not only TOA stamps for messages broadcast from one and received by the respective other location anchor, but also TOA stamps for messages broadcast and received from the respective same location anchor itself;   the location server calculating time-difference-of-arrival values, hereinafter TDOA values, from each pair of collected TOA stamps that pertains to the same, i.e., either the first or the second message, respectively;   the location server, using at least two of the calculated TDOA values pertaining to the broadcast messages broadcast by a respective one of the first and second location anchor, respectively, determining first and second set of parameters that define a first and a second clock model function of time, respectively, the first clock model function describing a time dependence of the TDOA values of the broadcast messages transmitted by the first location anchor only, and the second clock model function describing a time dependence of the TDOA values of the broadcast messages transmitted by the second location anchor only;   the location server calculating the instantaneous phase difference from the 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.       
 
         [0055]    An embodiment of this method comprises
       the location server additionally determining the instantaneous phase differences between the time bases of the second location anchor and a third location anchor;   the location server calculating an instantaneous phase difference between the time bases of the first and the third location anchor only from the determined instantaneous phase differences between the time bases of the first and second location anchors and between the second and the third location anchors.       
 
         [0058]    A further embodiment comprises
       the location server scheduling a time of transmission of the broadcast messages by the location anchors using a time schedule and triggering the location anchors in accordance with the time schedule.       
 
         [0060]    According to another embodiment, the method of any of the previous embodiments of the present aspect of the invention further comprises
       the location server determining 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;   the location server determining a multipath error of the reception time at the desired point in time, using a difference between elements of the determined sets of parameters of the first and second clock model function and the message propagation time span.       
 
         [0063]    According to a fifth aspect of the invention, a method for operating a location server in determining 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. The method comprises
       the location server receiving, 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 location server determining a TDOA value for the tag message from the first and second TOA stamps;   the location server determining an instantaneous phase difference between time bases of the first and second location anchors for the time at which the tag message is received by one of the location anchors   the location server correcting the determined TDOA value by the determined instantaneous phase difference, thus obtaining a corrected TDOA value;   the location server determining 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 the broadcast medium;   wherein determining the instantaneous phase difference between the time bases of the first and second location anchors comprises performing a method according to one of embodiments 7 to 10.       
 
         [0070]    According to a sixth aspect of the invention, a method for operating a location anchor in determining an instantaneous phase difference between time bases of at least two location anchors at 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. The method comprises:
       broadcasting a first broadcast message at least twice, that is, at different times;   receiving the first broadcast messages;   receiving second broadcast messages from a second location anchor at least twice, that is, at different times;   generating time-of-arrival stamps, hereinafter TOA stamps, which are indicative of respective first and second times of reception of the first and second broadcast messages in terms of the time base of the location anchor, wherein location anchor not only generates TOA stamps for the broadcast messages received from a respective other location anchor, but also TOA stamps for the broadcast messages received from the subject location anchor itself;   providing the generated TOA stamps to a location server in a manner that allows the location server an identification of also the location anchor broadcasting the broadcast message subject to a respective TOA stamp, of the location anchor receiving the broadcast message subject to a respective TOA stamp, and of the broadcast message.       
 
         [0076]    In one embodiment, this method further comprises
       the location anchor scheduling respective times of transmission of the first or second broadcast messages at an individual time schedule, in particular a random time schedule.       
 
         [0078]    A seventh aspect of the present invention is formed by a location server. The location server comprises:
       a receiving part configured to receive, from a first and a second location anchor, pairs of TOA stamps, which are indicative of respective first and second times of reception of first and second messages in terms of their respective time base, that is, not only TOA stamps for messages broadcast from one and received by the respective other location anchor, but also TOA stamps for messages broadcast and received from the respective same location anchor itself;   a TDOA unit configured to calculate time-difference-of-arrival values, hereinafter TDOA values, from each pair of collected TOA stamps that pertains to the same, i.e., either the first or the second message, respectively;   a parameter estimation unit, which is configured to determine, using at least two of the calculated TDOA values pertaining to the messages transmitted by a respective one of the first and second location anchor, respectively, first and second sets of parameters that define a first and a second clock model function, respectively, the first clock model function describing a time dependence of the TDOA values of the messages broadcast by the first location anchor only, and the second clock model function describing a time dependence of the TDOA values of the messages broadcast by the second location anchor only;   a phase-difference determination unit, which is configured to calculate the instantaneous phase difference from either some or all elements of the determined sets of parameters of the first and second clock model functions, and from a time elapsed between a reference point in time and the desired point in time t.       
 
         [0083]    In one embodiment, the location server 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 receiving part 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 is configured to determine instantaneous phase difference between time bases of the first and second location anchors for the time at which the tag message is has been received by one of the anchors;   the TDOA unit 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;   a locating unit comprised by the location server is 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.       
 
         [0088]    An embodiment of the location server further comprises
       a multipath estimation unit, which is 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;   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. According to an eighth aspect of the invention, a location anchor is provided. The location anchor comprises   
           a transmitting and receiving part, which is configured to have transmitting and receiving access to a joint broadcast transmission medium shared with other location anchors,   a time base for measuring time; wherein   the transmitting and receiving part is additionally configured   to broadcast a first broadcast message at least twice, that is, at different times, and to receive the first broadcast messages; and   to receive second broadcast messages from a second location anchor at least twice, that is, at different times;   a TOA unit, which is configured to generate time-of-arrival stamps, hereinafter TOA stamps, which are indicative of respective first and second times of reception of the first and second broadcast messages in terms of the time base of the location anchor, wherein TOA unit is not only to configured to generate TOA stamps for the second broadcast messages received from a respective other location anchor, but also TOA stamps for the first broadcast messages received from the claimed location anchor itself;   wherein the location anchor is additionally configured to provide the generated TOA stamps at an interface for communicating with a location server in a manner that allows the location server an identification of also the location anchor broadcasting the broadcast message subject to the respective TOA stamp, of the location anchor receiving the broadcast message subject to the respective TOA stamp, and of the broadcast message subject to the respective TOA stamp.       
 
         [0099]    Further aspects of the present invention are related to computer program products, performing the steps of the method of one of the embodiments of the method of the fourth aspect of the invention, when said product is run on a computer. 
         [0100]    Yet further aspects of the present invention are related to computer program products, performing the steps of the method of one of the embodiments of the fifth aspect of the invention, when said product is run on a computer. 
         [0101]    In the following, further embodiments of the various aspects of the present invention are described. It is noted that the additional features of different embodiments may be combined with each other to form further embodiments, unless these additional features are mutually exclusive and can only be used in alternative embodiments. 
         [0102]    The calculation of the instantaneous phase difference based on the determined parameters of the first and second clock model function realizations can be performed in different ways. 
         [0103]    In one form by the location server calculating an estimate of an initial offset difference of the time bases of the first and second location anchors at a reference point in time from only the determined offset parameters of the first and second clock model function ;.and by the location server calculating an instantaneous phase difference from the estimated initial offset difference of the time bases of the first and second location anchors, from at least one of the determined slope parameters of the first and second clock model function realizations, and from a time elapsed between the reference point in time and the desired point in time t. 
         [0104]    The multipath error may be determined by the location error in the following way: the location server determining a multipath error of the reception time at the desired point in time, by
       using the determined offset and slope parameters of the first and second clock model function realizations to determine a difference at the desired point in time between the second and the first estimated TDOA value, the first estimated TDOA value pertaining to the first clock model function realization and the second estimated TDOA value pertaining to the second clock model function realizations, by   multiplying the difference by 0.5, and by   subtracting the determined message propagation time span.       
 
         [0108]    A location anchor may at the same time function as a location server. 
         [0109]    An arrangement employing at least one of the various aspects of the present invention may comprise an arbitrary number of location anchors. 
         [0110]    In an arrangement comprising a larger number of location anchors, such as, by way of example only, more than 3, or more than 10, or more than 20, more than 100, or more than 1000, the pairwise synchronization of the location anchors for a time t, in other words, determining an instantaneous phase difference (Ĉ A     1     A     2   (t)) between time bases two location anchors for a desired point in time t, is performed in a predetermined or random order. As an example for a predetermined order, a rotational order may be used. This includes for instance performing the repeated exchange of broadcast messages between pairs of location anchors in the predetermined order and subsequently repeating the exchange in the same order, while the location server continuously determines the instantaneous phase differences between the different pairs of location anchors. This repeated process may be performed continuously during operation of the arrangement. 
         [0111]    In another embodiment, a multipath delay between a pair of location anchors determined by using an embodiment of the present invention is used to correct a determined TDOA pertaining to the reception of a tag message at different ones of the location anchors. To this end, for each of the TOA stamps received, the location server uses the determined multipath error of a location anchor pair that contains the location anchor receiving the tag message and a location anchor that is arranged near a last determined position of the location tag. 
         [0112]    The aspects and embodiments of the present invention may use any physical transmission medium for implementing a broadcast channel. For instance, a broadcast message may be sent by means of sound waves, ultrasound waves, electromagnetic waves, radio frequency electromagnetic waves, the radio frequency being for instance 2.4 GHz, ultra wideband electromagnetic waves, light waves. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0113]      FIG. 1  shows a typical state of the art Real Time Locating System 
           [0114]      FIG. 2  shows a general embodiment of the invention 
           [0115]      FIG. 3  shows the minimal embodiment of the invention with two anchors 
           [0116]      FIG. 4  shows the generation of timestamps of location anchors when transmitting and receiving messages 
           [0117]      FIG. 5  shows the processing of timestamps at the location server 
           [0118]      FIG. 6  shows a situation with blocked direct connection between two location anchors 
           [0119]      FIG. 7  shows a time diagram for TDOAs between two location anchors when one location anchor is also the originator of the message 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0120]    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. 
         [0121]    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. 
         [0122]    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. 
         [0123]    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. 
         [0124]    Each location anchor  200  is equipped with some kind of time base. Typically a crystal oscillator is used. 
         [0125]    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. We define: 
         [0000]        C   A     n   ( t )= T   A     n     o +(1+ e   A     n   ) t , n={ 1,2 , . . . , N}   (1)
 
         [0126]    where 
         [0127]    t is the true reference time; 
         [0128]    C A     n    (t) is the instantaneous phase of the time base of location anchor An at time t ; 
         [0129]    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. 
         [0130]    T A     n     o  the initial offset of the time base of location anchor An and can be 
         [0131]    interpreted as random start value at t=0; and 
         [0132]    e A     n    is the frequency error of time base of location anchor An. 
         [0133]    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. 
         [0134]    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 A 1  and A 2  as depicted in  FIG. 3 . As indicated in  FIG. 3 , the propagation time, T propagation    300 , of a message which travels form location anchor Al to location anchor A 2  or vice versa consists of two components, which are the duration T geo  which results from the geometric distance between location anchors A 1  and A 2  and the error T mpe  which is caused by multipath propagation. 
         [0135]    With (1) and 
         [0000]    
       
      
       T 
       A 
       
         1 
       
       A 
       
         2 
       
       0 
       =T 
       A 
       
         1 
       
       o 
       −T 
       A 
       
         2 
       
       o  
      
     
         [0000]        e   A     1     A     2     =e   A     1     −e   A     2      (2)
 
         [0000]    where 
         [0136]    T A     1     A     2     0  is the initial offset difference between the time bases of location anchors A 1  and A 2 , and 
         [0137]    e A     1     A     2    is the frequency-error difference between the time bases of location anchors A 1  and A 2 , 
         [0138]    the instantaneous phase difference between the time bases of the two location anchors at time t can be expressed as 
         [0000]        C   A     1     A     2   ( t )= C   A     1   ( t )− C   A     2   ( t )=T A     1     0   −T   A     2     o +( e   A     1     −e   A     2   )· t=T   A     1     A     2     0   +e   A     1     A     2     ·t    (3)
 
         [0139]    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. 
         [0140]    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 co-located 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. 
         [0141]    It is assumed in the following, that location anchor A 1  has transmitted a broadcast message at t=t 1  and that it has generated the TOA stamp TOA A     1     ,A     1     ,t=t     1   , while location anchor A 2  has generated the TOA stamp TOA A     1     ,A     2     ,t=t     1    upon reception of the broadcast message transmitted by location anchor A 1 . 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 A 2 , the first location anchor A 1  generates a TOA stamp TOA A     1     ,A     2     ,t=t     2   , and the transmitting second location anchor generates a time stamp TOA A     2     ,A     2     ,t=t     2   . Thus, for example, after each of the two location anchors A 1 , A 2  has sent one broadcast message, four TOA stamps have been generated, two at the first location anchor A 1 , and two at the second location anchor A 2 . After each of the two location A 1 , A 2  has sent two broadcast message, eight TOA stamps have been generated, four at the first location anchor A 1 , and four at the second location anchor A 2 . 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. 
         [0142]    Without loss of generality and only for reasons of clarity, we can assume that the time base of anchor A 1  is absolutely correct, which means that the location anchor A 1  has the ‘true’ time. Hence we can write: 
         [0000]      T A     1     o =0 
         [0000]      e A     1   =0   (4)
 
         [0143]    Using (1) and (4) we get for a transmission of a message from location anchor A 1  at t=t 1  for the TOA stamp at location anchor A 1 : 
         [0000]      TOA A     1     ,A     1     ,t−t     1   =t 1    (5)
 
         [0144]    Using (1), (2) and (4) we get for a transmission of the same message from location anchor A 1  at t=t 1  for the TOA stamp at location anchor A 2 : 
         [0000]        TOA   A     1     ,A     2     ,t=t     1     =−T   A     1     A     2     0   +t   1   −e   A     1     A     2     ·t   1   +T   A     1     A     2     geo   +T   A     1     A     2     mpe    (6)
 
         [0145]    wherein 
         [0146]    T A     A     A     2     geo  is the propagation time caused only by a (nearest) geometrical distance between location anchor A 1  and location anchor A 2 ; and 
         [0147]    T A     1     A     2     mpe  is the multipath delay encountered by a signal, which travels from location anchor A 1  to location anchor A 2 . 
         [0148]    For most wireless media it is reasonable to assume reciprocal propagation of signals. Thus we can write: 
         [0000]      T A     2     A     1     geo =T A     1     A     2     geo    
         [0000]      T A     2     A     1     mpe =T A     1     A     2     mpe    (7)
 
         [0149]    Using (5), (6) and (7) the Time Difference Of Arrival between location anchors A 1  and A 2  for the message transmitted by the location anchor A 1  at time t 1  can be calculated as follows: 
         [0000]        TDOA   A     1     ,A     1     ,A   ,t=t     1     =TOA   A     1     ,A     1     ,t=t     1     −TOA   A     1     ,A     2     ,t=t     1      (8)
 
         [0150]    This yields 
         [0000]        TDOA   A     1     ,A     1     ,A     2     ,t=t     1     =T   A     1     A     2     0   −T   A     1     A     2     geo   −T   A     1     A     2     mpe   +e   A     1     A     2     ·t   1    (9)
 
         [0151]    It should be noted that, since the terms T A     1     A     2     0 , e A     1     A     2   , T A     1     A     2     geo  and T A     1     A     2     mpe  are each constant or varying slowly, equation (9) can be approximated as a straight line with offset K A     1     A     2    and slope e A     1     A     2    and the variable t, which straight line is sampled at t=t 1 . This can be represented as follows 
         [0000]        TDOA   A     1     ,A     1     ,A     2     ,t   =k   A     1     A     1     A     2     +s   A     1     A     1     A     2     ·t    (10)
 
         [0152]    This means that from at least two measurements of TDOA A     1     ,A     1     ,A     2     ,t  at different times, say for example TDOA A     1     ,A     1     ,A     2     ,t     1    TDOA A     1     ,A     1     ,A     2     ,t     3   , estimates of the parameters k A     1     A     1     A     2    (offset) and s A     1     A     1     A     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: 
         [0000]    
       
      
       {circumflex over (k)} 
       A 
       
         1 
       
       A 
       
         1 
       
       A 
       
         2 
       
       ≈k 
       A 
       
         1 
       
       A 
       
         1 
       
       A 
       
         2 
       
       =T 
       A 
       
         1 
       
       A 
       
         2 
       
       0 
       −T 
       A 
       
         1 
       
       A 
       
         2 
       
       geo 
       −T 
       A 
       
         1 
       
       A 
       
         2 
       
       mpe  
      
     
         [0000]        ŝ   A     1     A     1     A     2     ≈s   A     a     A     1     A     2     =e   A     1     A     2      (11)
 
         [0153]    The symbol “̂” is used here for indicating that the respective value is an estimate. In other words, the estimate {circumflex over (k)} A     1     A     1     A     2    is related to the initial offset difference T A     1     A     2     0  between the time bases of the location anchors A 1  and A 2 , to the propagation time based on geometrical distance only, and to the multipath delay encountered by the signal, which travels from location anchor A 1  to location anchor A 2 . 
         [0154]    Similarly as above, for the transmission of the broadcast message from location anchor A 2  at t=t 2 : 
         [0000]    
       
      
       TOA 
       A 
       
         2 
       
       ,A 
       
         1 
       
       ,t=t 
       
         2 
       
       =t 
       2 
       +T 
       A 
       
         1 
       
       A 
       
         2 
       
       geo 
       +T 
       A 
       
         1 
       
       A 
       
         2 
       
       mpe  
      
     
         [0000]        TOA   A     2     ,A     2     ,t=t     2     =−T   A     1     A     2     0   +t   2   −e   A     1     A     2     ·t   2    (12)
 
         [0000]    and the corresponding TDOA for the message transmitted by the location anchor A 2  at the time t 2  is: 
         [0000]        TDOA   A     2     ,A     1     ,A     2     ,t=t     2     =T   A     1     A     2     geo   +T   A     1     A     2     mpe   +e   A     1     A     2     ·t   2    (13)
 
         [0155]    Estimating the parameters yields 
         [0000]    
       
      
       {circumflex over (k)} 
       A 
       
         2 
       
       A 
       
         1 
       
       A 
       
         2 
       
       ≈k 
       A 
       
         2 
       
       A 
       
         1 
       
       A 
       
         2 
       
       =T 
       A 
       
         a 
       
       A 
       
         2 
       
       0 
       +T 
       A 
       
         1 
       
       A 
       
         2 
       
       geo 
       +T 
       A 
       
         1 
       
       A 
       
         2 
       
       mpe  
      
     
         [0000]        ŝ   A     2     A     1     A     2     ≈s   A     2     A     1     A     2     =e   A     1     A     2      (14)
 
         [0156]    Since T A     1     A     2     mpe  appear with opposite signs in equations (11) and (14) it is now possible to determine an estimate for the unknown T A     a     A     2     0  using equation (15) 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       T 
                       ^ 
                     
                     
                       
                         A 
                         1 
                       
                        
                       
                         A 
                         2 
                       
                     
                     0 
                   
                   = 
                   
                     
                       1 
                       2 
                     
                      
                     
                       ( 
                       
                         
                           
                             k 
                             ^ 
                           
                           
                             
                               A 
                               2 
                             
                              
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               2 
                             
                           
                         
                         + 
                         
                           
                             k 
                             ^ 
                           
                           
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               2 
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
           
         
       
     
         [0157]    Equation (15) yields an estimate for the initial offset between the time bases of the two location anchors A 1  and A 2 . It is to be pointed out that the estimate is not affected by multipath error T A     1     A     2     mpe , and is not even affected by the propagation time T A     1     A     2     geo  of the signal over the geometrical distance. 
         [0158]    If T A     1     A     2     geo  is given, e.g., from the known locations of the location anchors A 1  and A 2 , T A     1     A     2     mpe  can be estimated from equations (11) and (14) as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       T 
                       ^ 
                     
                     
                       
                         A 
                         1 
                       
                        
                       
                         A 
                         2 
                       
                     
                     mpe 
                   
                   = 
                   
                     
                       
                         1 
                         2 
                       
                        
                       
                         ( 
                         
                           
                             
                               k 
                               ^ 
                             
                             
                               
                                 A 
                                 2 
                               
                                
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 2 
                               
                             
                           
                           - 
                           
                             
                               k 
                               ^ 
                             
                             
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 2 
                               
                             
                           
                         
                         ) 
                       
                     
                     - 
                     
                       T 
                       
                         
                           A 
                           1 
                         
                          
                         
                           A 
                           2 
                         
                       
                       geo 
                     
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
         [0159]    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) 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       e 
                       ^ 
                     
                     
                       
                         A 
                         1 
                       
                        
                       
                         A 
                         2 
                       
                     
                   
                   = 
                   
                     
                       1 
                       2 
                     
                      
                     
                       ( 
                       
                         
                           
                             s 
                             ^ 
                           
                           
                             
                               A 
                               2 
                             
                              
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               2 
                             
                           
                         
                         + 
                         
                           
                             s 
                             ^ 
                           
                           
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               2 
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
           
         
       
     
         [0160]    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 A 1  and A 2  at any time t. For example either equation (18) or (19) could be used 
         [0000]        Ĉ   A     1     A     2   ( t ) {circumflex over (T)}   A     1     A     2     0   +ŝ   A     a     A     1     A     2     ·t    (18)
 
         [0000]        Ĉ   A     a     A     2   ( t )= {circumflex over (T)}   A     1     A     2     0   +ŝ   A     2     A     1     A     2     ·t    (19)
 
         [0161]    A potentially even better estimate is obtained when the result from equation (17) is used. This yields equation (20): 
         [0000]        Ĉ   A     1     A     2   ( t )= {circumflex over (T)}   A     1     A     2     0   +ê   A     1     A     2     ·t    (20)
 
         [0162]    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) 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         C 
                         ^ 
                       
                       
                         
                           A 
                           1 
                         
                          
                         
                           A 
                           2 
                         
                       
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         1 
                         2 
                       
                        
                       
                         ( 
                         
                           
                             
                               k 
                               ^ 
                             
                             
                               
                                 A 
                                 2 
                               
                                
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 2 
                               
                             
                           
                           + 
                           
                             
                               
                                 s 
                                 ^ 
                               
                               
                                 
                                   A 
                                   2 
                                 
                                  
                                 
                                   A 
                                   1 
                                 
                                  
                                 
                                   A 
                                   2 
                                 
                               
                             
                             · 
                             t 
                           
                         
                         ) 
                       
                     
                     + 
                     
                       ( 
                       
                         
                           
                             k 
                             ^ 
                           
                           
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               1 
                             
                              
                             
                               A 
                               2 
                             
                           
                         
                         + 
                         
                           
                             
                               s 
                               ^ 
                             
                             
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 1 
                               
                                
                               
                                 A 
                                 2 
                               
                             
                           
                           · 
                           t 
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
           
         
       
     
         [0163]    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 time-base differences and multipath error between many or all location-anchor pairs is available. 
         [0164]    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. 
         [0165]    Detailed Description of  FIG. 4   
         [0166]      FIG. 4  depicts the generation of TOA stamps of the location anchors  200 . 
         [0167]    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. 
         [0168]    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. 
         [0169]    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 A     n     ,A     1   (2) denotes the time of arrival at location anchor A 1 , of the second message sent by location anchor An. 
         [0170]    Detailed Description of  FIG. 5   
         [0171]      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. 
         [0172]    In the next step some or all possible TDOAs in-between location anchor pairs are calculated from the TOAs  503 . 
         [0173]    Further processing depends on the type of source of the originating message for which the TOAs were generated. 
         [0174]    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. 
         [0175]    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). 
         [0176]    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 . 
         [0177]    In an enhanced embodiment further steps are taken: 
         [0178]    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 . 
         [0179]    Detailed Description of  FIG. 6   
         [0180]    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 A 1  does not receive messages from A 2  and vice versa. Thus the parameter sets from  504  are not available for location anchor pair A 1 , A 2 . However they are available for location anchor pairs A 1 , A 3  and A 2 , A 3 . If location anchor pair A 1 , A 2  receives a message from a tag T 1  the synchronization correction value for this location anchor pair is calculated out of the synchronization correction values for location pairs A 1 , A 3  and A 2 , A 3 . 
         [0181]    Detailed Description of  FIG. 7   
         [0182]    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 A 1 , A 2  and the TDOAs calculated from the TOAs between two location anchors when one location anchor is also the originator of the message. 
         [0183]    In case A 1  is the originator the TDOAs TDOA A     1     A     1     A     2    as introduced in equation (8) are plotted as + 701 . A straight line  710  is estimated from these TDOA measurements  701 . In case A 2  is the originator the TDOAs TDOA A     2     A     1     A     2    are plotted as × 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.