Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR DETERMINING GNSS CORRECTIONS
Document Type and Number:
WIPO Patent Application WO/2024/050094
Kind Code:
A1
Abstract:
A system can include (and/or receive data from) one or more data sources (e.g., satellites, reference stations, etc.), a computing system (e.g., a corrections generator thereof), a GNSS receiver, one or more sensors, and/or any suitable component(s). A method can include receiving satellite observations at a first signal frequency, determining GNSS corrections for a second signal frequency, determining a GNSS receiver position based on the GNSS corrections, and/or any suitable step(s).

Inventors:
SMOLYAKOV IVAN (US)
CARCANAGUE SÉBASTIEN (US)
ANGELO JOSEPH (US)
Application Number:
PCT/US2023/031860
Publication Date:
March 07, 2024
Filing Date:
September 01, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SWIFT NAVIGATION INC (US)
International Classes:
G01S19/00; G01S19/04; G01S19/07; G01S19/24; G01S19/03; G01S19/30; G01S19/38
Foreign References:
US20170269227A12017-09-21
US20120154214A12012-06-21
US20190369265A12019-12-05
US20200041658A12020-02-06
US20220018969A12022-01-20
Attorney, Agent or Firm:
MEHLENBACHER, Randy (US)
Download PDF:
Claims:
CLAIMS

We Claim: 1. A system for correcting global navigation satellite systems (GNSS) signals comprising:

• a processor configured to: o receive a first set of GNSS satellite observations from satellite signals tracked by GNSS receivers at a plurality of reference stations, wherein the satellite signals are transmitted with a first signal frequency, wherein the first set of GNSS satellite observations comprise code phase and carrier phase measurements associated with a plurality of satellites; o determine a satellite code bias and a satellite carrier phase bias associated with each satellite of the plurality of satellites based on the first set of GNSS satellite observations; o determine transformed satellite code bias and transformed satellite carrier phase bias by transforming the satellite code bias and the satellite carrier phase bias from the first signal frequency to a second signal frequency that differs from the first signal frequency; and

• a second processor, collocated with a GNSS receiver of a rover, configured to: o receive a second set of GNSS satellite signals transmitted at the second signal frequency; and o determine a positioning solution of the rover using a set of corrected GNSS satellite signals formed by correcting the second set of GNSS satellite signals using the transformed satellite code bias and the transformed satellite carrier phase bias.

2. The system of Claim 1, wherein the first signal frequency and the second signal frequency are within a common frequency band.

3. The system of Claim 1, wherein the first signal frequency comprises a carrier frequency of 1176.45 MHz or 1561.098 MHz and wherein the second signal frequency comprises a carrier frequency of 1207.14 MHz or 1575.42 MHz.

4. The system of Claim 1, the positioning solution of the rover comprises a receiver clock state wherein the receiver clock state accounts for a common offset in the satellite carrier bias between satellites.

5. The system of Claim 4, wherein the positioning solution is determined using differenced satellite observations between satellite signals of the second set of GNSS satellite signals, wherein the differenced satellite signals remove the common offset in the satellite carrier bias between satellites.

6. The system of Claim 1, wherein a deviation between the transformed satellite carrier phase bias and a measured satellite carrier phase bias at the second signal frequency is at most 0.1 cycles.

7. The system of Claim 6, wherein when the deviation exceeds 0.1 cycles for a satellite, measurements from the satellite are excluded from the set of corrected satellite signals.

8. The system of Claim 1, wherein determining the transformed satellite code bias and the transformed satellite carrier phase bias excludes an atmospheric delay contribution to the transformed satellite code bias and the transformed satellite carrier phase bias.

9. The system of Claim 1, wherein the transformed satellite carrier phase bias is determined according to where is the satellite carrier phase bias at the first signal frequency, is the transformed satellite carrier phase bias, f2 is second signal frequency, f1 is the first signal frequency, c is the speed of light, and is the satellite code phase bias; and wherein the transformed satellite code phase bias is determined according to: wherein is the transformed satellite code phase bias.

10. The system of Claim 1, wherein determining the positioning solution of the rover comprises:

• determining a set of carrier phase ambiguity hypothesis for each satellite signal of the second set of GNSS satellite signals; and

• selecting a carrier phase ambiguity of the set of carrier phase ambiguity hypotheses based on results of a hypothesis test comparing carrier phase ambiguities of the set of integer phase ambiguity hypotheses; wherein the positioning solution is determined using the carrier phase measurements of the second set of GNSS satellite signals based on the selected carrier phase ambiguities.

11. A method comprising:

• receiving a set of GNSS satellite signals tracked by GNSS receivers at a plurality of reference stations, wherein the set of GNSS satellite signals are transmitted with a first signal frequency, wherein the first set of GNSS satellite signals comprise code phase and carrier phase measurements associated with a plurality of satellites;

• determining a satellite code bias and a satellite carrier phase bias associated with each satellite of the plurality of satellites based on the first set of GNSS satellite signals; and

• determining transformed satellite code bias and transformed satellite carrier phase bias by transforming the satellite code bias and the satellite carrier phase bias from the first signal frequency to a second signal frequency that differs from the first signal frequency.

12. The method of Claim 11, wherein the first signal frequency and the second signal frequency are within a common frequency band.

13. The method of Claim 11, wherein the first signal frequency comprises a carrier frequency of 1176.45 MHz or 1561.098 MHz and wherein the second signal frequency comprises a carrier frequency of 1207.14 MHz or 1575.42 MHz.

14. The method of Claim 11, the positioning solution of the rover comprises a receiver clock state wherein the receiver clock state accounts for a common offset in the satellite carrier bias between satellites.

15. The method of Claim 14, wherein the positioning solution is determined using differenced satellite observations between satellite signals of the second set of GNSS satellite signals, wherein the differenced satellite signals remove the common offset in the satellite carrier bias between satellites.

16. The method of Claim 11, wherein a deviation between the transformed satellite carrier phase bias and a measured satellite carrier phase bias at the second signal frequency is at most 0.1 cycles.

17. The method of Claim 16, wherein when the deviation exceeds 0.1 cycles for a satellite, measurements from the satellite are exduded from the set of corrected satellite signals.

18. The method of Claim 11, wherein determining the transformed satellite code bias and the transformed satellite carrier phase bias excludes an atmospheric delay contribution to the transformed satellite code bias and the transformed satellite carrier phase bias.

19. The method of Claim 11, wherein the transformed satellite carrier phase bias is determined according to where is the satellite carrier phase bias at the first signal frequency, is the transformed satellite carrier phase bias, f2 is second signal frequency, f1 is the first signal frequency, c is the speed of light, and is the satellite code phase bias; and wherein the transformed satellite code phase bias is determined according to: wherein is the transformed satellite code phase bias.

20. The method of Claim 11, wherein the satellite code bias and the satellite carrier phase bias are determined using a gaussian process using a squared exponential covariance function.

Description:
SYSTEM AND METHOD FOR DETERMINING GNSS CORRECTIONS

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of US Provisional Application number 63/404,301, filed 07-SEP-2022 and US Provisional Application number 63/403,212, filed 01-SEP-2022, each of which is incorporated in its entirety by this reference.

TECHNICAL FIELD

