METHOD AND APPARATUS FOR PROVIDING PREDICTED NAVIGATION-DATA PARAMETERS WITH EMBEDDED CORRECTION DATA
20230126539 · 2023-04-27
Assignee
Inventors
Cpc classification
G01S19/393
PHYSICS
G01S19/07
PHYSICS
G01S19/258
PHYSICS
G01S19/55
PHYSICS
G01S19/256
PHYSICS
International classification
G01S19/25
PHYSICS
G01S19/39
PHYSICS
Abstract
A method, apparatus and computer program product provide one or more of navigation-data parameters or correction-model parameters for one or more navigation satellites. In the context of a method, the method includes receiving (i) navigation data regarding one or more of a position of a respective navigation satellite or a clock offset of a clock of the respective navigation satellite and (ii) correction data regarding corrections to one or more of the position or the clock offset of the respective navigation satellite. The method also includes predicting an orbit and the clock of the respective navigation satellite based on the navigation data and the correction data. The method further includes fitting at least one of the navigation-data parameters or the correction-model parameters to the predicted data and, following the fitting, providing the at least one of the navigation-data parameters or the correction-model parameters to one or more navigation devices.
Claims
1. A method for providing one or more of navigation-data parameters or correction-model parameters for one or more navigation satellites, the method comprising: receiving (i) navigation data regarding one or more of a position of a respective navigation satellite or a clock offset of a clock of the respective navigation satellite and (ii) correction data regarding corrections to one or more of the position or the clock offset of the respective navigation satellite; predicting an orbit and the clock of the respective navigation satellite based on the navigation data and the correction data, wherein predicting the orbit and the clock of the respective navigation satellite comprises determining predicted data comprising a plurality of data samples representing the clock and the orbit of the respective navigation satellite; fitting at least one of the navigation-data parameters or the correction-model parameters to the predicted data; and following the fitting, providing the at least one of the navigation-data parameters or the correction-model parameters to one or more navigation devices.
2. A method according to claim 1, further comprising: based on the navigation data and the correction data, determining a set of matching positions and corrections and a set of matching clock offsets and corrections, wherein predicting the orbit and the clock of the respective navigation satellite comprises predicting the orbit and the clock of the respective navigation satellite based on the set of matching positions and corrections and the set of matching clock offsets and corrections.
3. A method according to claim 1, further comprising: receiving other data in addition to the correction data, the other data comprising one or more of earth orientation parameters, antenna phase center offsets, solar-radiation pressure parameters, notice advisories or outage information, wherein predicting the orbit and the clock of the respective navigation satellite comprises predicting the orbit and the clock of the respective navigation satellite also based on the other data.
4. A method according to claim 1, wherein predicting the orbit and the clock of the respective navigation satellite comprises utilizing ephemeris extension initialized with the navigation data and the correction data to predict the orbit and the clock of the respective navigation satellite.
5. A method according to claim 1, wherein providing the at least one of the navigation-data parameters or the correction-model parameters comprises providing the navigation-data parameters with the correction data embedded therein to the one or more navigation devices.
6. A method according to claim 5, wherein providing the navigation-data parameters with the correction data embedded therein comprises providing the navigation-data parameters without also providing the correction-model parameters to the one or more navigation devices.
7. A method according to claim 1, further comprising providing information regarding a lifetime of the navigation-data parameters or the correction-model parameters to the one or more navigation devices.
8. An apparatus configured to provide one or more of navigation-data parameters or correction-model parameters for one or more navigation satellites, the apparatus comprising processing circuitry and at least one non-transitory memory including computer program code instructions stored therein, the computer program code instructions configured to, when executed by the processing circuitry, cause the apparatus at least to: receive (i) navigation data regarding one or more of a position of a respective navigation satellite or a clock offset of a clock of the respective navigation satellite and (ii) correction data regarding corrections to one or more of the position or the clock offset of the respective navigation satellite; predict an orbit and the clock of the respective navigation satellite based on the navigation data and the correction data, wherein the apparatus is caused to predict the orbit and the clock of the respective navigation satellite by determining predicted data comprising a plurality of data samples representing the clock and the orbit of the respective navigation satellite; fit at least one of the navigation-data parameters or the correction-model parameters to the predicted data; and following the fitting, provide the at least one of the navigation-data parameters or the correction-model parameters to one or more navigation devices.
9. An apparatus according to claim 8, wherein the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to: based on the navigation data and the correction data, determine a set of matching positions and corrections and a set of matching clock offsets and corrections, wherein the apparatus is caused to predict the orbit and the clock of the respective navigation satellite by predicting the orbit and the clock of the respective navigation satellite based on the set of matching positions and corrections and the set of matching clock offsets and corrections.
10. An apparatus according to claim 8, wherein the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to: receive other data in addition to the correction data, the other data comprising one or more of earth orientation parameters, antenna phase center offsets, solar-radiation pressure parameters, notice advisories or outage information, wherein the apparatus is caused to predict the orbit and the clock of the respective navigation satellite by predicting the orbit and the clock of the respective navigation satellite also based on the other data.
11. An apparatus according to claim 8, wherein the apparatus is caused to predict the orbit and the clock of the respective navigation satellite by utilizing ephemeris extension initialized with the navigation data and the correction data to predict the orbit and the clock of the respective navigation satellite.
12. An apparatus according to claim 8, wherein the apparatus is caused to provide the at least one of the navigation-data parameters or the correction-model parameters by providing the navigation-data parameters with the correction data embedded therein to the one or more navigation devices.
13. An apparatus according to claim 12, wherein the apparatus is caused to provide the navigation-data parameters with the correction data embedded therein by providing the navigation-data parameters without separately providing the correction-model parameters to the one or more navigation devices.
14. An apparatus according to claim 8, wherein the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to provide information regarding a lifetime of the navigation-data parameters or the correction-model parameters to the one or more navigation devices.
15. A computer program product configured to provide one or more of the navigation-data parameters or correction-model parameters for one or more navigation satellites, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions configured to: receive (i) navigation data regarding one or more of a position of a respective navigation satellite or a clock offset of a clock of the respective navigation satellite and (ii) correction data regarding corrections to one or more of the position or the clock offset of the respective navigation satellite; predict an orbit and the clock of the respective navigation satellite based on the navigation data and the correction data, wherein the program code instructions configured to predict the orbit and the clock of the respective navigation satellite comprise program code instructions configured to determine predicted data comprising a plurality of data samples representing the clock and the orbit of the respective navigation satellite; fit at least one of the navigation-data parameters or the correction-model parameters to the predicted data; and following the fitting, provide the at least one of the navigation-data parameters or the correction-model parameters to one or more navigation devices.
16. A computer program product according to claim 15, wherein the computer-executable program code instructions further comprise program code instructions configured to: based on the navigation data and the correction data, determine a set of matching positions and corrections and a set of matching clock offsets and corrections, wherein the program code instructions configured to predict the orbit and the clock of the respective navigation satellite comprise program code instructions configured to predict the orbit and the clock of the respective navigation satellite based on the set of matching positions and corrections and the set of matching clock offsets and corrections.
17. A computer program product according to claim 15, wherein the computer-executable program code instructions further comprise program code instructions configured to: receive other data in addition to the correction data, the other data comprising one or more of earth orientation parameters, antenna phase center offsets, solar-radiation pressure parameters, notice advisories or outage information, wherein the program code instructions configured to predict the orbit and the clock of the respective navigation satellite comprise program code instructions configured to predict the orbit and the clock of the respective navigation satellite also based on the other data.
18. A computer program product according to claim 15, wherein the program code instructions configured to predict the orbit and the clock of the respective navigation satellite comprise program code instructions configured to utilize ephemeris extension initialized with the navigation data and the correction data to predict the orbit and the clock of the respective navigation satellite.
19. A computer program product according to claim 15, wherein the program code instructions configured to provide the at least one of the navigation-data parameters or the correction-model parameters comprise program code instructions configured to provide the navigation-data parameters with the correction data embedded therein to the one or more navigation devices.
20. A computer program product according to claim 15, wherein the computer-executable program code instructions further comprise program code instructions configured to provide information regarding a lifetime of the navigation-data parameters or the correction-model parameters to the one or more navigation devices.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Having thus described example embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION
[0033] Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
[0034] A method, apparatus and computer program product are disclosed for providing one or more of navigation-data parameters or correction-model parameters, such as navigation-data parameters having correction data embedded therein, for one or more navigation satellites to one or more navigation devices. Utilizing the navigation-data parameters and/or the correction-model parameters, a navigation device is able to determine the position of a navigation satellite at one or more instances in time and based upon the location of the navigation satellite at one or more instances in time determine the position of the navigation device itself. As described below, by relying upon navigation-data parameters and/or correction-model parameters that have been fit to predicted data relating to the orbit and the clock of the navigation satellite, the navigation-data parameters and/or the correction-model parameters permit the location of the navigation satellite to be determined in an accurate manner and to rely upon or use less correction data than typically utilized. As a result, the method, apparatus and computer program product of an example embodiment permit less data, such as less correction data, to be transmitted to and received by the navigation device and for such correction data to be provided less frequently, thereby reducing the need for the navigation device to maintain a consistent network connection and reducing network charges otherwise levied for the transmission of data, such as correction data, to the navigation device.
[0035] Referring now to
[0036] Although
[0037] In order to more accurately determine the position the navigation satellite 12 and, in turn, the position of the navigation device 10, the navigation device is also configured to determine its position not only based upon the predicted position of the navigation satellite at a respective point in time, but also a correction to the predicted orbit and/or clock, such as a clock offset relative to the GNSS clock, of the navigation satellite. As such, the navigation device of an example embodiment is also configured to communicate with, such as by receiving correction data from, a correction service 14. Although various types of correction services can provide the correction data to the navigation device, one example of a correction service is a correction service that provides correction data pursuant to a PPP technique. Although a correction service may be embodied in a variety of different manners, the correction service of the example of
[0038] The apparatus of an example embodiment that is configured to provide navigation-data parameters or correction-model parameters, such as navigation-data parameters with correction data embedded therein, to one or more navigation devices 10 may be embodied by a computing device 18, such as, for example, a server, a cloud computing device, a computer workstation, a distributed network of computing devices, a personal computer, a positioning or navigation system or any other type of computing device. Although depicted in
[0039] In some embodiments, the processing circuitry 22 (and/or co-processors or any other processors assisting or otherwise associated with the processing circuitry) can be in communication with the memory device 24 via a bus for passing information among components of the apparatus 20. The memory device can be non-transitory and can include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (for example, a computer readable storage medium) comprising gates configured to store data (for example, bits) that can be retrievable by a machine (for example, a computing device like the processing circuitry). The memory device can be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present disclosure. For example, the memory device can be configured to buffer input data for processing by the processing circuitry. Additionally or alternatively, the memory device can be configured to store instructions for execution by the processing circuitry.
[0040] The processing circuitry 22 can be embodied in a number of different ways. For example, the processing circuitry may be embodied as one or more of various hardware processing means such as a processor, a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processing circuitry can include one or more processing cores configured to perform independently. A multi-core processor can enable multiprocessing within a single physical package. Additionally or alternatively, the processing circuitry can include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
[0041] In an example embodiment, the processing circuitry 22 can be configured to execute instructions stored in the memory device 24 or otherwise accessible to the processing circuitry. Alternatively or additionally, the processing circuitry can be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processing circuitry can represent an entity (for example, physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Thus, for example, when the processing circuitry is embodied as an ASIC, FPGA or the like, the processing circuitry can be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processing circuitry is embodied as an executor of software instructions, the instructions can specifically configure the processing circuitry to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processing circuitry can be a processor of a specific device (for example, a computing device) configured to employ an embodiment of the present disclosure by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processing circuitry can include, among other things, a clock, an arithmetic logic unit (ALU) and/or one or more logic gates configured to support operation of the processing circuitry.
[0042] The apparatus 20 of an example embodiment can also include the communication interface 26. The communication interface can be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to other electronic devices in communication with the apparatus, such as by providing for communication with a correction service 14 and/or one or more navigation device(s) 10. The communication interface can be configured to communicate in accordance with various wireless protocols including Global System for Mobile Communications (GSM), such as but not limited to Long Term Evolution (LTE). In this regard, the communication interface can include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface can include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface can alternatively or also support wired communication. In some embodiments, the apparatus 20 may be configured to support communication with one or more navigation satellites 12. As such, the communication interface of this example embodiment may also optionally include a satellite receiver, such as a GNSS receiver.
[0043] Referring now to
[0044] As to the correction data, the correction data may be received from the correction service 14 and, in an embodiment in which the computing device 18 that includes the apparatus 20 is embodied by the correction service, by processing circuitry of the correction service that is configured to determine the correction data, such as based upon the navigation data received by the plurality of reference stations 16. The correction data provides corrections to the position and/or the clock offset of the respective navigation satellite 12.
[0045] In an example embodiment, the apparatus 20 optionally includes means, such as the processing circuitry 22 or the like, for determining a set of matching positions and corrections and a set of matching clock offsets and corrections based upon the navigation data and the correction data for each of a plurality of instances in time. See block 32. Each set of matching positions and corrections and each set of matching clock offsets and corrections is associated with a respective instance in time, such as an instant in time following the time at which the navigation data was transmitted by the navigation satellite 12. In one example embodiment, the set of matching positions and corrections includes a position of the navigation satellite, a velocity of the navigation satellite and the correction to the position of the navigation satellite at a respective instant in time.
[0046] As shown in block 34
[0047] As shown in
[0048] As shown in block 36 of
[0049] In an embodiment in which the navigation-data parameters are fit to the predicted data, the apparatus, such as the processing circuitry, is configured to modify at least some of the navigation-data parameters from those defined by the navigation data provided, for example, by the navigation satellite 12 so as to fit the predicted data, such as to best approximate the predicted data. As the predicted data is based not only upon the navigation data but upon the correction data, the predicted data takes into account the correction data and, as a result, fitting the navigation-data parameters to the predicted data in this example embodiment embeds the corrections to the position and/or the clock offset of the respective navigation satellite into the navigation-data parameters, as fitted, themselves.
[0050] In another example embodiment, the apparatus 20, such as the processing circuitry 22, is configured to fit the correction-model parameters to the predicted data by modifying the correction-model parameters from those defined by the correction data provided, for example, by a correction service 14. The predicted data that is utilized for purposes of fitting the correction-model parameters may be derived in various manners. For example, the prediction engine 40 may be configured to provide predictions for the orbit and clock corrections in a comparable manner to which the prediction engine derives the orbit and the clock offset. Alternatively, the apparatus, such as the processing circuitry, may embody a second instance of the prediction engine. In this alternative embodiment, one instance of the prediction engine is initialized with corrected data samples as described above, while the second instance of the prediction engine is initialized with the navigation data, but without any correction data. The correction-model parameters, such as the orbit and clock corrections, may then be derived from the difference between the matching data samples representing the orbit and clock offset provided by the two instances of the prediction engine. Regardless of the manner in which the predicted data is derived, the resulting correction-model parameters, as fitted, are configured to translate the navigation data provided by the navigation satellite 12 to the predicted data that is based not only upon the navigation data but the correction data.
[0051] The navigation-data parameters and/or the correction-model parameters are fit to the predicted data over a period of time following the time at which the navigation data is transmitted by the navigation satellite 12. In some embodiments, the navigation-data parameters and/or the correction-model parameters are fit to the predicted data over a period of time that extends beyond the predicted life of the ephemeris data and into the period of time in which the orbit and the clock of the navigation satellite is determined based upon an ephemeris extension.
[0052] As shown in block 38 of
[0053] As a result, the navigation device 10 need not receive additional correction data during the period of time during which the navigation-data parameters and/or the correction-model parameters are effective, thereby reducing bandwidth requirements and correspondingly reducing the quantity of data that is received, stored and processed by the navigation device. As the correction data is typically provided via a network connection, the navigation device also need not maintain as consistent of a network connection following receipt of the navigation-data parameters and/or the correction-model parameters since the navigation device need not receive additional correction data, at least not as frequently. By way of example but not of limitation, the navigation device may be configured to receive navigation-data parameters and/or correction-model parameters in accordance with an example embodiment at a much lower frequency, such as every 2 hours, than the frequency with which correction data is provided by a conventional correction service, which may provide correction data every 5 to 30 seconds.
[0054] Additionally, in an embodiment in which the navigation-data parameters are fit to the predicted data, the corrections, such as the corrections to the position and/or the clock offset of the navigation satellite 12, are embedded within the navigation data parameters since the predicted data is based in part upon the correction data. As such, the apparatus 20, such as the processing circuitry 22, the communication interface 26 or the like, of this example embodiment is configured to provide navigation-data parameters with the correction data embedded therein to the one or more navigation devices 10. Since the navigation-data parameters have the correction data embedded therein, the apparatus, such as the processing circuitry, the communication interface or the like, is configured to provide the navigation-data parameters without separately providing the correction-model parameters to the one or more navigation devices. In this regard, the correction-model parameters need not be provided in this example embodiment as the correction-model parameters may not provide additional information since the corrections are embedded within the navigation data parameters. By conveying the corrections as embedded within the navigation-data parameters and without separately providing the correction-model parameters, the data that is to be provided to and processed by the navigation device is reduced, thereby conserving bandwidth and computing resources.
[0055] Additional information may be provided in conjunction with the navigation-data parameters or the correction-model parameters. For example, the apparatus 20 of an example embodiment includes means, such as the processing circuitry 22, the communication interface 26 or the like, for providing information regarding the lifetime of the navigation-data parameters or the correction-model parameters to the one or more navigation devices 10. The lifetime of the navigation-data parameters and/or the correction-model parameters define the period of time during which the navigation-data parameters and the correction-model parameters are effective and valid for use by the navigation device in order to predict the orbit and the clock of the navigation satellite.
[0056] As described above, the apparatus 20, such as the processing circuitry 22, is configured to receive navigation data and correction data from which the orbit and the clock, e.g., the clock offset, of a navigation satellite 12 is able to be predicted. In some example embodiments, the apparatus, such as the processing circuitry, is configured to receive other data in addition to the navigation data and the correction data and to utilize the other data to predict the orbit and the click of the navigation satellite. In this regard and as shown in
[0057] As described above,
[0058] Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
[0059] In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
[0060] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.