Method, apparatus and system for generating signal correction data using distributed receivers

Distributed GNSS receivers with motion compensated correlation technology generate and distribute correction data to enhance positioning accuracy in urban environments, addressing the cost and complexity of RTK systems while achieving centimeter-level precision.

WO2026132804A1PCT designated stage Publication Date: 2026-06-25FOCAL POINT POSITIONING LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FOCAL POINT POSITIONING LTD
Filing Date
2025-12-16
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing RTK and PPP systems for improving GNSS positioning accuracy are expensive and complex, and their effectiveness is limited in urban environments due to multipath interference.

Method used

A system using distributed, inexpensive GNSS receivers with motion compensated correlation technology (SUPERCORRELATION™) to generate and distribute correction data, including atmospheric delays, satellite clock errors, and biases, via a communication network to improve positioning accuracy in challenging environments.

Benefits of technology

Enables accurate GNSS positioning with centimeter-level precision in urban environments by using correction data generated from a network of mobile receivers, achieving performance comparable to RTK systems at a lower cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure GB2025060026_25062026_PF_FP_ABST
    Figure GB2025060026_25062026_PF_FP_ABST
Patent Text Reader

Abstract

A method, apparatus and system for generating and distributing signal correction data includes determining motion of an antenna connected to each of a plurality of GNSS receivers, performing motion compensated correlation of received radio signals using the motion to generate motion compensated correlation results, identifying radio signals that are LOS radio signals using the motion compensated correlation results, determining a respective position for each of the GNSS receivers using a respective LOS radio signal and the motion compensated correlation results, determining a measured pseudorange between each GNSS receiver and each of a plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results, for each of the GNSS receivers, determining an atmospheric delay experienced by the radio signals and determining respective correction data using the determined atmospheric delay to determine a correction for at least the respective positions of each of the GNSS receivers.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD, APPARATUS AND SYSTEM FOR GENERATING SIGNAL CORRECTION DATA USING DISTRIBUTED RECEIVERSCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims benefit of and priority to U.S. Provisional Patent Application Serial No. 63 / 734,949 filed December 17, 2024, which is herein incorporated by reference in its entirety.BACKGROUNDField

[0002] Embodiments of the present principles generally relate to radio signal receivers and, in particular, to a method, apparatus and system for generating radio signal correction data using multiple receivers.Description of the Related Art

[0003] Positioning signal receivers such as receivers for global satellite navigation systems (GNSS) signals have become ubiquitous in mobile devices and vehicles. A GNSS receiver (e.g., receivers for GPS, GLONASS, GALILEO, BEIDOU, etc. satellite signals or a combination thereof) receive signals from satellites, process the received signals and determine the position of the receiver from information contained in the received signals.

[0004] To determine a position, the GNSS receiver determines the distance to each satellite that is in view above the receiver. This distance is known as a pseudorange. The receiver knows the location of each satellite from ephemeris data supplied to the receiver. The accuracy of the pseudorange varies with unknown signal propagation delays caused by the atmosphere (e.g., tropospheric and ionospheric delays) as well as errors and biases in satellite clock and orbit information. Such pseudorange inaccuracy causes inaccuracy in the position calculation (i.e., at best unaided GNSS accuracy is about 2 m).

[0005] In real-time kinematic (RTK) positioning systems and / or Precise Point Positioning (PPP) systems various common errors, including atmospheric delays andsatellite related errors, are corrected to improve the position calculation. An RTK system places RTK reference stations at surveyed locations. These reference stations comprise highly accurate GNSS receivers and complex antennas that enable the position uncertainty to be reduced to as little as about 2.5 cm. The RTK reference stations transmit signal correction data (typically, through the cell telephone network or via satellite ground link) to roving GNSS receivers that operate within about a 35 km radius of a reference station. Within the operating radius of a reference station, the roving receiver uses the correction data to correct for common errors, including atmospheric delays, within the signal processing. In addition, other correction data including satellite clock errors, satellite orbit errors and / or satellite biases may be provided to the RTK system by the GNSS operator and then distributed to the GNSS receivers. Specifically, in RTK systems the receiver compensates for the atmospheric delays (and other anomalies) through adjustment of GNSS observables such as the pseudoranges, carrier phase and / or code phase. The use of correction data in this manner enables the roving receiver to achieve high position accuracy that is on the order of the accuracy at the reference station, e.g., up to about 2.5 cm.

[0006] Unfortunately, RTK and PPP systems are expensive and complex. In addition, RTK systems find limited use within urban environments where multipath interference impacts the operation and accuracy of the RTK reference stations’ ability to accurately determine atmospheric delays.

[0007] Therefore, there is a need in the art for a method, apparatus, and system for generating radio signal correction data using inexpensive, distributed GNSS receivers that accurately operate in urban environments.SUMMARY

[0008] Embodiments of the present principles generally relate to and provide a method, apparatus and system for generating radio signal correction data using distributed receivers.

[0009] Various features and advantages of the present principles may be appreciated from a review of the following detailed description of the present disclosure, along with the accompanying figures.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] So that the manner in which the features of the present principles can be understood in detail, a particular description of the present principles may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the present principles and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.

[0011] FIG. 1 depicts a block diagram of a communication system for generating and distributing correction data in accordance with at least one embodiment of the present principles;

[0012] FIG. 2 depicts a functional block diagram of a distributed receiver in accordance with at least one embodiment of the present principles;

[0013] FIG. 3 depicts a functional block diagram of a correction data server in accordance with at least one embodiment of the present principles;

[0014] FIG. 4 depicts a flow diagram of a method of generating correction data in accordance with at least one embodiment of the present principles;

[0015] FIG. 5 depicts a flow diagram of a method of processing and distributing correction data in accordance with at least one embodiment of the present principles; and

[0016] FIG. 6 depicts a flow diagram of a method of using correction data in a GNSS receiver in accordance with at least one embodiment of the present principles.

[0017] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. The figures are not drawn to scale and may be simplified for clarity. It is contemplated thatelements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.DETAILED DESCRIPTION

[0018] Embodiments of the present principles comprise apparatuses, methods, and system of generating radio signal correction data for radio signal receivers. It should be understood however, that there is no intent to limit the concepts of the present principles to the particular forms disclosed. On the contrary, the intent is to cover all modifications, equivalents, and alternatives consistent with the present principles and the appended claims. For example, although embodiments of the present principles will be described primarily with respect to specific receivers used in positioning systems (e.g., GNSS receivers), embodiments of the present principles can be implemented with substantially any receivers capable of receiving satellite signals.

