The invention relates to a GNSS receiver. More specifically the GNSS receiver of the invention provides improved navigation accuracy and smoothness, notably in urban canyons, without a need to use complex multipath mitigation techniques and/or external aiding data.
The use of navigation receivers becomes increasingly pervasive in everyday life. It is all the more common that cars' on-board electronics, smart phones, tablets include navigation receivers, and that applications running thereon capture as input information on position and trajectory of the user of the terminal.
Navigation receivers rely on L-Band RF signals transmitted by Medium Earth Orbiting satellites, which are generally included in constellations comprising tens of them to cover most of the surface of the earth, such as the GPS™ (US), Galileo™ (Europe), Glonass™ (Russia) and Beidou™ (China). These constellations are designated under the generic acronym of GNSS (Global Navigation Satellite System).
GNSS carrier signals are modulated by a pseudo-random code and a navigation message that allow calculation of a pseudo-range between the receiver and a specific satellite. With a minimum of four pseudo-ranges, it is possible to calculate Position, Velocity and Time (PVT) of the receiver. In receivers of the type used by consumers, the position information is the one which is directly used to compute the navigation solution.
PVT measurements are affected by a number of errors, some of which are intrinsic to the principle of measurement used (i.e, due to the deviation in trajectory of the RF signals through the atmosphere—ionosphere and troposphere—due to variations in the orbits of the satellites), intrinsic to the receiver and satellites imperfections (clock biases for instance), or intrinsic to some configurations of the satellites in view at a moment in time (i.e. elevation of the satellites over the horizon; low dispersion of visible satellites—high Dilution of Precision or DOP). A number of corrections may be used to mitigate these errors, with the use of specific processing techniques which are only available to certain types of receivers. For instance, bi-frequency receivers can mitigate ionospheric errors with a gain of precision from a few tens of meters to a few meters, and even better when combined with precise satellite orbits and clocks which then providing Precise Point Positioning (PPP)—a precision of a few tens of centimetres. Differential GPS and Real Time Kinematics solutions provide similar precision from integration of outside information (relative positioning vis-à-vis a number of fixed reference stations with known positions).
It is more difficult to mitigate in a consistent and efficient manner some errors which depend on the position of the receiver, notably when this position is surrounded by a number of objects which reflect the navigation RF signals and/or mask a number of the satellites which should be in line of sight (LOS) at a moment in time. In such conditions, the precision of the calculation of the PVT may be quite poor, all other causes of errors being equal, both at the time of acquiring a GNSS signal and at the time of tracking said signal.
In urban canyons (i.e. streets in between tall buildings), multipath will not only increase the error in the determination of the pseudo-range of a satellite (User Equivalent Range Error or UERE), but also the (Geometric) Dilution Of Precision, (GDOP or DOP), because the field of view of the antenna will be narrower thus limiting the increase in precision due to the use of additional satellites.
The degradation in UERE is due to the signal impairments of the specific satellite which is acquired or tracked by a tracking loop. Tracking of a satellite relies on a maximization of a correlation function between the acquired code signal and a number of local replicas generated by the receiver of the code signals which are specific to each satellite. The correlation functions will be corrupted by multipath and the satellite may not be correctly acquired or may be lost. Even if the signal tracking is still achievable, signal impairments will affect the correlation function's shape, thus degrading the pseudo-range estimation, and the UERE.
Most of the mitigation techniques therefore rely on specific processing applied at the correlation stage. For a general overview of these prior art techniques which can be applied, see for instance Bhuiyan et al, Advanced Multipath Mitigation Techniques for Satellite-Based Positioning Applications, International Journal of Navigation and Observation, Volume 2010, Article ID 412393. Among these techniques are: using narrow correlators (i.e. correlators spaced by much less than a chip—or code length); using numerous correlators per tracking channel instead of a standard number of three and performing a double delta calculation; Multipath Estimation Delay Lock Loop, which uses the output of the correlation functions to estimate a full navigation signal of a definite satellite comprising LOS and non LOS signals.
All these solutions are complex and costly to implement either at the hardware level or at the software level. In any case, they cannot be currently implemented in a standard consumer receiver of the type used in a smart phone or a car navigation system.
It is therefore important to find a solution to mitigate the effects of multipath or other kinds of impairments to a navigation solution (e.g. strong local ionospheric disturbances impairing signal from one or several satellites) which could be implemented in a standard receiver available to the general public.
The present invention discloses a solution to overcome the previously cited drawbacks.
To this effect, the invention discloses notably a GNSS receiver which is configured to use velocity measurements which are readily available whenever a condition is met whereby it is certain or likely that the velocity measurements will produce a position of the receiver with a better expected precision than the direct use of the position data.
To this effect, this invention discloses a GNSS receiver comprising: first computing logic configured to calculate a first location and a second location of the GNSS receiver, the first location based on position data in a PVT vector, the second location based on a result of an integration of velocity data in the PVT vector; second computing logic configured to estimate a first error budget of the first location and a second error budget of the second location and to cause the first computing logic to output a calculated location of the GNSS receiver as a weighted average of the first location and the second location, wherein a first weight of the first location and a second weight of the second location in the calculated location are calculated by one or more of the first computing logic or the second computing logic, based on the first error budget and the second error budget.
Advantageously, a first weight of the first location in the calculated location equals a proportion of the first error budget in the total of the first error budget and the second error budget and a second weight of the second location in the calculated location equals a proportion of the second error budget in the total of the first error budget and the second error budget.
Advantageously, the first weight equals a hundred percent if the first error budget is lower than or equal to a combination of the second error budget and a first threshold value,
Advantageously, the second weight equals a hundred percent if the second error budget is lower than a combination of the first error budget and a second threshold value.
Advantageously, the second location uses, based on a decision criterion, one or more of: i) a calculated location of the GNSS receiver at an epoch before a current epoch as an initial value of the integration of the velocity data in the PVT vector or ii) a location of the GNSS receiver at a previous epoch input from positioning aids as an initial value of the integration of the velocity data in the PVT vector.
Advantageously, the positioning aids comprise one or more of a map matching algorithm, an output of an inertial navigation system or a Wi-Fi localization system.
Advantageously, the estimated error budgets depend upon one or more of a configuration of said GNSS receiver, a geometry of GNSS satellites in view of said GNSS receiver or a topology in an environment of said GNSS receiver.
Advantageously, the estimated error budgets are estimated based on one or more of a Dilution Of Precision (DOP), a User Equivalent Range Error (UERE), a User Equivalent Range Rate Error (UERRE) or a probability estimate of a random walk of the integrated velocity along its path between a previous epoch and a current epoch.
Advantageously, the first error budget equals the DOP multiplied by the UERE.
Advantageously, the second error budget equals a product of the DOP multiplied by the UERRE, times the duration during which velocity has been integrated.
Advantageously, the probability estimate of the random walk of the integrated velocity is modeled by an ellipsoid.
Advantageously, one or more of the UERE and the UERRE are a combination of one or more of a parameter value, a carrier to noise ratio dependent value, an elevation dependent value or a signal dependent value.
Advantageously, one or more of the first error budget or the second error budget are forecast estimated error budgets, said forecast being based on a combination of an estimated future trajectory of the GNSS receiver and a probability on said estimated future trajectory of one or more of a configuration of said GNSS receiver, a geometry of GNSS satellites in view of said GNSS receiver or a topology in an environment of said GNSS receiver.
Advantageously, one or more of the UERE and the UERRE are predefined and stored in a database accessible by the first computing logic.
Advantageously, the GNSS receiver of the invention further comprises a third computing logic configured to calculate a heading information from the PVT vector.
The invention also discloses a localization method using a GNSS receiver comprising: calculating one or more of a first location or a second location of the GNSS receiver, the first location based on position data in a PVT vector calculated by the GNSS receiver, the second location based on a result of an integration of velocity data in the PVT vector; estimating a first error budget of the first location and a second error budget of the second location and to cause the first computing logic to output a calculated location of the GNSS receiver as a weighted average of the first location and the second location; wherein a first weight of the first location and a second weight of the second location in the calculated location are calculated based on the first error budget and the second error budget.
The invention is easy to implement on any GNSS receiver. It is not even necessary to modify the receiver itself. Access to a number of data points which are normally readily accessible on standard receivers in well-known data formats (e.g. NMEA0183 or NMEA2000 protocols) will allow a GNSS receiver to practice the invention. The invention brings position accuracy improvements, both in severe and benign environments. In doing so, it does not need external data, such as augmentation data, real time kinematics or information on the topology of the environment of the receiver.
The invention and its advantages will be better understood upon reading the following detailed description of a particular embodiment, given purely by way of non-limiting example, this description being made with reference to the accompanying drawings in which:
A receiver 110 is positioned between two buildings 120. Certain signals 130 reach the receiver in a direct line. Other signals 140 reach the receiver after having been reflected from the buildings. A standard receiver is not able to distinguish between direct signals 130 and reflected signals 140, thereby leading to a positioning error. Multipath errors at a given location of the receiver 110 will depend on the characteristics of the obstacles at the location (height, roughness of their surface, etc. . . . ) but also on the elevation of the satellites in view, and therefore on the time of the day, and on the meteorological conditions.
It is quite difficult to correct multipath errors, notably because they are location and time dependent and therefore require significant memory and/or processing power. Also, receivers which are configured or aided to cope easily with other types of errors, notably ionospheric errors, like bi-frequency receivers, are not efficient in a multipath environment, notably when a cold start is needed.
It has thus always been an issue to find a solution to this problem, as with other types of impairments which impact the error budget of a navigation solution. And even more so in a simple way which can be applied with standard GNSS receivers.
According to the invention, then velocity is integrated once to create a new calculated location which has, in general, a lower error budget.
There are conditions under which the error on integrated velocity may become larger than the error on position. This may be the case for instance, when the product of the UERE×DOP becomes lower than the standard deviation of the integrated velocity, notably when the integration time is long. It is therefore quite advantageous to be able to then switch from velocity measurements to position measurements. It is also advantageous to use a precise position as an initial position for the integrated position.
The National Marine Electronics Association (NMEA) has defined standard sentences of a format for outputting from a GNSS receiver a large amount of information which can be used to implement the invention using a standard receiver. Two standards (NMEA 0183 and NMEA 2000) apply.
The receiver notably displays (and outputs at a port): Location, 410, Velocity, 420, C/N0, 430, for each satellite in view which is designated by a number which is characteristic of its constellation, DOP, 450, and Elevation 460. Other data may be available, like azimuth, raw pseudo-range measurements, estimated PVT residuals, among others.
The receiver 510 is a core GNSS receiver in accordance with the present invention with one or more antennas, 511, a number of radiofrequency processing channels, 512 and a digital processing capability, 513. The exact composition of the core receiver may vary depending on the use case (military or professional application, vehicle navigation, pedestrian dedicated device or smart phone). It may be capable of processing signals from multiple constellations (GPS, Glonass, Beidou, Galileo, etc. . . . ), and for each constellation on one, two, three or more frequencies. The core receiver may be implemented in an FPGA or in an ASIC, or as a software-defined receiver, in multiple chips or in a single chipset.
As indicated above, the receiver 510 may output messages 531, 532 compliant with the NMEA format, or compliant with other formats, including proprietary formats defined by manufacturers. Generally, the manufacturers export their messages in their format or in NMEA format. Most of them publish the structure of the messages they output. As long as the output messages include the PVT calculated by the receiver, there will be enough information to practice the invention. Output 531 and 532 have been split with contents mentioned hereunder, but this can be physically done through a single interface.
These messages are fed to computing logic, 520 which will compute the navigation solution according to the invention, i.e. from a weighted average of a first location being the Position of the calculated PVT, and a second location which is the Velocity of the calculated PVT. The processing logic 520 may be implemented in a hardware add-on module or in a software module loaded in a memory included in the receiver or added thereto. The software may also be obtained as an application downloaded and/or installed on a smart phone. It may also be fully integrated with the core GNSS receiver, 510, on a same board or in a same FPGA or a same ASIC.
Parameters are input, 521, both from the receiver and possibly from tables stored in a memory contained in or adjacent to the processing logic 520.
Parameters input from the core receiver through port 531 may include part or all of those listed in the description of
The tables may include for instance, parameters to compute the error budgets, a first error budget for the GNSS calculated position (UERE) and a second error budget (UERRE) for the GNSS calculated velocity, or an error budget for a location calculated by integrating velocity. These parameters may be preset values of UERE and UERRE. They may also comprise preset values of UERE and UERRE that depend on the satellites' elevations and/or their current C/NO and/or the GNSS signal type. They may also comprise a configuration of the receiver (type or model of the antenna, type or model of the RF processing stage, type or model of the digital processing stage). They may also comprise tables of multipath effects at locations on a trajectory of the receiver. They may also comprise different values of thresholds which will be used to compute weights of a first location, calculated from P in PVT, and a second location, calculated from V in PVT, as provided by the invention. By way of example, for a pedestrian just looking for a coarse positioning, a maximum value of UERE of 50 m may be set so that when the actual value is higher, the P measurements are completely discarded. Likewise, a maximum value of UERRE of 1 m/s. For users requiring more precision, the thresholds will be lowered.
The first computing logic, 522, extracts P and V from the PVT data output through port or interface 532 from the core receiver. P is a first location and a second location is computed by integrating V. In an embodiment, the distance calculated from the integration of velocity will be added to the location previously calculated by the first computing logic 522, to compute the second location. But some variants are possible, for instance, based on a decision criterion, e.g. a threshold of the error budget or a determination that the receiver is deemed to be located in an area with a clear sky or not, a second location may be input from an external source, 540. The external source may be an inertial module collocated with the GNSS receiver, for instance an arrangement comprising one or more of an accelerometer, a gyroscope and a magnetometer, as available in a smart phone. The external source may also be the output of a map matching algorithm, as available in a car navigation system, or any other source of a position of a user or a device.
The second computing logic, 523, calculates the error budgets at the epoch from data which may combine predetermined information coming from the parameters input with information coming from the GNSS receiver, for instance a configuration of the receiver (type or model of the antenna, type or model of the RF processing stage, type or model of the digital processing stage), a geometry of GNSS satellites in view of said GNSS receiver, as provided by a NMEA message, or a topology in an environment of said GNSS receiver, depending on an evaluation of how the received signals are affected by multipath, based on a map of multipath effects available in the table. The second computing logic may also use the C/N0 values of the channels processing the satellites in view, said values provided by NMEA messages. It may also use the DOP, also provided by a NMEA message. It may also use the probability of a random walk of the integrated velocity. In an embodiment, the random walk of the integrated velocity may be modeled by an ellipsoid. In an embodiment, the first error budget is computed as the DOP multiplied by the UERE. In an embodiment, the second error budget is calculated as a product of the DOP multiplied by the UERRE, times the duration during which velocity has been integrated.
One or more of the first computing logic, 522, or of the second computing logic, 523, is configured to compute a first weight of the first error budget and a second weight of the second error budget, calculated for instance as a percentage of the total error budget. The computing may be split between the first computing logic and the second computing logic to optimize the computation, without departing from the scope of the invention as claimed. The weights may be calculated as a proportion of each error budget in the total of the first and the second error budgets.
In an embodiment, the first weight equals a hundred percent if the first error budget is lower than or equal to a combination of the second error budget and a first threshold. The first threshold may be static and drawn from the tables in the parameters values, 521. The first threshold may also be modified dynamically as a function of the conditions of reception at the GNSS receiver drawn from NMEA messages.
In an embodiment, the second weight equals a hundred percent if the second error budget is lower than a combination of the first error budget and a second threshold. The second threshold may be static and drawn from the tables in the parameters values, 521. The second threshold may also be modified dynamically as a function of the conditions of reception at the GNSS receiver drawn from NMEA messages.
According to the invention, the first computing logic is then caused to output a location of the GNSS receiver as a weighted average of the first location and of the second location. The output location is the navigation solution. In some embodiments, only the first location or only the second location is taken into account to output the location of the GNSS receiver, based on relative values of the first and the second error budgets.
It is to be noted that good results may be obtained without external data, even if this data may improve the navigation solution. This is due to the fact that parameters which are readily available from the GNSS receiver through the interface 531, 532, such as DOP, C/N0, elevation of the satellites, may be used to adapt preset UERE and UERRE to compute first and second error budgets adapted to the actual conditions or reception of the GNSS signals.
According to the invention, steps, 611, are performed in the first computing logic, 522.
A time reference t is obtained from the GNSS receiver at step 6111. On a cold start, time reference t will be an epoch after which a first P value with a confidence interval better than a threshold is obtained.
P is obtained from the PVT calculated by the digital processing stage of the GNSS receiver at step 6112.
At the same time reference, V is obtained from the PVT calculated by the digital processing stage of the GNSS receiver at step 6113. V is integrated once at step 6116.
The improved position may thus be computed as:
Pinit being P or P′ at the starting time of improved position computation, or an averaged position obtained from several P or P′ values over time.
In a variant of the invention, a position P′ is obtained at step 6115 from an external source, as explained above in relation to
Then, at step 6117 and 6118 respectively, a first location and a second location are computed.
At step 6119, the location which will be output as the navigation solution will be computed taking into account the first location, the second location and the weighting calculated either in the first computing logic (embodiment not represented on the figure) or in the second computing logic (as represented on the figure).
According to the invention, steps 612, are performed in the second computing logic, 523.
At step 6121, parameters values are obtained from the parameters input 521, either through the interface to the GNSS core receiver, 531, or through an external input, 540.
At steps 6122 and 6123, respectively, a first error budget and a second error budget are computed, as explained above in relation with
At step 6124, the weights of the error budgets are computed to be passed to the first computing logic. Alternatively, the error budgets may be transferred to the first computing logic for it to compute the weights.
The case illustrated by
In
It can be seen that line 710 demonstrates a number of errors 730, 740, 750 in the trajectory, which does not follow the road. This use case illustrates some of the advantages brought to the solutions of the prior art by a simplistic implementation of the invention, in some of its embodiments.
The case illustrated by
In
It can be seen that line 810 demonstrates a number of errors 830, 840, 850 in the trajectory, which does not follow the road. This use case further illustrates some of the advantages of the invention over the solutions of the prior art in a constrained environment by an implementation of the invention, in some of its embodiments.
It is remarkable that the invention provides not only a more accurate navigation solution, but also a smoother trajectory, since it is not affected by errors 830, 840 and 850.
The improvements described and claimed in some embodiments of the invention will still improve the navigation solution in comparison to the cases illustrated above. For instance, the integration of dynamic parameters representative of the conditions of reception at the GNSS receiver, or the weighting of the two location calculations based on their error budgets, or the integration of external navigation aids. It is remarkable that these improvements may be obtained with a standard GNSS receiver to which the invention may be added in a simple way.
Standard receivers are, for example, the ones marked as «recreational», «handheld», «navigation» «vehicle tracking» or «board for OEM apps» in the Receiver Survey 2015 database by GPSWorld, available at http://gpsworld.com/wp-content/uploads/2015/01/GPSWorld_2015ReceiverSurvey.pdf)
The invention was described above in a context of receivers using GNSS signals. It may also be applied with receivers using signals transmitted by pseudolites, for examples those marketed by Locata™.
According to the invention, vector V which is used to calculate the second location may also be used to determine a navigation heading which can be used either alone or in combination with outputs from other heading sensors, such as a magnetometer, or a combination of accelerometers and gyroscopes, or a map matching algorithm. The navigation heading may be used by applications, for instance to give a direction of a Point of Interest relative to the navigation heading. It can also be used to calibrate other heading sensors. This can be applied to a receiver used by a pedestrian or located in a manned or unmanned car, aircraft, or boat.
The examples disclosed in this specification are only illustrative of some embodiments of the invention. They do not in any manner limit the scope of said invention which is defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
16305387.9 | Apr 2016 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2017/057377 | 3/29/2017 | WO | 00 |