Wireless localisation system

Disclosed is an apparatus for estimating the location of a remote node. The apparatus comprises an antenna array comprising a plurality of elements in a fixed spatial arrangement, at least one element being a transmitting element configured to transmit a first wireless signal to the remote node, and at least two elements being receiving elements configured to receive a second wireless signal transmitted by the remote node in response to the first wireless signal. The apparatus further comprises a signal processing unit connected to the antenna array, the signal processing unit being configured to: estimate a plurality of round trip distances using the wireless signals, each round trip distance being from a transmitting element to the remote node and back to a receiving element; and estimate the location of the remote node using the round trip distance estimates.

TECHNICAL FIELD

The present invention relates generally to localisation systems and, in particular, to methods and systems for localisation of mobile nodes using wireless communication.

BACKGROUND

Localisation, or positioning, is the estimation of the location of one or more mobile targets, either in absolute terms or relative to a fixed position. Wireless positioning systems in which the target is equipped with a wireless transmitter and/or receiver are widely used in location based services such as surveillance and monitoring, person and asset tracking, public safety, and emergency rescue. Known techniques for wireless positioning include those based on time-of-arrival (ToA) measurements and/or direction-of-arrival (DoA) measurements. ToA-based wireless positioning systems normally require the setting up of multiple fixed anchor or referencing nodes. The range from a target to each anchor/referencing node can be estimated from the ToA measurement. With the knowledge of the spatial location of the fixed anchor/referencing nodes, multilateration may be performed to estimate the location of the target. DoA-based systems also require multiple fixed anchor/referencing nodes. However, instead of measuring the range from the target, each anchor/referencing node estimates the incident angle of a signal transmitted from the target, for example using an antenna array. The location of the target can be estimated using the measured DoAs, using triangulation from the known locations of the anchor/referencing nodes. The DoA is usually determined using the phase of the signal from a plurality of elements in an antenna array. However, the spacing between the array elements is limited by the need to avoid phase ambiguity, which results in multiple solutions for the DoA of the received signal. This puts either an upper limit on the aperture width of the array, and hence the resolution of the DoA estimate, or a lower limit on the number of elements, which increases the computational complexity.

For many applications, it is desirable to have a positioning system in which a single nomadic “master node” can communicate with all the targets so the locations of the latter can be estimated by the former. In one example scenario, a large number of workers, each equipped with a radio frequency “tag”, are scattered around a worksite. For safety reasons, a manager at the master node, which is also mobile, needs to know the location of each worker at all times. Conventional triangulation-based positioning systems using ToA or DoA alone cannot be used because there is only a single anchor node, namely the master node. Joint ToA/DoA-based positioning, involving both ToA and DoA measurements, may be used to estimate the tag locations. However, joint ToA/DoA location estimation is typically a computationally intensive problem. The optimal maximum-likelihood (ML) estimation involves a two-dimensional (2D) search over the range and bearing to maximize the probability density function of the received signals at all antenna elements at the master node, conditioned on the signal ToAs and DoAs.

To reduce the complexity, several efficient algorithms based on the ML principle have been developed, such as the expectation maximization (EM) and the space-alternating generalized expectation maximization (SAGE). Another category of joint ToA/DoA estimation algorithms is based on the subspace principle. These algorithms include the joint angle and delay estimation (JADE), and the multi-dimensional estimation of signal parameters via rotational invariance technique (MD-ESPRIT). However, such techniques are still too computationally intensive to be implemented in a practical wireless positioning system for the above-mentioned scenario.

SUMMARY

Disclosed herein are wireless positioning systems and methods employing a single master node that provide greater accuracy at less computational cost than conventional wireless positioning systems. The disclosed systems comprise one nomadic master node equipped with an array of antenna elements, and one or more mobile nodes whose locations relative to the master node are to be estimated. Each mobile node comprises a transceiver configured to receive and transmit wireless signals from and to the master node. In one implementation, the antenna array in the master node has multiple receive-only elements and one transmit-only element, and round trip distances are measured from the transmit-only element to the mobile node and back to each receive-only antenna element either in a synchronised or an un-synchronised manner. The master node is configured to estimate the location of the mobile node with respect to the master node using the round trip distances and optionally measurements of phase of the received signal. In another implementation, each antenna element at the master node is configured to both transmit to and receive from the mobile node. Round trip distances are measured between each element and the mobile node. The master node is configured to use the round trip distances, and also optionally measurements of phase of the received signal, to estimate the location of the mobile node. In both implementations, the location estimate is the solution of a set of linear equations using a least squares method, which reduces the computational burden compared to conventional localisation systems. Methods are also disclosed to resolve the ambiguity of phase measurements resulting when the antenna element spacing within the array is greater than half a wavelength of the wireless signals.