[0019] In some embodiments of the present principles, a plurality of receivers are coupled via a communications network to a correction data server. In some embodiments, the receivers can comprise motion compensated correlation GNSS signal receivers (also referred to as a SUPERCORRELATION™ GNSS (S-GNSS®) device). SUPERCORRELATION™ and S-GNSS® are trademarks of Focal Point Positioning Ltd. In accordance with the present principles, the S-GNSS devices are moving, fully operational GNSS receivers that use a SUPERCORRELATION™ technique to process received GNSS radio signals to identify signals transmitted directly (e.g., line-of-sight (LOS)) from a satellite transmitter and extract common error correction data (e.g., atmospheric delays) from the received LOS signals. In some embodiments, other correction data such as, but not limited to, satellite orbit errors, satellite clock errors, and / or satellite biases that are available from the GNSS operators can also be distributed to GNSS receivers (e.g., non-S-GNSS devices and S-GNSS receivers alike) for performing additional corrections.

[0020] In embodiments of the present principles, the SUPERCORRELATION™ technique is used to receive GNSS signals in challenging environments (e.g., urban environments, attenuated signal environments, spoofing environments) and facilitatesdetermining very accurate pseudoranges to the line-of-sight (LOS) satellites. Since the S-GNSS devices know their locations (e.g., determines a position estimate) and the location of the LOS satellites from the satellite ephemeris, expected and determined pseudoranges can be processed to determine correction data, including atmospheric delays experienced by the signals as they propagate from the satellites to the S-GNSS devices. Alternatively, rather than computing the correction data locally, the received GNSS signals (or data derived from or representing the GNSS signals such as measured pseudoranges, signal correlation results and the like) can be transmitted from the S-GNSS devices to a remote location (e.g., a correction data server) for processing to enable the remote computation of correction data. In embodiments of the present principles, the correction data, either computed at the S- GNSS device or at the correction data server is crowd sourced from a plurality of S- GNSS devices to the correction data server. The correction data server then processes the data to determ ine / remove errors and generate an accurate atmospheric delay map.

[0021] In some embodiments, each S-GNSS device comprises a standard, inexpensive GNSS receiver that is capable of executing the motion compensated correlation process of the SUPERCORRELATION™ technique. The S-GNSS device comprises a simple, inexpensive antenna (e.g., monopole patch antenna) that is typically set in motion by the receiver being moved (e.g., carried by a person or vehicle). In some embodiments the S-GNSS device comprises a moving antenna, (e.g. an antenna mounted on a rotating arm), which may continue to move in some fashion even while the receiver (and the platform carrying the receiver) is stationary. In some embodiments, by using motion compensated correlation, the S-GNSS device of the present principles can accurately operate in an urban environment, in which multipath interference is prevalent, to generate radio signal correction data in accordance with the present principles.

[0022] In accordance with embodiments of the present principles, a plurality of S- GNSS devices transmit the correction data (or the received GNSS signals or data derived from the GNSS signals) through a communications network to a correctiondata server. In some embodiments, the correction data server can process the data (or signals) to form a correction data map reflective of an area in which the S-GNSS devices are located (e.g., regional or world-wide). In at least some embodiments, the correction data map can be transmitted by the correction data server through the communications network to at least one GNSS receiver of the present principles. In such embodiments, the GNSS receiver extracts correction data from the map that is relevant to the receiver’s estimated position and uses the correction data to process received satellite signals. The use of the correction data in accordance with the present principles enables the GNSS receiver to significantly improve its computed position accuracy. Alternatively or in addition, in some embodiments the GNSS receiver requests correction data related to its location and, in response, the correction data server sends the relevant correction data rather than sending an entire correction data map or a larger portion of a map.

[0023] FIG. 1 depicts a block diagram of a communication system 100 for generating and distributing correction data in accordance with at least one embodiment of the present principles. The system 100 of FIG. 1 illustratively comprises a plurality of motion compensated correlation devices (also referred to as SUPERCORRELATION™ GNSS (S-GNSS®) devices) 102-1 , 102-2, ... 102-N (collectively referred to as S-GNSS® devices 102) coupled through a communications network 106 to a correction data server 108. In the embodiment of FIG. 1 , the communications network 106 can include, but is not limited to, a satellite communications network, an internet network, a wide area network, a local area network, and / or combinations of one or more such networks. In the system 100 of FIG. 1 , the correction data S-GNSS devices 102 are roving mobile platforms (e.g., smartphones, tablets, GNSS receivers in vehicles, and / or other mobile platforms). The platforms of FIG. 1 comprise a GNSS receiver capable of performing the SUPERCORRELATION technique, and, as such, the S-GNSS device knows its approximate position. As will be described in further detail below, in some embodiments the S-GNSS device can iterate a position calculation using the correction data to improve its computed position. As the device’s position is improved,the correction data calculation generates more accurate correction data (e.g., more accurately receives signals and computes pseudoranges).

[0024] In at least some embodiments of the present principles, each S-GNSS device 102 can implement a SUPERCORRELATION™ technique (also referred to as a motion compensated correlation technique) to process received GNSS radio signals to extract / determine common error correction data (e.g., atmospheric delays) / from the received signals. That is, in accordance with embodiments of the present principles, the SUPERCORRELATION™ technique is used to receive GNSS signals in challenging environments (e.g., urban environments, attenuated signal environments, spoofing environments) and facilitate the determination of very accurate pseudoranges. The motion compensated correlation technique enables the S-GNSS device to accurately discriminate the angle of arrival of the received signals. In this manner, the S-GNSS devices 102 of the present principles are capable of improving the reception of signals from line-of-sight (LOS) satellites (i.e., satellites directly transmitting to the S-GNSS device 102 without reflection) and attenuating the reception of signals from non-line-of-sight (NLOS) satellites (and / or GNSS spoofers). That is, using the SUPERCORRELATION™ technique, a receiver of the present principles can receive a LOS signal and a NLOS signal from the same satellite and, using S-GNSS, select to receive the LOS signal and attenuate the NLOS signal. As such, the S-GNSS devices 102 are capable of operating in urban environments and attenuated signal environments.