[0001] This invention relates generally to the satellite positioning field, and more specifically to a new and useful system and method in the satellite positioning field.

BRIEF DESCRIPTION OF THE FIGURES

[0002] FIGURE 1 is a schematic representation of the apparatus.

[0003] FIGURE 2 is a schematic representation of the method.

[0004] FIGURE 3 is a schematic representation of an example of the method.

[0005] FIGURE 4 is a scatter-plot representation of an example of a bias stability between an observed and a computed carrier-phase for satellites.

[0006] FIGURE 5 is a scatter-plot representation of an example of a bias stability between an observed and a computed carrier-phase for a plurality of satellitereceiver pairs.

[0007] FIGURE 6 is a schematic representation of an example of the method.

[0008] FIGURE 7 is a schematic representation of an example of the method.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.

1. Overview.

[0010] As shown for example in FIG. 1, the system can include (and/or receive data from) one or more data sources (e.g., satellites, reference stations, etc.), a computing system (e.g., a corrections generator thereof), optionally a GNSS receiver, and optionally one or more sensors. [0011] As shown for example in FIG. 2, the method can include receiving satellite observations at a first signal frequency S100, determining GNSS corrections for a second signal frequency S200, and optionally determining a GNSS receiver position based on the GNSS corrections S300.

[0012] The system and method preferably function to determine (e.g., calculate, estimate, predict, etc.) GNSS corrections, which can enable determination of a receiver kinematic solution with a high accuracy (e.g., cm-level, dm-level, m-level, etc.), availability, integrity, and/or other property. However, the system and method can otherwise be used.

[0013] Embodiments of the system and/or method can be used, for example, in autonomous or semi-autonomous vehicle guidance (e.g., for unmanned aerial vehicles (UAVs), unmanned aerial systems (UAS), self-driving cars, agricultural equipment, robotics, rail transport/transit systems, autonomous trucking, last mile delivery, etc.), GPS/GNSS research, surveying systems, user devices, mobile applications, intemet- of-things (IOT) devices, and/or may be used in any other suitable application. In specific examples, the system (and/or components) can be coupled to any suitable external system such as a vehicle (e.g., UAV, UAS, car, truck, etc.), robot, railcar, user device (e.g., cell phone), and/or any suitable system, and can provide positioning data, integrity data (e.g., protection level data), and/or other data to said system, wherein the system can use the data for control and/or navigation.

2. Benefits.

[0014] Variations of the technology can confer several benefits and/or advantages.

[0015] First, variants of the technology can facilitate interfacing different hardware generations and/or accommodate new technologies (e.g., the addition, approval, etc. of new carrier frequencies) in satellite positioning without requiring older hardware be replaced. For example, (legacy) hardware can be used to receive satellite observations at a first frequency and a corrections generator can be used to convert the satellite observations into GNSS corrections at a second frequency (e.g., rather than requiring the satellite observations be observed at the second frequency to generate the corrections, in addition to or alternative to using satellite observations at the second frequency, etc.). [0016] Second, the inventors have discovered that bias between a computed carrier phase and a measured carrier phase is stable in time (as shown for example in FIG. 4 where each line is associated with a different satellite; as shown for example in FIG. 5 where each color set corresponds to a plurality of satellites detected by a common receiver and each color represents a different receiver; varies by less than a threshold deviation such as standard deviation less than o.oi cycles, 0.05 cycles, 0.1 cycles, 0.15 cycles, 0.2 cycles, etc.; has a maximum magnitude of deviation - absent faults, outliers, interference effects, etc. - less than 0.01 cycles, 0.05 cycles, 0.1 cycles, 0.15 cycles, 0.2 cycles, etc.; etc.). As a result, variants of the technology can use corrections for a frequency (e.g., carrier frequency) that are determined based on satellite observations at a different frequency to determine a position of a GNSS receiver with high accuracy and/or high integrity (e.g., without drifting over time). Relatedly, the inventors have found that, in some variants, such as when the interfrequency code bias between the first and second frequency are substantially the same, then the inter-frequency code bias does not need to be determined or considered (e.g., because other corrections and/or states, such as the receiver clock, can absorb the code bias).

[0017] Third, variants of the technology can decrease a computational requirement for a corrections generator. In a specific example, by enabling corrections for a first frequency to be converted to corrections for a second frequency, only an estimator for a single frequency is necessary (e.g., reducing a number of states of an estimator by up to half, decreasing a processor requirement by up to about half, increasing a processing speed by up to approximately a factor of 2, using a single estimator rather than an estimator for a first frequency and an estimator for a second frequency, etc.). Relatedly, variants of the technology can improve a scalability of generating and/or disseminating (e.g., transmitting, providing, etc.) corrections. For instance, in specific variants, the corrections can be converted from a first to a second frequency once (e.g., at a corrections generator) rather than at each GNSS receiver (e.g., such as converting observations from a first frequency to a second frequency at each base station, rover, etc.).

[0018] However, variants of the technology can confer any other suitable benefits and/or advantages. 3. System.

[0019] As shown for example in FIG. 1, the system can include (and/or receive data from) one or more data sources (e.g., satellites, reference stations, etc.), a computing system (e.g., a corrections generator thereof), optionally a GNSS receiver, and optionally one or more sensors. The system can function to determine corrections to satellite observations (e.g., detected by the GNSS receiver), determine the position of the GNSS receiver and/or external system, and/or can otherwise function.

[0020] The system preferably uses a set of data collected by one or more data sources. Data sources can include: GNSS receivers, sensors (e.g., located onboard the GNSS receiver, the external system, a reference station, etc.), databases, base stations (e.g., reference stations), satellites, and/or any other suitable data source. Examples of data that can be used include: satellite observations (e.g., satellite code, carrier phase, Doppler, etc.; derived information such as pseudorange; etc.), sensor data, and/or any other suitable data.

[0021 ] The GNSS receiver preferably functions to track satellite signals (e.g., to determine, generate, etc. a set of satellite observations) from one or more satellites. In variants, the GNSS receiver (e.g., a processor or measurement engine thereof) can determine the location (e.g., by using pseudorange, by using carrier phase) of the GNSS receiver (e.g., the receiver antenna, the external system, etc.) based on the satellite observations and/or sensor readings. The GNSS receiver can be in communication with a computing system, can include a computing system (e.g., a processor, a positioning engine, a fusion engine, etc.), can be integrated with the computing system, and/or the GNSS receiver and computing system can be arranged in any suitable manner. The GNSS receiver can be a stand-alone device (e.g., a standalone antenna or set of antennas), can be integrated into the rover (e.g., be a component of an automobile, aero vehicle, nautical vehicle, etc.), can be (e.g., be included in, be a component of, be a chip of, etc.) a user device (e.g., smart phone, laptop, cell phone, smart watch, etc.), and/or can be configured in any suitable manner.