According to a first aspect of the present disclosure, there is provided an apparatus for estimating the location of a remote node, the apparatus comprising: an antenna array comprising a plurality of elements in a fixed spatial arrangement, at least one element being a transmitting element configured to transmit a first wireless signal to the remote node, and at least two elements being receiving elements configured to receive a second wireless signal transmitted by the remote node in response to the first wireless signal; and a signal processing unit connected to the antenna array, the signal processing unit being configured to: estimate a plurality of round trip distances using the wireless signals, each round trip distance being from a transmitting element to the remote node and back to a receiving element; and estimate the location of the remote node using the round trip distance estimates.

According to a second aspect of the present disclosure, there is provided a method of estimating a location of a remote node, the method comprising: estimating a plurality of round trip distances, each round trip distance being from a transmitting element to the remote node and back to one of a plurality of receiving elements based on a first wireless signal transmitted by the transmitting element to the mobile node and a second wireless signal transmitted by the mobile node to the receiving element; and estimating the location of the remote node using the round trip distance estimates.

DETAILED DESCRIPTION

FIG. 1is a block diagram of a wireless positioning system100within which the embodiments of the invention may be implemented. The system100comprises an apparatus110referred to herein as the “master node”, and at least one remote or mobile node170. In principle there is no limit to the number of mobile nodes that may be localised, as the mobile node170is localised independently of any others in the system100. When multiple mobile nodes170are to be localised, the following techniques are suitable to avoid interference between the independent location estimates:Assign different timeslots for different mobile nodes170;Assign different spreading sequences (codes) for different mobile nodes170;Assign different frequencies for different mobile nodes170;Any carrier sense multiple access strategies.

The master node110can be situated at a fixed location or carried by a vehicle. The master node110has an antenna array180comprising N elements120-1,120-2, . . . ,120-N in a fixed spatial arrangement. In different implementations, the elements120-n(n=1, . . . , N) of the antenna array180are arranged in a plane (i.e., a 2D or planar array) or several planes (i.e., a 3D array). A 2D array implementation is sufficient for 2D positioning of the mobile node170, while a 3D array implementation is particularly suited for 3D positioning of the mobile node170. In the present disclosure the term “positioning” and “localisation” are intended to cover two dimensional location estimation; however the disclosed system can be readily extended to three dimensional positioning, for example measuring azimuth and elevation to the mobile node.

Each element120-ncomprises a module, labelled as Tx/Rx inFIG. 1, that is configured to transmit (transmitting elements), receive (receiving elements), or both transmit and receive (transceiver elements) wireless signals via an antenna. In the present disclosure the term “wireless” is intended to cover radio frequency electromagnetic signals; however the disclosed system can be readily modified to use any propagating wave, such as acoustic signals.

The mobile node170comprises a single transceiver connected to an antenna. In one implementation, the mobile node170is a radio frequency tag that is carried by a person or any other moving object that is to be localised by the system100.

The antenna array180is connected to a signal processing unit (SPU)130which has an input/output (I/O) interface140. The SPU130is configured to control the transmit and/or receive operation of each element120-nand to estimate the location of the mobile node170relative to a reference point, e.g. the point165, in the antenna array180. In the 2D implementation, location of the mobile node170(or any other point) is defined in two-dimensional polar coordinates, as a range175and a bearing185. For the mobile node170, bearing is defined as the angle185between the line connecting the reference point165and the mobile node170and a reference line195through the reference point165.

The I/O interface140connects the SPU130to a control and display panel150. The control and display panel150is configured to input commands from a user of the positioning system100for operational control of the system100, and to display the estimated location information about the mobile node170. The I/O interface140may also be connected to an external device or network (not shown) via a connection160, which may be for example a USB port or an Ethernet port, for exchange of information with that device or network.