[0025] Since the S-GNSS devices 102 know their locations and the location of the LOS satellites from satellite ephemeris, each device 102 determines what a respective pseudorange between each device and satellite should be (i.e., an expected pseudorange). Alternatively, through processing of the received signals, the S-GNSS devices 102 can compute pseudoranges to the LOS satellites (i.e., measured pseudoranges). In accordance with the present principles, in some embodiments, the difference between the expected pseudorange and the measured pseudorange represents the common errors which can be used as correction data. That is, this difference at least partially represents the signal delay caused as the signals passthrough the atmosphere (e.g., tropospheric and ionospheric delays collectively referred to as atmospheric delays).

[0026] In some embodiments, additional correction data can be provided to the correction data server 108 via the communications network 106 by other correction data sources 110 and distributed to the GNSS receivers 104. Such additional correction data can include, but is not limited to, satellite orbit error, satellite clock errors, estimated atmospheric delays and / or satellite biases that are made available from, for example, GNSS operators. In embodiments of the present principles, such additional correction data can also be distributed to the GNSS receivers 104 as part of the satellite ephemeris data.

[0027] In the embodiment of FIG. 1 , the plurality of S-GNSS devices 102 transmit the correction data through the communications network 106 to the correction data server 108. In some embodiments, the correction data server 108 processes the data, as described in detail below, to form a correction data map covering an area in which the S-GNSS devices 102 are operating (e.g., a region or world-wide).

[0028] In such embodiments, the correction data map (or a portion of the map) can be transmitted through the communications network 106 to at least one GNSS device 104-1 , 104-2, ... 104-N (collectively referred to as GNSS devices 104). In some embodiments, the GNSS devices 104 can include S-GNSS devices, for example containing GNSS receivers, that are capable of performing motion compensated correlation. The at least one GNSS device 104 extracts correction data from the map that is relevant to its estimated position and uses the correction data to process received satellite signals. The use of the correction data enables the at least one GNSS device 104 to significantly improve the accuracy of its position computation. Alternatively or in addition, in some embodiments, the at least one GNSS device 104 can request correction data related to its estimated location from the correction data server 108 and, in response, the correction data server 108 can send the relevant correction data rather than send an entire correction data map or a portion of a map.

[0029] FIG. 2 depicts a functional block diagram of a distributed receiver, such as a S-GNSS device 102, in accordance with at least one embodiment of the present principles. In the embodiment of FIG. 2, the S-GNSS device 102 comprises a standard, inexpensive GNSS receiver 250 that is capable of executing the motion compensated correlation process. The S-GNSS device 102 comprises a simple, inexpensive antenna (e.g., monopole patch antenna) 200 (or receiver and antenna together), which moves through the signal environment. The antenna motion is relative to the received GNSS signals (i.e. , relative to the transmitters).

[0030] In the embodiment of FIG. 2, the GNSS receiver 250 comprises a front end 202, support circuits 204, a motion module 208, at least one processor 206 and a memory 210. The front end 202 is coupled to the antenna 200. In some embodiments, the antenna and receiver move together such that the antenna moves relative to the received GNSS signals and the transmitter(s). In the GNSS receiver 250 of FIG. 2, the SUPERCORRELATION™ technique operates based upon determining a component of motion of the signal receiving antenna 200 that is in the direction of the source (e.g., a GNSS satellite) of a received signal. Any mention of motion herein refers to the motion of the antenna 200 - although both the antenna 200 and receiver 250 may be moving together as a single unit.

[0031] In the embodiment of FIG. 2, the receiver front end 202 downconverts, filters, and samples (digitizes) the received signals in a manner that is well-known to those skilled in the art and as such will not be described in greater detail herein. The output of the receiver front end 202 is a digital signal containing signal data. The signal data of interest for performing motion compensation is a deterministic code (e.g., Gold code) used by the processor 206 to synchronize the receiver 250 to the GNSS transmission.

[0032] The at least one processor 206 can be any form of processor or combination of processors including, but not limited to, central processing units, microprocessors, microcontrollers, field programmable gate arrays, graphics processing units, digital signal processors, and the like. The support circuits 204 can comprise well-known circuits and devices facilitating functionality of the processor(s).The support circuits 204 can further comprise one or more of, or a combination of, power supplies, clock circuits, analog to digital converters, communications circuits, cache, displays, filters, and / or the like.

[0033] In the embodiment of FIG. 2, the memory 210 can include one or more forms of non-transitory computer readable media including one or more of, or any combination of, read-only memory or random-access memory. The memory 210 stores software and data including, for example, GNSS signals 216 (and / or representations of those signals), signal processing software 212, and a motion model 218. The memory 210 can further store a receiver position estimate 220, correction data 222 (e.g., atmospheric delays, satellite bias, satellite clock error, satellite orbit errors, and various additional data used to perform the SUPERCORRELATION™ processing and pseudorange correction in accordance with the present principles). In some embodiments, the correction data 222 can be determined at the correction data server (108 in FIG. 1 ) as described in greater detail below. In some embodiments, the signal processing software 212 comprises motion compensated correlation software 214 that is executed to perform the SUPERCORRELATION™ technique (described in further detail below).

[0034] More specifically, satellite-based positioning systems utilize encoded digital signals including a deterministic digital code (e.g., Gold code) to facilitate signal acquisition. In the embodiment of FIG. 2, such a digital code is determined by the receiver 250 and repeatedly broadcast by the transmitter to enable a receiver to accurately acquire and process transmitted signals. Using such deterministic codes combined with an accurate motion of the receiver, embodiments of the present principles can enable the receiver 250 to improve its position computation accuracy and / or signal reception. In some embodiments, the technique for improving radio signal reception using receiver motion compensated signal correlation is known as SUPERCORRELATION™ and is described in commonly assigned US patent 9,780,829, issued 3 October 2017; US patent 10,321 ,430, issued 11 June 2019; US patent 10,816,672, issued 27 October 2020; US patent publication 2020 / 0264317, published 20 August 2020; US patent publication 2020 / 0319347, published 8 October2020; US patent publication 2024 / 0045077, published 8 February 2024, and US Patent Publication 2024 / 0014549, published 11 January 2024, which are hereby incorporated herein by reference in their entireties.

