GNSS cooperative receiver system
09766338 · 2017-09-19
Assignee
Inventors
- Christopher Neil Kurby (Streamwood, IL, US)
- Richard M. Lee (Denver, CO, US)
- Eric Derbez (Vancouver, CA)
Cpc classification
G01S5/145
PHYSICS
G01S19/06
PHYSICS
G01S19/46
PHYSICS
G01S19/48
PHYSICS
G01S5/0072
PHYSICS
International classification
Abstract
A GNSS cooperative receiver system that can be utilized when one or more GNSS receivers is in a compromised position where it cannot receive direct signals from a sufficient number of GNSS satellites. This may in the interior of an office building or multi-dwelling unit, which may be in the vicinity of other tall buildings. The receivers determine their relative positions from one of various ranging techniques, and then with this relative position information, pseudoranges, and correlation values from the various GNSS receivers, the best GNSS solution can be determined for the group of cooperative receivers. This could include two or more receivers in a group. There also related techniques for one receiver to be a designated, remote anchor for other GNSS receivers that need such assistance.
Claims
1. A method for a GNSS receiver to more accurately determine a position of the GNSS receiver, based in part on signals received from one or more GNSS satellites, comprising: determining a distance from a first GNSS receiver to each of one or more other GNSS receivers; receiving at least one GNSS signal from one or more GNSS satellites at each of the first GNSS receiver and the one or more other GNSS receivers; generating pseudoranges and correlation values associated with the GNSS signals received from the one or more GNSS satellites for each of the first GNSS receiver and the one or more other GNSS receivers; collecting the pseudoranges and the correlation values for each of the first GNSS receiver and the one or more other GNSS receivers; and generating a solution that provides the position of the first GNSS receiver and an orientation of the first GNSS receiver and the one or more other GNSS receivers based on the pseudoranges, the correlation values, and the determined distance to each of the one or more other GNSS receivers.
2. A method as defined in claim 1, wherein the determining the distance from the first GNSS receiver to each of the one or more other GNSS receivers is performed cooperatively by the first GNSS receiver and the one or more other GNSS receivers.
3. A method as defined in claim 2, wherein the determining the distance from the first GNSS receiver to each of the one or more other GNSS receivers includes RF ranging.
4. A method as defined in claim 1, wherein the determining the distance from the first GNSS receiver to each of the one or more other GNSS receivers allows the relative geometry of the GNSS receivers to be determined.
5. A method as defined in claim 1, further comprising: determining which of the GNSS receivers is able to receive GNSS signals with a largest signal strength from a first one of the GNSS satellites.
6. A method as defined in claim 5, further comprising: determining which of the GNSS receivers is able to receive GNSS signals with a largest signal strength from a second one of the GNSS satellites.
7. A method as defined in claim 5, further comprising: determining the relative geometry of the GNSS receivers based at least in part on which receiver is able to receive GNSS signals with a largest signal strength from a first one of the GNSS satellites.
8. A method as defined in claim 1, further comprising: determining the position of each of the one or more other GNSS receivers in addition to the determining the position of the first GNSS receiver.
9. A method as defined in claim 8, wherein the determining of the positions of the group of cooperative GNSS receivers includes determining the distance between each one of the cooperative GNSS receivers in the group and at least a plurality of other ones of the cooperative GNSS receivers in the group.
10. A method as defined in claim 8, wherein the determining the positions of each of the one or more other GNSS receivers further comprises: selecting an anchor position relative to the first GNSS receiver and the one or more other GNSS receivers; applying a first rotation hypotheses corresponding to a first hypothesized orientation of the first GNSS receiver and the one or more other GNSS receivers; determining a first residual error based on the first hypothesized orientation and a calculated location based on the pseudoranges corresponding to the first GNSS receiver and the one or more other GNSS receives; rotating the rotation hypothesis about an axis extending relative to the first GNSS receiver and the one or more other GNSS receivers to apply a second hypothesized orientation of the first GNSS receiver and the one or more other GNSS receivers; determining a second residual error based on the second hypothesized orientation and the calculated location based on the pseudoranges corresponding to the first GNSS receiver and the one or more other GNSS receives; comparing the first residual errors and the second residual error from the respective one of the first hypothesized orientation and the second hypothesized orientation; and selecting one of the first hypothesized orientation and the second hypothesized orientation based upon the comparison to determine which of the first residual error and the second residual error is smallest.
11. A method as defined in claim 10, wherein a plurality residual errors corresponding to a plurality of hypothesized orientations of the first GNSS receiver and the one or more other GNSS receivers about the axis is determined, wherein the comparison is made of the plurality of residual errors from each respective one of the plurality of hypothesized, and the selection is made based on the smallest of the plurality of residual errors.
12. A method as defined in claim 10, wherein a geodetic system is used and the axis extends through the origin of the geodetic system corresponding to an anchor position relative to the first GNSS receiver and the one or more other GNSS receivers.
13. A method as defined in claim 12, wherein the geodetic system is defined relative to a plane tangent to the surface of the Earth at an intersection of a vector from the center of the Earth to the anchor receiver.
14. A method as defined in claim 13, wherein the geodetic system uses an arbitrary vector as a reference.
15. A method as defined in claim 10, wherein the anchor position coincides with a selected one of the first GNSS receiver and the one or more other GNSS receivers.
16. A method as defined in claim 15, wherein the axis passing through the anchor position extends normal to a plane that is tangent to the surface of the Earth at the anchor position.
17. A method as defined in claim 10, wherein the axis extends normal to a plane that is tangent to the surface of the Earth at the anchor position.
18. A method as defined in claim 17, wherein the first GNSS receiver and the one or more other GNSS receivers are disposed within the plane.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION
(17) While the disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that it is not intended to limit the disclosure to the particular form disclosed, but rather, the disclosure is to cover all modifications, equivalents, and alternatives falling within the scope as defined by the claims.
(18) The solution provided herein to the problems described above is to use a set of GNSS receivers in cooperation with each other. The cooperating receivers first conduct ranging measurements to each other to determine the distance to each other and establish the relative geometry of the cooperating receivers. Then, the cooperating receivers compute pseudoranges and correlation values for each of the GNSS satellites available to them. These pseudoranges/correlation values are sent either to each other or to a central server where they are combined to generate a single solution. This solution is then translated back to each receiver using the known geometry or relationship to each other. The geometry is rotated and optimized to concur with the best GNSS solution of the group.
(19)
(20) A high-level flowchart 50 of the techniques taught herein is provided in
(21) The Cooperative Receiver architecture includes the GNSS cooperative receivers being arranged on any floor of a building in a way to provide small cell coverage for users on the floor. In this way, they form a geometry on the floor described by their separation from each other. Three prevalent geometries (as shown in
(22) Next, the distance from cell to cell is measured and the geometry determined. For example, in the case of 3 receivers, if the distance from each receiver is known, then it is a routine matter to generate the triangle that describes the receiver relationships. However, the exact orientation and positions within the building will not be known until the GNSS locations are calculated. The orientation problem is indicated in
(23) The distance from receiver to receiver can be determined in many ways. Three are described below. The distance from receiver to receiver can be measured with wireless technology. This could be Wi-Fi ranging from receiver to receiver as is done today for mobile location, it can also be an LTE signal or other RF signal. The distance can be measured by the propagation time over a wired link receiver to receiver such as the Ethernet link receiver to receiver using IEEE 1588v2 (PTP) or some other protocol. This will be less accurate than wireless since there will be unknown cable lengths associated with the wiring in walls, floors and the like. It can be a predetermined placement pattern such as: all receivers across all floors have the same geometry, and measurements are only needed once or not at all.
(24) Next, GNSS measurements are performed from each GNSS receiver to each satellite in view. The measurements result in candidate correlation time offset values and Doppler bins. In the ideal case of low noise and no reflections or diffractions, the correlation response in the ideal Doppler bin will look triangular with the peak value defining the correct time offset at time offset zero from true time as seen in
(25) The GNSS receiver will pass the top correlation values and time offsets for the top five to ten values across sample time and Doppler offsets, in this case offsets −2 samples to +2 samples in the ideal Doppler bin, to the GNSS computation engine and/or other GNSS receivers to cooperate in the GNSS solution.
(26) In the case of a delayed ray due to reflection or diffraction, a second response will add to the correct response.
(27) Next, the output correlation values are generated for the direct and delayed rays, but with noise added, as shown in
(28) In addition to GPS, this also applies to other GNSS constellations and signals such as the European Galileo GNSS E5A BOC code and the GPS L1C. This code is a method which has the characteristic of shifting the spectrum off center frequency by plus or minus a ‘determined amount,’ resulting in a dual spectrum peak symmetrical around the center frequency. It still results in a single optimum time correlation value. Of course, code in this case refers to the pattern modulating the carrier frequency (similar to Gold Codes used in GPS).
(29) For the GNSS solution, it is assumed that the receivers can range each other's distance (pairwise at least on the same floor as indicated above). The ultimate goal is to relate the measurements of non-anchor receivers to those of the anchor; this is equivalent to offsetting the true position of the satellite whence the non-anchor measurement was made by the vector between from the non-anchor receiver to the anchor. If we had two receivers: A (anchor) and B on the same floor, and we knew the distance between A & B, then we know the exact location of B relative to A up to an overall rotation about A on the ground.
(30) To compute the ENU coordinates (shown in
(31) To discover the correct rotation angle, one can apply different rotation hypotheses (offline on a server) and for each hypothesis, one can look at the residuals (e.g., see U.S. patent application Ser. No. 14/285,770, entitled JOINT PROCESSING OF GNSS PSEUDORANGE SIGNALS, the entire contents of that application being incorporated by reference herein). The joint processing of the data from these receivers will produce a position P and a set of biases. For each measurement, there will be a residual error to the best fitting Puser and bias (Bias). For a given satellite, the residual R, is given by
R=∥Puser−Psat∥−(ρ+Bias) (1)
(32) where it assumed the pseudorange ρ has been adjusted for satellite clock and drift, atmospheric effects, and earth rotation effects.
(33) The root-mean-square of these residuals will yield a goodness-of-fit; the rotation angle with the lowest residual error will yield the correct orientation on the local plane. Note that Psat for satellites used by receiver B will be modified by the vector offset in WGS84 coordinates corresponding to the angle and distance of B to A in the ENU frame.
(34) If there are 3 receivers: A (anchor), B, and C, whose pairwise separations are known, then their displacements are known up to a rotation about A on the plane with two scenarios:
(35) That is, for a given rotation angle about A, there is a possible flipped scenario for the receivers' positions (as shown in
(36) The case with 4 or more receivers can be reduced to that of 3 by picking subsets of 3 receivers as above. Note also that in the above process it is NOT assumed that the receivers' clocks are synchronized. Once the anchor's WGS84 position is computed, the rest of the receivers' positions in WGS84 can also be computed by applying the known ENU deltas mapped back into the WGS84 frame.
(37) There are multiple variations on these techniques:
(38) 1) This can also be done without identifying true north initially. Rather, an arbitrary vector in the plane is chosen and then the rotations are done with respect to this arbitrary zero degree reference. This is of course necessary when in the vicinity of the kernel of the transformation—namely near the north or south poles.
(39) 2) Rather than select a single Rx as the anchor, a geometry orientation is assumed using the triangular configuration as above (or some other suitable configuration). Then each Rx's correlation values/pseudoranges are translated according to the configuration to the geometric center (the centroid) and the location is calculated and the location and residual error is stored. The configuration is then rotated x degrees around the assumed center and the location and residuals are calculated again. This is repeated for 360 degrees. The best fit is determined from the lowest residual. After the rotation yielding the smallest residuals is are found, the final locations are indicated in
(40) 3) An alternate way to determine initial orientation that may be available is to arrange the receivers according to signals received. If a receiver has high signal levels from satellites on the East then a good estimate of the position of the receiver is on the East side of a building. Similarly if a receiver gets a high signal level from the Southwest then the receiver should be positioned towards the SW and so on. From these satellite directions to the receivers, the orientation of the receivers can be estimated.
(41) Cooperative receiver calculations were conducted for several receiver configurations. These included two receivers in a line, three receivers in a triangle, and four receivers in a square all with 30 meters distance to their adjacent neighbor. In the case of the square, the neighbor diagonally opposite was 1.414*30 meters away. The simulations were conducted with each receiver measuring correlation values from four SVs; three of them had the correct time offset, and one of them was elongated by 10 meters.
(42) As is shown, for cooperative receivers, the error reduces dramatically as soon as there are two cooperating receivers, and still further for three and four receivers. We also observe that for GPS L5 frequency, the error is reduced even more than for GPS L1 frequency. The additional improvement is due to the higher signal power which increases the SNR at the receiver and also because the Direct Sequence Spread Spectrum L5 chipping rate is ten times higher than for L1. This means the inherent time resolution is also improved, which improves the distance or pseudorange measurements as well.
(43)
(44) Next is discussed experimental results for Horizontal error and Vertical error versus Receiver cooperation. A system was set up using four receivers on the second floor of a two story building at four locations (roughly at the corners of the building) using GPS L1 signals only. The computation results are in the table below.
(45) TABLE-US-00001 TABLE 1 Empirical results Individual Individual Four Rx Four Rx Receiver Receiver cooperation cooperation Horizontal Vertical Horizontal Vertical error (m) error (m) error (m) error (m) Receiver 1 SE 11.96 2.3 5.17 2.5 Receiver 2 NW 10.33 17.38 Receiver 3 SW 6.2 13.6 Receiver 4 NE 4.47 8.73
(46) This shows a net improvement in the average horizontal error from 8.24 meters to 5.17 meters and, for the average vertical error, from 10.5 meters to 2.5 meters.
(47) There will be cases when the receivers lack the innate ranging capability, or cases where there are sufficient impairments between two receivers such that direct ranging between them is impractical. This will yield an orphan receiver separate from the others in the geometry as seen in
(48) Supposing the anchor position A where known, and that the other receiver receiver's clock were synchronized to that of the anchor's (e.g., via IEEE 1588 v2). If they both observed a satellite S.sub.i then one could measure the difference in pseudoranges Δr.sub.i these two receivers and linearize these as:
Δr.sub.i=∥S.sub.i−A∥−∥S.sub.i−(A+δx)∥≈(S.sub.i−A)/∥S.sub.i−A∥.Math.−δx (2)
(49) Where δx is the baseline vector from the anchor to the other receiver.
(50) Then, by observing many common satellites while having the clocks tightly synchronized, one can obtain an over-determined set of equations, and hence solve for the unknown baseline vector δx. Note that the time of measurement of each member Δr.sub.k in the sequence of measurements {Δr.sub.i} is immaterial; indeed these measurements could be spread over days or weeks.
(51) If clocks cannot be synchronized (i.e. there is a bias between a receiver's clock and the master clock), then one can resort to a double differencing technique.
(52) Define d cos.sub.i=(S.sub.i−A)/∥S.sub.i−A∥ i.e. the direction cosine vector to the i.sup.th satellite relative to A.
(53) Then the double difference formulation is:
Δr.sub.iΔr.sub.k=(d cos.sub.i−d cos.sub.k).Math.−δx (3)
(54) The price, of course is that for any given epoch, two common-view satellites must be observable to both receiver R and anchor A.
(55) While the techniques above may be referred to as using a local anchor to assist an orphan receiver, the techniques can be extended to include a remote anchor (e.g., an anchor reference receiver distant from the current building under consideration). In this case, a central reference anchor receiver is placed in a position for excellent view of the satellites in the vicinity, perhaps in the center of a city with the antenna on the roof of a tall building. This single anchor receiver can serve a wide metro area and provide the reference vector to it and its location as above to an orphan receiver. This can be further extended to serve as the anchor to all receivers and, in essence, considers all receivers as orphans.
(56) It is important to note that the general idea of an anchor receiver providing its location and satellite vector information is key to the RTK system in wide deployment for farming. Unlike farming, where centimeter accuracy is required, this implementation only tries to achieve accuracy in the meter range.
(57) While throughout this document the term receiver has been used, it is intended to apply to any device capable of receiving GNSS signals. This may include dedicated GNSS receivers, smart phones, tablets, laptops, smart watches, gaming devices, and most modern consumer electronic devices. For example, in order to receive GNSS signals, it is typically required to have an antenna, a tuner, and a reasonable oscillator. The GNSS location calculations may be performed in the receiver or in some other processing/computing device.
(58) The techniques described herein could apply to determining the location of an anchor receiver, of a centroid, or of any local reference point. In addition, while specific reference has been made to the ENU and WGS84 coordinate systems, the teachings herein could be applied to any other suitable coordinate system.
(59) While the foregoing has illustrated and described several embodiments in detail in the drawings and foregoing description, such illustration and description is to be considered as exemplary and not restrictive in character. For example, certain embodiments described hereinabove may be combinable with other described embodiments and/or arranged in other ways (e.g., process elements may be performed in other sequences). Accordingly, it should be understood that only the preferred embodiment and variants thereof have been shown and described and that all changes and modifications that come within the spirit of the disclosure are desired to be protected.