In one implementation, the master node110is configured to relate its local coordinates to global coordinates so that the system100can relate the estimated location of the mobile node170to maps and information in geospatial databases defined in the global coordinates. This requires knowledge of the location and orientation of the master node110in the global coordinates. Location can be determined using the global positioning system (GPS) in the conventional manner. Orientation can be measured using GPS if the master node110is moving; this measurement may augmented using a gyroscope or a magnetometer.

The SPU130can be implemented as a field programmable gate array (FPGA) and/or a digital signal processor (DSP). In one implementation, the SPU130comprises both an FPGA for low-level processing and a DSP for high-level processing, to which the control and display panel150and the external connection160are connected. The use of a common FPGA for all low-level processing ensures time-synchronisation between all the elements120-nin the array180. Low-level processing includes such tasks as automatic gain control of the Tx/Rx modules, detection of packets, symbol timing recovery, and symbol decoding.

According to a first embodiment, the mobile node170is configured to measure the ToA of a signal received from a single transmitting element120-iin the antenna array180. Each of multiple receiving elements120-jin the antenna array180is configured to measure the ToA of a signal transmitted by the mobile node170in response to the signal received from the single transmitting element120-i. (In general, the transmitting element120-iis not the same as any receiving element120-j). The ToA is measured at each receiving element120-jrelative to a common master clock at the master node110, which requires all the receiving elements120-jto be time-synchronised. The ToA measurements from a receiving element120-jand the mobile node170are used by the SPU130to estimate the “round trip distance” of a signal from the transmitting element120-ito the mobile node170and back to that receiving element120-j. The round trip distance is estimated by multiplying the round trip time of flight by the speed of signal propagation (the speed of light for radio frequency systems or the speed of sound for acoustic systems). The round trip time of flight is defined as the propagation time of the signal from the transmitting element120-ito the mobile node170and back to the receiving element120-jvia the respective line-of-sight (LOS) paths, e.g.190.

For a time-synchronised positioning system100in which the mobile node170has a clock that is synchronised with the clock at the master node110, the round trip time of flight is the difference between the ToA of a signal at the receiving element120-jand the transmit time of that signal at the transmitting element120-i, less the receive and transmit propagation delays within the transceiver of the mobile node170, the receiving element120-j, and the transmitting element120-i. The propagation delays are predetermined by prior calibration. In the more typical case where the master node110and mobile node170are not time-synchronised, the round trip time of flight may still be estimated using a more elaborate scheme of signal transmission and reception, as described below.

The SPU130of the master node110is further configured to process the estimated round trip distances to estimate the location of the mobile node170in the manner to be described below with reference toFIG. 4.

According to a second embodiment, each element120-nin the antenna array180is a transceiver element. The mobile node170is configured to measure the ToA of a signal received from each transceiver element120-nin the antenna array180. Each transceiver element120-nis configured to measure the ToA of a signal transmitted by the mobile node170in response to the signal received from that transceiver element120-n. The ToA is measured at each transceiver element120-nrelative to a common master clock at the master node110, which requires all the transceiver elements120-nto be time-synchronised. The ToA measurements from a transceiver element120-nand the mobile node170are used by the SPU130to estimate the round trip distance of a signal from the transceiver element120-nto the mobile node170and back to that transceiver element120-n. As in the first embodiment, the round trip distances may be estimated even if the transceiver elements120-nare not time-synchronised with the mobile node170in the manner described below. The SPU130is further configured to process the estimated round trip distances to estimate the location of the mobile node170in the manner to be described below with reference toFIG. 4.

A third embodiment is similar to the first embodiment, except that each receiving element120-jin the antenna array180is also configured to measure the phase of the signal transmitted by the mobile node170in response to the signal received from the single transmitting element120-i. The phase is measured relative to a common reference signal phase across all receiving elements120-j, which requires all the receiving elements120-ito be time-synchronised. The SPU130is configured to process the measured phases in addition to the estimated round trip distances to estimate the location of the mobile node170in the manner to be described below with reference toFIG. 5.