[0022] The set of satellite observations can include orbital data, timestamp, range rate data, carrier phase data, code phase data, pseudorange data, doppler data, and/or any suitable data. The set of satellite observations can be associated with metadata (e.g., ephemeris), and/or any suitable data. The set of satellite observations can include satellite observations corresponding to satellites from one or more satellite constellation (e.g., Global Positioning System (GPS), GLObal Navigation Satellite System (GLONASS), BeiDou positioning System (BDS), Galileo, Navigation with Indian Constellation (NavIC), Quasi-Zenith Satellite System (QZSS), GPS Aided Geo Augmented Navigation (GAGAN), etc.). The set of satellite observations can additionally or alternatively include data from an augmentation system (e.g., Satellite Based Augmentation System (SBAS) such as Wide Area Augmentation System (WAAS), European Geostationary Navigation Overlay Service (EGNOS), Multi- Functional Satellite Augmentation System (MSAS), Omnistar, StarFire, etc.; Ground Based Augmentation Systems (GBAS) such as Local Area Augmentation System (LAAS); etc.), and/or can include any suitable data.

[0023] In variants of the system including more than one GNSS receiver (e.g., more than one antenna), each GNSS receiver can be the same or different, which can function to provide redundancy, provide information in the event of an outage to one of the antennas, provide validation and/or cross checks between data sources, and/or otherwise function. For example, different GNSS receivers can be configured to receive satellite observations associated one or more satellite constellations, one or more carrier frequencies (e.g., L1, L1C, L2, L3, L5, L6, E1, E5a, E5b, E5altboc, E5, E6, G1, G3, B1l, B1C, B2I, 82a, B3I, LEX, S band, C band, etc. frequencies), and/or corresponding to any suitable data.

[0024] The reference stations (e.g., base stations) preferably function to receive satellite observations which can be used to correct satellite observations made at the GNSS receiver (e.g., mobile receiver). The reference station satellite observations can be used to difference (e.g., form combinations with) the GNSS receiver observations, to model corrections (e.g., used by a corrections generator to generate a model of the GNSS corrections), and/or can otherwise be used. The reference stations are typically within a threshold distance of the GNSS receiver (e.g., within 10 km, 20 km, 50 km, 100 km, 150 km, 300 km, etc.), but can be further than the threshold distance from the GNSS receiver. The reference stations are preferably distributed such that for a given geographical region (e.g., city, county, province, state, country, continent, etc.) a GNSS receiver is within the threshold distance of at least one reference station. However, the reference stations can otherwise be distributed or arranged. The reference stations are preferably at substantially the same height relative to sea level (e.g., within about 100 m of the same height above sea level), but can have any suitable height(s) relative to each other and/or relative to the sea level.

[0025] The reference station(s) can receive satellite observations at the same and/or at a different frequency from the GNSS receiver. As an illustrative example (as shown for instance in FIG. 3), the reference station(s) can receive satellite observations at a first satellite carrier frequency (e.g., L2 frequency, Bil frequency, E5a frequency, 1227.60 MHz, 1176.45 MHz, 1561.098 MHz, etc.) while the GNSS receiver can receive satellite observations at a second carrier frequency (e.g., L5 frequency, B1C frequency, E5b frequency, 1176.45 MHz, 1207.14 MHz, 1575.42 MHz, etc.). However, the reference station(s) and the GNSS receiver(s) can receive any suitable satellite observations.

[0026] The optional sensor(s) can function to measure sensor data (e.g., auxiliary data) associated with the external system (and/or the GNSS receiver). The sensor data can be used to determine (e.g., independent of the satellite observations) the external system location (e.g., fused with the GNSS positioning solution or satellite signals such as disclosed in US Patent Application Number 17/860,779 titled ‘SYSTEM AND METHOD FOR FUSING DEAD RECKONING AND GNSS DATA STREAMS’ filed 08-JUL-2022 which is incorporated in its entirety by this reference), but can additionally or alternatively be used to assist (e.g., speed-up, correct, refine, etc.) the calculation (e.g., calculating the state vector, estimating the phase ambiguity, converge or reconverge such as disclosed for example in US Patent Application Number 17/686,588 titled ‘SYSTEM AND METHOD FOR RECONVERGING GNSS POSITION ESTIMATES’ filed 04-MAR-2022 which is incorporated in its entirety by this reference, etc.) of position from the satellite observations and/or be otherwise used. The sensors are preferably in communication with the computing system.

[0027] The sensors can be: on-board the external system, on-board a separate external system, integrated into the GNSS receiver, separate from the GNSS receiver, and/or otherwise associated with the GNSS receiver.

[0028] The sensor data can include: inertial data (e.g., acceleration, angular velocity, angular acceleration, magnetic field, etc.), odometry, pose (e.g., position, orientation), mapping data (e.g., images, point clouds), temperature, pressure, ambient light, images (e.g., thermal images, optical images, etc.; landmarks, features, etc. associated with the images; etc.), video feeds, and/or any other suitable data. The sensors can include one or more of: inertial measurement unit (IMU), accelerometer, gyroscope, magnetometer, odometer (e.g., wheel speeds; wheel ticks; steering angles; visual odometers such as cameras; etc.), pressure sensors, distance measurement instrument, image sensor (e.g., camera, thermal camera, etc.), LIDAR, RADAR, SONAR, and/or any suitable sensor.

[0029] The system (e.g., an external system connected to the system, a base station, etc.) can include more than one GNSS receivers and/or sensors, which can function to provide redundancy, provide information in the event of an outage to one of the GNSS receivers or sensors, provide validation and/or cross checks between data sources (e.g., be used to monitor or detect the incoming data streams), and/or otherwise function. The relative pose between each GNSS receiver (e.g., between each GNSS receiver antenna), each sensor, and/or each GNSS receiver/sensor pair is preferably known, but can be unknown.

[0030] The computing system preferably functions to process the data (e.g., satellite observations, reference station observations, sensor data, etc.) received by the GNSS receiver(s), the reference station(s), and/or the sensor(s). The computing system can: determine GNSS corrections (e.g., based on the reference station satellite observations), convert (e.g., transform) between GNSS frequencies (e.g., switch a GNSS correction from a first frequency to a second frequency), filter the data (e.g., to calculate state vectors, ambiguities such as phase ambiguities, etc. associated with the data), calculate the GNSS receiver position (e.g., the GNSS phase center position), calculate an integrity of the solution (e.g., the protection level, the integrity risk, the total integrity risk, etc.), calculate the external system (e.g., vehicle, rover, etc.) positioning solution (e.g., kinematic solution, position, velocity, attitude, acceleration, etc.), correct the data (e.g., correct the satellite observations for clock errors, hardware bias, atmospheric effects, etc.), and/or can process the data in any suitable manner. The computing system can be local (e.g., to the external system, to the GNSS receiver, to abase station, etc.), remote (e.g., cloud computing, server, networked, etc.), and/or otherwise distributed (e.g., between a processor collocated with a GNSS receiver and a cloud computing system).

[0031 ] The computing system is preferably communicably coupled to the GNSS receiver and/or the base station(s), but can be communicably coupled to any suitable data sources. For example, the computing system can be distributed between a local computing system that is colocalized with (e.g., integrated into) the GNSS receiver (and/or external system) and a remote computing system (e.g., a cloud computing server, remote computer bank, etc.). However, the computing system can be a remote computing system, a local computing system (e.g., collocated with the GNSS receiver, integrated in the external system, etc.), and/or can otherwise be distributed (e.g., between two or more separate servers).