[0035] In the embodiment of FIG. 2, the motion module 208 can determine the motion of the receiver antenna using a motion model or measurements from, for example, an inertial measurement unit (IMU) comprising one or more sensors such as, but not limited to, accelerometer(s), gyroscope(s), barometer(s), magnetometer(s), and the like, a GNSS receiver, and / or other sensors capable of providing motion data. In some embodiments, the motion module 208 can combine these measurements with a motion model 218 that is specific to the type(s) of motion in progress (e.g. pedestrian or vehicular) to better determine the antenna motion. In some embodiments, the signal processing software 212 can comprise machine learning algorithms and / or modelling algorithms that determine a model of the movement of the antenna 200. Alternatively or in addition, in some embodiments, the motion can be estimated (i.e., rather than directly measured) from historical motion information (e.g., a vehicle moving along a road can be assumed to continue moving along the road even if measured motion data is not available). As such, in various embodiments, the determined motion can be measured, estimated or assumed. To properly motion compensate the received signals for antenna movement, the motion in a direction of interest (typically, the direction from which signals are being transmitted from a GNSS satellite) must be accurately determined.

[0036] In operation, in a technique for improving radio signal reception using receiver motion compensated signal correlation in accordance with the present principles, the at least one processor 206 accesses buffered GNSS signals 216 and the at least one processor 206 correlates the received code from each satellite with locally generated codes to produce correlation results. In embodiments of the present principles, buffered GNSS signals may have been fully or partially processed before being buffered as part of the data. For example, the partially processed signals can include downconverted, filtered, and / or sampled GNSS signals and the fully processed signals can include complex correlation results.

[0037] The correlation results are then processed to generate position information 220. For example, in some embodiments, the correlation results are used to determine pseudoranges for each satellite from which signals were received and the pseudoranges are processed to compute the receiver position 220. In some embodiments, the at least one processor 206 performs the SUPERCORRELATION™ technique to provide signals (phasor sequences) to phase adjust the complex correlation results such that the coherent integration period is extended (e.g., extended to one or more seconds) to improve signal reception and angle of arrival discrimination. Each phasor sequence is a time sequence of phase offsets where each phasor in the sequence adjusts the phase of a complex signal sample. The adjustment can be performed by adjusting the phase of each sample of the received signals, the locally generated signals or the correlation results themselves. In some embodiments, the least computationally intensive adjustment process adjusts the phase of the complex correlation results.

[0038] That is, in some embodiments, the determined antenna motion is used by the at least one processor 206 to generate phasor sequences that are used to motion compensate the complex correlation results. The phasor sequences comprise a sequence of phase offsets to be made over time (e.g., across a received signal) to compensate for phase changes that occur over time due to movement of the antenna. The motion module 208 can then determine the motion of the antenna 200, which can include the velocity and heading of the antenna.

[0039] In some embodiments of the present principles, the SUPERCORRELATION™ technique determines which satellites are sending signals without reflection or significant attenuation (i.e., the satellites that are line-of-sight (LOS) to the receiver antenna). In such embodiments, these signals are selected for processing to determine the atmospheric delays experienced by the signals. In some embodiments, the atmospheric delays can be computed within the receiver 250 and sent to the correction data server 108. Alternatively or in addition, in some embodiments the received LOS GNSS signals can be transmitted to the correction data server 108 for processing. For example, rather than compute the correction datalocally, the received GNSS signals (or data derived from or representing the GNSS signals such as measured pseudoranges, signal correlation results and the like) can be transmitted from the S-GNSS devices to a remote location (e.g., a correction data server) for processing to compute the correction data of the present principles. Whether the receiver 250 performs the atmospheric delay processing or not can depend on the computing / processing power of the receiver’s processor 206. Various techniques for computing atmospheric delays are described below with respect to at least FIG. 6.

[0040] FIG. 3 depicts a functional block diagram of a correction data server 108 in accordance with at least one embodiment of the present principles. In the embodiment of FIG. 3, the correction data server 108 comprises a processor 300, support circuits 302, and memory 304.

[0041] The at least one processor 300 of FIG. 3 can be any form of processor or combination of processors including, but not limited to, central processing units, microprocessors, microcontrollers, field programmable gate arrays, graphics processing units, digital signal processors, and the like. The support circuits 302 of FIG. 3 can comprise well-known circuits and devices facilitating functionality of the processor(s). The support circuits 302 of FIG. 3 can comprise one or more of, or a combination of, power supplies, clock circuits, analog to digital converters, communications circuits, cache, displays, filters, and / or the like. The support circuits 302 provide an interface to the communications network 106.

[0042] In the embodiment of FIG. 3, the memory 304 can comprise one or more forms of non-transitory computer readable media including one or more of, or any combination of, read-only memory or random-access memory. The memory 304 stores software and data including, for example, correction data generation software 306, atmospheric delays 308, GNSS signals 310, a correction data map 312, and correction data 314. The atmospheric delays 308 and / or the GNSS signals 310 can be provided by the S-GNSS devices 102 via the communications network 106. TheS-GNSS devices 102 can provide the GNSS signals 310 from LOS satellites to the correction data server 108 such that the server 108 is able to calculate theatmospheric delays 308 at each of the devices 102 from the GNSS signals 310. Alternatively or in addition, in some embodiments, the devices 102 can locally compute the atmospheric delays 308 and transmit the atmospheric delays 308 through the communications network 106 to the correction data server 108. In some embodiments, the correction data 314 can include additional correction data including, but not limited to, satellite orbit error, satellite clock error, and / or satellite biases, that are made available from, for example, GNSS operators.

[0043] Specifically, in the embodiment of FIG. 3, the correction data server 108 executes the correction data generation software 306 to process the atmospheric delays 308 to generate the correction data map 312. The correction data map 312 is a model of the atmospheric delays in a geographic region between the S-GNSS devices 102. In the embodiment of FIG. 3, the server 108 transmits the correction data map 312 through the communications network 106 to the GNSS devices 104 to enable the devices to determine their local correction data for use by the GNSS devices 104 as described in further detail below. In other embodiments, the GNSS devices 104 may request correction data related to its specific position estimate and the satellites from which the receiver is currently receiving signals. Such a request for correction data can be made via the communications network 106. For example, in some embodiments, the device 104 can send an estimate of its position to the server 108 and the server 108, in response, can transmit the specific correction data for that position to the requesting device 104.