A fourth embodiment is similar to the second embodiment, except that each transceiver element120-nin the antenna array180is also configured to measure the phase of signals transmitted by the mobile node170in response to the signals received from the transceiver elements120-n. The phase is measured relative to a common reference signal phase across all transceiver elements120-n, which requires all the transceiver elements120-nto be time-synchronised. The SPU130is configured to process the phase measurements in addition to the estimated round trip distances to estimate the location of the mobile node170in the manner to be described below with reference toFIG. 5. The phase measurement from each transceiver element120-nused to estimate the location of the mobile node170could be a single measurement from a signal transmitted by the mobile node170, or the average of the phase measurements over all signals transmitted by the mobile node170.

FIG. 2illustrates an array200of antenna elements that may be used as the array180at the master node110in the system100ofFIG. 1according to the first and third embodiments. The “receive-only” array200comprises single transmitting element230at the centre of a 2D array of N receiving elements210-j. The transmitting element230may be identified with the transmitting element120-iin the array180, while the receiving elements210-jmay be identified with the receiving elements120-j.

The array200is illustrated as a uniform circular array with the transmitting element230at the centre of the circle, but other array configurations may be used, e.g.: a uniform linear array with the transmitting element230at the centre; a non-uniform linear array; a dual concentric uniform circular array with the transmitting element230at the centre; and a non-uniform circular or dual concentric circular array with the transmitting element230at the centre.

The reference point165for localisation is the location of the transmitting element230. Each receiving element210-jis located in polar coordinates at (Rj, αj) in relation to the reference point165. The mobile node170is likewise located at (l0,φ). The transmitting element230transmits a signal represented by the arrow220to the mobile node170, which responds with a signal that is represented on arrival at the receiving element210-jby the arrow240-j. The round trip distance rjfor the j-th receiving element210-jis the sum of the distance l0from the transmitting element230to the mobile node170and the distance ljfrom the mobile node170to the j-th receiving element210-j. The phase of the received signal as measured at the j-th receiving element210-jaccording to the third embodiment is denoted as βjε[−π,π).

FIG. 3illustrates an array300of antenna elements that may be used as the array180at the master node110in the system100ofFIG. 1according to the second and fourth embodiments. The “transceiver” array300comprises a 2D array of N transceiver elements310-n. The transceiver elements310-nmay be identified with the transceiver elements120-nin the array180. The reference point165for localisation is the centre of the 2D array. Each transceiver element310-nis located in polar coordinates at (Rn, αn) in relation to the reference point165. Each transceiver element310-ntransmits a signal represented by the bidirectional arrow320-nto the mobile node170, which responds with a signal also represented by the arrow320-n. The round trip distance rnfor the n-th transceiver element310-nis twice the distance ln, from the mobile node170to the n-th transceiver element310-n. The phase of the received signal as measured at the n-th transceiver element310-naccording to the fourth embodiment is denoted as βnε[−π,π).

The array300is illustrated as a uniform circular array, but as for the array200, other array configurations may be used.

A scheme for measuring the round trip distance lA+lCbetween a transmitting element, labelled as A, and a receiving element, labelled as C, both located at the master node, via a mobile node, labelled as B, is now described. The time at which the signal is transmitted by the transmitting element A is denoted as t1. The transmitted signal arrives in the receiving electronics of the mobile node B at a ToA denoted as t2, where t2is given by

for propagation delays ΔAtxand ΔBrxin the transmitting element and mobile node respectively, where c is the wireless signal propagation speed. The mobile node B then transmits a signal at a later time denoted as t3. The signal arrives at the receiving electronics of the receiving element C at a ToA denoted as t4, where t4is given by

for propagation delays ΔBtxand ΔCrxin the mobile node and receiving element respectively.

The relationship between the (unknown) true time txof an event x and the time of that event measured at the local clock of a node j is txj=αj(tx−t0j), where αjis the relative frequency (typically within 1 ppm of unity for temperature compensated crystal oscillators) and t0jis the time offset of the local clock. The elements A and C are time-synchronised, so events associated with elements A and C will be denoted by a common superscript M (for master node), and events associated with the mobile node B will be denoted by a superscript T (for tag). The measured round trip time TABCis
TABC=(t4M−t3T)+(t2T−t1M)

which may be satisfactorily approximated as