[0032] The computing system can include a corrections generator (e.g., configured to determine corrections, configured to convert corrections and/or satellite observations from a first frequency to a second frequency, corrections engine, etc.), a positioning engine (e.g., configured to determine a kinematic solution such as position, velocity, attitude, etc. for a GNSS receiver or associated external system), an integrity monitor (e.g., configured to monitor satellite observations for a potential feared event, configured to monitor corrections for a potential feared event such as a change in fractional phase bias, fractional phase bias stability, inter-frequency code bias stability, inter-frequency carrier phase stability, etc.), and/or any suitable component(s).

[0033] The corrections generator functions to determine (e.g., model, filter, calculate, compute, estimate, etc.) the GNSS corrections. The corrections generator can generate corrections from reference station data (e.g., pseudorange and/or carrier phase from reference stations), global corrections data (e.g., satellite clock, satellite orbit, bias, etc.), and/or metadata (e.g., reference station positions, ocean tide loading, antenna type, receiver type, almanac data, etc.), but may additionally or alternatively generate corrections using sensor data, satellite observations (e.g., as detected at a GNSS receiver), and/or any input data.

[0034] The GNSS corrections are preferably SSR (state space representation) corrections (e.g., error estimates separate error source(s)). However, the GNSS corrections can additionally or alternatively include be OSR (observation space representation) corrections (e.g., a lump sum of errors resulting from one or more error source such as satellite clock, satellite orbit, satellite signal bias, ionospheric delay, ionospheric advance, tropospheric delay, etc. such as provided as a range correction for a combination of satellites, frequencies, and/or signals), and/or can be any suitable correction representation.

[0035] For example, the corrections generator (and/or a corrections monitor) can operate in a manner similar to a corrections engine (and/or components thereof such as PPP filters, atmospheric modeler, correction generator, reference observation monitor, correction data monitor, metadata monitor, modeling engine, reliability engine, etc.) as disclosed in US Patent Application Number 17/829,019 titled ‘SYSTEMS AND METHODS FOR HIGH-INTEGRITY SATELLITE POSITIONING’ filed 31-MAY-2022 or US Patent Application Number 18/210,455 titled ‘SYSTEMS AND METHOD FOR DISTRIBUTED DENSE NETWORK PROCESSING OF SATELLITE POSITIONING DATA’ filed 15-JUN-2023, each of which is incorporated in its entirety by this reference. In another (related and/or combinable with the preceding example) example, a corrections generator can generate corrections (e.g., SSR corrections) using a Gaussian model (for instance in a manner as disclosed in US Patent Application Number 17/554,397 titled ‘SYSTEM AND METHOD FOR GAUSSIAN PROCESS ENHANCED GNSS CORRECTIONS GENERATION’ filed 17- DEC-2021 which in incorporated in its entirety by this reference) to process reference station satellite observations to estimate the corrections. In a third (related and/or combinable with the preceding examples), the corrections generator can further include a VRS generator and/or can generate satellite observations associated with a virtual reference station (VRS) from the SSR corrections (for instance in a manner as disclosed in US Patent Application Number 18/079,640 titled ‘SYSTEM AND METHOD FOR CORRECTING SATELLITE OBSERVATIONS’ filed 12-DEC-2022 which in incorporated in its entirety by this reference).

4. Method.

[0036] As shown for example in FIG. 2, the method can include receiving satellite observations at a first signal frequency S100, determining GNSS corrections for a second signal frequency S200, and optionally determining a GNSS receiver position based on the GNSS corrections S300. [0037] The method preferably functions to determine GNSS corrections. The GNSS corrections are preferably used to determine high-accuracy (e.g., with an accuracy of 1 mm, 5 mm, 1 cm, 2 cm, 5 cm, 10 cm, 20 cm, 50 cm, 1 m, 2 m, values or ranges therebetween, etc.) and/or high-integrity (e.g., with a total integrity risk less than 10 -4 / hr, 10 -5 / hr, 10 -6 / hr, 10 -7 / hr, 10 -8 / hr, 10 -9 / hr, etc.) GNSS receiver positioning solutions (e.g., kinematic solutions; such as position, displacement, velocity, speed, attitude, acceleration, etc.). However, the GNSS corrections can otherwise be used (e.g., to determine a positioning solution for a GNSS receiver, rover, external system, etc.) and/or the method can otherwise function.

[0038] The method (and/or steps thereof) can be performed in real or near-real time (e.g., with satellite observation receipt, with external system and/or GNSS receiver operation, etc.), delayed (e.g., the corrections can be predetermined for future GNSS positioning solution determination), and/or can be performed with any suitable timing. The method (and/or steps thereof) can be performed once, repeatedly, iteratively, in response to a trigger (e.g., receipt of satellite observations, request from an operator, etc.), and/or with any suitable frequency and/or timing.

[0039] Receiving the satellite observations S100 functions to measure and/or detect a set of satellite signals, where each satellite signal is associated with a satellite. The satellite observations can be received at a reference station, a GNSS receiver, a computing system (e.g., where satellite observations can be stored and/or retrieved from a database), and/or at any suitable endpoint. In an illustrative example, satellite signals associated with (e.g., from) a first set of satellites are received by a GNSS receiver and satellite signals associated with (e.g., from) a second set of satellites are received by a set (of one or more) reference stations. The first and the second set of satellites can be the same, the first set of satellites can be a strict subset of the second set of satellites, the second set of satellites can be a strict subset of the first set of satellites, the first set of satellites can include one or more satellites that are in second set of satellites and one or more satellites that are not in the second set of satellites, and/or the first and second set of satellites can include any suitable satellites and/or relationships between satellites. In variations of this example, the GNSS receiver can receive satellite observations associated with (e.g., derived from, by tracking satellite signals at, etc.) a first satellite frequency (e.g., first carrier frequency) and the reference station(s) can receive satellite observations associated with (e.g., derived from, by tracking satellite signals at, etc.) a second satellite frequency (e.g., second carrier frequency). However, the reference station(s) and the GNSS receiver(s) can receive any suitable satellite observations. Satellite signals are preferably received for a common epoch, but can be received for any suitable epoch or relative time.

[0040] Determining GNSS corrections S200 functions to determine (e.g., calculate, estimate, generate, etc.) GNSS corrections that can be used by a GNSS receiver in determining a GNSS receiver positioning solution. The GNSS corrections are preferably determined by a corrections generator (e.g., operating on a cloud computing server, operating on a processor collocated with a GNSS receiver, operating on an external system processor, operating on a client server, etc.). However, the GNSS corrections can be determined using any suitable component. The GNSS corrections are preferably determined using a set of reference station observations (e.g., a set of one or more satellite observations received by one or more reference stations). However, the GNSS corrections can additionally or alternatively be determined using prior GNSS corrections, rover observations, sensor data, and/or any suitable data or information.

[0041] The GNSS corrections preferably include phase bias corrections (e.g., carrier phase bias corrections) and/or code bias corrections (code phase bias corrections). The GNSS corrections can additionally or alternatively include true bias corrections (e.g., carrier phase bias corrections and/or code bias corrections including common offset values, integer ambiguities, ), clock corrections, orbit corrections, atmospheric delay (e.g., ionosphere delay such as slant total electron count, vertical total electron count, horizontal electron count, ionospheric refraction, etc.; tropospheric delay such as hydrostatic delay, wet delay, etc.; etc.), and/or any suitable corrections.