[0044] FIG. 4 depicts a flow diagram of a method 400 for generating correction data for at least one S-GNSS device 102 in accordance with at least one embodiment of the present principles. As previously described, the S-GNSS device 102 has a known location (e.g., a position estimate). The method 400 begins at 402 and proceeds to 404 where the S-GNSS device 102 receives GNSS signals. The method 400 can proceed to 406.

[0045] At 406, using a motion compensated correlation technique (e.g. the SUPERCORRELATION™ technique), it is determined which satellite signals are transmitted directly from the satellite to the receiver without reflection (i.e., LOS ordirect satellite signals). More specifically, at 406, received GNSS signals are processed using the SUPERCORRELATION™ technique to motion compensate the correlation results. During this process, the SUPERCORRELATION™ procedure generates a plurality of phasor sequence hypotheses related to the motion information. Each phasor sequence hypothesis comprises a phase estimate that varies with motion parameters of the receiver. The signal processing correlates a local code encoded in a local signal with a code encoded in the received RF signal. The phasor sequence hypotheses are used to adjust, at a sub-wavelength accuracy, the complex carrier phase of the local signal. Such adjustment or compensation can be performed by adjusting a local oscillator signal, the received signal(s), or the correlation result. The signals and / or correlation results comprise complex signal samples having in-phase (I) and quadrature phase (Q) components. Each phase offset in the phasor sequence is applied to a corresponding complex sample in the signals and / or correlation results. For each received signal, the process correlates the received signals with a set (plurality) of phasor sequence hypotheses containing estimates of a phase offset necessary to accurately correlate the received signals. In some embodiments, all the hypotheses are tested to find the hypothesis that provides the best or optimal correlation result magnitude.

[0046] The motion estimates are typically hypotheses of the motion in a direction of interest such as in the direction of the satellite that transmitted the received signal (e.g., along the signal propagation path). As with all GNSS receivers, the satellite positions are known to the device through known ephemeris data. A comparison of correlation results over the direction hypotheses enables a search space to be narrowed when processing subsequently received signals. Consequently, subsequent compensation is performed over a narrow search space.

[0047] In some embodiments, if a signal from a given satellite was received previously, the set of hypotheses for the newly received signal can include a group of phasor sequence hypotheses using the expected Doppler and Doppler rate and / or last Doppler and last Doppler rate used in receiving the prior signal from that particular satellite. The hypotheses values can be centered around the last values used or thelast values used additionally offset by a prediction of further offset based on the expected receiver motion. Each received signal is correlated with that signal’s set of hypotheses. The hypotheses are used as parameters to form the phase-compensated phasors to phase compensate the correlation process. As such, the phase compensation can be applied to the received signals, the local frequency source (e.g., an oscillator), or the correlation result values. The result of the correlation process is a plurality of phase-compensated correlation results - one phase-compensated correlation result value for each hypothesis for each received signal.

[0048] In some embodiments, the correlation results are analyzed to find the “best” or optimal result for each received signal. A joint correlation output can then be produced as a function (e.g., summation) of the plurality of correlation results resulting from all the hypotheses and received transmitter signals. The joint correlation output can be a single value or a plurality of values that represent the parameter hypotheses (preferred hypotheses) that provide an optimal or best correlation output. In some embodiments, a cost function can be applied to each set of correlation values for each received signal to find the optimal correlation output corresponding to a preferred hypothesis or hypotheses.

[0049] For example, assuming all other receiver parameters are known except receiver motion direction, hypotheses with various phasor sequences that compensate for phase changes due to each direction hypothesis are tested. The correct phasor sequence hypothesis that represents the accurate direction estimate will produce the highest correlation result magnitude for a given received signal. By processing the received signals from different satellites, the correlation results will converge upon hypotheses representing the true antenna motion direction as well as the direction from which the signal has been transmitted (e.g., the transmission angle of arrival).

[0050] With knowledge of the angle of arrival and the satellite ephemeris defining the height of the satellite above the horizon, the LOS satellites and their signals can be discriminated from amongst all received satellite signals. In other embodiments, a 3DMA (3D-mapping-aiding) map can be implemented to determine if any satellitesare obscured by buildings. The signals from the obscured satellites will be considered NLOS and not used to determine the correction data in accordance with the present principles.

[0051] In other embodiments, if additional receiver parameters (e.g., clock frequency and / or frequency rate) are unknown or not accurately known, those parameter offsets can also be expressed as phasor hypotheses and tested to optimize the correlation output across multiple parameters at once. These parameter offsets can be used to correct inaccuracies in, for example, the receiver clock.

[0052] At 408, atmospheric delays associated with the GNSS signals received are determined. That is, since the S-GNSS device has a known estimated location and because the device knows the location of each satellite from the satellite ephemeris, in some embodiments the atmospheric delay can be computed as the difference between the expected pseudorange and the measured pseudorange. This computation is performed for each LOS satellite signal. In other embodiments, additional techniques can be used to determine the atmospheric delay experienced by each received signal as described below with reference to FIG. 5. The method 400 can proceed to 410.

[0053] At 410, the GNSS LOS signals (or representations of the signals) and / or the computed atmospheric delays for each LOS satellite as well as the S-GNSS device location are transmitted to the correction data server. The method 400 can proceed to 412.

[0054] At 412, it is queried whether signals should be continued to be received and processed. If the query is affirmatively answered, the method 400 proceeds to 416 to receive and process additional GNSS signals. If the query at 412 is negatively answered, the method 400 proceeds to 414 and ends.

[0055] FIG. 5 depicts a flow diagram of a method 500 of processing and distributing correction data using the correction data server 108 in accordance with at least one embodiment of the present principles. The method 500 begins at 502 and proceeds to 504 where at least one of the LOS GNSS signals and / or the atmospheric delaysthat were computed by the plurality of S-GNSS devices 102 are received. The method 500 can then proceed to 506.

[0056] At 506, the information received from the S-GNSS devices 102 is stored. The method 500 can proceed to 508.