The relative frequency difference αM−αTcan be determined using multiple transmissions between the master node and the mobile node, the propagation delays are predetermined by prior calibration, and the transmission time difference t3−t1can be readily estimated to sufficient accuracy as t4M−t1M, i.e. ignoring the propagation time and propagation delays. Hence the round trip time of flight is readily estimated as

As mentioned above, the round trip distance lA+lCcan then be estimated by multiplying the round trip time of flight estimate by the propagation speed c.

For all embodiments, the mobile node B is the mobile node170. For the first and third embodiments, the transmitting element A is the transmitting element230and the receiving element C is each receiving element210-j, and the round trip distance lA+lCis l0+lj. For the second and fourth embodiments, the transmitting element A and the receiving element C are the same transceiver element310-n, and the round trip distance lA+lCis 2ln.

A general “brute force” method for estimating the location of the mobile node170according to the four embodiments is now described. Assuming that the measurement errors are independent and Gaussian distributed, which is a reasonable assumption for line-of-sight signal transmission, the location of the mobile node170can be estimated by minimising a two-parameter cost function.

According to the third embodiment, given the round trip distance and phase measurements rjand βjobtained by the N receiving elements210-j, the cost function C3embodiment can be constructed as

where σR2is the variance of the errors in the round trip distance measurements rj, σP2is the variance of the errors in the phase measurements βjand the notation [•][−π,π)means that the subtraction must be restrained to the interval [−π,π) by a modulo-2π operation.

The cost function C1according to the first embodiment is the same as the cost function C3of equation (1) according to the third embodiment, without the second, phase-related term.

According to the fourth embodiment, given the round trip distance and phase measurements rnand βnobtained by the N transceiver elements310-n, the cost function C4can be constructed as

The cost function C2according to the second embodiment is the same as the cost function C4of equation (2) according to the fourth embodiment, without the second, phase-related term.

The location of the mobile node170according to each embodiment may then be estimated as the minimising argument of the corresponding cost function:

where k=1, 2, 3, or 4. The 2D minimization in equation (3) can be performed using conventional optimisation techniques such as the simplex search method.

More efficient methods of estimating the location of the mobile node170are now described. For the “receive-only” array200according to the first embodiment illustrated inFIG. 2, and assuming “far-field” conditions, i.e. l0>>Rj, the relationship between the location (l0,φ) of the mobile node170and the round trip distance l0+ljfrom the transmitting element230to the j-th receiving element210-jmay be written as
2l0−Rjcos(φ−αj)=lj+l0(4)

Over all N receiving elements210-j, a linear equation may thus be written:

where r is an N-vector of round trip distance measurements rj, Δr is a vector of distance measurement errors Δrj, and A1is an N-by-3 “array matrix” given by

The least-squares solution of the linear equation (5) is given by

where {circumflex over (l)}0is the estimated range, and the estimated bearing {circumflex over (φ)} is given by
{circumflex over (φ)}=arg{ĉ+jŝ}(8)

For the “transceiver” array300according to the second embodiment illustrated inFIG. 3, the same approach may be used, except that the relationship (4) between the location (l0,φ) of the mobile node170and the round trip distance 2lnto the n-th transceiver element310-nis written as
2l0−2Rncos(φ−αn)=2ln(9)

Over all N receiving elements310-n, a linear equation may thus be written:

where the array matrix A2is defined as

The least squares solution of the linear equation (10) is therefore given by equation (7), with A1replaced by A2.

FIG. 4is a flow chart illustrating a method400of estimating the range and location of the mobile node using only round trip distance measurements acquired using the array200or300according to the first or second embodiment. The method400is carried out by the SPU130of the master node110.

The method400starts at step410, at which the array matrix A1or A2is formed using equation (6) or (11). At the next step420, the method400computes the least-squares solution to the linear equation (5) or (10) using the array matrix A1or A2and the round trip distance measurements rjor rnaccording to equation (7). Finally, at step430, the method400forms an estimate {circumflex over (φ)} of the bearing of the mobile node170from the least-squares solution using equation (8). The method400then concludes.

For the “receive-only” array200according to the third embodiment illustrated inFIG. 2, and assuming “far-field” conditions, i.e. l0>>Rj, the relationship between the bearing φ of the mobile node170and the phase measurements βj-1and βjat the (j−1)-th and j-th receiving elements210-(j−1) and210-jrespectively may be written as