[0042] The GNSS corrections are preferably state space representation (SSR) corrections (e.g., where different error terms are modeled and distributed separately, decomposed corrections, etc.). However, the GNSS corrections can additionally or alternatively be observation state representation (OSR) corrections (e.g., where error terms can be lumped together as an observation such as for a virtual reference station) and/or any suitable corrections. [0043] As shown for example in FIG. 6, determining the GNSS corrections S200 can include determining the GNSS corrections for a first frequency S220 (e.g., using a set of reference station observations associated with the first frequency), optionally determining an atmospheric delay for the first frequency S240, converting the GNSS corrections associated with the first frequency to GNSS corrections associated with a second frequency S260, and transmitting the GNSS corrections (e.g., associated with the first frequency, associated with the second frequency, etc.) to a GNSS receiver S290 (e.g., external system, mobile rover, etc.). Additionally or alternatively, determining the GNSS corrections can include determining the GNSS corrections for the second frequency (e.g., using the set of reference station observations associated with the first frequency, converting the set of reference station observations associated with the first frequency to reference station observations associated with the second frequency, etc.) and/or any suitable steps.

[0044] The GNSS corrections can be determined (e.g., in S220, S240, etc.) using a Kalman filter (e.g., extended Kalman filter, unscented Kalman filter, discriminative Kalman filter, adaptive Kalman filter, Kalman-Bucy filter, hybrid Kalman filter, etc.), a Gaussian process, a particle filter, and/or using any suitable estimator. The GNSS corrections can be determined using undifferenced and/or uncombined satellite observations (e.g., where an estimator for the corrections does not difference or combine the satellite observations, where the observations provided to the estimator are not differenced or combined, etc.) and/or using differenced and/or combined satellite observations (e.g., single differenced satellite observations between receivers, single differenced satellite observations between frequencies, single differenced satellite observations between epochs, single differenced satellite observations between satellites, double-differenced satellite observations between receivers and frequencies, double-difference satellite observations between receivers and epochs, double-differenced satellite observations between frequencies and epochs, double differenced satellite observations between receivers and satellites, double differenced satellite observations between frequencies and satellites, triple differenced satellite observations between receivers frequencies and epochs, etc.; combined satellite observations such as to form ionosphere-free combinations, geometry-free combination, wide-lane combination, narrow-lane combination, ultra-wide lane combination, Melboume-Wiibbena combination, group and phase ionospheric calibration combination, etc.; etc.).

[0045] In variants where a Gaussian process is used to determine the GNSS corrections (e.g., one or more component of the GNSS corrections), a covariance function (e.g., defining a relationship between two or more inputs to the Gaussian process) can include constant functions, polynomial (e.g., linear, quadratic, piecewise smooth polynomials, etc.) functions, white noise functions, Kronecker delta (or Dirac delta function) functions, squared exponential functions, Omstein-Uhlenbeck (e.g., Brownian) functions, (e.g., with variable drift terms that are dependent on the current value of the process), Weiner functions, Matérn functions, Bessel functions, periodic functions, rational (e.g., rational quadratic) functions, functions, neural network covariance functions, and/or any suitable covariance function. In a first specific example, a covariance function for a satellite and/or receiver (e.g., reference stations, mobile receiver, etc.) error (such as a code phase bias, carrier phase bias, clock error, orbit error) can be an Omstein-Uhlenbeck function such as: where Z i and Z j are two observations corresponding to times t i and t j respectively, and and α error are hyperparameters which represent the total variance explained by the station clock and the time scale which indicates how much “memory” the station clock has or how quickly it de-correlates respectively. In a second specific example, a covariance function for a satellite and/or receiver (e.g., reference stations, mobile receiver, etc.) error (such as a code phase bias, carrier phase bias, clock error, orbit error) can be a squared exponential function such as However, any suitable covariance function can be used to determine each correction.

[0046] In related variants, determining atmospheric corrections (e.g., in S240) can include determining atmospheric corrections using a Gaussian model. In a first specific example, an atmospheric covariance function (e.g., an ionosphere or troposphere covariance function) can be a squared gaussian function such as: where p i and p j correspond to two pierce points (for example as shown in FIGs. 3A, 3B, and 3C), d(p i ,p j ) corresponds to a distance function between the two pierce points, and h(pi,pj) corresponds to a height difference between the two pierce points. In a second specific example, an atmospheric covariance function (e.g., an ionosphere or troposphere covariance function) can be an Ornstein-Uhlenbeck function such as: In a third specific example, an atmospheric covariance function (e.g., an ionosphere or troposphere covariance function) can be a product of a mapping function (e.g., m(x)) and a covariance function such as: where can represent the correlation between the electron content at two different points in space. can represent the obliquity where θ i is the angle at which a signal intersects the shell (e.g., relative to vertical), and/or be any other suitable mapping function. In a fourth specific example, an atmospheric covariance function can be a convolution of covariance functions such as: where corresponds to the ionosphere delay. In a fifth specific example, an atmospheric covariance functions can be an Omstein-Uhlenbeck function such as: where latm is a hyperparameter corresponding to a length scale for the decorrelation of the pierce points. In the fifth specific example, a mean of the covariance function can be given by: where μ corresponds to the mean, a atm corresponds to an inferred atmospheric offset, and corresponds to the value that a model (e.g., the klobuchar model of the ionosphere, klobuchar model, NeQuick model, BeiDou global broadcast ionospheric delay correction model (BDGIM), etc.) would give for the zenith ionosphere delay at location In a sixth specific example, the atmospheric model includes a Gaussian process that uses covariances that model: a per-satellite bias (e.g., even with high- precision clock/orbit products), a multi-shell model (e.g., multiple shells for all satellites, one shell per satellite, etc.), and the great circle distance. However, the atmospheric delay can be otherwise modelled (e.g., using a Kalman filter or other estimator, according to where BGD is a broadcast group delay correction term provided by the satellite that maybe neglected in some variations, etc.). [0047] For example, the GNSS corrections (and/or components thereof) can be determined in a manner as disclosed in 17/554,397 titled ‘SYSTEM AND METHOD FOR GAUSSIAN PROCESS ENHANCED GNSS CORRECTIONS GENERATION’ filed 17-DEC-2021, US Patent Application Number 17/347,874 titled ‘SYSTEMS AND METHODS FOR DISTRIBUTED DENSE NETWORK PROCESSING OF SATELLITE POSITIONING DATA’ filed 15-JUN-2021, and/or US Patent Application Number 18/079,640 titled ‘SYSTEM AND METHOD FOR CORRECTING SATELLITE OBSERVATIONS’ filed 12-DEC-2022, each of which is incorporated in its entirety by this reference. However, the GNSS corrections can be determined in any manner.

[0048] Converting (e.g., transforming) the GNSS corrections associated with the first frequency to GNSS corrections associated with a second frequency functions to generate corrections for a second frequency (e.g., without operating a model to process satellite observations associated with the second frequency, without using satellite observations associated with the second frequency, etc.). The GNSS corrections are preferably converted between frequencies according to an equation (e.g., depending on a ratio between the frequencies, depending on a difference between the frequencies, independently depending on the frequencies, etc.). However, the GNSS corrections can be converted between frequencies using machine learning, using an estimator (e.g., Gaussian process, Kalman filter, etc.), using a look-up table, and/or in any manner.