[0057] At 508, a correction data map is determined using the stored information received from the S-GNSS devices 102. That is, in some embodiments, if the LOS GNSS signals were received without the computed atmospheric delays, the atmospheric delays associated with each of the LOS S-GNSS signals are determined in accordance with the present principles prior to computing the correction data map. The correction data map includes a model of the atmospheric delays within the geographic region between S-GNSS devices 102. In some embodiments, atmospheric delays in the region between S-GNSS devices 102 are interpolated from the computed atmospheric delays for each of the S-GNSS devices 102.

[0058] In general, embodiments in accordance with the present principles use the S-GNSS devices 102 as a distributed network of noisy sensors and crowd sources to determine the atmospheric delay data. In one embodiment, GNSS signals from both L1 (1575.42 MHz) and L5 (1176 MHz) frequencies from each LOS satellite are collected and processed to determine atmospheric delay data. In some embodiments, the technique described in Smith, J. et al., “Mapping the Ionosphere with Millions of Phones,” Code Ocean, https: / / doi.org / 10.24433 / CO.9149928.v1 (2024) can be used to determine the atmospheric delay data using collected information described above. In such embodiments, this technique analyzes dual frequency GNSS signal data from smartphones to determine the total electron content (TEC) within the ionosphere along a propagation path between the visible GNSS satellites and the smartphones. The electron density in the propagation path delays the propagation of the GNSS signal. The technique produces a TEC map for a region of the atmosphere above the receivers / smartphones.

[0059] The TEC map can be used to produce an atmospheric delay map (i.e. , the relationship between electron density and ionospheric delay is well known). In suchembodiments, it is ensured that the TEC mapping technique only uses LOS satellite signals and reduces the effects of multipath on the TEC / atmospheric delay calculations. This in turn enables more accurate local delay maps to be generated using data from fewer GNSS devices and, as such, the various embodiments of the present principles do not require “millions of phones” to produce an accurate TEC and / or atmospheric delay map.

[0060] In other embodiments, alternate techniques can be used to analyze the GNSS signals to determine atmospheric delays rather than creating TEC maps. For example, in some embodiments and as described above, a measured pseudorange can be compared to an expected pseudorange for a particular LOS satellite. The difference between the expected and measured pseudoranges represents the atmospheric delay. Alternatively or in addition, in some embodiments, for a given satellite, signal measurements can be performed on one or more frequencies (e.g., L1 and / or L5) to compute the atmospheric delay. When using dual frequencies, the difference in propagation time of a signal using each frequency (time of flight) is indicative of the atmospheric delay (e.g., the difference between propagation time of an L1 signal and an L5 signal). By crowd sourcing the processing across many S- GNSS devices, the impact of device biases (e.g., differential code bias (DBC)) are suppressed enabling computation of accurate atmospheric delays. The method can proceed to 510.

[0061] At 510, the method 500 transmits the atmospheric delay map, a portion of the map, or individual delays extracted from the map to the GNSS devices 104. In some embodiments, the correction data can also include satellite clock errors, satellite orbit errors and / or satellite bias. The GNSS devices 104 use the correction data to improve the navigation solution as described herein. The method 500 can proceed to 512.

[0062] At 512, it is queried whether additional received LOS GNSS signals and / or atmospheric delays should be processed. If the query is answered affirmatively, the method proceeds to 516 and back to 504. If the query is negatively answered, the method 500 proceeds to 514 and ends.

[0063] FIG. 6 depicts a flow diagram of a method 600 of using correction data in a GNSS device 104 (or S-GNSS device) in accordance with at least one embodiment of the present principles. The method 600 begins at 602 and proceeds to 604 where the correction data is received from the correction data server 108. In one embodiment, the correction data can include an entire map for the region in which a GNSS device is located. In such embodiments, the GNSS device extracts the correction data that is pertinent to its location from the map. In another embodiment, the server transmits only a portion of a correction data map that is relevant to the GNSS device and the GNSS device extracts the correction data for its particular location estimate. Alternatively or in addition, in some embodiments the correction data server can send only specific correction data that is relevant to a particular GNSS device. In some embodiments, such specific data can be sent upon a given GNSS device requesting correction data. Which of these embodiments to use can depend on an amount of memory available within the GNSS device and / or the amount of processing power available within the GNSS device. The method 600 can proceed to 606.

[0064] At 606, the correction data received from the correction data server 108 is used to adjust the GNSS observable (e.g. , at least one of the measured pseudoranges to each satellite, the carrier phase or the code phase). For example, in some embodiments, the atmospheric delay can be removed by shortening the measured pseudorange by the amount of the determined delay. The method 600 can proceed to 608.

[0065] At 608, the adjusted observables are used to calculate the position of the GNSS device 104. The use of observables to calculate a position and / or velocity is performed using a well-known navigation solution. In this manner, the method 600 is capable of computing a highly accurate position because of the use of the correction data.

[0066] In accordance with the present principles, the improved, calculated position can now be used to compute the atmospheric delays and improve the atmospheric delay map. With each iteration of position-delay computation, the computed positionis improved which enables the atmospheric delay to be improved. Such iterations can continue until the improvement is de minimis. Using this iterative position computation process of the present principles, the GNSS devices 104 can attain a position accuracy approaching or achieving the accuracy of an RTK system, e.g., about 3 cm. The method 600 can proceed to 610.

[0067] At 610, it is queried whether additional positions for the GNSS device 104 should be computed. If the query is affirmatively answered, the method 600 proceeds along path 614 to update the position of the device 104. If the query is negatively answered, the method 600 proceeds to 612 where it ends.

[0068] In some embodiments in accordance with the present principles a method for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers includes receiving radio signals at a plurality of GNSS receivers from a plurality of GNSS satellites, determining motion of an antenna connected to each of the GNSS receivers, performing motion compensated correlation of the received radio signals using the motion to generate motion compensated correlation results at each GNSS receiver, distinguishing between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results, determining a respective position for each of the GNSS receivers using a respective LOS radio signal and the motion compensated correlation results, determining a measured pseudorange between each GNSS receiver and each of the plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results, for each of the GNSS receivers, determining an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to each of the GNSS receivers, and determining respective correction data using the determined atmospheric delay to determine a correction for at least the respective positions of each of the GNSS receivers.

[0069] In some embodiments, the method further includes transmitting data regarding the determined atmospheric delay to a correction data server to be used to generate the correction data.

[0070] In some embodiments, the method further includes determining a respective atmospheric delay by determining a difference between the measured pseudorange and an expected pseudorange for each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