where λ is the wavelength of the received signal and kjis an integer that embodies the ambiguity of the measured phase βj, which is restricted to the interval [−π,π).

Over all N receiving elements210-j, a linear equation may thus be written:

where δ is an N-vector with each entry being the phase difference βj-1−βjbetween two adjacent transceiver elements210-(j−1) and210-jin the array200, k is an N-vector of integers kj, Δδ is an N-vector of phase difference errors, and B is an N-by-2 “phase array matrix” given by

Assuming that each component in the distance error vector Δr is independent with variance σR2and each component in the phase difference error vector Δδ is also independent with variance πΔ2, the joint distance/phase weighted least squares solution to equations (10) and (13) is given by

where the integer vector k is first obtained by resolving the phase ambiguity as described below. Equation (8) may then be used to estimate the bearing φ of the mobile node170.

For the “transceiver” array300according to the fourth embodiment illustrated inFIG. 3, the same approach as for the third embodiment may be used, except that the matrix A2of equation (11) is used in place of the matrix A1in equation (15).

The incorporation of phase measurements, as in the third and fourth embodiments, allows the bearing φ to be estimated with much greater accuracy compared to only using round trip distances, as in the first and second embodiments. However, the use of phase is potentially subject to ambiguity. If any two adjacent elements120-(n−1) and120-nin the array180are spaced closely enough, for example, approximately half a wavelength λ, there is no phase ambiguity, i.e. k=0 in equations (13) and (15). However, as mentioned above, the wider the aperture, the better is the resolution of the bearing estimate. For a given array aperture width (e.g. diameter of the circular arrays200and300), element spacing this close will require a large number of elements120-nin the array180and hence increase the complexity of the positioning system according to the third and fourth embodiments.

To accommodate transceiver element spacing greater than half a wavelength λ, the ambiguity in the phase measurements βnneeds to be resolved. In one implementation, the phase ambiguity is resolved using as an initial bearing estimate {circumflex over (φ)}0the bearing estimate {circumflex over (φ)} obtained using only the round trip distance measurements rn, as in the method400according to the first and second embodiments. The integer vector k can then be determined using equation (13) as

where the notation [•][−π,π)has the same meaning as previously. The determined value of k can then be used in equation (15) to estimate the range and bearing of the mobile node170.

Note that, since the round trip distance measurements rnhave limited precision, the initial bearing estimate {circumflex over (φ)}0itself may not be accurate and unresolved ambiguity may still be present. However, if the number N of elements120-nin the array180satisfies a minimum condition, the ambiguity in the initial bearing estimate {circumflex over (φ)}0can be removed. To obtain the minimum condition, the width of the aperture of the antenna array180is denoted as D, and the angle at which the plane wave signal received from the mobile node170is incident on the aperture as θ. The ends of the aperture are therefore separated by a distance D sin θ in the direction normal to the planar wavefront. This results in a time delay of D sin θ/c, or equivalently a phase offset of

2⁢πλ⁢D⁢⁢sin⁢⁢θ,
between the planar wavefront reaching an element at one end of the aperture and its reaching an element at the other end.

For a linear array180with element spacing d, the width D of the aperture is (N−1)d. For a plane wave parallel to the aperture (θ=0) and for a distance error of σRat one end of the aperture compared to the other end, the angular error θR, which is the resolution of the bearing estimate using distance alone, is given by

If the element spacing d is selected such that the phase difference between two adjacent transceiver elements due to a signal bearing of θRis less than π radians, i.e.

then the phase ambiguity can be resolved using the round trip distance measurements, and hence bearing can be unambiguously estimated using phase measurements over the array180. This condition requires that the element spacing d must satisfy

or equivalently

Consequently, the number of elements N in a linear array must satisfy

regardless of the length of the array. For example, for a 5.8 GHz carrier frequency and σR=0.1 m, the minimum number of elements N in a linear array is 5.

For a uniform circular array180, the circumference is approximately Nd, and hence the width D of the aperture is approximately Nd/π. The number of elements N must therefore satisfy

For the above example of a 5.8 GHz carrier frequency and σR=0.1 m, the minimum number of elements N in a circular array is 13.