[0049] Typically, only frequency dependent corrections (e.g., terms that depend linearly or inverse linearly with frequency such as code bias, phase bias, ionospheric refraction, etc.) will be converted. However, frequency independent terms (e.g., terms that do not depend on frequency and/or depend on frequency with a nonlinear frequency dependence such as squared or higher for instance orbit, clock, tropospheric delay, relativistic effects, etc.) can be converted. For example, a calculated code bias and/or phase bias can be converted from a first frequency (e.g., that the bias was generated using data from) to a second frequency.

[0050] Converting the GNSS corrections can include converting the GNSS corrections from the first frequency to the second frequency while neglecting atmospheric delay effects. Terms that depend on the atmospheric delay (e.g., as shown below) typically include coefficients that depend on a frequency squared and (when combined with the typically small atmospheric delay term) are often negligible (e.g., would impact a positioning solution by less than a threshold distance such as <1 mm, <5 mm, <1 cm, <5 cm, etc.) and therefore can be neglected. However, additionally or alternatively, the conversion of the GNSS corrections can account for atmospheric delay effects (e.g., during periods of high ionospheric activity, when the difference between the first and the second frequency exceeds a threshold difference, etc.). For instance, a system performing the method could operate in two (or more modes) such as a mode that accounts for atmospheric effects (e.g., when the atmospheric delay terms will impact a positioning distance by more than the threshold distance, when the ionosphere activity is greater than a threshold activity, etc.) and a mode that neglects the atmospheric effects (e.g., when the atmospheric delay terms will impact a positioning distance by less than the threshold distance, when the ionosphere activity is less than a threshold activity, etc.). However, the system performing the method can operate in any suitable mode (e.g., a mode that converts satellite observations between frequencies, a mode that converts GNSS corrections between frequencies, a mode that computes the GNSS corrections at the second frequency by combining satellite observations at the second frequency with GNSS corrections determined at the first frequency and subsequently converted to the second frequency, etc.).

[0051] The first and second frequency are typically different frequencies. The first and second frequencies are preferably within a threshold frequency difference (e.g., differ by at most about 100, 50, 30, 25, 15, 10, 5, 1, etc. MHz). However, the first and second frequencies can differ by more than the threshold frequency difference (e.g., when the bias between the frequencies have a stability greater than a threshold stability such as differing by less than 0.2, 0.1, 0.05, 0.01, etc. cycles over a time scale of seconds, minutes, hours, days, etc.) and/or can have any suitable relationship. Relatedly, the first and second frequencies are preferably within the same frequency band (e.g., both within the L band, both within the lower L band, both within the upper L band, both within the C band, frequency bands allocated to Aeronautical Radio Navigation Services (ARNS), frequency bands allocated to Radio Navigation Satellite Systems (RNSS), etc.). However, the first and second frequencies can be within different frequency bands (e.g., when the bias between the frequencies have a stability greater than a threshold stability such as differing by less than 0.2, 0.1, 0.05, 0.01, etc. cycles over a time scale of seconds, minutes, hours, days, etc.).

[0052] As a first illustrative example (e.g., for satellite observations associated with Galileo satellites), a first frequency can be in the E5a or E5b frequency bands and the second frequency can be the other frequency band. In variations of the first illustrative example, the first or second frequency can be in the E5altboc and/or E6 frequency band. In a second illustrative example (e.g., for satellite observations associated with BeiDou satellites), the first frequency can be in the BiC frequency band and the second frequency can be in the Bil frequency band (or vice versa). However, any suitable first and second frequencies can be used. Additionally, or alternatively, corrections associated with two (or more frequencies) can be converted (e.g., combined) to determine GNSS corrections associated with a third frequency, GNSS corrections associated with a first frequency can be converted to GNSS corrections associated with 2 or more frequencies, and/or GNSS corrections associated with any number of frequencies can be converted to GNSS corrections associated with any number of frequencies.

[0053] In a first illustrative example, a satellite pseudorange signal (e.g., in units of distance such as cm, dm, m, etc.) for frequency band v 2 (with frequency f v2 ) can be related to a satellite pseudorange signal for frequency band v 1 (with frequency f v1 ) according to: where is the pseudorange signal (e.g., in units of distance such as cm, dm, m, etc.) for frequency v 2 , where is the pseudorange signal (e.g., in units of distance such as cm, dm, m, etc.) for frequency v 1 , I v1 is the ionospheric delay for v 1 (e.g., in units of distance such as cm, dm, m, etc.), is the pseudorange bias associated with v 2 , and is the pseudorange bias associated with v 1 . However, in some variations, tropospheric effects (e.g., terms associated with tropospheric delays), and/or other effects can additionally or alternatively be considered.

[0054] In a second illustrative example, a satellite carrier phase signal (Φ e.g., in units of number of cycles or fractional cycles) for frequency v 2 (with frequency f v2 ) can be related to a satellite carrier phase signal for frequency v 1 (with frequency f v1 ) according to where is the pseudorange signal (e.g., in units of distance such as cm, dm, m, etc.) for frequency v 1 , I v1 is the ionospheric delay for v 1 (e.g., in units of distance such as cm, dm, m, etc.), is the pseudorange bias (e.g., code bias, code phase bias, etc.) associated with v 1 , is the carrier phase bias associated with v 2 , is the carrier phase bias associated with v 1 , and c is the speed of light (e.g., in units of m/s such as in a vacuum, in atmosphere, etc.). In variants of this illustrative example, a carrier phase signal for v 2 can be computed according to

In some variations, the ionospheric delay term can be neglected (e.g., because it is assumed to be small such as less than about 0.05 cycles) such that the carrier phase signal can be computed according to However, in some variations, tropospheric effects (e.g., terms associated with tropospheric delays), and/or other effects can additionally or alternatively be considered.

[0055] A true bias (B Φ such as a true carrier phase bias) between the observed and computed carrier phase can be determined as (e.g., defined as) (where the term associated with the ionospheric delay has been neglected). The true bias term can be represented as (e.g., defined as)

However, in some variations the ionospheric term will be present such as

However, the true bias can be defined in any manner.

[0056] By considering the true bias to be o (e.g., in variants where the true bias will cancel with between satellite differencing such as single frequency differencing, double frequency differencing, triple frequency differencing, etc.; in variants where the true bias can be considered approximately constant and independently estimated or assumed in other errors, as shown for example in FIG. 4; etc.), a carrier phase bias correction associated with a first frequency band can be converted to a GNSS corrections associated with a second frequency band according to: where is the phase bias correction (e.g., as determined in S220) associated with frequency band v 1 (e.g., in units of length such as cm, dm, m, etc.), is the phase bias correction associated with frequency band v 2 (e.g., in units of length such as cm, dm, m, etc.), f v1 is the carrier frequency associated with v 1 (e.g., in units of Hz), f v2 is the carrier frequency associated with v 2 (e.g., in units of Hz), is the pseudorange bias correction (e.g., code bias correction) associated with frequency band v 1 , and c is the speed of light (e.g., in units of m/s). Variations of this illustrative example can include an integer ambiguity term (e.g., N). However, the integer ambiguity term can be determined (e.g., allocated as) part of the carrier phase integer ambiguity and/or can otherwise be allocated or determined (e.g., within a common error state such as a clock error state). Additional and/or alternative variations can include an atmospheric delay term such as where I V1 is an ionospheric delay term (e.g., as calculated in S240) associated with frequency v 1 (e.g., in units of distance such as m). However, the carrier phase bias can be determined in any manner.

