This technology generally relates to methods and systems that provide autonomous geo-spatial positioning and, more particularly, to methods for enhancing non-Global Navigation Satellite System (GNSS) location and timing pseudorange positioning calculations and devices thereof.
In a navigation and communications environment 10 as illustrated in
However, since these LEO satellites 14(1)-14(n) were designed for communications instead of navigation, typically the on-board clocks in LEO satellites are much less accurate, contributing to large position errors. Additionally, typically very cheap oscillators are utilized in the ground receiver utilized for determining positioning, so the calculated time delay for data packet transmission often is not very accurate.
An example of a method enhancing a pseudorange positioning calculation includes determining, by a computing device, for received data from one of a plurality of non-Global Navigation Satellite Systems (non-GNSS) satellites a correction for an error in captured time associated with the one of the non-GNSS satellites. A distance error is calculated, by the computing device, based on the determined correction. A calculated pseudorange measurement for the received data from the one of a plurality of non-GNSS satellites is adjusted, by the computing device, based on the obtained distance error.
An example of a non-GNSS system includes a navigation computing device with a memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to determine for received data from one of a plurality of non-Global Navigation Satellite Systems (non-GNSS) satellites a correction for an error in captured time associated with the one of the non-GNSS satellites. A distance error is calculated based on the determined correction. A calculated pseudorange measurement for the received data from the one of a plurality of non-GNSS satellites is adjusted based on the obtained distance error.
A non-transitory machine readable medium having stored thereon instructions comprising executable code which when executed by one or more processors, causes the processors to determine for received data from one of a plurality of non-Global Navigation Satellite Systems (non-GNSS) satellites a correction for an error in captured time associated with the one of the non-GNSS satellites. A distance error is calculated based on the determined correction. A calculated pseudorange measurement for the received data from the one of a plurality of non-GNSS satellites is adjusted based on the obtained distance error.
This technology provides a number of advantages including providing methods, non-transitory computer readable media, and systems that enhance non-GNSS location and timing pseudorange positioning calculations. With examples of this technology, a continuously available precise time is obtained from sources, such as a GNSS Disciplined Oscillator (GNSSDO) associated with a GNSS satellite. This precise time is used to compensate for an inaccuracy with a captured time associated with a non-GNSS satellite to enable non-GNSS range and range rate measurements to be used for determining accurate positioning for periods of time, such as when GNSS is unavailable.
An example of a LEO navigation system 11 that enhances LEO location and timing pseudorange positioning calculations is illustrated in
Referring more specifically to
The GNSS receiver device 17 comprises a GNSS receiver 22 coupled to a GNSS disciplined oscillator 23, although the GNSS receiver device may comprise other types and/or numbers of other systems, devices, components, and/or other elements in other configurations. The GNSS receiver 22 is configured to capture signals, such as data packets, from MEO satellites 12(1)-12(n) when navigation or other positioning is to be determined, although other types of receivers may be used. In this example, the GNSS disciplined oscillator 23 is an oscillator whose output is controlled to agree with the signals broadcast by GNSS satellites 12(1)-12(n), although other types of controlled or disciplined oscillators or other timing elements with similar accuracy may be used. In this example, the GNSS disciplined oscillator 23 is an oscillator with at least about 10−6 stability to provide in these examples the necessary accuracy for the calculated measurements, although other stability ranges may be used. By way of example only, the GNSS disciplined oscillator 23 may be a TCXO—Temperature Compensated quartz crystal Oscillator with at least about 10−6 stability, an OCXO—Oven Controlled quartz crystal Oscillator with about a 10−8-10−10 stability, or an Atomic Oscillator with about a 10−11-10−12 stability. Further, in this example, the GNSS disciplined oscillator 23 is coupled to the LEO receiver device 16.
The navigation computing device 18 in this example includes at least one processor 24, a memory 26, and/or a communication interface 28, which are coupled together by a bus or other communication link 30, although the navigation computing device 18 can include other types and/or numbers of elements in other configurations. Additionally, in this example one navigation computing device 18 is illustrated, although other configurations may be used, such as one where a separate control unit device which may be either integrated in with or separate from the LEO receiver device 16 or other non-GNSS receiver device. Further, in this example the navigation computing device 18 may be used to determine the necessary correction to the range and range rate measurement from one or more of the LEO satellites 14(1)-14(n) or other non-GNSS satellites and which is coupled to the navigation computing device 18 and to determine navigation or other positioning by way of example only.
The navigation computing device 18 in this example also may determine or otherwise obtain data to assist with determining navigation or other positioning, such as data on the true range (φ, satellite orbital errors (dρ), ionospheric delay (dion), tropospheric delay (dtrop), multipath noise (εmp), and/or receiver noise (εp), although other types and/or amounts of other data may be determined or otherwise obtained to assist with determining navigation or other positioning. Additionally, in other examples the navigation computing device 18 may comprise executable programmed instructions for determining or otherwise obtaining and using this data for measurements and position calculations.
The processor 24 of the navigation computing device 18 may execute programmed instructions stored in the memory for the any number of the functions or other operations illustrated and described by way of the examples herein. The processor 24 of the navigation computing device 18 may include one or more CPUs or general purpose processors with one or more processing cores, for example, although other types of processor(s) can also be used.
The memory 26 of the navigation computing device 18 stores these programmed instructions for one or more aspects of the present technology as illustrated and described herein, although some or all of the programmed instructions could be stored elsewhere. A variety of different types of memory storage devices, such as random access memory (RAM), read only memory (ROM), hard disk, solid state drives, flash memory, or other computer readable medium which is read from and written to by a magnetic, optical, or other reading and writing system that is coupled to the processor(s), can be used for the memory 26.
Accordingly, the memory 26 of the navigation computing device 18 can store application(s) that can include executable instructions that, when executed by the navigation computing device 18, cause the navigation computing device 18 to perform actions, such as to transmit, receive, or otherwise process signals from LEO satellites 14(1)-14(n) or other non-GNSS satellites for providing navigation or other positioning, for example, and to perform other actions illustrated and described by way of the examples herein with reference to
The communication interface 28 of the navigation computing device 18 operatively couples and communicates between the navigation computing device 18 and the LEO receiver device 16 and the GNSS receiver device 17 which are all coupled together by one or more communication network(s), although other types and/or numbers of connections and/or configurations to other devices and/or elements can be used. By way of example only, the communication network(s) can include local area network(s) (LAN(s)) or wide area network(s) (WAN(s)), and/or wireless networks by way of example only, although other types and/or numbers of protocols and/or communication networks can be used.
Although a LEO navigation system 11 with the LEO receiver device 16, the GNSS receiver device 17, and the navigation computing device 18 are illustrated and described herein, the navigation system 11 may comprise other types and/or numbers of systems, devices, components, and/or elements in other topologies can be used. It is to be understood that the systems of the examples described herein are for exemplary purposes, as many variations of the specific hardware and software used to implement the examples are possible, as will be appreciated by those skilled in the relevant art(s).
Portions of all of the examples of the technology illustrated and described herein may also be embodied as one or more non-transitory computer readable media having instructions stored thereon for one or more aspects of the present technology. The instructions in some examples include executable code that, when executed by the processor 24 of the navigation computing device 18, cause the processor to carry out steps necessary to implement the methods of the examples of this technology that are illustrated and described herein.
An exemplary method for enhancing location and timing pseudorange positioning calculations will now be described with reference to
In step 302a, when the LEO receiver 20 captures a signal, such as a data packet, from one of the LEO satellites 14(1)-14(n), then the LEO receiver device 16 obtains a LEO satellite timestamp, e.g. dTLEO, with the LEO oscillator 21 for the received data packet from the one of the LEO satellites 14(1)-14(n) which is transmitted to and received by the navigation computing device 18. In this example, the LEO satellite timestamp is inaccurate because of accuracy issues with the LEO oscillator 21, although other elements may also introduce in accuracies. Additionally, in step 302b the navigation computing device 18 also receives a GNSSDO timestamp, e.g. dTGNSSDO, with the GNSS disciplined oscillator 23 in the GNSS receiver device 17, in this example, at the time the data packet from the one of the LEO satellites 14(1)-14(n) is received. In this example, the GNSSDO timestamp is more accurate that the LEO satellite timestamp and may be used for determining a correction as discussed in the example below.
In step 304, the navigation computing device 18 determines a timing correction, i.e. dTcorrection, by calculating a difference between the LEO satellite timestamp, i.e. dTLEO, and the GNSSDO timestamp, e.g. dTGNSSDO, which can be used to substantially enhance the accuracy of the determined pseudorange measurement as later described in greater detail below, although other manners for obtaining the timing correction could be used. In this example, the navigation computing device 18 may calculate the a timing correction, i.e. dTcorrection, on each one pulse per second (1PPS) cycle, although other timing may be used.
This timing correction, i.e. dTcorrection, is needed because the receiver clock offset from the LEO satellite timestamp obtained from the LEO oscillator 21, i.e. dT, is in this example a major contributor to errors in pseudorange measurements. By way of example only, a three (3) nanosecond (ns) timing error can contribute to a roughly one (1) meter error in accuracy in pseudorange measurements. In some other exemplary cases of LEO receiver devices with very low quality oscillators, the error may be on the order of microseconds resulting in even larger errors. Instead, with examples of the claimed technology, the GNSSDO timestamp obtained from the GNSS disciplined oscillator 23 in the GNSS receiver device 17 is utilized to make the pseudorange measurements more accurate, since GNSSDO time is much more accurate. As illustrated and described by way of the examples herein, by using a high precision oscillator or other timing element, such as the GNSS disciplined oscillator 23 in the GNSS receiver device 17, to make the necessary correction, examples of this technology can achieve accuracies closer to nanosecond accuracies obtained from the GNSS atomic satellite clocks.
Accordingly, when determining the pseudorange measurement as again discussed with examples in greater detail below, the navigation computing device 18 adjusts the receiver clock offset from time obtained from the LEO oscillator 21, i.e. dT, to be a new receiver clock offset from GNSS time, i.e. dTnew, which comprises a sum of the dT and this dTcorrection, where dTcorrection is again the difference between the GNSSDO time and LEO satellite time.
In step 306, the navigation computing device 18 determines a distance error based on the difference between the GNSSDO time and LEO satellite time, i.e. dTcorrection, multiplied by the speed of light (c), although other manners for determining a distance error may be used.
In step 308, the navigation computing device 18 determines when the determined distance error is greater than zero. If in step 308, the navigation computing device 18 determines the determined distance error is greater than zero, than the Yes branch is taken to step 310a.
In step 310a, the pseudorange measurement may be calculated by the navigation computing device 18 executing, by way of example only, programmed instructions, for the following equation:
p=ρ+dρ+c(dt−(dT+dTcorrection))+dion+dtrop+εmp+εp
where:
p=the pseudorange measurement
ρ=the true range
dρ=satellite orbital errors
c=the speed of light
dt=satellite clock offset from GNSS time
dT=receiver clock offset from GNSS time
dion=ionospheric delay
dtrop=tropospheric delay
εmp=multipath noise
εp=receiver noise
In this example, to calculate this pseudorange measurement the navigation computing device 18 may obtain or otherwise determine data, such as data on the true range (ρ), satellite orbital errors (dρ), ionospheric delay (dion), tropospheric delay (dtrop), multipath noise (εmp), and/or receiver noise (εp), although in other examples other manners for obtaining or determining some or all of the data needed for calculating this pseudorange measurement can be used. Additionally, since the navigation computing device 18 determines the distance error is greater than zero, then the navigation computing device 18 corrects the pseudorange measurement by adding the determined distance error which in this case will make the pseudorange measurement larger.
If back in step 308, the navigation computing device 18, the navigation computing device 18 determines the distance error is not greater than zero, than the No branch is taken to step 310b. In step 310b, the pseudorange measurement may be calculated by the navigation computing device 18 in the same manner as illustrated and described above in step 310a. Additionally, since the navigation computing device 18 determines the distance error is not greater than zero, then the navigation computing device 18 corrects the pseudorange measurement by subtracting the determined distance error which in this case will make the pseudorange measurement smaller or will make no change if the determined distance error is zero.
In step 312, the navigation computing device 18 determines when additional pseudorange measurements are needed to determine navigation or other positioning. If in step 312, the navigation computing device 18 determines an additional pseudorange measurement is needed, then the Yes branch may be taken back to step 300 to process another data packet or other signal as illustrated and described above.
If in step 312, the navigation computing device 18 determines an additional pseudorange measurement is not needed, then the No branch may be taken to step 314. In step 314, the navigation computing device 18 may use the pseudorange measurements from four of the LEO satellites 14(1)-14(n) to determining a current position, although other manners for determining positioning or navigation may be used.
In another example, the structure and operation is the same as illustrated and described herein, except in this alternative example there is a control unit (not shown) that may be responsible for calculating the real time offset between the GNSSDO and LEO Receiver. This control unit may also provide real-time calculations for dTcorrection, as well as adjusted pseudorange measurements which may be provided to the navigation computing device 18 to use these adjusted metrics to calculate the current location for each satellite signal.
Accordingly, as illustrated and described by way of the examples here, this technology provides methods and systems that enhance non-GNSS location and timing pseudorange positioning calculations. With examples of this technology, a continuously available precise time is obtained from sources, such as a GNSS Disciplined Oscillator (GNSSDO) associated with a GNSS satellite. This precise time is used to compensate for an inaccuracy with a captured time associated with a non-GNSS satellite to enable non-GNSS range and range rate measurements to be used for determining accurate positioning for periods of time, such as when GNSS is unavailable.
Having thus described the basic concept of the invention, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only, and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of the invention. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, the invention is limited only by the following claims and equivalents thereto.