[0071] In some embodiments, the expected pseudorange for each of the GNSS satellite and GNSS receiver pairs is determined based on a known respective position of each of the GNSS receivers and ephemeris data received from each of the GNSS satellites.

[0072] In some embodiments, the method further includes determining a respective atmospheric delay by determining a total electron content (TEC) within the ionosphere along a propagation path between each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

[0073] In some embodiments, the method further includes generating a correction data map including the respective correction data determined for each of the GNSS receivers.

[0074] In some embodiments, the correction data map includes correction data representative of a respective atmospheric delay within an area in which each of the GNSS receivers operates.

[0075] In some embodiments, at least a portion of the correction data map is communicated to at least one of the GNSS receivers to determine a correction for at least a respective determined position of the at least one GNSS receiver.

[0076] In some embodiments, the method further includes transmitting data regarding the respective position for each of the GNSS receivers and the measured pseudorange to a correction data server to be used to determine the atmospheric delay.

[0077] In some embodiments, a system for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers includes aplurality of GNSS satellites, a correction data server, a network, a plurality of GNSS receivers each comprising an antenna, at least one processor, and a memory accessible to the processor, the memory having stored therein at least one of programs or instructions. In such embodiments, when the programs or instructions are executed by the processor, the system is configured to receive radio signals at the plurality of GNSS receivers from the plurality of GNSS satellites, determine motion of an antenna connected to each of the GNSS receivers, perform motion compensated correlation of the received radio signals using the determined motion to generate motion compensated correlation results at each GNSS receiver; distinguish between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results, determine a respective position for each of the GNSS receivers using a respective LOS radio signal and the motion compensated correlation results, determine a measured pseudorange between each GNSS receiver and each of the plurality of GNSS satellites using the respective position of each of the GNSS receiver, for each of the GNSS receivers, determining an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to each of the GNSS receivers, and determine respective correction data using the determined atmospheric delay to determine a correction for at least the respective positions of each of the GNSS receivers.

[0078] In some embodiments in accordance with the present principles, an apparatus for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers includes an antenna, at least one processor, and a memory accessible to the processor, the memory having stored therein at least one of programs or instructions. In some embodiments, when the programs or instructions are executed by the processor, the apparatus is configured to receive radio signals from a plurality of GNSS satellites, determine a motion of the antenna, perform motion compensated correlation of the received radio signals using the determined motion to generate motion compensated correlation results, distinguish between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results, determine arespective position for the apparatus using a respective LOS radio signal and the motion compensated correlation results, determine a measured pseudorange between the apparatus and each of the plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results, determine an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to the apparatus, and determine respective correction data to determine a correction for at least the determined position of the apparatus using the determined atmospheric delay.

[0079] Those skilled in the art will appreciate that, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software components can execute in memory on another device and communicate with the illustrated computer system via intercomputer communication. Some or all of the system components or data structures can also be stored (e.g., as instructions or structured data) on a computer-accessible medium or a portable article to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer- accessible medium separate can be transmitted to a computing device via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and / or a wireless link. Various embodiments can further include receiving, sending or storing instructions and / or data implemented in accordance with the foregoing description upon a computer-accessible medium or via a communication medium. In general, a computer-accessible medium can include a storage medium or memory medium such as magnetic or optical media, e.g., disk or DVD / CD-ROM, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, and the like), ROM, and the like.

[0080] The methods and processes described herein may be implemented in software, hardware, or a combination thereof, in different embodiments. In addition,the order of methods can be changed, and various elements can be added, reordered, combined, omitted or otherwise modified. All examples described herein are presented in a non-limiting manner. Various modifications and changes can be made as would be obvious to a person skilled in the art having benefit of this disclosure. Realizations in accordance with embodiments have been described in the context of particular embodiments. These embodiments are meant to be illustrative and not limiting. Many variations, modifications, additions, and improvements are possible. Accordingly, plural instances can be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and can fall within the scope of claims that follow. Structures and functionality presented as discrete components in the example configurations can be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements can fall within the scope of embodiments as defined in the claims that follow.

[0081] In the foregoing description, numerous specific details, examples, and scenarios are set forth in order to provide a more thorough understanding of the present disclosure. It will be appreciated, however, that embodiments of the disclosure can be practiced without such specific details. Further, such examples and scenarios are provided for illustration and are not intended to limit the disclosure in any way. Those of ordinary skill in the art, with the included descriptions, should be able to implement appropriate functionality without undue experimentation.

[0082] References in the specification to “an embodiment,” etc., indicate that the embodiment described can include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed to be within the knowledge of one skilledin the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly indicated.

[0083] Embodiments in accordance with the disclosure can be implemented in hardware, firmware, software, or any combination thereof. Embodiments can also be implemented as instructions stored using one or more machine-readable media, which may be read and executed by one or more processors. A machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device or a “virtual machine” running on one or more computing devices). For example, a machine-readable medium can include any suitable form of volatile or non-volatile memory.

[0084] In addition, the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and / or a machine accessible medium / storage device compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium / storage device.

[0085] Modules, data structures, and the like defined herein are defined as such for ease of discussion and are not intended to imply that any specific implementation details are required. For example, any of the described modules and / or data structures can be combined or divided into sub-modules, sub-processes or other units of computer code or data as can be required by a particular design or implementation.

[0086] In the drawings, specific arrangements or orderings of schematic elements can be shown for ease of description. However, the specific ordering or arrangement of such elements is not meant to imply that a particular order or sequence of processing, or separation of processes, is required in all embodiments. In general, schematic elements used to represent instruction blocks or modules can be implemented using any suitable form of machine-readable instruction, and each suchinstruction can be implemented using any suitable programming language, library, application-programming interface (API), and / or other software development tools or frameworks. Similarly, schematic elements used to represent data or information can be implemented using any suitable electronic arrangement or data structure. Further, some connections, relationships or associations between elements can be simplified or not shown in the drawings so as not to obscure the disclosure.

[0087] While the foregoing is directed to embodiments of the present principles, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.

Claims