In short, for the phase ambiguity to be resolvable using the round trip distance measurements, the angular uncertainly resulting from the round trip distance measurement uncertainty across the array must result in a phase change between adjacent elements of less than π radians.

FIG. 5is a flow chart illustrating a method500of estimating the range and location of the mobile node170using round trip distance and phase measurements acquired using the array200or300according to the third or fourth embodiment illustrated inFIG. 2orFIG. 3. The method500is carried out by the SPU130of the master node110.

The method500starts at step510, which computes an initial estimate {circumflex over (φ)}0of the bearing of the mobile node170using only the round trip distance measurements rjor rnfrom the receiving elements210-jor transceiver elements310-nusing the method400according to the first or second embodiment as described above with reference toFIG. 4. At the next step520, the method500forms the phase array matrix B according to equation (14). Step530follows, at which the method500computes an integer vector k using the initial bearing estimate {circumflex over (φ)}0and the phase array matrix B in equation (16). The method500then proceeds to step540, which computes a weighted least-squares solution using round trip distance measurements rjor rn, the phase measurements βjor βn, the array matrix A1or A2, the phase array matrix B and the integer vector k in equation (15). Finally, the method500forms an estimate {circumflex over (φ)} of the bearing of the mobile node170from the weighted least-squares solution using equation (8). The method500then concludes.

An alternative method for resolving the phase ambiguity in the phase measurements βnin the third and fourth embodiments is to search for multiple peaks located around {circumflex over (φ)}0in the pattern P(φ) of the array300, defined as

The multiple peaks result from phase ambiguity. The number K of peaks is proportional to the spacing of the elements120-nin the array180, in that for each half wavelength of spacing, another peak appears. For example, for an element spacing of five wavelengths, the value of K is ten.

The K bearing estimates corresponding to the K peaks around {circumflex over (φ)}0in P(φ) are denoted as {circumflex over (φ)}0(i)(i=1, . . . , K) each producing an integer vector k(i)calculable by equation (16). For each integer vector k(i), a weighted least squares solution

(l^0(i)c^(i)s^(i))
is calculated using equation (15), and an estimation error vector e(i)is obtained as

e(i)=(A1(0⁢⁢B))⁢(l^0(i)c^(i)s^(i))-(r2⁢π⁢⁢k(i)+δ)(18)
for the third embodiment. For the fourth embodiment, the array matrix A2is used in (18) in place of A1.

The chosen solution is thus the vector

(l^0(i)c^(i)s^(i))
yielding the smallest weighted square error Ei, where

FIG. 6is a flow chart illustrating an alternative method600of estimating the range and location of the mobile node170using round trip distance and phase measurements acquired using the array200or300according to the third or fourth embodiment illustrated inFIG. 2orFIG. 3. The method600is carried out by the SPU130of the master node110.

The method600starts at step610, which computes an initial estimate {circumflex over (φ)}0of the bearing of the mobile node170using only the round trip distance measurements rjor rnfrom the receiving elements210-jor transceiver elements310-nusing the method400according to the first or second embodiment as described above with reference toFIG. 4. At the next step620, the method600finds the K largest peaks located around {circumflex over (φ)}0in the pattern P(φ) of the array300, as defined in equation (17). The location of each peak is a bearing estimate {circumflex over (φ)}0(i), i=1, . . . , K. Step630follows, at which the method600forms the phase array matrix B according to equation (14).

Steps640initiates a loop over the K bearing estimates {circumflex over (φ)}0(i), so that steps650to670are carried out for each bearing estimate {circumflex over (φ)}0(i). At step650, the method600computes an integer vector k(i)using the bearing estimate {circumflex over (φ)}0(i)and the phase array matrix B in equation (16). At the next step660, a weighted least squares solution

(l^0(i)c^(i)s^(i))
is computed using the round trip distance measurements rjor rn, the phase measurements βjor βn, the array matrix A1or A2, the phase array matrix B, and the integer vector k(i)in equation (15). Step670follows, at which the method600computes an error Eiof the weighted least squares solution

(l^0(i)c^(i)s^(i))
using equations (18) and (19). After all K weighted least squares solutions

