METHOD AND SYSTEM FOR 3D POSITION ESTIMATION OF A GNSS RECEIVER USING TRAVEL TIME MEASUREMENTS
A system and associated methodology determines the 3D position of a Global Navigation Satellite System (GNSS) receiver using travel times of a signal. In addition, the system determines a clock offset between the GNSS receiver and satellites. The system finds the required coordinate component while minimizing the computational requirement.
Latest Umm AI-Qura University Patents:
- Cryptosystem and method with efficient elliptic curve operators for an extraction of EiSi coordinate system
- Zinc-based nanohybrids, devices and methods thereof
- METHOD OF MAKING CONDUCTIVE COTTON USING ORGANIC CONDUCTIVE POLYMER
- SPATIO-TEMPORAL METHOD AND SYSTEM TO IMPLEMENT BOUNDARY REGULATION
- SPATIO-TEMPORAL METHOD AND SYSTEM TO IMPLEMENT BOUNDARY REGULATION
This application claims the benefit of priority from International PCT Application No. PCT/IB2014/002237 filed Oct. 27, 2014, the entire contents of which are incorporated herein by reference.
BACKGROUNDThe proliferation of wireless and mobile devices has promoted the demand for context-aware applications, in which location is viewed as one of the most significant contexts. In addition, accurately determining a 3D position of an object is needed in many situations such as in aircrafts, vehicles and mobile devices location systems. A commonly used method for object localization is trilateration. Typically, a trilateration based object localization system makes use of Time of Arrival measurements from three reference stations. One drawback of trilateration is an ambiguity that arises in one of the 3D components. The ambiguity cannot be resolved without prior knowledge of the location of the object. Another drawback of trilateration is the difficulty in solving the nonlinear system of equations involved. For the 2D case, some of the methods to solve the nonlinear system are described in: B. Saduon and O. Al-Bayari, “Location based services using geographical information systems,” Computer Communications, vol. 30, 2007, pp. 3154-3160, Y. Zhao, “Standardization of mobile phone positioning for 3G systems,” IEEE Communication Magazine, 2002, pp. 106-108, Y. T. Chan, “A simple and efficient estimator or hyperbolic location,” IEEE Transactions on Signal Processing, vol. 42, no. 8, 1994, pp. 1905-1915, S. Tekinay, E. Chao, and R. Richton, “Performance benchmarking for wireless location systems,” IEEE Communication Magazine, 1998, pp. 72-76, J. Caffery Jr., “A new geometry approach to TOA location,” IEEE Vehicular Technology Conference, IEEE VTS Fall 2000, vol. 4, 2000, pp. 1943-1949, S. Venkatraman, and J. Caffery Jr., “Hybrid TOA/AOA techniques for mobile location in non-line-of-sight environments,” IEEE wireless communications and Networking Conference (WCNC'04), vol. 1, 2004, pp. 274-278, K. W. Cheung, H. C. SO, W. K. Ma, and Y. T. Chan, “Least squares algorithms for time of arrival based mobile location,” IEEE Transactions on Signal Processing, vol. 52, no. 4, 2004, pp. 1121-1128, S. Venkatraman, J. Caffery Jr., and H. R. You, “A novel TOA location algorithm using LOS range estimation for NLOS environments,” IEEE Transactions on Vehicular Technology, vol. 53, no. 5, 2004, pp. 1515-1524, S. Fischer, H. Grubeck, A. Kangas, H. Koorapaty, E. Larsson, and P. Lundqvist, “Time of arrival estimation of narrowband TDMA signals for mobile positioning,” IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, vol. 1, 1998, pp. 451-455, P. N. Pathirana, A. V. Savkin, S. Jha, “Location estimation and trajectory prediction for cellular networks with mobile base stations,” IEEE Transactions on Vehicular Technology, vol. 53, no. 6, 2004, pp. 1903-1913, S. Al-Jazzar, J. Caffery, H. R. You, “Scattering-model-based methods for TOA location in NLOS environments,” IEEE Transactions on Vehicular Technology, vol. 56, no. 2, 2007, pp. 583-593, and A. Y. Olenko, K. T. Wong, S. A. Qasmi, and J. Ahmadi-Shokouh, “Analytically derived uplink/downlink TOA and 2D-DOA distribution with scatters in 3D hemispheroid surrounding the mobile,” IEEE Transactions on Antennas and Propagation, vol. 54, no. 9, 2006, pp. 2446-2454 each incorporated herein by reference in its entirety. For the 3D case, some methods are describe in: Q. Wan and Y. N. Peng, “An improved 3-dimensional mobile location method using volume measurements of tetrahedron,” The 4th World Congress on Intelligent Control and Automation, Shanghai, China, June 2002, pp. 2181-2185, F. Thomas, and L. Ros, “Revisiting trilateration for robot localization,” IEEE Transactions on Robotics, vol. 21, no. 1, 2005, pp. 93-101, I. Jami, M. Ali, and R. F. Ormandroyd, “Comparison of methods of locating and tracking cellular mobiles,” Novel methods of location tracking of cellular mobiles and their system applications, IEE Colloquium, London, UK, 1999, D. E. Manolakis, “Efficient solution and performance analysis of 3D position estimation by trilateration,” IEEE Transactions on Aerospace and Electronic Systems, vol. 32, no. 4, 1996, pp. 1239-1248, J. Zhou, J. K. Yin Ng, “Mobile location estimation using a 3-dimension ellipse propagation model,” Technical Report: COMP-04-006, Dept. of Computer Science, Hong Kong Baptist University, 2004, G. Shen, R. Zetik, and R. S. Thoma, “Performance comparison of TOA and TDOA based location estimation algorithms in LOS environment,” 5th Workshop on Positioning, Navigation and Communication (WPNC'08), 2008, pp. 71-78, J. R. Gonzalez, and C. J. Bleakley, “Accuracy of spread spectrum techniques for ultrasonic indoor location,” International Conference on Digital Signal Processing (ICDSP 2007), 2007, pp. 284-287, and C. P. Yen, and P. J. Volts, “Direct Location Estimation using Indoor Wireless Communication Systems,” Applications and Technology Conference 2007, Long Island, May 2007, pp. 1-5, each incorporated herein by reference in its entirety. Statistical approaches are described in W. H. Foy, “Position location solutions by Taylor series estimation,” IEEE transactions on Aerospace and Electronic Systems, vol. 12, no. 2, March 1976, pp. 187-194 incorporated herein by reference in its entirety. Other methods are described in I. Guvenc and C. C. Chong, “A survey on TOA based wireless localization and NLOS Mitigation Techniques,” IEEE communications Surveys & Tutorials, vol. 11, no. 3, 3rd QUARTER 2009 incorporated herein by reference in its entirety. In addition, in many applications, the 3D position of the object needs to be found using limited computational and power resources. Due to the reasons mentioned above there is a need for a method and system that requires minimal processing power, uses existing technologies and provides the exact 3D location.
A global navigation satellite system (GNSS) is a space-based satellite radio navigation system that provides three-dimensional (3-D) receiver positioning by solving a set of nonlinear equations using pseudorange measurements. The current approach of solving the nonlinear equations is to linearize the pseudorange equations and calculate the receiver position iteratively, starting with an initial position guess. For near-earth navigation, the center of the earth is usually used as a good initial position guess to make iterative algorithms converge to the position solution. Non-iterative closed-form (CF) and direct solutions to the nonlinear pseudorange GNSS equations provide potential improvements. A direct solution that does not require an initial position guess is attractive for space navigation and for unusual planar array configurations using pseudo-satellites (pseudolites), where the iterative procedure is sensitive to the initial position guess as described in: J. McKay, “Optimization of a GPS-Based Navigation Reference System,” MS Thesis, School of Engineering, Air Force Institute of Technology, Wright-Patterson AFB, OH, 1996 and M. Pachter, and J. McKay, “Geometry Optimization of a GPS-Based Navigation System,” Navigation: Journal of the institute of Navigation, vol. 44, no. 4, 457-470, winter 1997-1998 each incorporated herein by reference in its entirety. Moreover, solutions that require fewer iterations and floating-point operations (FLOPS) are attractive for high-speed vehicles, e.g. spacecrafts, where the computational and power resources may be limited. This results in reduced time to first fix (TTFF), which also helps to acquire more measurements quickly. CF solutions have been developed and described in: S. Bancroft, “An algebraic Solution of the GPS equations,” IEEE Transactions on Aerospace an Electronic Systems, vol. 21, no. 1, pp. 56-59, 1985, J. Leva, “An alternative closed-form solution to the GPS Pseudo-Range Equations,” IEEE Transactions on Aerospace and Electronic Systems, vol. 32, no. 4, pp. 1430-1439, 1996, L. Krause, “A Direct Solution to GPS Type Navigation Equations,” IEEE Transactions on Aerospace and Electronic Systems, vol. 23, no. 2, pp. 223-232, 1987, J. Abel and J. Chaffee, “Existence and Uniqueness of GPS solutions,” IEEE transactions on Aerospace and Electronic Systems, vol. 27, no. 6, pp. 952-956, 1991, J. Chaffee and J. Abel, “On the Exact Solutions of Pseudorange Equations,” IEEE Transactions on Aerospace and Electronic systems, vol. 30, no. 4, pp. 1021-1030, 1994, J. Hoshen, “The GPS Equations and the Problem of Apollonius,” IEEE Transactions on Aerospace and Electronic Systems, vol. 32, No. 3, pp. 1116-1124, 1996, S. Nardi, and M. Pachter, “GPS Estimation Algorithm Using Stochastic Modeling,” Proceedings of the Conference on Decision and Control, Tampa, Fla., USA, 1998, and M. Pachter, and S. Nardi, “Stochastic Modeling in GPS Estimation,” Advances in Intelligent System: Concepts, Tools, and Applications, Kluwer Academic, vol. 35, pp. 389-400, 1999, each incorporated herein by reference in its entirety.
The foregoing “background” description is for the purpose of generally presenting the context of the disclosure. Work of the inventor, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present invention. The foregoing paragraphs have been provided by way of general introduction, and are not intended to limit the scope of the following claims. The described embodiments, together with further advantages, will be best understood by reference to the following detailed description taken in conjunction with the accompanying drawings.
SUMMARYA method for determining a 3D position of a Global Navigation Satellite System (GNSS) receiver is provided that comprises obtaining a first, a second, a third, a fourth, and a fifth travel times of a signal from a first, a second, a third, a fourth, and a fifth satellites, determining the 3D position of the GNSS receiver as a function of the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, and positions of the first, second, third, fourth, and fifth satellites, determining a clock offset between synchronized clocks of the first, the second, the third, the fourth, and the fifth satellites and a clock of the GNSS receiver and sending the 3D position of the GNSS receiver and the clock offset to an external device to provide enhanced accurate position data to host applications.
A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout several views, the following description relates to determining a 3D object position using measurements from four stations. Specially, as shown in the drawings and related discussion, in one embodiment, the measurements from the four stations are sent to a server. The server, using processing circuitry, determines the 3D object position. Then, the server can send the 3D object position to a user.
Since recent technological advances have enabled the development of low cost, low power and multifunctional sensor devices, many systems use localization information to provide directions and services related to the user's current location. For example, cellular operators use location information to find the source of emergency calls. Location information is also essential for wirelessly tracking objects such as vehicles and valuable goods. There are several techniques for localization using data, such as the time when signals arrives and the received signal strength.
Time of Arrival (TOA) method uses a travel time from a transmitter to a receiver to measure the distance between the two. Since the TOA method relies on the difference between a time of arrival and a time of departure, all receivers and transmitters must be synchronized so there in no error due to clock offsets. TOA measurements are also used in locating cell phones and for seismological studies. The TOA method is based on time of flight (TOF) principle of distance measurement where the sensed parameter, time interval, is converted to distance by multiplication by the speed of propagation. In the TOA method, location estimates are found by determining points of intersections of circles (2D case) or spheres (3D case) whose centers are located at fixed stations and radii are estimated distances to an object. Trilateration is the determination of the 3D object position using three stations at known locations. In trilateration, a solution of a system of quadratic equations is involved where an exact solution is not easy to obtain. However, many algebraic and numerical solutions are available. These approaches involve complex geometric computations, which usually require a relatively long execution time and thus are not suitable for low-cost applications with constrained power and computational resources. In addition, algorithms that use three TOA measurements with three stations to obtain a 3D position solution face a twofold ambiguity and can be only be resolved if some information about the object general location is available. Described herein is an efficient and computational cost effective method and system for determining the 3D object position.
A transmitted or reflected signal from the object 100 is received by each of the sensors at stations 102,104,106,108. The time of arrival for the signal from the object 100 to each station is recorded. A range measurement from the object 100 to each of the station can be calculated based on the TOA and a signal propagation speed in a media. In one embodiment, the range measurement from the object 100 to each of the station is found by multiplying the TOA by the signal propagation speed in the media. In selected embodiments, the signal propagation speed in the media is the speed of light for electromagnetic based systems and the speed of sound in that medium for sonar based systems.
At step S402, the clocks of the four stations and the object are synchronized using the synchronization circuitry 204. In one embodiment, the synchronization method may be that disclosed in U.S. Pat. No. 5,469,409, entitled “METHOD FOR CLOCK CALIBRATION IN A POSITION DETERMINATION SYSTEM” the entire disclosure of which is incorporated herein by reference.
At step S404, the server 300 may obtain the time of arrival of the signal from stations 102, 104, 106 and 108. At step 406, the server 300 using processing circuitry computes the range of measurement based on the time of arrival and the signal speed in the medium. In selected embodiments, the server 300 can compute the range of measurement by multiplying the time of arrival and the signal speed in the medium. In selected embodiments, the signal may be reflected or transmitted from the object 100. In other embodiments, the signal can be received and re-transmitted by the object 100. At step S408, the server 300 can compute the 3D position of the object 100. The unknown location of the object 100 may be defined in the 3-dimensional rectangular coordinate system as (x,y,z).
The equations of the four available TOA measurements may be written as
(x−x1)2+(y−y1)2+(z−z1)2=r12 (1)
(x−x2)2+(y−y2)2+(z−z2)2=r22 (2)
(x−x3)2+(y−y3)2+(z−z3)2=r32 (3)
(x−x4)2+(y−y4)2+(z−z4)2=r42 (4)
Subtracting equations (2), (3) and (4) from equation (1), three expressions are obtained:
to cancel out z, equations (5) and (6) are first multiplied by (z3−z1) and (z2−z1) respectively, and then (6) is subtracted from (5). Rearranging the resultant to get y explicitly, yields
Repeating the previous step by multiplying equations (5) and (7) by (z4−z1) and (z2−z1) respectively, and then rearranging the expression resulting from subtracting (7) from (5), yields another expression for y as:
An expression for x is obtained from (11) and (12) in terms of the given information and independent of the other two position components as:
where
- I1=(z3−z1)(x2−x1)−(z2−z1)(x3−x1),
- I2=(z4−z1)(x2−x1)−(z2−z1)(x4−x1),
- I3=(z3−z1)A1−(z2−z1)A2,
- I4=(z4−z1)A1−(z2−z1)A3,
- I5=(z3−z1)(y2−y1)−(z2−z1)(y3−y1), and
- I6=(z4−z1)(y2−y1)−(z2−z1)(y4−y1),
In a similar way, expressions for y and z may be obtained independently from the other two respective position components as:
where
- I7=(y3−y1)(x2−x1)−(y2−y1)(x3−x1),
- I8=(y4−y1)(x2−x1)−(y2−y1)(x4−x1),
- I9=(y3−y1)A1−(y2−y1)A2,
- I10=(y4−y1)A1−(y2−y1)A3,
- I11=(y3−y1)(z2−z1)−(y2−y1)(z3−z1) and
- I12=(y4−y1)(z2−z1)−(y2−y1)(z4−z1),
Equations (13), (14) and (15) can be used to calculate the 3D position of the object 100 at step S408. Then, the server 300 can send the coordinates to the user 304 via the network 302. The server 300 may send the 3D position of the object 100 to an external device to provide accurate position data to host applications. The accurate position data may be used by smartphone applications. The 3D position of the object 100 found has no ambiguities as in the methods that use three stations. The computation of each position component is independent of the other components. For example, the server 300 may find the x coordinate independently of the y and z coordinates. Thus, the method has the advantage of calculating the position component of interest only, for example, the vertical position (altimeter mode). The method can also be used to initiate more computationally intensive iterative positioning algorithms to help overcome divergence problems.
In selected embodiments, the user may indicate the coordinate that needs to be determined for a group of objects. The user using an interface may enter the coordinate needed only once along with the group of objects that needs localization. For example, the user may be interested in the z coordinates. In other example, the user may be interested in two the x and y coordinates as in tracking ships. In selected embodiments, the user may indicate the area to detect any object presents. The user may also indicate using the interface, the period of time when the location should be determined. The server 300 then gets the TOA measurements from the four stations during the indicated period.
In selected embodiments, the disclosed system and associated methodology may be an indoor positioning system. The type of position determining system may be based on radio-frequency identification. The object may be equipped with a RFID reader and the stations may be equipped with RFID tags. For example, the stations may be fixed objects in the surrounding environment whose positions are known and stored in the server 300. Once the object moves inside the surrounding of the RFID tags its position can be calculated using steps S400-S408.
Further, the claimed advancements may be provided as a utility application, background daemon, or component of an operating system, or combination thereof, executing in conjunction with CPU 700 and an operating system such as Microsoft Windows 7, UNIX, Solaris, LINUX, Apple MAC-OS and other systems known to those skilled in the art.
CPU 700 may be a Xenon or Core processor from Intel of America or an Opteron processor from AMD of America, or may be other processor types that would be recognized by one of ordinary skill in the art. Alternatively, the CPU 700 may be implemented on an FPGA, ASIC, PLD or using discrete logic circuits, as one of ordinary skill in the art would recognize. Further, CPU 700 may be implemented as multiple processors cooperatively working in parallel to perform the instructions of the inventive processes described above.
The server in
The server further includes a display controller 708, such as a NVIDIA GeForce GTX or Quadro graphics adaptor from NVIDIA Corporation of America for interfacing with display 710, such as a Hewlett Packard HPL2445w LCD monitor. A general purpose I/O interface 712 interfaces with a keyboard and/or mouse 714 as well as a touch screen panel 716 on or separate from display 710. General purpose I/O interface also connects to a variety of peripherals 718 including printers and scanners, such as an OfficeJet or DeskJet from Hewlett Packard.
A sound controller 720 is also provided in the server, such as Sound Blaster X-Fi Titanium from Creative, to interface with speakers/microphone 722 thereby providing sounds and/or music.
The general purpose storage controller 724 connects the storage medium disk 704 with communication bus 726, which may be an ISA, EISA, VESA, PCI, or similar, for interconnecting all of the components of the mobile device. A description of the general features and functionality of the display 710, keyboard and/or mouse 714, as well as the display controller 708, storage controller 724, network controller 706, sound controller 720, and general purpose I/O interface 712 is omitted herein for brevity as these features are known.
In other embodiments, the system may be used for the estimation of a 3D GNSS receiver position. A GNSS receiver determines its position using satellites. The 3D GNSS receiver position may be defined in the 3-dimensional rectangular coordinate system as x, y, z. The GNSS receiver measures the transmitting time of GNSS signal emitted from the satellites known as pseudorange measurements of the GNSS receiver. The pseudorange measurements may be used to construct a system of quadratic (nonlinear) equations. In addition, a clock-offset τ exists between the synchronized clocks of the satellites and the GNSS receiver's clock. Therefore, for a direct unambiguous analytical solution, five such equations can be used to estimate four unknowns (x, y, z, τ) and to eliminate the resulting ambiguity due to the quadratic nature of the equations. With the extra pseudorange measurements, several sets of five measurements can be formed and utilized to improve the estimation accuracy and fault detection.
The positions of the five satellites are known and may be represented by (ai, bi, ci) where i=1, . . . , 5. The pseudorange measurements may be represented by Ti, where i=1, . . . , 5. Ti is the known travel time of the signal from satellite i as calculated by the GNSS receiver. ti, i=1, . . . , 5, may represent the unknown actual time traveled by the signal from satellite i. Thus, ti=Ti−τ. The unknown position of the GNSS receiver may be represented by (x,y,z).
The i-th pseudorange measurement may be expressed as
c(Ti−τ)=√{square root over ((x−ai)2+(y−bi)2+(z−ci)2)}{square root over ((x−ai)2+(y−bi)2+(z−ci)2)}{square root over ((x−ai)2+(y−bi)2+(z−ci)2)} (16)
where c is the speed of light in vacuum or the propagation speed of the GNSS signal in the medium between the GNSS satellites and the receiver.
Squaring both sides of the pseudorange measurement equation (16), the following five equations can be written
(x−a1)2+(y−b1)2+(z−c1)2=c2(T1−τ) (17)
(x−a2)2+(y−b2)2+(z−c2)2=c2(T2−τ) (18)
(x−a3)2+(y−b3)2+(z−c3)2=c2(T3−τ) (19)
(x−a4)2+(y−b4)2+(z−c4)2=c2(T4−τ) (20)
(x−a5)2+(y−b5)2+(z−c5)2=c2(T5−τ) (21)
Expanding equations (17)-(21) and then subtracting equations (18)-(21) from equation (17) successively and rearranging, four expressions are obtained:
where
- L1=T2−T1,
- L2=T3−T1,
- L3=T4−T1,
- L5=T5−T1,
- B1=c2(T12−T22)+(a22−a12)+(b22−b12)+(c22−c12),
- B2=c2(T12−T32)+(a32−a12)+(b32−b12)+(c32−c12),
- B3=c2(T12−T42)+(a42−a12)+(b42−b12)+(c42−c12) and
- B4=c2(T12−T52)+(a52−a12)+(b52−b12)+(c52−c12).
Multiplying (22) and (23) by J2 and J1 respectively, and then subtracting (23) from (22) and rearranging to cancel out z, the following expression is obtained:
L2[(a2−a1)x+(b2−b1)y+(c2−c1)z]−L1[(a3−a1)x+(b3−b1)y+(c3−c1)z]=½(B1L2−B2L1) (26)
Similarly, equations (22) and (24) are multiplied by J3 and J1 respectively, and then subtracting (24) from (22) and rearranging to cancel out τ, the following expression is obtained:
L3[(a2−a1)x+(b2−b1)y+(c2−c1)z]−L1[(a4−a1)x+(b4−b1)y+(c4−c1)z]=½(B1L3−B3L1) (27)
Finally, equations (22) and (25) are multiplied by J4 and J1 respectively, and then subtracting (25) from (22) and rearranging to cancel out τ, the following expression is obtained:
L4[(a2−a1)x+(b2−b1)y+(c2−c1)z]−L1[(a5−a1)x+(b5−b1)y+(c5−c1)z]=½(B1L4−B4L1) (28)
Equations (26)-(28) may be further simplified by defining the following variables:
- L11=L2(a2−a1)−L1(a3−a1),
- L12=L2(b2−b1)−L1(b3−b1),
- L13=L2(c2−c1)−L1(c3−c1),
- L14=½(B1L2−B2L1),
- L21=L3(a2−a1)−L1(a4−a1),
- L22=L3(b2−b1)−L1 (b4−b1),
- L23=L3(c2−c1)−L1(c4−c1),
- L24=½(B1L3−B3L1),
- L31=L4(a2−a1)−L1(a5−a1),
- L32=L4(b2−b1)−L1(b5−b1),
- L33=L4(c2−c1)−L1(c5−c1) and
- L34=½(B1L4−B4L1).
Thus, equations (26)-(28) may be written as:
L11x+L12y+L13z=L14 (29)
L21x+L22y+L23z=L24 (30)
L31x+L32y+L33z=L34 (31)
To further simplify, the following variables are introduced:
- J1=L23L11−L13L21
- J2=L23L12−L13L22,
- J3=L23L14−L13L24,
- J4=L33L11−L13L31,
- J5=L33L12−L13L32 and
- J6=L33L14−L13L34.
Multiplying equations (29) and (30) by L23 and L13 respectively, and then subtracting (30) from (29) and rearranging to cancel out z yields
J1x+J2y=J3 (32)
Similarity, equations (29) and (31) are multiplied by L33 and L13 respectively, and then subtracting (31) from (29) and rearranging to cancel out z yields
J4x+J5y=J6 (33)
From (32) and (33), a solution for x independent of the other unknown, y, z and τ, is obtained:
Similarly, solutions for y, z and τ independent of the rest of the unknowns are obtained:
where
- K1=L22L11−L12L21,
- K2=L22L13−L12L23,
- K3=L22L14−L12L24,
- K4=L32L14−L12L31,
- K5=L32L13−L12L33 and
- K6=L32L14−L12L34.
Finally the clock-offset may be expressed as:
where
- M1=a2−a1,
- M2=a3−a1,
- M3=a4−a1,
- M4=a5−a1,
- M11=M2(b2−b1)−M1(b3−b1),
- M12=M2(c2−c1)−M1(c3−c1),
- M13=M2(T2−T1)−M1(T3−T1),
- M14=½(M2B1−M1B2),
- M21=M3(b2−b1)−M1(b4−b1),
- M22=M3(c2−c1)−M1(c4−c1),
- M23=M3(T2−T1)−M1(T4−T1),
- M24=½(M3B1−M1B3),
- M31=M4(b2−b1)−M1(b5−b1),
- M32=M4(c2−c1)−M1(c5−c1),
- M33=M4(T2−T1)−M1(T5−T1),
- M34=½(M4B1−M1B4),
- N1=M21M12−M11M22,
- N2=M21M13−M11M23,
- N3=M21M14−M11M24,
- N4=M31M12−M11M32,
- N5=M31M13−M11M33 and
- N6=M31M14−M11M34.
A system which includes the features in the foregoing description provides numerous advantages to the users. In particular, the method and system determines the position of the object using exactly four TOA from four different stations. The present disclosure has the advantage of finding the exact location without ambiguities. Thus, the present disclosure provides an improvement to the technical field by finding the exact position without ambiguities and by reducing errors. In addition, the present disclosure has the advantage of finding only the needed components thus minimizing computation. Thus, the present disclosure improves the functioning of the server by increasing processing speed, decreasing power consumption and resulting in a chip area reduction. The presented method can be applied to indoor or outdoor localization. With the rapid development of wireless sensor networks, location information becomes critically essential and indispensable. In many applications, it is important to associate sensed data with locations. In addition, the presented method may also be used for localization using satellites. The presented method has the advantage to minimize the computational requirement for localization using satellites, which make it beneficial to use in locating high-speed vehicles. The method also finds the clock-offset without ambiguities.
Obviously, numerous modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
Thus, the foregoing discussion discloses and describes merely exemplary embodiments of the present invention. As will be understood by those skilled in the art, the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting of the scope of the invention, as well as other claims. The disclosure, including any readily discernible variants of the teachings herein, define, in part, the scope of the foregoing claim terminology such that no inventive subject matter is dedicated to the public.
The above disclosure also encompasses the embodiments listed below.
-
- (1) A method for determining a 3D position of a Global Navigation Satellite System (GNSS) receiver, including: obtaining a first, a second, a third, a fourth, and a fifth travel times of a signal from a first, a second, a third, a fourth, and a fifth satellites; determining, using processing circuitry and with reduced computation time, the 3D position of the GNSS receiver as a function of the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, and positions of the first, second, third, fourth, and fifth satellites; determining, using the processing circuitry, a clock offset between synchronized clocks of the first, the second, the third, the fourth, and the fifth satellites and a clock of the GNSS receiver; and sending the 3D position of the GNSS receiver and the clock offset to an external device to provide enhanced position data to host applications.
- (2) The method for determining the 3D position of the Global Navigation Satellite System (GNSS) receiver of (1), wherein the 3D position of the GNSS receiver is defined by x, y and z coordinates.
- (3) The method for determining the 3D position of the GNSS receiver of (2), further including: calculating the x coordinate as a function of J1, J2, J3, J4, J5 and J6 where
- J1=L23L11−L13L21,
- J2=L23L12−L13L22,
- J3=L23L14−L13L24,
- J4=L33L11−L13L31,
- J5=L33L12−L13L32,
- J6=L33L14−L13L34,
- L11=L2(a2−a1)−L1(a3−a1),
- L12=L2(b2−b1)−L1(b3−b1),
- L13=L2(c2−c1)−L1(c3−c1),
- L14=½(B1L2−B2L1),
- L21=L2(a2−a1)−L1(a4−a1),
- L22=L3(b2−b1)−L1(b4−b1),
- L23=L3(c2−c1)−L1(c4−c1),
- L24=½(B1L3−B3L1),
- L31=L4(a2−a1)−L1(a5−a1),
- L32=L4(b2−b1)−L1(b5−b1),
- L33=L4(c2−c1)−L1(c5−c1),
- L34=½(B1L4−B4L1),
- L1=T2−T1,
- L2=T3−T1,
- L3=T4−T1,
- L5=T5−T1,
- B1=c2(T12−T22)+(a22−a12)+(b22−b12)+(c22−c12),
- B2=c2(T12−T32)+(a32−a12)+(b32−b12)+(c32−c12),
- B3=c2(T12−T42)+(a42−a12)+(b42−b12)+(c42−c12),
- B4=c2(T12−T52)+(a52−a12)+(b52−b12)+(c52−c12),
- T1, T2, T3, T4, and T5 are the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites,
- a1, b1, c1 are coordinates defining the 3D position of the first satellite,
- a2, b2, c2 are the coordinates defining the 3D position of the second satellite,
- a3, b3, c3 are the coordinates defining the 3D position of the third satellite,
- a4, b4, c4 are the coordinates defining the 3D position of the fourth satellite,
- a5, b5, c5 are the coordinates defining the 3D position of the fifth satellite, and
- c is the signal propagation speed of the signal in a medium between the first, the second, the third, the fourth, and the fifth satellites and the GNSS receiver.
- (4) The method for determining the 3D position of the GNSS receiver of (3), wherein calculating the x coordinate includes applying
-
- (5) The method for determining the 3D position of the GNSS receiver of (3), further including: calculating the y coordinate as a function of J1, J2, J3, J4, J5 and J6.
- (6) The method for determining the 3D position of the GNSS receiver of (5), wherein calculating the y coordinate includes applying
-
- (7) The method for determining the 3D position of the GNSS receiver of (3), further including: calculating the z coordinate as a function of K1, K2, K3, K4, K5 and K6, where
- K1=L22L11−L12L21,
- K2=L22L13−L12L23,
- K3=L22L14−L12L24,
- K4=L32L11−L12L31,
- K5=L33L13−L12L33, and
- K6=L32L14−L12L34.
- (8) The method for determining the 3D position of the GNSS receiver of (7), wherein calculating the z coordinate includes applying
- (7) The method for determining the 3D position of the GNSS receiver of (3), further including: calculating the z coordinate as a function of K1, K2, K3, K4, K5 and K6, where
-
- (9) The method for determining the 3D position of the GNSS receiver of (3), further including: calculating the clock offset as a function of N1, N2, N3, N4, N5, N6 and c where
- M1=a2−a1,
- M2=a3−a1,
- M3=a4−a1,
- M4=a5−a1,
- M11=M2(b2−b1)−M1(b3−b1),
- M12=M2(c2−c1)−M1(c3−c1),
- M13=M2(T2−T1)−M1(T3−T1),
- M14=½(M2B1−M1B2),
- M21=M3(b2−b1)−M1(b4−b1),
- M22=M3(c2−c1)−M1(c4−c1),
- M23=M3(T2−T1)−M1(T4−T1),
- M24=½(M3B1−M1B3),
- M31=M4(b2−b1)−M1(b5−b1),
- M32=M4(c2−c1)−M1(c5−c1),
- M33=M4(T2−T1)−M1(T5−T1),
- M34=½(M4B1−M1B4),
- N1=M21M12−M11M22,
- N2=M21M13−M11M23,
- N3=M21M14−M11M24,
- N4=M31M12−M11M32,
- N5=M31M13−M11M33 and
- N6=M31M14−M11M34.
- (10) The method for determining the 3D position of the GNSS receiver of (9), wherein calculating the clock offset includes applying
- (9) The method for determining the 3D position of the GNSS receiver of (3), further including: calculating the clock offset as a function of N1, N2, N3, N4, N5, N6 and c where
-
- where τ is the clock offset.
- (11) A system for determining a 3D position of a Global Navigation Satellite System (GNSS) receiver, including: at least five satellites; a GNSS receiver; and processing circuitry configured to obtain, a first, a second, a third, a fourth, and a fifth travel times of a signal from a first, a second, a third, a fourth, and a fifth satellites, determine the 3D position of the GNSS receiver as a function of the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, and positions of the first, second, third, fourth, and fifth satellites, determine a clock offset between synchronized clocks of the first, the second, the third, the fourth, and the fifth satellites and a clock of the GNSS receiver, and send the 3D position of the GNSS receiver and the clock offset to an external device to provide enhanced position data to host applications.
Claims
1. A method for determining a 3D position of a Global Navigation Satellite System (GNSS) receiver, the method comprising:
- obtaining a first, a second, a third, a fourth, and a fifth travel times of a signal from a first, a second, a third, a fourth, and a fifth satellites;
- determining, using processing circuitry and with reduced computation time, the 3D position of the GNSS receiver as a function of the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, and positions of the first, second, third, fourth, and fifth satellites;
- determining, using the processing circuitry, a clock offset between synchronized clocks of the first, the second, the third, the fourth, and the fifth satellites and a clock of the GNSS receiver; and
- sending the 3D position of the GNSS receiver and the clock offset to an external device to provide enhanced position data to host applications.
2. The method of claim 1, wherein the 3D position of the GNSS receiver is defined by x, y and z coordinates.
3. The method of claim 2, further comprising: where J1=L23L11−L13L21, J2=L23L12−L13L22, J3=L23L14−L13L24, J4=L33L11−L13L31, J5=L33L12−L13L32, J6=L33L14−L13L34, L11=L2(a2−a1)−L1(a3−a1), L12=L2(b2−b1)−L1(b3−b1), L13=L2(c2−c1)−L1(c3−c1), L14=½(B1L2−B2L1), L21=L2(a2−a1)−L1(a4−a1), L22=L3(b2−b1)−L1(b4−b1), L23=L3(c2−c1)−L1(c4−c1), L24=½(B1L3−B3L1), L31=L4(a2−a1)−L1(a5−a1), L32=L4(b2−b1)−L1(b5−b1), L33=L4(c2−c1)−L1(c5−c1), L34=½(B1L4−B4L1), L1=T2−T1, L2=T3−T1, L3=T4−T1, L5=T5−T1, B1=c2(T12−T22)+(a22−a12)+(b22−b12)+(c22−c12), B2=c2(T12−T32)+(a32−a12)+(b32−b12)+(c32−c12), B3=c2(T12−T42)+(a42−a12)+(b42−b12)+(c42−c12), B4=c2(T12−T52)+(a52−a12)+(b52−b12)+(c52−c12), T1, T2, T3, T4, and T5 are the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, a1, b1, c1 are coordinates defining the 3D position of the first satellite, a2, b2, c2 are the coordinates defining the 3D position of the second satellite, a3, b3, c3 are the coordinates defining the 3D position of the third satellite, a4, b4, c4 are the coordinates defining the 3D position of the fourth satellite, a5, b5, c5 are the coordinates defining the 3D position of the fifth satellite, and c is the signal propagation speed of the signal in a medium between the first, the second, the third, the fourth, and the fifth satellites and the GNSS receiver.
- calculating the x coordinate as a function of J1, J2, J3, J4, J5 and J6
4. The method of claim 3, wherein calculating the x coordinate includes applying x = J 3 J 5 - J 2 J 6 J 1 J 5 - J 2 J 4.
5. The method of claim 3, further comprising:
- calculating the y coordinate as a function of J1, J2, J3, J4, J5 and J6.
6. The method of claim 5, wherein calculating the y coordinate includes applying y = J 1 J 6 - J 3 J 4 J 1 J 5 - J 2 J 4.
7. The method of claim 3, further comprising: where K1=L22L11−L12L21, K2=L22L13−L12L23, K3=L22L14−L12L24, K4=L32L14−L12L31, K5=L32L13−L12L33, and K6=L32L14−L12L34.
- calculating the z coordinate as a function of K1, K2, K3, K4, K5 and K6,
8. The method of claim 7, wherein calculating the z coordinate includes applying z = K 1 K 6 - K 3 K 4 K 1 K 5 - K 2 K 4.
9. The method of claim 3, further comprising: where M1=a2−a1, M2=a3−a1, M3=a4−a1, M4=a5−a1, M11=M2(b2−b1)−M1(b3−b1), M12=M2(c2−c1)−M1(c3−c1), M13=M2(T2−T1)−M1(T3−T1), M14=½(M2B1−M1B2), M21=M3(b2−b1)−M1(b4−b1), M22=M3(c2−c1)−M1(c4−c1), M23=M3(T2−T1)−M1(T4−T1), M24=½(M3B1−M1B3), M31=M4(b2−b1)−M1(b5−b1), M32=M4(c2−c1)−M1(c5−c1), M33=M4(T2−T1)−M1(T5−T1), M34=½(M4B1−M1B4), N1=M21M12−M11M22, N2=M21M13−M11M23, N3=M21M14−M11M24, N4=M31M12−M11M32, N5=M31M13−M11M33 and N6=M31M14−M11M34.
- calculating the clock offset as a function of N1, N2, N3, N4, N5, N6 and c
10. The method of claim 9, wherein calculating the clock offset includes applying τ = N 3 N 4 - N 1 N 6 c 2 ( N 1 N 5 - N 2 N 4 )
- where τ is the clock offset.
11. A system for determining a 3D position of a Global Navigation Satellite System (GNSS) receiver, the system comprising:
- at least five satellites;
- a GNSS receiver; and
- processing circuitry configured to obtain, a first, a second, a third, a fourth, and a fifth travel times of a signal from a first, a second, a third, a fourth, and a fifth satellites, determine the 3D position of the GNSS receiver as a function of the first, the second, the third, the fourth, and the fifth travel times of the signal from the first, the second, the third, the fourth, and the fifth satellites, and positions of the first, second, third, fourth, and fifth satellites, determine a clock offset between synchronized clocks of the first, the second, the third, the fourth, and the fifth satellites and a clock of the GNSS receiver, and send the 3D position of the GNSS receiver and the clock offset to an external device to provide enhanced accurate position data to host applications.
Type: Application
Filed: Apr 15, 2015
Publication Date: Apr 28, 2016
Applicant: Umm AI-Qura University (Makkah)
Inventor: Mohamed KHALAF-ALLAH (Makkah)
Application Number: 14/687,701