[0057] In a third illustrative example, a code bias correction for a single frequency (e.g., the first frequency code bias) can be used for both a first and second frequency satellite signal (e.g., where is the pseudorange bias correction (e.g., code bias correction associated with frequency band v 1 and is the pseudorange bias correction associated with frequency band v 2 ). This illustrative example can leverage and/or benefit from the fact that the inter-frequency code biases between the first and second frequencies are substantially the same so the offset can be absorbed by other correction states (e.g., receiver clock state). In other variations, an equation similar to the above equation used for phase bias correction can be used to convert a code bias correction from a first frequency to a second frequency. In another variation, the code bias correction conversion can depend on and/or include terms that depend on an ionospheric delay such as: where

I V1 is an ionospheric delay term (e.g., as calculated in S240) associated with frequency v 1 (e.g., in units of distance such as m). However, the code bias correction be determined in any manner.

[0058] The above illustrative examples can be combined (e.g., to convert each of code phase bias and carrier phase bias from one frequency to another frequency) and/or used in isolation (e.g., only convert one of code bias correction or carrier phase bias correction to a different frequency). However, the bias correction (e.g., phase bias correction, code bias correction) can otherwise be determined (e.g., the satellite observations such as pseudorange, carrier phase, doppler, etc. can be converted to a different frequency such as according to etc.; where the pseudorange, carrier phase, doppler, etc. at the different frequency can be used in the models to generate the corrections for the different frequency).

[0059] In some variants, determining the GNSS corrections can include monitoring the GNSS corrections which can function to detect (e.g., detect with a threshold probability of occurrence) a potential fault in the data (e.g., which can impact an accuracy, integrity, availability, etc. of the GNSS corrections at one or more frequency). The GNSS corrections are preferably monitored by the correction generator (e.g., an integrity monitor of the correction generator), but can be monitored by any suitable component. For example, a true bias can be monitored for satellite observations (e.g., associated with a subset of reference stations, associated with one or more mobile GNSS receivers, etc.) to determine whether the true bias is substantially stable (e.g., varies by less than about o.i cycles / hr, o.i cycles / min, o.i cycles / s, etc.). In related variants, a difference between satellite observations (e.g., satellite single differencing) can be monitored to determine how far the difference strays from o. However, the GNSS corrections can be monitored in any manner (e.g., in a manner as disclosed in US Patent Application Number 17/829,019 titled ‘SYSTEMS AND METHODS FOR HIGH-INTEGRITY SATELLITE POSITIONING’ filed 31-MAY-2022 which is incorporated in its entirety by this reference).

[0060] In some variants (as shown for example in FIG. 7), the determined corrections can be used to generate OSR corrections (e.g., decomposed corrections, SSR corrections, etc. can be used to generate synthetic satellite observations, YRS observations, etc. such as pseudorange, carrier phase, doppler, etc. for an arbitrary location, typically one that is not collocated with a base station, such as for a virtual reference station; for instance as disclosed in US Patent Application Number 18/079,640 titled ‘SYSTEM AND METHOD FOR CORRECTING SATELLITE OBSERVATIONS’ filed 12-DEC-2022 which is incorporated in its entirety by this reference). For example, the corrections determined at the second frequency (e.g., in S260) can be combined (e.g., with frequency independent corrections, with satellite observations from base stations, etc.) to generate VRS corrections (e.g., satellite observations for with a VRS location). In this example, the base station satellite observations may be at the first frequency and can be converted to the second frequency (e.g., in a manner analogous to that described above). In other examples, the VRS corrections can be generated for the first frequency (e.g., by combining the determined corrections with the base station observations) and then converted to the second frequency (e.g., in a manner analogous to that described above). However, the OSR corrections can otherwise be determined and/or converted between frequencies. [0061 ] Transmitting the GNSS corrections S290 preferably functions to provide

GNSS corrections to the GNSS receiver (e.g., mobile receiver). The GNSS corrections can be provided over any suitable communication link (e.g., wired or wireless such as internet, satellite, telecommunication, etc.). The GNSS corrections provided to a GNSS receiver are preferably associated with a satellite frequency that the GNSS receiver detects (as shown for example in FIG. 3). For instance, when a GNSS receiver tracks and/or receives satellite observations associated with the first frequency, the GNSS corrections are provided at the first frequency (and similarly for other frequencies). However, the GNSS corrections can be transmitted for a single frequency (e.g., the GNSS receiver, or a processor thereof or collocated therewith can convert the GNSS corrections to a different frequency), GNSS corrections for a plurality of frequencies can be transmitted (where the GNSS receiver can determine the GNSS corrections to be used), and/or any suitable GNSS corrections can be transmitted. The GNSS correction transmission can be mediated by a gateway, router, and/or any suitable communication system (such as a GNSS corrections communication system as disclosed in US Patent Application Number 17/379,271 titled ‘SYSTEM AND METHOD FOR PROVIDING GNSS CORRECTIONS’ filed 19-JUL-2021 which incorporated is in its entirety by this reference).

[0062] Determining the GNSS receiver positioning solution S300 preferably functions to determine (e.g., estimate, calculate, etc.) a kinematic solution (e.g., position, velocity, attitude, time, etc.) of the GNSS receiver. The GNSS receiver positioning solution is preferably determined using a positioning engine (e.g., a positioning engine of a computing system collocated with the GNSS receiver, a cloud positioning engine, etc.), but can be determined by any suitable component. The GNSS receiver positioning solution is preferably determined using satellite observations associated with the second signal frequency (e.g., the signal frequency of satellite observations acquired by the GNSS receiver). However, the GNSS receiver positioning solution can additionally or alternatively be determined using satellite observations associated with the first signal frequency (e.g., the same frequency as satellite observations measured by a reference station), a third signal frequency, a combination of frequencies, and/or any suitable satellite observations can be used.

[0063] The GNSS receiver positioning solution is preferably determined using corrected satellite observations (e.g., the GNSS receiver satellite observations received in Sioo corrected using the corrections generated in S200). However, the GNSS receiver positioning solution can be determined using any suitable satellite observations (e.g., uncorrected satellite observations; differenced satellite observations such as single differenced satellite observations between receivers, single differenced satellite observations between frequencies, single differenced satellite observations between epochs, single differenced satellite observations between satellites, double-differenced satellite observations between receivers and frequencies, double-differenced satellite observations between receivers and epochs, doubledifferenced satellite observations between frequencies and epochs, double differenced satellite observations between receivers and satellites, double differenced satellite observations between frequencies and satellites, triple differenced satellite observations between receivers frequencies and epochs, etc.; combined satellite observations such as to form ionosphere-free combinations, geometry-free combination, wide-lane combination, narrow-lane combination, ultra-wide lane combination, Melboume-Wubbena combination, group and phase ionospheric calibration combination, etc.; etc.). Variants that use single-difference satellite observations (e.g., between satellite-differencing) can provide a technical advantage as these variants will result in code phase bias and/or carrier phase bias offsets (e.g., interfrequency bias, differential code biases) cancelling (or substantially cancelling such as to impact a positioning solution by less than a threshold amount when the interfrequency bias is stable such as less than a threshold fraction of a cycle over time). The satellite observations can be precorrected (e.g., before a filter processes the satellite observations to determine the GNSS receiver positioning solution), corrected in an estimator (such as a Kalman filter, extended Kalman filter, unscented Kalman filter, particle estimator, Gaussian process, etc.; where the GNSS corrections can be an input to the estimator), and/or can otherwise be corrected.

[0064] The positioning solution is preferably determined using carrier phase (e.g., ambiguity resolved carrier phase), but can additionally or alternatively be determined using pseudorange, doppler, and/or any suitable satellite signal(s). Determining the positioning solution can include determining the carrier phase ambiguity (e.g., to a floating point precision, to integer precision, etc. such as disclosed in US Patent Application Number 16/817,196 filed 12-MAR-2020 entitled “SYSTEMS AND METHODS FOR REAL TIME KINEMATIC SATELLITE POSITIONING” or in US Patent Application Number 17/022,924 filed 16-SEP-2020 entitled “SYSTEMS AND METHODS FOR HIGH-INTEGRITY SATELLITE POSITIONING,” each of which is incorporated in its entirety by this reference), determining a set of floating phase ambiguity hypotheses, determining a set of integer phase ambiguity hypotheses from the set of floating phase ambiguity hypotheses, performing hypothesis testing to validate the set of integer phase ambiguities hypotheses, and/or any suitable steps.

[0065] In some variants of S300, the positioning solution can be determined using sensor fusion (e.g., by fusing sensor data with GNSS satellite observations). As a specific example, a sensor fusion system can include: a sensor (e.g., an IMU sensor, accelerometer, gyroscope, magnetometer, visual odometer, wheel tick, steering angle, camera, etc.), a GNSS receiver (e.g., a GNSS antenna), a fusion engine, a sensor engine. The fusion engine preferably functions to determine (e.g., estimate) kinematic parameters of the moving body and/or sensor error correction (e.g., bias estimates, systematic sensor error correction, etc.). The fusion engine can include a filter (e.g., a Kalman filter, extended Kalman filter, unscented Kalman filter, etc.), an error model (e.g., to identify which sensor errors to estimate, how to estimate the sensor errors, etc.), a time synchronizer 248 (e.g., a buffer, which can function to temporally align data streams with different latency), a GNSS positioning engine (e.g., which can function to resolve a carrier phase ambiguity, determine kinematic parameters from the GNSS data, a filter, etc.), and/or any suitable components. The sensor engine preferably functions to determine a kinematic parameter of the moving body based on the sensor data. The sensor engine can include a mechanization model (e.g., built on a physical dynamic model that gets discretized, a set of equations or relationships to determine kinematic parameters from sensor data), an integrator (e.g., a numerical integration model for applying the mechanization model to determine current kinematic parameters from a previous kinematic parameter, to propagate previous kinematic parameters to a current time, etc.), an error compensator (e.g., which can correct sensor measurements for error estimates), a filter (e.g., a Kalman filter, extended Kalman filter, unscented Kalman filter, etc.), and/or any suitable components. However, the sensor fusion system can include any suitable components and/or perform any suitable algorithms to determine the positioning solution (e.g., as disclosed for instance in US Patent Application number 18/073,304 titled ‘SYSTEM AND METHOD FOR FUSING DEAD RECKONING AND GNSS DATA STREAMS’ filed 01-DEC-2022 and/or US Patent Application number 18/115,963 titled ‘SYSTEM AND METHOD FOR FUSING SENSOR AND SATELLITE MEASUREMENTS FOR POSITIONING DETERMINATION’ filed 01-MAR-2023, each of which is incorporated in its entirety by this reference).

[0066] In a specific example, a method can include (and/or a system can be configured to) receiving a set of GNSS satellite signals tracked by GNSS receivers at a plurality of reference stations, where the set of GNSS satellite signals are transmitted with a first signal frequency, where the first set of GNSS satellite signals comprise code phase and carrier phase measurements associated with a plurality of satellites; determining a satellite code bias and a satellite carrier phase bias associated with each satellite of the plurality of satellites based on the first set of GNSS satellite signals; and determining transformed satellite code bias and transformed satellite carrier phase bias by transforming the satellite code bias and the satellite carrier phase bias from the first signal frequency to a second signal frequency that differs from the first signal frequency. In variations of this specific example the first signal frequency and the second signal frequency can be within a common frequency band. In variations of this specific example the first signal frequency can include a carrier frequency of 1176.45 MHz or 1561.098 MHz and wherein the second signal frequency comprises a carrier frequency of 1207.14 MHz or 1575.42 MHz. In variations of this specific example, the positioning solution of the rover comprises a receiver clock state wherein the receiver clock state accounts for a common offset in the satellite carrier bias between satellites. In variations of this specific example, the positioning solution can be determined using differenced satellite observations between satellite signals of the second set of GNSS satellite signals, wherein the differenced satellite signals remove the common offset in the satellite carrier bias between satellites. In variations of this specific example, a deviation (e.g., stability of) between the transformed satellite carrier phase bias and a measured satellite carrier phase bias at the second signal frequency can be at most 0.1 cycles. In variations of this specific example, when the deviation exceeds 0.1 cycles for a satellite, measurements from the satellite can be excluded from the set of corrected satellite signals. In variations of this specific example, determining the transformed satellite code bias and the transformed satellite carrier phase bias can exclude an atmospheric delay contribution to the transformed satellite code bias and the transformed satellite carrier phase bias. In variations of this specific example, the transformed satellite carrier phase bias can be determined according to where is the satellite carrier phase bias at the first signal frequency, is the transformed satellite carrier phase bias, f 2 is second signal frequency, fl is the first signal frequency, c is the speed of light, and is the satellite code phase bias; and/or wherein the transformed satellite code phase bias is determined according to: wherein is the transformed satellite code phase bias. In variations of this specific example, the satellite code bias and the satellite carrier phase bias can be determined using a gaussian process using a squared exponential covariance function. [0067] The methods of the preferred embodiment and variations thereof can be embodied and/or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions can be executed by computer-executable components integrated with a system for GNSS PVT generation. The computer-readable medium can be stored on any suitable computer-readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computerexecutable component is preferably a general or application specific processor, but any suitable dedicated hardware or hardware/firmware combination device can alternatively or additionally execute the instructions.

[0068] As used herein, "substantially” or other words of approximation (e.g., “about,” “approximately,” etc.) can be within a predetermined error threshold or tolerance of a metric, component, or other reference (e.g., within 0.001%, 0.01%, 0.1%, 1%, 5%, 10%, 20%, 30%, etc. of a reference), or be otherwise interpreted.

[0069] Embodiments of the system and/or method can include every combination and permutation of the various system components and the various method processes, wherein one or more instances of the method and/or processes described herein can be performed asynchronously (e.g., sequentially), concurrently (e.g., in parallel), or in any other suitable order by and/or using one or more instances of the systems, elements, and/or entities described herein.

[0070] As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.