(l^0(i)c^(i)s^(i))
and errors Eihave been computed, the method600at step680chooses the weighted least squares solution

(l^0(i)c^(i)s^(i))
yielding the smallest error Ei. Finally, at step690the method600forms an estimate {circumflex over (φ)} of the bearing of the mobile node170from the chosen weighted least-squares solution using equation (8). The method600then concludes.

FIG. 7is a schematic block diagram representation of a device that may be used to implement the signal processing unit130in the system ofFIG. 1. The device702incorporates a processor705bidirectionally coupled to an internal storage module709. The storage module709may be formed from non-volatile semiconductor read only memory (ROM)760and semiconductor random access memory (RAM)770. The RAM770may be volatile, non-volatile or a combination of volatile and non-volatile memory.

The methods described above may be implemented as one or more software programs733executable within the device702. In particular, with reference toFIG. 7, the steps of the described methods are effected by instructions in the software733that are carried out within the device702. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the described methods and a second part and the corresponding code modules manage a user interface between the first part and the user.

The software733of the device702is typically stored in the non-volatile ROM760of the internal storage module709. The software733can be loaded into and executed by the processor705. In some instances, the processor705may execute software instructions that are located in RAM770. Software instructions may be loaded into the RAM770by the processor705initiating a copy of one or more code modules from ROM760into RAM770. Alternatively, the software instructions of one or more code modules may be pre-installed in a non-volatile region of RAM770by a manufacturer. After one or more code modules have been located in RAM770, the processor705may execute software instructions of the one or more code modules. The software733is typically pre-installed and stored in the ROM760by a manufacturer, prior to distribution of the device702.

The processor705is able to execute the software733stored in one or both of the connected memories760and770. When the device702is initially powered up, a system program resident in the ROM760is executed. The software733permanently stored in the ROM760is sometimes referred to as “firmware”. Execution of the firmware by the processor705may fulfil various functions, including processor management, memory management, device management, storage management and user interface.

The processor705typically includes a number of functional modules including a control unit (CU)751, an arithmetic logic unit (ALU)752and a local or internal memory comprising a set of registers754which typically contain atomic data elements756,757, along with internal buffer or cache memory755. One or more internal buses759interconnect these functional modules. The processor705typically also has one or more interfaces758for communicating with external devices via system bus781, using a connection761.

The software733includes a sequence of instructions762though763that may include conditional branch and loop instructions. The program733may also include data, which is used in execution of the program733. This data may be stored as part of the instruction or in a separate location764within the ROM760or RAM770.

In general, the processor705is given a set of instructions, which are executed therein. This set of instructions may be organised into blocks, which perform specific tasks or handle specific events that occur in the device702. Typically, the software733waits for events and subsequently executes the block of code associated with that event. Events may be triggered in response to input from a user, as detected by the processor705.

The execution of a set of the instructions may require numeric variables to be read and modified. Such numeric variables are stored in the RAM770. The disclosed method uses input variables771that are stored in known locations772,773in the memory770. The input variables771are processed to produce output variables777that are stored in known locations778,779in the memory770. Intermediate variables774may be stored in additional memory locations in locations775,776of the memory770. Alternatively, some intermediate variables may only exist in the registers754of the processor705.

The execution of a sequence of instructions is achieved in the processor705by repeated application of a fetch-execute cycle. The control unit751of the processor705maintains a register called the program counter, which contains the address in ROM760or RAM770of the next instruction to be executed. At the start of the fetch execute cycle, the contents of the memory address indexed by the program counter is loaded into the control unit751. The instruction thus loaded controls the subsequent operation of the processor705, causing for example, data to be loaded from ROM memory760into processor registers754, the contents of a register to be arithmetically combined with the contents of another register, the contents of a register to be written to the location stored in another register and so on. At the end of the fetch execute cycle the program counter is updated to point to the next instruction in the system program code. Depending on the instruction just executed this may involve incrementing the address contained in the program counter or loading the program counter with a new address in order to achieve a branch operation.

Each step or sub-process in the processes of the methods described above is associated with one or more segments of the software733, and is performed by repeated execution of a fetch-execute cycle in the processor705or similar programmatic operation of other independent processor blocks in the device702.

The arrangements described are applicable to the wireless localisation industries.