PATENTAttorney Docket No.: FPP0046WOClaims:1 . A method for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers, comprising: receiving radio signals at a plurality of GNSS receivers from a plurality of GNSS satellites; determining motion of an antenna connected to each of the GNSS receivers; performing motion compensated correlation of the received radio signals using the motion to generate motion compensated correlation results at each GNSS receiver; distinguishing between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results; determining a respective position for each of the GNSS receivers using a respective LOS radio signal and the motion compensated correlation results; determining a measured pseudorange between each GNSS receiver and each of the plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results; for each of the GNSS receivers, determining an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to each of the GNSS receivers; and determining respective correction data using the determined atmospheric delay to determine a correction for at least the respective positions of each of the GNSS receivers.

2. The method according to claim 1 , further comprising: transmitting data regarding the determined atmospheric delay to a correction data server to be used to generate the correction data.

3. The method according to claim 1 , further comprising:PATENTAttorney Docket No.: FPP0046WO determining a respective atmospheric delay by determining a difference between the measured pseudorange and an expected pseudorange for each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

4. The method according to claim 3, wherein the expected pseudorange for each of the GNSS satellite and GNSS receiver pairs is determined based on a known respective position of each of the GNSS receivers and ephemeris data received from each of the GNSS satellites.

5. The method according to claim 1 , further comprising: determining a respective atmospheric delay by determining a total electron content (TEC) within the ionosphere along a propagation path between each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

6. The method according to any one of claims 1 -5, further comprising: generating a correction data map including the respective correction data determined for each of the GNSS receivers.

7. The method according to claim 6, wherein the correction data map includes correction data representative of a respective atmospheric delay within an area in which each of the GNSS receivers operates.

8. The method according to claim 6, wherein at least a portion of the correction data map is communicated to at least one of the GNSS receivers to determine a correction for at least a respective determined position of the at least one GNSS receiver.

9. The method according to any one of claims 1 -5, further comprising:PATENTAttorney Docket No.: FPP0046WO transmitting data regarding the respective position for each of the GNSS receivers and the measured pseudorange to a correction data server to be used to determine the atmospheric delay.

10. An apparatus for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers comprising: an antenna at least one processor; and a memory accessible to the processor, the memory having stored therein at least one of programs or instructions executable by the processor to configure the apparatus to: receive radio signals from a plurality of GNSS satellites; determine a motion of the antenna; perform motion compensated correlation of the received radio signals using the determined motion to generate motion compensated correlation results; distinguish between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results; determine a respective position for the apparatus using a respective LOS radio signal and the motion compensated correlation results; determine a measured pseudorange between the apparatus and each of the plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results; determine an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to the apparatus; and determine respective correction data to determine a correction for at least the determined position of the apparatus using the determined atmospheric delay.

11. The apparatus according to claim 10, wherein the apparatus is further configured to:PATENTAttorney Docket No.: FPP0046WO transmit the atmospheric delay to a correction data server to be used to generate the correction data which is distributed to the apparatus.

12. The apparatus according to claim 10, wherein the apparatus is further configured to: deter ine a respective atmospheric delay by determining a difference between the measured pseudorange and an expected pseudorange for each GNSS satellite of the plurality of GNSS satellites and the apparatus.

13. The apparatus according to claim 12, wherein the expected pseudorange for each of the GNSS satellite and the apparatus is determined based on a known respective position the apparatus and ephemeris data received from each of the GNSS satellites.

14. The apparatus according to claim 10, wherein the apparatus is further configured to: determine a respective atmospheric delay by determining a total electron content (TEC) within the ionosphere along a propagation path between each GNSS satellite of the plurality of GNSS satellites and the apparatus.

15. The apparatus according to claim 9, wherein the apparatus is further configured to: generate a correction data map including the respective correction data determined for each of the GNSS satellites.

16. The apparatus according to claim 15 wherein the correction data map includes correction data representative of a respective atmospheric delay within an area in which the each of the GNSS satellite and apparatus pairs operate.PATENTAttorney Docket No.: FPP0046WO17. A system for generating and distributing correction data for a plurality of global navigation satellite system (GNSS) receivers comprising: a plurality of GNSS satellites; a correction data server; a network; a plurality of GNSS receivers each comprising an antenna; at least one processor; and a memory accessible to the processor, the memory having stored therein at least one of programs or instructions executable by the processor to configure the system to: receive radio signals at the plurality of GNSS receivers from the plurality of GNSS satellites; determine motion of an antenna connected to each of the GNSS receivers; perform motion compensated correlation of the received radio signals using the determined motion to generate motion compensated correlation results at each GNSS receiver; distinguish between received radio signals that are line of sight (LOS) radio signals and those that are not using the motion compensated correlation results; determine a respective position for each of the GNSS receivers using a respective LOS radio signal and the motion compensated correlation results; determine a measured pseudorange between each GNSS receiver and each of the plurality of GNSS satellites using the respective LOS radio signal and the motion compensated correlation results; for each of the GNSS receivers, determine an atmospheric delay experienced by the radio signals as the radio signals propagate from each GNSS satellite to each of the GNSS receivers; andPATENTAttorney Docket No.: FPP0046WO determine respective correction data using the determined atmospheric delay to determine a correction for at least the respective positions of each of the GNSS receivers.

18. The system according to claim 17, wherein the system is further configured to: transmit, via the network, data regarding the determined atmospheric delay to the correction data server to be used by the correction data server to generate the correction data.

19. The system according to any one of claims 17 - 18, wherein the system is further configured to: deter ine a respective atmospheric delay by determining a difference between the measured pseudorange and an expected pseudorange for each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

20. The system according to claim 19, wherein the expected pseudorange for each of the GNSS satellite and GNSS receiver pairs is determined based on a known respective position of each of the GNSS receivers and ephemeris data received from each of the GNSS satellites.

21. The system according to any one of claims 17 - 18, wherein the system is further configured to: determine a respective atmospheric delay by determining a total electron content (TEC) within the ionosphere along a propagation path between each GNSS satellite of the plurality of GNSS satellites and a GNSS receiver pair.

22. The system according to any one of claims 17 - 18, wherein the system is further configured to: generate a correction data map including the respective correction data determined for each of the GNSS receivers.PATENTAttorney Docket No.: FPP0046WO23. The system according to claim 22, wherein the correction data map includes correction data representative of a respective atmospheric delay within an area in which each of the GNSS receivers operates.

24. The system according to claim 22, wherein at least a portion of the correction data map is communicated to at least one of the GNSS receivers to determine a correction for at least a respective determined position of the at least one GNSS receiver.