Multivariate position estimation
10921416 ยท 2021-02-16
Assignee
Inventors
Cpc classification
G01S5/12
PHYSICS
G01S5/0294
PHYSICS
G01S5/0246
PHYSICS
International classification
Abstract
Multivariate position estimation can be performed to provide a position estimate of a moving object. The multivariate position estimation approach can employ multiple types of information including time of arrival (or time difference of arrival), angle of arrival, Doppler, and/or prior location information in an iterative process to calculate a location estimate that is highly accurate. In particular, the multivariate position estimation approach can employ the statistical quality of each of these types of information to quickly arrive at a highly accurate position estimate within a 3D coordinate system. The multivariate position estimation approach can be implemented in environments where a single receiver is available as well as in environments where multiple receivers exist.
Claims
1. A method, performed by a tracker that comprises a computing system that is configured to receive periodic communications from a moving object and employ various types of information derived from the periodic communications to estimate a position of the moving object, the computing system comprising one or more computing devices, for performing multivariate position estimation to track the moving object with high accuracy, the method comprising: receiving periodic communications emitted from a moving object; processing each of the periodic communications to generate a time of arrival measurement, an angle of arrival measurement, and a Doppler measurement for each respective periodic communication; obtaining a tracker location representing where the tracker was located when each respective periodic communication was received; and tracking the moving object by iteratively estimating an object location representing where the moving object was located when the moving object emitted each respective periodic communication using the time of arrival measurement, the angle of arrival measurement, the Doppler measurement, and the tracker location for the respective periodic communication, wherein the tracker estimates the object location for the respective periodic communication by minimizing a cost function that includes: a time of arrival portion that incorporates the time of arrival measurement for the respective periodic communication; an angle of arrival portion that incorporates the angle of arrival measurement for the respective periodic communication; a Doppler portion that incorporates the Doppler measurement for the respective periodic communication; and a tracker location portion that incorporates the tracker location when the respective periodic communication was received.
2. The method of claim 1, wherein the time of arrival portion comprises:
3. The method of claim 2, wherein the time of arrival measurement is a time difference of arrival measurement.
4. The method of claim 1, wherein the angle of arrival portion comprises:
5. The method of claim 1, wherein the Doppler portion comprises
6. The method of claim 1, wherein the tracker location portion comprises:
W.sup.T
7. The method of claim 1, wherein minimizing the cost function comprises performing a non-linear least squares algorithm.
8. The method of claim 7, wherein the non-linear least squares algorithm is the Levenberg-Marquardt algorithm.
9. The method of claim 1, wherein the tracker includes multiple nodes each of which receives and processes the periodic communications to generate respective time of arrival measurements, angle of arrival measurements, and Doppler measurements for each of the respective communications and each of which obtains a tracker location pertaining to the respective node, and wherein the moving object is tracked by iteratively estimating the object location representing where the moving object was located when the moving object emitted each respective periodic communication using the time of arrival measurements, the angle of arrival measurements, the Doppler measurements and the tracker locations.
10. A tracker for performing multivariate position estimation to track a moving object with high accuracy, the tracker comprising a computing system that is configured to receive periodic communications from a moving object and employ various types of information derived from the periodic communications to estimate a position of the moving object, the computing system comprising one or more computing devices, the tracking including: one or more antennas for receiving the periodic communications emitted from the moving object; a time of arrival component that generates a time of arrival measurement for each respective periodic communication; an angle of arrival component that generates an angle of arrival measurement for each respective periodic communication; a Doppler component that generates a Doppler measurement for each respective periodic communication; a tracker location component that obtains a tracker location representing where the tracker was located when each respective periodic communication was received; and a location engine that receives and processes the time of arrival measurement, the angle of arrival measurement, the Doppler measurement, and the tracker location for each respective periodic communication to iteratively estimate an object location representing where the moving object was located when the moving object emitted the respective periodic communication, wherein the location engine estimates the object location for the respective periodic communication by minimizing a cost function that includes: a time of arrival portion that incorporates the time of arrival measurement for the respective periodic communication; an angle of arrival portion that incorporates the angle of arrival measurement for the respective periodic communication; a Doppler portion that incorporates the Doppler measurement for the respective periodic communication; and a tracker location portion that incorporates the tracker location when the respective periodic communication was received.
11. The tracker of claim 10, wherein the time of arrival portion comprises:
12. The tracker of claim 10, wherein the angle of arrival portion comprises:
13. The tracker of claim 10, wherein the Doppler portion comprises
14. The tracker of claim 10, wherein the tracker location portion comprises:
W.sup.T
15. The tracker of claim 10, wherein the tracker includes multiple nodes each of which includes: one or more antennas for receiving the periodic communications emitted from the moving object; a time of arrival component that generates a time of arrival measurement for each respective periodic communication received at the respective node; an angle of arrival component that generates an angle of arrival measurement for each respective periodic communication received at the respective node; a Doppler component that generates a Doppler measurement for each respective periodic communication received at the respective node; and a tracker location component that obtains a tracker location representing where the respective node of the tracker was located when each respective periodic communication was received at the respective node; and wherein the location engine receives and processes the time of arrival measurements, the angle of arrival measurements, the Doppler measurements, and the tracker locations from each node to iteratively estimate the object location representing where the moving object was located when the moving object emitted each respective periodic communication.
16. A method, performed by a tracker that comprises a computing system that is configured to receive periodic communications from a moving object and employ various types of information derived from the periodic communications to estimate a position of the moving object, the computing system comprising one or more computing devices, for performing multivariate position estimation to track the moving object with high accuracy, the method comprising: receiving periodic communications emitted from a moving object; processing each of the periodic communications to generate a time of arrival measurement, an angle of arrival measurement, and a Doppler measurement for each respective periodic communication; obtaining a tracker location representing where the tracker was located when each respective periodic communication was received; and tracking the moving object by iteratively estimating an object location representing where the moving object was located when the moving object emitted each respective periodic communication using the time of arrival measurement, the angle of arrival measurement, the Doppler measurement, and the tracker location for the respective periodic communication, wherein the tracker estimates the object location for the respective periodic communication by minimizing a cost function that includes: a time of arrival portion that incorporates the time of arrival measurement for the respective periodic communication; an angle of arrival portion that incorporates the angle of arrival measurement for the respective periodic communication; a Doppler portion that incorporates the Doppler measurement for the respective periodic communication; and a tracker location portion that incorporates the tracker location when the respective periodic communication was received; wherein the tracker location is one of fixed or moving.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) In this specification, the term tracker should be construed as any computing system that is configured to receive periodic communications from a moving object and employ various types of information derived from the periodic communications to estimate a position of the moving object. The term computing device should be construed generally to encompass each of the various types of hardware platforms that one of skill in the art could use to implement the techniques of the present invention (e.g., a CPU platform, a microprocessor platform, an ASIC platform, an FPGA platform, a DSP platform, etc.). The term computing system should be construed as including one or more computing devices. Furthermore, although a tracker will be described primary as a single physical node, in some embodiments, a tracker can encompass more than one physical node. For example, a tracker could encompass two or more physically separated computing devices (i.e., two or more nodes).
(7)
(8)
(9) To generate the different types of information for the multivariate position estimation, tracker 100 can include a time of arrival component 101 (which could equally be a time difference of arrival component in some embodiments), an angle of arrival component 102, a Doppler component 103, and a tracker location component 104. Tracker 100 also includes a location engine 105 which is configured to generate position estimates based on the information provided from components 101-104.
(10) Time of arrival component 101 can represent any combination of hardware and/or software components that are configured to generate time of arrival information for each periodic communication received from moving object 150. For example, time of arrival component 101 can be configured to detect when a periodic communication is received and to generate a corresponding receive timestamp. This receive timestamp will be represented in the figures as ToA.sub.i where i represents the relative order of the communication. Time of arrival component 101 can also be configured to extract the transmit timestamp from the periodic communication which represents when the periodic communication was sent (whether by moving object 150 or by tracker 100). This transmit timestamp will be represented in the figures as timestamp.sub.i.
(11) As mentioned above, the transmit timestamp may represent either (1) when the periodic communication received at tracker 100 was sent by moving object 150; or (2) when a corresponding periodic communication was sent by tracker 100 to moving object 150. In this later case, moving object 150 can be viewed as simply relaying a received communication back to tracker 100. In either case, the difference between the receive timestamp and the transmit timestamp can represent the distance between moving object 150 and tracker 100 as will be further described below.
(12) Angle of arrival component 102 can represent a monopulse antenna, a parabolic antenna, a phased array, or other suitable antenna configuration that can detect the angle at which the periodic communication arrives at tracker 100. The angle of arrival for a particular periodic communication will be represented in the figures as AoA.sub.i where i again represents the relative order of the communication (e.g., ToA.sub.1 and AoA.sub.1 can define when and at what angle a first periodic communication was received).
(13) Doppler component 103 can represent any combination of hardware and/or software components that are configured to calculate the Doppler shift of each periodic communication. The Doppler shift for a particular periodic communication will be represented in the figures as Dopp.sub.i where i again represents the relative order of the communication.
(14) Finally, tracker location component 104 can represent any combination of hardware and/or software components that are configured to maintain/provide known locations of tracker 100 at periodic intervals which generally correspond with the timing at which the periodic communications are received. These known locations can be represented in X, Y, and Z coordinates (or another suitable coordinate system) as X.sub.i, Y.sub.i, Z.sub.i where i represents the relative order of the periodic communication to which the location corresponds (e.g., X.sub.1, Y.sub.1, Z.sub.1 can represent the location of tracker 100 when it received a periodic communication from which ToA.sub.1, AoA.sub.1, and Dopp.sub.1 were generated). If tracker 100 is stationary, this known location would remain constant. However, when tracker 100 is moving, the known location will likely change for each received periodic communication. One of skill in the art would understand that there are many different ways to determine the location of tracker 100 each of which could be employed by tracker location component 104.
(15)
(16) In this example, it is assumed that tracker 100 includes a single physical node. However, in other embodiments, tracker 100 may employ multiple physical nodes (e.g., two nodes that each independently receives the periodic communications). In such cases, the second physical node would include its own time of arrival component 101, angle of arrival component 102, and Doppler component 103 (and possibly its own tracker location component 104 if it is spaced a significant distance from the first receiver) to provide independent series of information to location engine 105. It is noted however that one benefit of the present invention is that a highly accurate position estimate can be generated with only a single node.
(17) In summary, for each received periodic communication, each node of tracker 100 will generate time of arrival information, angle of arrival information, Doppler information, and tracker location information and provide this information to location engine 105. Location engine 105 can then use this information in an iterative manner to generate a location estimate for moving object 150. By including the node's location information in this process, the location estimate can be an actual location rather than a relative location with respect to tracker 100. In this regard, if a location estimate relative to tracker 100 is sufficient, the node location information could be excluded from the process.
(18) In accordance with embodiments of the present invention, location engine 105 can be configured to implement a cost function by which moving object 150's position can be estimated. This cost function can be represented as:
(19)
where {circumflex over ()} is the estimated position, T represents time, R represents the node (or receiver, which may be 1 or more), t.sub.ij represents the known (or measured) time of arrival, .sub.ij represents the known angle of arrival, {dot over (f)}.sub.ij represents the known frequency, and .sub.0 represents a priori information defining uncertainty of tracker 100's known position. The values of .sub..sup.2, .sub..sup.2, and .sub.{dot over ()}.sup.2 represent a confidence of the time of arrival, angle of arrival and Doppler measurements respectively, and .sub.ij(a), .sub.ij(a), and {dot over ()}.sub.ij() are the variables whose values can be selected using a non-linear least squares algorithm (e.g., the Levenberg-Marquardt algorithm) to minimize the cost function.
(20) To implement this cost function from the measurements received from components 101-104, location engine 105 can be configured to process the measurements using the following version of the cost function:
{circumflex over ()}=c.sub.1+c.sub.2+c.sub.3+c.sub.4
where c.sub.1 represents the Doppler component of the cost function, c.sub.2 represents the time of arrival component of the cost function, c.sub.3 represents the angle of arrival component of the cost function, and c.sub.4 represents the node location component of the cost function.
(21) Each of the c.sub.1 through c.sub.4 components can be defined in terms of the following position vector:
{right arrow over (P)}=[A(1){right arrow over (B(n,1))}A(2){right arrow over (B(n,2))}A(3){right arrow over (B(n,3)])}
where A is the unknown position of moving object 150 defined as A=[x.sub.i, y.sub.i, z.sub.i] and {right arrow over (B)} is an n1 vector (where n represents the number of nodes employed by tracker 100) of the position of the node of interest defined as B=[x(n1).sub.i, y(n1).sub.i, z(n1).sub.i].
(22) In particular, c.sub.1 can be defined as:
(23)
where .sub.obs is the measured time of arrival for the node of interest (i.e., ToA.sub.i), c is the speed of light, and .sub.e is the emission time if known. If the emission time is not known this value is set to zero. .sub. is the standard deviation of time of arrival component 101.
(24) c.sub.2 is defined as:
(25)
(26) Where is defined as the four quadrant arctangent function of the two dimensional x, y plane between A and B. is the measured angle of arrival (i.e., AoA.sub.i). The operation of is defined as taking the modulus of each operand relative to and subtracting the difference. If the operand is greater than then the sign of the resulting modulus operation is flipped prior to the difference being taken. .sub. is the standard deviation of angle of arrival component 102.
(27) c.sub.3 is defined as:
(28)
where .sub.{dot over ()} is the standard deviation of Doppler component 103, f.sub.dm is the measured Doppler frequency (i.e., Dopp.sub.i), f.sub.c is the carrier frequency of the node of interest, f.sub.e is the measured frequency error, and V is the known velocity of the known node.
(29) Finally, c.sub.4 is defined as:
c.sub.4=W.sup.T
Where W=pos
(30) Accordingly, the cost function to be minimized can be implemented within location engine 105 as:
(31)
(32) Location engine 105 can continuously receive the series of time of arrival measurements (ToA.sub.i), the series of angle of arrival measurements (AoA.sub.i), the series of Doppler measurement (Dopp.sub.i), and the series of locations (B.sub.i), and for each set of measurements (e.g, ToA.sub.1, AoA.sub.1, Dopp.sub.1, and B.sub.1), can input the measurements into the respective component (c.sub.1-c.sub.4) and then minimize the cost function by a non-linear least squares algorithm (e.g., Levenberg-Marquardt). The values of A that produce a minimum can be selected as the estimated position of moving object 150 at the corresponding time. Because location engine 105 generates this estimated position from the time of arrival, angle of arrival, Doppler shift, and known location of the node(s), a highly accurate estimate can be obtained even when tracker 100 employs a single node.
(33)
(34) As described above, each time tracker 100 receives a communication from moving object 150 it can generate a corresponding angle of arrival measurements, time of arrival measurement, Doppler measurement, and node location. For example at time t.sub.1,
(35) In summary, location engine 105 can be configured to estimate a position of a moving object based on multiple types of measurements obtained from processing a communication emitted by the object and based on a known location of one or more nodes that received the communication. By employing the multiple types of measurements and by minimizing a cost function based on such measurements, location engine 105 can produce accurate estimates even when a single node is available to provide measurements of the received communications.
(36) The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description.