Satellite constellation system for facilitating improved positioning and gateway for use therewith

The satellite constellation system addresses inaccuracies in navigation and weather forecasting by leveraging a network of satellites to generate precise data and models, enhancing positioning and weather prediction through improved signal strength and autonomous processing.

JP2025541646APending Publication Date: 2025-12-23XONA SPACE SYSTEMS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025525052
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-30
Filing Date
2023-10-31
Publication Date
2025-12-23

AI Technical Summary

Technical Problem

Existing satellite navigation systems face challenges in providing precise positioning and atmospheric monitoring due to limitations in signal strength and orbital dynamics, leading to inaccuracies in positioning and weather forecasting.

Method used

A satellite constellation system comprising LEO, MEO, and GEO satellites that utilize GNSS signals and radio occultation to generate precise orbit and clock data, atmospheric models, and cryptographic parameters, enabling secure and precise navigation and weather prediction through a network of interconnected satellites and ground stations.

Benefits of technology

Enhances positioning accuracy and weather forecasting capabilities by providing stronger signals, faster signal convergence, and autonomous data processing, reducing reliance on ground links and improving overall navigation and atmospheric monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025541646000001_ABST
    Figure 2025541646000001_ABST
Patent Text Reader

Abstract

A ground-based node of the satellite system operates by communicating control data with LEO navigation satellites in LEO around the Earth, transmitting correction data to the LEO navigation satellites, receiving a first collection of observations based on signaling from non-LEO navigation satellites in non-LEO around the Earth, the signaling including collected observations from the non-LEO navigation satellites, receiving a second collection of observations based on navigation messages from the LEO navigation satellites, the navigation messages, when received in conjunction with the second signaling from the non-LEO navigation satellites, facilitate client devices in determining their improved positions, and the navigation messages are generated by the LEO navigation satellites in response to the correction data, receiving, updating the correction data based on the first collection of observations, the second collection of observations, and based on telemetry data corresponding to the LEO navigation satellites included in the TT&C information, and repeating the foregoing.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT Not applicable.

[0002] Incorporation-by-Reference of Material Submitted on a Compact Disc Not applicable. [Background technology]

[0003] The present invention relates generally to satellite systems, and more particularly to global navigation satellite systems and radio occultation. [Brief explanation of the drawings]

[0004] [Figure 1] 1 is a schematic block diagram of an embodiment of a satellite constellation system in accordance with various embodiments.

[0005] [Figure 2] 1 is a schematic block diagram illustrating various communication links utilized by a satellite constellation system in accordance with various embodiments.

[0006] [Figure 3A] 1 is a schematic block diagram of a satellite in accordance with various embodiments.

[0007] [Figure 3B] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments.

[0008] [Figure 3C] 1 is an illustration of a satellite in accordance with various embodiments.

[0009] [Figure 3D] 1 is an illustration of a satellite in accordance with various embodiments.

[0010] [Figure 4]FIG. 1 is a schematic block diagram of a satellite constellation system utilized to implement radio occultation in accordance with various embodiments.

[0011] [Figure 5A] FIG. 4 is a flowchart illustrating an example of a state estimator flow implemented by a satellite processing system according to various embodiments.

[0012] [Figure 5B] FIG. 4 is a flowchart illustrating an example of a navigation message generation flow performed by a satellite processing system, according to various embodiments.

[0013] [Figure 5C] FIG. 10 is a flow chart diagram illustrating an example of a broadcast flow performed by a satellite processing system according to various embodiments.

[0014] [Figure 6] FIG. 1 is a diagram depicting the process of self-monitoring by a satellite processing system in accordance with various embodiments.

[0015] [Figure 7A] 1 is a schematic block diagram of a satellite utilized to implement neighborhood watch in accordance with various embodiments.

[0016] [Figure 7B] 1 is an illustration of an orbital plane according to various embodiments.

[0017] [Figure 7C] 1 is a schematic block diagram of a satellite utilized to implement neighborhood watch in accordance with various embodiments.

[0018] [Figure 8A] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8B]1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8C] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8D] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8E] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8F] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8G] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8H] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8I] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8J] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8K] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments. [Figure 8L] 1 is a schematic block diagram illustrating utilization of a satellite constellation system by various client devices in accordance with various embodiments.

[0019] [Figure 8M] 1 is a flowchart illustrating an example method according to various embodiments.

[0020] [Figure 9A] 1 is a schematic block diagram illustrating an exemplary client device in accordance with various embodiments.

[0021] [Figure 9B] 1 is a schematic block diagram illustrating an exemplary client device in accordance with various embodiments.

[0022] [Figure 9C] 1 is a flowchart illustrating an example method according to various embodiments.

[0023] [Figure 9D] 1 is a flowchart illustrating an example method according to various embodiments.

[0024] [Figure 10] 1 is a logic diagram of an example of a method for implementing self-monitoring in accordance with various embodiments.

[0025] [Figure 11] 1 is a logic diagram of an example of a method for implementing neighborhood watch in accordance with various embodiments.

[0026] [Figure 12A] 1 is a logic diagram of an example method for performing state estimation in accordance with various embodiments.

[0027] [Figure 12B] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments. [Figure 12C] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments. [Figure 12D] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments. [Figure 12E] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments. [Figure 12F] 1 is a schematic block diagram of a satellite processing system in accordance with various embodiments.

[0028] [Figure 12G] 1 is a schematic block diagram of a client device in accordance with various embodiments. [Figure 12H] 1 is a schematic block diagram of a client device in accordance with various embodiments.

[0029] [Figure 12I] 1 illustrates the transmission and reception of signals over time according to various embodiments. [Figure 12J] 1 illustrates the transmission and reception of signals over time according to various embodiments. [Figure 12K] 1 illustrates the transmission and reception of signals over time according to various embodiments. [Figure 12L] 1 illustrates the transmission and reception of signals over time according to various embodiments.

[0030] [Figure 12M] 4 is a logic diagram of an example method for generating a navigation signal estimate in accordance with various embodiments.

[0031] [Figure 12N] 4 is a logic diagram of an example method for generating precision timing data in accordance with various embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0032] FIG. 1 illustrates an embodiment of a satellite constellation system 100. The satellite constellation system 100 can include multiple satellites 110, which can be implemented via a combination of specialized, dedicated satellites, dedicated payloads on a standard satellite bus, and / or hosted payloads or services of another satellite network. These satellite bus and navigation components utilize commercial off-the-shelf (COTS) components and can be compatible with CubeSat and other standard bus architectures. In some embodiments, some or all of the multiple satellites 110 of the satellite constellation system 100 orbit according to low Earth orbit (LEO) and can be referred to as “LEO satellites.” Alternatively, some or all of the satellites of a first satellite constellation can orbit according to medium Earth orbit (MEO) and / or geostationary orbit (GEO). The satellite constellation system 100 can operate to provide secure, precise position and time transfer services and / or monitoring of atmospheric and environmental conditions.

[0033] Some or all of the satellites 110 can receive signals 132 from GNSS satellites 130 of a Global Navigation Satellite System (GNSS) constellation 120. The signals 132 include ranging signals including clock information and almanac and ephemeris information that can be used, for example, for precise positioning, navigation, and timing. The GNSS constellation 120 can be implemented by utilizing one or more of the Global Positioning System (GPS) satellite constellation, the Quasi-Zenith Satellite System, the BeiDou satellite navigation system, the Galileo positioning system, the Russian Global Navigation Satellite System (GLONASS), an Indian regional navigation satellite system, and / or any other satellite constellation used for navigation services. In some embodiments, some or all of the plurality of GNSS satellites 130 of the GNSS constellation 120 may orbit according to a medium earth orbit (MEO), and / or some or all of the plurality of GNSS satellites 130 may otherwise orbit in separate outer orbits from the satellites 110 of the satellite constellation system 100. In either case, if the satellites 110 are LEO satellites, the GNSS satellites may be referred to as "non-LEO satellites."

[0034] Some or all of the satellites 110 can transmit signals to and / or receive signals from one or more backhaul satellites 150. The backhaul satellites 150 may be implemented by utilizing satellites in any orbit, such as a low earth orbit (LEO), medium earth orbit (MEO), and / or geostationary orbit (GEO), provided that the satellites 150 are capable of transmitting and / or receiving data from the satellites 110. In some embodiments, the backhaul satellite constellation 140 may include multiple backhaul satellites 150 operable to communicate bidirectionally with the satellites 110. In various embodiments, one or more backhaul satellites include an atomic clock for transmitting a timing reference in communications to the satellites 110.

[0035] In various embodiments, one or more backhaul satellites 150 may be selectively implemented on a dedicated basis via one or more of the satellites 110 assigned this function, for example, when the navigation functions of the satellites 110 degrade to the extent that it is no longer useful to provide secure precise position and time transfer services and / or monitoring of atmospheric and environmental conditions. Additionally, one or more satellites 110 may be assigned the role of backhaul satellite based on the state of the satellite 110, such as the satellite's 110's orbital position, current utilization, battery capacity and / or other state or condition, for example, as discussed below in conjunction with the resource allocation of FIG. 3B , or otherwise.

[0036] The satellite constellation system 100 may be operable to provide navigation services through space-based broadcast of encrypted and / or unencrypted navigation messages, atmospheric and / or other signal(s), which may include satellite identification and timing and overlay data for precise positioning and navigation. This data may include, but is not limited to, (i) precise orbit and clock data for both the precision satellite system and the GNSS constellation, (ii) atmospheric data, models, and / or other atmospheric monitoring data used to determine current weather conditions for weather prediction, for control of the satellites 110, and / or for further orbit or clock data corrections, (iii) cryptographic parameters including cryptographic key management, (iv) integrity information regarding the backhaul satellites 150, the satellite constellation system 100, the GNSS satellites 130, and / or the constellation of GNSS satellites 130, and (v) general messages for passing information (such as status, condition, health, and other command and control information) between the satellites 110 and the ground and / or other types of data discussed herein. This data may be derived based on some combination of (i) measurements from ground-based monitoring stations and (ii) GNSS measurements acquired in situ by the satellite constellation system 100. In the case of (ii), precise orbit data for the GNSS satellites may be uploaded to the satellite constellation system 100 via space-based backhaul communications, reducing the need for a ground link, although ground and inter-satellite links may also be used, allowing for autonomous on-orbit orbital position and clock determination.

[0037] Alternatively or additionally, the satellite constellation system 100 may be operable to collect atmospheric data by radio occultation (RO) through some combination of GNSS and other signals of opportunity, including some broadcasts by the satellites 110 of the satellite constellation system 100 themselves. The higher broadcast power utilized by the satellite constellation system 100 compared to GNSS allows for deeper penetration into the atmosphere, enabling processing to generate higher fidelity models of the ionosphere and troposphere, both in terms of spatial and temporal updates. These dense models can serve multiple purposes, such as (i) data for in-situ weather forecast models on the ground or on the satellites 110, and (ii) the construction of local, regional, and / or global ionosphere and troposphere corrections for use in precision navigation by both the satellite constellation system 100 and standard GNSS. Raw or processed data may be transmitted from the ground to the satellite constellation system 100 by some combination of ground stations or space-based backhaul communications.

[0038] GNSS satellites 130 can provide signals for GNSS radio occultation to satellite 110 for use in atmospheric monitoring, mapping, and generating other atmospheric data. These measurements can, in turn, be transmitted to the ground through a combination of communication links, as discussed in more detail in conjunction with FIG. 2 . Through this connection to the ground, the precise orbits and clocks of GNSS satellites 130 can be uploaded to satellite constellation system 100. This orbit and clock data, along with measurements from GNSS, other correction data, onboard sensors, and / or other information, can be used to autonomously perform orbit and clock determination onboard satellite 110. Atmospheric models can be generated that indicate signal delays in the ionosphere and troposphere and / or indicate weather data, including current weather conditions, predictive weather models, or other atmospheric data, and can be broadcast along with precise orbit and clock data for use in precision navigation on Earth, included in backhaul and / or inter-satellite communications, and used by satellite 110 to further enhance the determination of the orbital position of satellite 110. Atmospheric data can include ground-generated corrections as part of data products generated as part of atmospheric monitoring. Alternatively or additionally, these atmospheric data and corrections may be generated autonomously in situ by one or more satellites, and the data may be shared among satellites of the satellite constellation system 100, e.g., using edge computing on one or more satellites 110 to generate local, regional, or global atmospheric and / or weather models.

[0039] At least one client device 160 may include a receiver configured to receive signals transmitted by at least one satellite 110. The receiver may be configured to receive signals directly from satellites 110 and / or may be configured to receive this information from a ground station, from a server system, and / or via a wired and / or wireless network. Client device 160 may include at least one memory that stores operational instructions for execution by at least one processor of client device 160 that enable client device 160 to process the signals transmitted by satellites 110 and extract atmospheric models, precise orbital data, clock data, and / or other data from the signals. Client device 160 may be operable to process the signals and / or this data to calculate a precise position of client device 160 (i.e., a more accurate “enhanced position” compared to the regular positioning provided by a GNSS system) and / or precise time. This precise location and / or precise time may be further processed by client device 160 and / or otherwise utilized by client device 160 for positioning, navigation, and / or timing, and / or otherwise to perform the functions of client device 160 in conjunction with one or more of the range of applications discussed herein. Client device 160 may be operable to display some or all of the atmospheric model, precise orbit data, and / or clock data received from at least one satellite 110 for review by a user of client device 160 via a display device of the client device.

[0040] Alternatively or additionally, this precise location and / or other data generated using signals received from satellites 110 may be transmitted via a transmitter on client device 160 to a server system or other computing device, e.g., via network 250. For example, this server system and / or other computing device may be associated with an entity responsible for tracking client device 160 and / or monitoring the secure performance of client device 160. Accordingly, storage, processing, and / or display of this information received from one or more client devices 160 may be facilitated by the server system and / or another computing device, e.g., via its own at least one processor and / or at least one memory.

[0041] Client device 160 may include, be implemented within, and / or otherwise utilized by terrestrial devices, near-Earth surface devices, intra-atmospheric devices, and / or other space-based systems. Client device 160 may include, be implemented within, and / or otherwise utilized by mobile devices, cellular devices, wearable devices, cars, airplanes, helicopters, boats, autonomous or highly automated vehicles such as unmanned aerial vehicles (UAVs) or other vehicles, fixed devices installed on or within infrastructure, and / or other computing devices operable to receive and / or utilize atmospheric models, precise orbit data, and / or clock data.

[0042] LEO satellites 110, combined with their reduced distance to Earth and greater signal power compared to GNSS, provide much stronger signals to client devices 160. The reduced orbital period of LEO also provides faster signal convergence. LEO satellites 110 include many additional technical improvements and advantages, including many functions, features, and combinations thereof, as further described herein.

[0043] 2 illustrates an embodiment of the communication of various data via satellite constellation system 100. As part of the satellite constellation system 100's task of generating precision navigation signals and / or environmental monitoring, data may be transferred between ground stations 200 and / or 201 and satellite 110, between satellite 110 of satellite constellation system 100 and other satellites in space, and / or between any combination of entities that can receive or transmit data of interest to satellite 110 as part of satellite constellation system 100.

[0044] This transfer may be facilitated through multiple nodes of the satellite constellation system 100. As used herein, a node of the satellite constellation system 100 may correspond to any device that generates, receives, transmits, modifies, stores, and / or relays messages or other data communicated by the satellite constellation system 100, as discussed herein. The nodes of the satellite constellation system 100 may include one or more satellites 110, one or more ground stations 200 and / or 201, one or more backhaul satellites 150, and / or one or more client devices operable to utilize information contained in messages in the operation of the satellite constellation system 100 and / or to display information contained in messages to a user.

[0045] Data communicated between nodes of the satellite constellation system 100 may include navigation messages containing data to enable an end user device or system to determine a precise position; precise point positioning (PPP) correction messages containing precise orbit and clock data for the GNSS satellites and / or other satellites of the satellite constellation system 100; atmospheric correction messages containing temperature, humidity, and / or other atmospheric parameters that affect the accuracy of the navigation signals that can be corrected; command and control messages containing command and control information for the satellite's physical orientation and / or attitude, satellite state management, and / or enabling and / or disabling different transmissions of the satellites 110; measurement messages containing ground-based and / or external space-based measurements that can augment navigation filters (as part of the orbit determination module); The messages may consist of many different message types, including, but not limited to, status messages containing information regarding the health, battery usage, power generation, memory usage, and / or other information providing status information; encryption messages containing information providing updates to encryption keys along with updates to any common encryption schemes; constellation monitoring messages containing GNSS satellite and / or constellation health information, the estimated performance of each satellite and / or each constellation, and / or other information related to other GNSS satellites and / or constellations; and / or other messages containing information that may be transmitted to and / or from satellite 110 directed to a user, a ground segment, other satellites in the constellation, or any other desired start and / or end points for communications.

[0046] Some or all of these message types may be included in the transmitted data as illustrated in Figure 2. Some or all of these message types may be transmitted by and / or received by satellite 110 and / or generated on board satellite 110 and / or generated by another entity, e.g., on the ground, and / or received by ground stations 200 and / or 201, e.g., via network 250.

[0047] Data may be transmitted and / or received over any of these links, or any combination of these links, in an encrypted and / or unencrypted manner, and / or in any combination of encrypted and / or unencrypted manner. Encryption may be performed at the message level, where one or more individual messages are encrypted, for example, separately. Alternatively, or additionally, encryption may be performed at the data stream level, where a data stream containing one or more messages of the same or different types is encrypted. In some embodiments, all of the messages may be encrypted. Alternatively, some or all of the messages may be unencrypted. Messages may be transmitted and / or received over a combination of links (e.g., from inter-satellite links to backhaul), where the encryption state may change as the message travels from one node to another in the communications chain. Encrypting data transmitted by the satellite constellation system 100 allows for more control over who can receive the data needed to perform radio occultation (RO) measurements and precision navigation, enabling licensing of data use. In addition to encrypting the data itself, the spreading code of the navigation signals used for ranging may also be encrypted. This further allows for controlled access to information transmitted by the satellite constellation system 100 .

[0048] Data, which may include any combination of various messages, may be transmitted along any combination of links between any combination of nodes of the satellite constellation system 100, such as those illustrated in Figure 2. These links may include different types of links, such as backhaul, inter-satellite links 230, and / or navigation signals 240.

[0049] As used herein, backhaul communications correspond to the link between satellite 110 and backhaul satellite 150 and / or the link between satellite 110 and ground station 200. Backhaul communications can consist of transmit and / or receive components on each of the nodes. Communications from satellite 110, shown through backhaul downlink 210, intended for satellite 150, for reception by ground station 200, and / or through satellite 150 to ground station 201, are referred to as the downlink portion of the backhaul. The uplink portion, depicted as backhaul uplink 220 in FIG. 2, is communications originating from ground station 200 and / or from ground station 201 through satellite 150 and intended for reception by at least one of satellites 110 in satellite constellation system 100.

[0050] Backhaul downlink 210 may be designated to communicate one or more particular types of messages. Backhaul downlink 210 may communicate information such as RO measurement data, navigation message information, status information regarding each of the satellites, requested command and control of other satellites in satellite constellation system 100, and / or other information transmitted from one satellite in satellite constellation system 100 to another satellite or to the ground.

[0051] Backhaul uplink 220 may be designated to communicate one or more particular types of messages. Backhaul uplink 220 may communicate information such as PPP correction data, atmospheric map data, ground-based measurements for on-board filtering, command and control data, navigation message data for other satellites in satellite constellation system 100, and / or other information transmitted to a satellite in satellite constellation system 100 from either the ground or another satellite.

[0052] The inter-satellite links 230 correspond to links between two or more satellites 110 in the satellite constellation system 100. These inter-satellite links may be omnidirectional links, such that transmissions are one-to-many dedicated links between pairs of satellites in different orbital planes and / or dedicated links between pairs of satellites in the same orbital plane. A single satellite 110 may be capable of transmitting and / or receiving from any combination of these types of inter-satellite links. These inter-satellite links may be dedicated data links or may be data modulated onto ranging signals if the ranging signals are broadcast by the satellites at the full beamwidth of 180 degrees or more of the satellite 110.

[0053] The inter-satellite link can include any information transmitted between satellites, or from one satellite with a backhaul connection to another satellite without a backhaul connection, or from one satellite without a backhaul connection to another satellite with a backhaul connection, or in the same process through multiple satellites. This can be overlapped and / or combined with the ranging signal, or can be a dedicated signal transmitted, for example, by a dedicated transceiver operating at a different frequency.

[0054] Navigation signals 240 are signals transmitted from satellites 110 that include at least ranging signals, but may also include other data corresponding to one or more of the various types of messages or other data discussed herein. Navigation signals 240 may be one-to-many broadcast transmissions, and any satellite 110, ground station 200, ground station 201, and / or satellite 150 may be equipped to receive the navigation signals.

[0055] Any data transmitted and / or received by satellite 110 can travel through any single set of links (e.g., backhaul only) and / or through any combination of links (e.g., backhaul to inter-satellite links). Any data can also be transmitted through any number of nodes (stations or satellites) in the communications chain for reception by a particular node in the communications chain. In some embodiments, data such as correction messages can be transmitted from the ground to one or more satellites 110 via one or more of the following means: Data can be transmitted directly from at least one ground station 200 to every satellite 110 in orbit. Data can be transmitted from at least one ground station 200 to a subset of satellites (e.g., one in each orbital plane) over "parallel links" through inter-satellite communications within the orbital plane with relatively low latency and without any stringent pointing requirements. "Parallel links" inter-satellite links (either radio or optical) between a satellite and satellites before and / or after it in the orbital plane (orientations in which the angle between them should remain fairly static). These "parallel links" on orbit can be maintained through different flight procedures, such as the yaw angle changes required to maintain the orientation of solar panels relative to the sun, by using omnidirectional or steerable transceivers for "parallel link" data. In an exemplary configuration in which the orbital planes are polar, the number of ground stations required can be minimized by locating them at high latitudes, and the ground stations can "see" satellites from multiple planes simultaneously. Additionally, for this exemplary configuration, the sequence in which satellites are placed in orbital planes can be optimized as the satellite constellation system 100 grows to ensure these "parallel links" are optimally used. Data can be transmitted from at least one ground station 200 and / or ground station 201 to at least one satellite relay 150 in orbit. These satellite relays 150 include GEO, MEO, and / or LEO communications satellites. Satellite 110 can then receive data from at least one satellite 150, which retransmits the data received from ground station 200 and / or ground station 201 to satellite 110. · Dedicated inter-satellite links with dedicated transceivers can be used for communication between satellites 110 of the satellite constellation system 100. For communications between satellites 110, if a satellite 110 can receive a navigation signal from another satellite 110 in the satellite constellation system 100, the satellite 110 can add a data message to the data stream while modulating it onto the navigation signal. A satellite may be in view if it is at a lower altitude than the broadcast satellite, or if it has line-of-sight to the satellite's transmission due to its orbital constellation, or if the broadcast satellite's beamwidth is large enough to reach the target satellite (e.g., a beamwidth of 180 degrees or more relative to a neighboring satellite).

[0056] Ground stations 200 and / or 201 may be configured to communicate over network 250 via at least one communication interface of ground stations 200 and / or 201. Network 250 may be implemented by utilizing a wired and / or wireless communication network and may include a cellular network, the Internet, and / or one or more local area networks (LANs) and / or wide area networks (WANs). Ground stations 200 and / or 201 may be operable to transmit and / or receive data from at least one server system. The at least one server system may include at least one processor and / or memory and may be operable to generate and / or store some or all of the data transmitted and / or received by ground stations 200 and / or 201. The at least one server system may be affiliated with the entity responsible for satellite constellation system 100 and / or with different entities, such as weather service entities and / or navigation entities, that generate and / or store the data transmitted and / or received by ground stations 200 and / or 201. Alternatively or additionally, client device 160 may be operable to receive data over network 250 .

[0057] 3A is a schematic block diagram of a satellite in accordance with various embodiments. In particular, an example satellite 110 is presented, including a satellite processing system 300, a satellite power system 301, and a satellite flight control system 302.

[0058] In various embodiments, satellite power system 301 includes an array of solar cells, batteries, fuel cells, or other chemical power generation systems, and / or a power management system that operates, for example, under the control of satellite processing system 300, to manage the generation, storage, and use of electrical power in conjunction with the operation of satellite 110. Satellite flight control system 302 includes one or more propulsion systems, attitude controllers, inertial stabilizers, and / or one or more other devices that operate under satellite processing system 300 to maintain, manage, and otherwise adjust the orbital position and / or orientation of satellite 110.

[0059] In various embodiments, satellite processing system 300 includes memory for storing data, an operating system that includes several system utilities, and applications and / or other routines that include operational instructions. Satellite processing system 300 further includes one or more processors configured to execute the operational instructions to perform various functions, features, and other operations of satellite 110 in conjunction with satellite power system 301, satellite flight control system 302, an onboard clock, one or more sensors, one or more transmitters, receivers, and / or transceivers, and one or more other devices.

[0060] 3B presents an embodiment of a satellite processing system 300. The same or different satellite processing systems 300 may be onboard some or all of the satellites 110, and some or all of the functions of the satellites 110 discussed herein may be enabled via the satellite processing systems 300. A bus 390 may operatively couple and / or facilitate communication between various components of the satellite processing system 300. While a particular bus configuration is shown, other bus configurations may likewise be employed.

[0061] The satellite processing system 300 may include at least one memory module 310, which may be implemented using at least one memory. The satellite processing system 300 may include at least one processing module 320, which may be implemented using one or more processors. The memory module 310 may store operational instructions that, when executed by the processing module 320, configure the satellite processing system 300 to perform some or all of the functions of the satellite 110 discussed herein.

[0062] In some embodiments, the processing module 320 is utilized to implement a radio occultation module 321 operable to perform some or all of the radio occultation functions of the satellite 110 as discussed herein. Alternatively or additionally, the processing module 320 is utilized to implement an orbit determination module 322 operable to perform some or all of the radio occultation functions of the satellite 110 as discussed herein. Alternatively or additionally, the processing module 320 is utilized to implement an orbit determination module 322 operable to perform some or all of the orbit determination functions of the satellite 110 as discussed herein. Alternatively or additionally, the processing module 320 is utilized to implement a navigation message generation module 323 operable to perform some or all of the navigation message generation functions of the satellite 110 as discussed herein. Alternatively or additionally, the processing module 320 is utilized to implement a message scheduling module 324 operable to perform some or all of the message scheduling functions of the satellite 110 as discussed herein. Alternatively or additionally, the processing module 320 is utilized to implement a resource allocation module 325 operable to perform some or all of the resource allocation functions of the satellite 110 as discussed herein. The memory may store operational instructions corresponding to the radio occultation module 321, the orbit determination module 322, the navigation message generation module 323, and / or the message scheduling module 324, which, when executed by the processing module 320, enable the satellite processing system 300 to perform the functions of the radio occultation module 321, the orbit determination module 322, the navigation message generation module 323, the message scheduling module 324, and / or the resource allocation module 325, respectively.

[0063] Satellite processing system 300 may include one or more of sensors, including, but not limited to, at least one star tracker 380, at least one inertial measurement unit (IMU) 370, at least one sun sensor 333, at least one Earth horizon sensor 334, at least one GNSS receiver 360 operable to receive navigation signals transmitted by GNSS satellites 130, at least one clock 365, and / or at least one satellite receiver 350 operable to receive navigation signals 240 transmitted by other satellite processing systems 300, and / or any other sensor operable to collect other types of measurement data and / or receive signals transmitted by other entities. Measurements and / or signals collected by these sensors may be processed via processing module 320 and / or stored via memory module 310, for example, in a temporary cache.

[0064] In various embodiments, clock 365 is implemented via a temperature compensated crystal oscillator (TCXO), oven controlled crystal oscillator (OCXO), or other non-atomic clock that is adjusted and / or stabilized based on timing signals from atomic clocks included in communications from, for example, a backhaul satellite, a terrestrial link, or one or more of the GNSS satellites 130. In some embodiments, the same clock 365 is utilized by both the GNSS receiver and the navigation signal transmitter. This allows the clock portion of the satellite's estimated state that uses GNSS measurements to reflect this clock to generate the navigation signal. Alternatively, one or more satellites 110 may implement clock 365 via a stable atomic clock. In such a scenario, the non-atomic clocks of the other satellites 110 may be adjusted and / or stabilized based on timing signals included in inter-satellite communications from satellite(s) 110 that include atomic clocks.

[0065] The satellite processing system 300 may include at least one inter-satellite link transceiver 345 operable to transmit data to and / or receive data from one or more other satellite processing systems 300, a backhaul transceiver 340 operable to transmit data to and / or receive data from the backhaul satellites 150 and / or ground stations 200 and / or 201, and / or a navigation signal transmitter 330 operable to broadcast and / or otherwise transmit signals 240 including, for example, navigation signals including ranging signals, GNSS correction data, navigation messages and / or other navigation signals, radio occultation data, command and control data, and / or data. The data transmitted by the navigation signal transmitter 330 may be received by one or more backhaul satellites 150, one or more ground stations 200 and / or 201, one or more satellite processing systems 300 onboard other satellites 110, and / or one or more client devices 160, which may include, for example, one or more automobiles, tablets, smartphones, smartwatches, laptop computers, desktop computers, other computers and computer systems, navigation devices, device location systems, weather systems, marine navigation systems, railway navigation systems, aircraft, agricultural vehicles, surveying systems, autonomous or highly automated vehicles 331, UAVs 332, and / or other client devices 160 as discussed herein.

[0066] Although a configuration with at least one inter-satellite link transceiver 345 is shown, the navigation signal transmitter 330 may alternatively be implemented via a transceiver having a fixed antenna beam pattern or an antenna beam pattern that can be dynamically adjusted to include both a main lobe directed toward Earth for transmission of the navigation signals 240 and one or more side lobes in the direction of one or more other satellites. Such a configuration allows inter-satellite communications to be integrated with the navigation signals 240 or otherwise transmitted and received simultaneously with the navigation signals 240.

[0067] In some embodiments, some or all of ground stations 200 and / or 201 may include some or all of the components of satellite processing system 300 and / or may otherwise perform some or all of the functions of satellite processing system 300 as discussed herein. In such embodiments, satellite constellation system 100 may include one or more ground stations 200 and / or 201 in addition to multiple satellites 110, with ground stations 200 and / or 201 functioning as additional nodes in satellite constellation system 100 communicating in the same and / or similar manner as multiple satellites 110 by generating, transmitting, receiving, and / or relaying some or all of the signals and / or data as discussed herein with respect to satellites 110. In this way, some or all of the ground stations 200 and / or 201 can effectively function as a subset of the plurality of satellites 110, the only difference being that those ground stations 200 and / or 201 comprising this subset of the plurality of satellites 110 are located on the ground and / or in facilities on the surface of the Earth at fixed locations, while some or all of the remainder of the plurality of satellites 110 orbit in LEO.

[0068] Alternatively or additionally, at least one backhaul satellite 150 may similarly include some or all of the components of satellite processing system 300 and / or may differently perform some or all of the functions of satellite processing system 300 as discussed herein. In such an embodiment, satellite constellation system 100 may include one or more backhaul satellites 150 in addition to the plurality of satellites 110, where the backhaul satellite 150 functions as an additional node in satellite constellation system 100 communicating in the same and / or similar manner as the plurality of satellites 110 by generating, transmitting, receiving, and / or relaying some or all of the signals and / or data as discussed herein with respect to satellite 110. The at least one backhaul satellite 150 may be considered a subset of the plurality of satellites 110, the only difference being that the at least one backhaul satellite 150 is located in an orbit outside LEO and / or outside the orbits of the other satellites of the plurality of satellites 110.

[0069] Alternatively or additionally, at least one client device 160 operable to receive and utilize data transmitted by satellite 110 as discussed herein may similarly include some or all of the components of satellite processing system 300 and / or may otherwise implement some or all of the functionality of satellite processing system 300 as discussed herein. In such an embodiment, satellite constellation system 100 may include one or more mobile computing devices, cellular devices, vehicles, and / or other client devices 160 as discussed herein, in addition to multiple satellites 110. Thus, some or all of these types of devices may function as additional nodes communicating in satellite constellation system 100 in the same and / or similar manner as multiple satellites 110 by utilizing their own processing modules, memory modules, receivers, transmitters, and / or sensors to generate, transmit, receive, and / or relay some or all of the signals and / or data as discussed herein with respect to satellite 110. Some or all of these devices may be considered a subset of the plurality of satellites 110, the only difference being that they are user devices that include a display and / or interface that allows a user to observe and / or interact with data generated and / or received by satellites 110, they are configured to further post-process the received data in connection with the functionality of client device 160 and / or in connection with one of more of the applications discussed herein, they are located on or near the surface of the Earth, and / or they are located at an altitude closer to the surface of the Earth than the LEO and / or other orbits of the remaining satellites of the plurality of satellites 110.

[0070] In some embodiments, some or all of ground stations 200 and / or 201, backhaul satellites 150, and / or these client devices 160 may receive application data associated with satellite constellation system 100 for download. For example, application data may be downloaded from a server system associated with satellite constellation system 100 via network 250. Alternatively or additionally, application data may be transmitted to some or all of these devices for download via other satellites 110 orbiting in LEO via one or more of the links discussed in conjunction with FIG. 2. Thus, application data may be received for download by a device for download in a signal broadcast by satellite 110 and received by a receiver in the device. The application data may be installed or stored in the device's memory and may include operational instructions that, when executed by the device's processing modules, cause ground stations 200 and / or 201, backhaul satellite 150, and / or client device 160 to operate in the same or similar manner as satellite processing system 300 and / or to otherwise perform some or all of the functions or other operations of satellite 110 as discussed herein. Alternatively, or in addition, some or all of ground stations 200 and / or 201, backhaul satellite 150, and / or client device 160 may be equipped with additional hardware to implement some or all of the processing module 320, memory module 310, and / or sensors, transmitters, receivers, and / or transceivers of satellite processing system 300 of FIG. 3B to enable the device to perform some or all of the functions of satellite 110 as discussed herein.

[0071] Considering the following example, the processing module 320 is configured to generate a navigation signal 240, such as a ranging signal modulated and coded with a navigation message including timing, ephemeris, and almanac data. Additionally, the navigation message may include, for example, PPP data associated with the satellite 130, command and control data, integrity data associated with the satellite 130 and other satellites 110, RO data, atmospheric or meteorological data including current weather conditions, weather charts, and / or forecast weather models, secure clock data, encryption and security information, or any of the other types of data generated or transmitted by the satellite 110 in the navigation signal 240. In various embodiments, the data in the navigation signal 240 may be formatted in frames and subframes with a data rate greater than 1 kbits / second, although other data rates may be used. The navigation signal may be generated in two or more frequency channels with a signal power of 50 W, 100 W, or more, or lower.

[0072] The operations of the processing module 320 may further include, for example, locking in on the timing of the ranging signals of the signals 132 via an associated pseudorandom noise (PRN) code associated with each satellite 130 (that is not excluded based on the integrity monitoring), demodulating and decoding the ranging signals to generate and extract associated navigation messages from the GNSS satellites 130 within range of the receiver, and applying correction data received via backhaul and / or inter-satellite communications and atmospheric data generated and / or received locally via backhaul and / or inter-satellite communications to the position and timing information from the navigation messages from the GNSS satellites 130.

[0073] In various embodiments, the primary ionospheric delay is mitigated using a combination of dual-frequency GNSS measurements. Otherwise, the ionospheric and tropospheric delays may be corrected using atmospheric models generated based on RO data. Furthermore, the processing module 320 may use a Kalman filter, such as an extended Kalman filter, or other estimation techniques in which the orbital position, clock error, ionospheric delay, tropospheric delay, and / or carrier phase error are estimated filter states. The precise orbital positions of the satellites 110 may be generated by positioning calculations employing navigation equations to the corrected orbital positions and timing of each of the satellites 130.

[0074] In various embodiments, operations of the satellite 110 include, for example, orbit control, attitude control, power management and control, temperature control, radio occultation, tropospheric model generation and / or maintenance, ionospheric model, weather model, atmospheric data generation, weather data generation, orbit determination, navigation message scheduling, navigation message generation, GPS reflectometry, sensor data collection, sensor data processing, GNSS reception, backhaul transmission and reception, inter-satellite transmission and reception, GNSS satellite integrity monitoring, LEO satellite integrity monitoring, secure timing generation and transmission, memory cleanup, satellite 110 component and system health status monitoring, receiving updates, processing updates, and / or other operations described herein. The resource allocation module 325 operates to control various operations of the satellite 110 based on receipt of command data from the ground station, memory usage, processor utilization, distance between the satellite 110 and the backhaul satellite 150, other satellites 110, and / or the ground station 200, remaining battery power of the satellite 110 when the satellite 110 is in an orbital position to generate additional power, fuel status, health status of the satellite 110, atmospheric data, weather data including current weather conditions, predictive weather models, and / or other status or conditions determined by the satellite processing system 300.

[0075] The resource allocation module 325 may also operate to control various operations of the satellite 110 based on the orbital position of the satellite 110 relative to a location above the Earth corresponding to high population density, low population density, ocean, rainforest, mountain range, desert, or other terrestrial conditions or features. The resource allocation module 325 may also operate to control various operations of the satellite 110 based on the orbital position of the satellite 110 relative to the orbital positions of one or more other satellites 110 in the satellite constellation system 100. The resource allocation module 325 may also operate to control various operations of the satellite 110 based on the status of the satellite constellation system 100, including, for example, the number of satellites 110, the number of orbital paths, the number of satellites on each orbital path, the number and locations of satellites 110 that are online, offline, not currently generating navigation signals and / or navigation messages and / or other status, and / or other status of the various satellites 110 in the satellite constellation system 100.

[0076] Control of various satellite operations by the resource allocation module 325 may include determining when to enable or start an operation, when to disable or stop an operation, and / or the percentage of time allocated to each of the operations during a period of time, such as seconds, minutes, hours, orbital periods, or days. Control of various satellite operations by the resource allocation module 325 may also include selecting and allocating memory resources, processing resources, sensor resources, transmitter, receiver, and / or transceiver resources for the various operations selected to be performed. Control of various satellite operations by the resource allocation module 325 may also include selecting memory parameters, such as queue sizes, cache sizes, and other memory parameters. Control of various satellite operations by the resource allocation module 325 may also include selecting processing parameters, such as one or more processing speeds, or other processing parameters. Control of various satellite operations by the resource allocation module 325 may also include selecting transmitter, receiver, and transceiver parameters, such as encryption parameters, data protocol parameters, transmit power, transmit beam width, receive beam width, beam steering parameters, frequencies, number of channels in use, data rates, modulation techniques, multiple access techniques, and other transmission and reception parameters. The control of various satellite operations by the resource allocation module 325 may also include selecting other parameters used by the satellite processing system, including various thresholds used to determine whether two quantities are favorable relative to one another.

[0077] The operation of satellite 110 can be further described in conjunction with the examples and embodiments that follow. In various embodiments, satellite 110 is a LEO satellite of a constellation 100 of LEO navigation satellites in LEO around Earth. A global positioning receiver, such as GNSS receiver 360, is configured to receive first signaling, such as signaling 132, from a first plurality of non-LEO navigation satellites, such as satellite 130, of a constellation 120 of non-LEO navigation satellites in non-LEO around Earth. An inter-satellite transceiver, such as inter-satellite link transceiver 345, is configured to send and receive inter-satellite communications with other LEO navigation satellites 110 of the constellation of LEO navigation satellites. At least one processor of processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining an orbital position of the LEO satellite based on the first signaling and generating a navigation message based on the orbital position. A navigation signal transmitter, such as navigation signal transmitter 330, is configured to broadcast a navigation message to at least one client device 160. The navigation message facilitates an improved determination of a location of the client device(s) by the client device(s) based on the navigation message and further based on second signaling 132 received from a second plurality of non-LEO navigation satellites of the constellation of non-LEO navigation satellites.

[0078] In various embodiments, the LEO satellite also includes a backhaul transceiver, such as backhaul transceiver 340, configured to receive correction data associated with a constellation of non-LEO navigation satellites, and determining the orbital position of the LEO satellite is further based on the correction data. The backhaul transceiver may be configured to receive the correction data from either a backhaul communications satellite in geostationary orbit around the Earth or a terrestrial transmitter. The operation of the processor(s) includes:

[0079] The method may further include generating radio occultation data based on inter-satellite communications with at least one other LEO navigation satellite of the constellation of LEO navigation satellites, and transmitting the radio occultation data via the backhaul transceiver. The correction data may include orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites. The navigation message may include a timing signal and an orbital position associated with the LEO satellite. The navigation message may further include the orbit correction data and the timing correction data associated with the constellation of non-LEO navigation satellites.

[0080] In various embodiments, the LEO satellite further includes a non-atomic clock configured to generate a clock signal, and the timing signal is generated by adjusting the clock signal based on the first signaling and further based on the timing correction data. The constellation of non-LEO navigation satellites may be associated with at least one of a Global Positioning System of Satellites, a Quasi-Zenith Satellite System, a BeiDou satellite navigation system, a Galileo positioning system, a Russian Global Navigation Satellite System (GLONASS), or an Indian regional navigation satellite system. The navigation message may include correction data associated with a constellation of non-LEO navigation satellites around Earth, and the at least one client device determines an improved position of the client device by applying the correction data to the second signaling. The navigation message may further include the timing signal and an orbital position associated with the LEO satellite, and the at least one client device determines an improved position of the at least one client device further based on the timing signal and the orbital position associated with the LEO satellite.

[0081] In various embodiments, the inter-satellite communication includes correction data associated with the constellation of non-LEO navigation satellites received via at least one other LEO navigation satellite in the constellation of LEO navigation satellites, and determining the orbital position of the LEO satellite is further based on the correction data.

[0082] The inter-satellite communications can include at least one of the following: a navigation signal 240, a navigation message, and / or other status data transmitted to at least one other LEO navigation satellite of the constellation of LEO navigation satellites, radio occultation, atmospheric data generated based on the radio occultation, control information associated with the satellite orientation, control information associated with the satellite attitude, control information associated with the satellite status, control information associated with the inter-satellite transmission / reception conditions of the satellite, command information associated with the inter-satellite transmission / reception status of the satellite, command information associated with the inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more LEO navigation satellites of the constellation of LEO navigation satellites, or constellation integrity information related to the health of one or more non-LEO navigation satellites of the constellation of non-LEO navigation satellites. Further, the inter-satellite communications can include one-to-multiple transmissions between the LEO satellite and two or more other LEO navigation satellites of the constellation of LEO navigation satellites.

[0083] In various embodiments, the first plurality of non-LEO navigation satellites may include four or more non-LEO navigation satellites of a constellation of non-LEO navigation satellites within reception range of the global positioning receiver, but signals 132 from fewer non-LEO satellites may be used if navigation signals 240 are received from one or more LEO satellites via inter-satellite communication. The second plurality of non-LEO navigation satellites may include three or more non-LEO navigation satellites of a constellation of non-LEO navigation satellites within reception range of the at least one client device, but signals 132 from fewer non-LEO satellites may be used if navigation signals 240 are received from two or more LEO satellites within reception range of the at least one client device.

[0084] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining an orbital position of the LEO satellite 110 based on the first signaling 132 and correction data received via either the backhaul transceiver 340 or the inter-satellite link transceiver 345, and generating a navigation message based on the orbital position. The navigation signal transmitter 330 is configured to broadcast the navigation message to the at least one client device 160, where the navigation message facilitates the at least one client device determining an improved position of the at least one client device based on the navigation message.

[0085] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining an orbital position of the LEO satellite based on determining an error condition associated with one of the non-LEO navigation satellites of the constellation of non-LEO navigation satellites based on the first signaling 132, and generating a navigation message based on the orbital position, wherein the navigation message includes a timing signal and integrity monitoring data including the orbital position associated with the LEO satellite, correction data associated with the constellation of non-LEO navigation satellites, and a warning signal indicating an error condition associated with one of the non-LEO navigation satellites of the constellation of non-LEO navigation satellites. The navigation signal transmitter is configured to broadcast a navigation message to at least one client device, the navigation message facilitating the client device(s) to determine an improved position of the at least one client device based on the navigation message and further based on second signaling received from a second plurality of non-LEO navigation satellites of a constellation of non-LEO non-LEO navigation satellites around the Earth while excluding signals from one of the non-LEO navigation satellites. Additionally, the satellite 110 itself can exclude signals from one of the non-LEO navigation satellites when calculating the orbital position of the satellite 110.

[0086] The warning signal and / or integrity monitoring data indicative of an error condition associated with one of the non-LEO navigation satellites of the constellation of non-LEO navigation satellites may also be shared with the other LEO satellites 110 and / or one or more ground stations via inter-satellite and / or backhaul communications, allowing the other satellites 110 to exclude signals from one of the non-LEO navigation satellites when calculating the orbital positions of the other satellites 110. This also allows the other satellites 110 to include integrity monitoring data indicative of the faulty satellite in their own navigation messages.

[0087] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining an orbital position of the LEO satellite based on the first signaling; determining an error condition associated with one of the other LEO navigation satellites of the constellation of LEO navigation satellites based on the inter-satellite communication; and generating a navigation message based on the orbital position, wherein the navigation message includes a timing signal and the orbital position associated with the LEO satellite, correction data associated with the constellation of non-LEO navigation satellites, and a warning signal indicating an error condition associated with one of the other LEO navigation satellites of the constellation of LEO navigation satellites. The navigation signal transmitter is configured to broadcast a navigation message to the at least one client device, the navigation message facilitating the at least one client device to determine an improved position of the at least one client device, for example, based on the navigation message and further based on second signaling received from a second plurality of non-LEO navigation satellites of a constellation of non-LEO navigation satellites on the Earth, for example, while excluding signaling from one of the other LEO navigation satellites.

[0088] Warning signals and / or integrity monitoring data indicative of error conditions associated with one of the LEO satellites of the constellation of LEO satellites may also be shared with other LEO satellites 110 and / or one or more ground stations via inter-satellite and / or backhaul communications. This allows the other satellites 110 to include integrity monitoring data indicative of the faulty satellite in their own navigation messages. Note that while the integrity monitoring operations described above are described as being performed by the satellite 110 in situ, in other embodiments, integrity monitoring activities involving the detection of faulty LEO or non-LEO satellites may instead be performed by one or more ground stations, and the resulting integrity monitoring data may be shared with the satellite 110 via a combination of backhaul and inter-satellite communications. Furthermore, the function of integrity monitoring involving the detection of faulty LEO or non-LEO satellites may be assigned on a dedicated basis to a particular satellite 110 that is not responsible for, configured for, and / or capable of generating navigation signals 240.

[0089] In various embodiments, at least one processor of the processing module 320 causes the processor(s) to: determine a first orbital position of the LEO satellite at a first current time based on the first signaling; generate a plurality of first orbital position estimates of the LEO satellite for a plurality of first subsequent times associated within a first time window from the first current time; generate a first navigation message indicating the first orbital position of the LEO satellite at the first current time and the first plurality of orbital position estimates for the first plurality of subsequent times based on a curve fitting technique; and transmit the first navigation message via a navigation signal transmitter. broadcasting a message to at least one client device; determining, based on the first signaling, a second orbital position of the LEO satellite at a second current time, the second current time corresponding to one of a first plurality of subsequent times associated with the first time window, the second current time corresponding to one of the first plurality of orbital position estimates; and generating an error metric based on a difference between the first orbital position of the LEO satellite at the second current time and the corresponding one of the first plurality of orbital position estimates. If the error metric is unfavorable compared to the error threshold, generate a second plurality of updated orbital position estimates of the LEO satellite for a second plurality of subsequent times associated from the second current time based on a curve fitting technique, generate a second navigation message indicating the second orbital position at the second current time and the second plurality of orbital position estimates of the LEO satellite for the second plurality of subsequent times, and broadcast the second navigation message to at least one client device via a navigation signal transmitter.If the first time window expires at a third current time without a second navigation message being generated, determine a third orbital position of the LEO satellite at the third current time based on the first signaling, generate a third plurality of updated orbital position estimates of the LEO satellite for a third plurality of subsequent times associated within the second time window from the third current time based on a curve fitting technique, generate a third navigation message indicating the third orbital position at the third current time and the third plurality of orbital position estimates of the LEO satellite for the third plurality of subsequent times, and broadcast the third navigation message to at least one client device via a navigation signal transmitter.

[0090] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining an orbital position of the LEO satellite based on the first signaling; generating a second timing signal by adjusting a clock signal based on the first signaling and further based on correction data associated with a constellation of non-LEO navigation satellites; and generating a navigation message based on the orbital position, wherein the navigation message includes the second timing signal, the orbital position of the LEO satellite, and the correction data associated with the constellation of non-LEO navigation satellites.

[0091] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including generating radio occultation data based on inter-satellite communications with at least one other LEO navigation satellite of a constellation of LEO navigation satellites, the radio occultation data being indicative of atmospheric conditions associated with the ionosphere and the troposphere; transmitting the radio occultation data via a backhaul transceiver; receiving correction data associated with a constellation of non-LEO navigation satellites, the correction data being generated in part based on the radio occultation data; determining an orbital position of the LEO satellite based on the first signaling and the correction data; and generating a navigation message based on the orbital position.

[0092] In various embodiments, at least one processor of the processing module 320 is configured to execute operational instructions that cause the processor(s) to perform operations including determining transmission / reception conditions of inter-satellite communications between the LEO satellite and at least one other one of a plurality of other LEO navigation satellites of the constellation of LEO navigation satellites. For example, the transmission / reception status of inter-satellite communications between the LEO satellite and at least one other one of the plurality of other LEO navigation satellites of the constellation of LEO navigation satellites may be determined based on at least one of: memory usage of the LEO satellite; memory usage of at least one other one of the plurality of other LEO navigation satellites; a distance between the LEO satellite and a backhaul receiver; a distance between at least one other one of the plurality of other LEO navigation satellites and a backhaul receiver; a remaining battery charge of the LEO satellite; a difference between a remaining battery charge of the LEO satellite and a remaining battery charge of at least one other one of the plurality of other LEO navigation satellites; an estimated time when the LEO satellite can generate more power; an estimated time when at least one other one of the plurality of other LEO navigation satellites can generate more power; or atmospheric data indicative of atmospheric conditions generated based on radio occultation.

[0093] In various embodiments, the inter-satellite communication includes at least one of: a navigation message transmitted to at least one other LEO navigation satellite of the constellation of LEO navigation satellites; a radio occultation; atmospheric data generated based on the radio occultation; control information associated with a satellite direction; control information associated with a satellite attitude; control information associated with a satellite status; control information associated with an inter-satellite transmission / reception condition of the satellite; command information associated with an inter-satellite transmission / reception status of the satellite; command information associated with an inter-satellite transmission power or frequency; control information associated with encryption; constellation integrity information related to the health of one or more LEO navigation satellites of the constellation of LEO navigation satellites; or constellation integrity information related to the health of one or more non-LEO navigation satellites of the constellation of non-LEO navigation satellites.

[0094] FIG. 3C is a diagrammatic illustration of a satellite according to various embodiments. In particular, a bottom perspective view of a satellite such as satellite 110 is presented. The satellite body is modularly constructed of six commercial off-the-shelf units, such as CubeSat units or other interconnected units. The front of satellite body 308 includes a first sun sensor 333-1, a first inter-satellite link transceiver 345-1, and a star tracker 380. The bottom of satellite body 308 includes a first retroreflector 332-1, a first backhaul transceiver 340-1, and two navigation signal transmitters 330, e.g., corresponding to two different frequency channels. The side of the satellite body includes a second retroreflector 332-2. A deployable plate 306 is attached to the top of the satellite body, which can be folded for use in orbit (as shown), to support a solar array for powering the satellite.

[0095] 3D is a diagrammatic illustration of a satellite in accordance with various embodiments. In particular, it is a top perspective view of a satellite, such as satellite 110. The backside of satellite body 308 includes second sun sensor 333-2 and second inter-satellite link transceiver 345-2. The topside of satellite body 308 includes GPS receiver 305, second backhaul transceiver 340-2, and solar panel 304. Solar panel 304 is also positioned on top of deployable plate 306. The side of the satellite body includes third retroreflector 332-3.

[0096] As discussed herein, the components of the satellite processing system 300 operate to generate a precise orbital position for the satellite 110. In addition to using this orbital position in generating the navigation signals 240, this orbital position can be used to determine when the satellite 110 needs to be repositioned and to assist in such repositioning through the use of the satellite flight control system 302.

[0097] In various embodiments, the precise orbital position of satellite 110 at a given time is compared to the desired orbital position of satellite 110 at that time to determine the amount of deviation. Additionally, the predicted path of satellite 110 can be compared to the predicted paths of numerous other space objects, including other satellites, spacecraft, space debris, and other near-Earth objects, to predict potential upcoming collisions. Such determinations and predictions can be generated via a ground station, in backhaul communication with satellite 110, or via the satellite itself. In either case, satellite 110 can be repositioned to a desired location and orientation using satellite flight control system 302.

[0098] In various embodiments, the satellite flight control system 302 includes a multi-axis propulsion system. Alternatively, the satellite flight control system 302 simply includes a three-axis attitude controller used to reposition the satellite 110. Consider the exemplary satellite configuration shown in Figures 3C and 3D. Changes in the satellite's attitude in the roll, pitch, and / or yaw axes can induce multi-axis drag vectors acting on the satellite body 308 and particularly the deployable plate 306, which can be used in the repositioning process to change the orbital path of the satellite 110.

[0099] It should be noted that the example shown in FIGS. 3C and 3D represents just one of many possible implementations of satellite 110.

[0100] FIG. 4 presents an exemplary embodiment of a satellite constellation system 100 implemented to perform atmospheric monitoring via radio occultation (RO). Radio occultation enables detailed monitoring of the Earth's atmosphere, enabling more accurate weather forecasts. This is accomplished by characterizing the elements that a transmitted signal experiences as it passes through the Earth's atmosphere. In particular, each satellite 110 may be operable to observe and / or generate RO data based on received signals transmitted by other satellites 110 and / or GNSS satellites 130, such as navigation signals 240 and / or GNSS signals. This RO data includes measurements and / or other data that characterize portions of the atmosphere traversed by the received signals in transmissions from other satellites. The generation of RO data based on the satellite's 110 received signals and / or the satellite's 110 transmission of this generated RO data may be accomplished by utilizing a radio occultation module 321.

[0101] RO can be implemented using Global Navigation Satellite System (GNSS) signals transmitted from Medium Earth Orbit (MEO) and subsequently monitored from satellites in Low Earth Orbit (LEO). While these GNSS signals provide RO information for the upper atmosphere, due to weak signal strength, these GNSS signals cannot provide high-quality measurements for the lower part (altitude) of the atmosphere. Furthermore, GNSS signals are from a limited number of MEO satellites. The limited number of these GNSS satellites 130 and their relatively slow orbital period naturally constrain the rate of change of the observation vector and, therefore, the amount of atmosphere being observed. These factors limit both the spatial and temporal resolution of the atmosphere being monitored.

[0102] The satellite constellation system 100 offers an improvement over current atmospheric monitoring technology. In contrast to existing GNSS-based RO methods, the satellite constellation system 100 can process the transmission and / or reception of navigation signals 240 in addition to traditional GNSS signals received from GNSS satellites 130. The geometry of the line-of-sight vector—in this case, a radio line-of-sight between satellites 110 in LEO orbit, such that the receiving end can receive a transmission from the transmitting end—provides a unique geometry that creates an unusual atmospheric slice, as depicted in FIG. 4, that can provide a deeper understanding of the Earth's atmosphere. To enhance atmospheric modeling capabilities, the navigation signals 240 can be transmitted by satellites 110 in LEO and delivered at a higher power level than those from MEO. This allows for deeper penetration into the atmosphere, even in humid conditions, down to the planetary boundary layer and / or to altitudes below 5 km. This provides an unprecedented level of detailed information about all levels of the atmosphere.

[0103] Additionally, the use of LEO satellites for both transmission and reception at ROs results in an unprecedented number of RO events due to the short LEO orbital period. This significantly improves the temporal and spatial resolution of atmospheric measurements, leading to higher fidelity models and, therefore, a better understanding of their dynamics. Furthermore, LEO constellations with densely packed satellites spaced across different orbital planes allow cross-sections of the atmosphere between orbital planes to be observed very frequently (e.g., 10-minute observation intervals depending on the spacing within the orbital planes), providing a near-real-time tomography of the atmosphere.

[0104] Additionally, the navigation signals 240 of the satellite constellation system 100 may reside in one or more different frequency bands than the GNSS signals used for RO today, enabling another dimension of atmospheric characterization than is possible today.

[0105] The data links (backhaul uplink 220, downlink 210, inter-satellite link 230, and / or navigation signal 240) enable rapid transmission of RO data acquired by the satellites to the ground for optimal use. The RO data may include raw RO measurements observed by each satellite 110 and / or may include post-processed data that may include, for example, already-calculated temperature and / or humidity profiles of the atmosphere. For example, the satellites 110 may be operable to calculate the temperature and / or humidity profiles of the atmosphere based on the observed RO measurements.

[0106] 4, three satellites A, B, and C are located in LEO orbits and a single GNSS satellite 130 is located in MEO orbit. Satellites A, B, and C are each different satellites 110 of satellite constellation system 100. Satellites A, B, and C and the single GNSS satellite 130 are depicted at two different time steps t0 and t1.

[0107] At a first time step t0, all three satellites 110 may be able to see each other's navigation signals 240 and / or may be otherwise operable to receive each other's navigation signals 240. Because each satellite 110 can transmit and / or receive the navigation signals 240, each of the line-of-sight vectors representing the satellite's ability to transmit and / or receive the navigation signals 240 is shown as a bidirectional vector. Due to the orbital arrangement of the satellites 110 and the characteristics of the navigation signals 240, such as broadcast power, each of these line-of-sight vectors traverses different layers of the Earth's atmosphere, including layers near the Earth's surface. Furthermore, signals from GNSS satellite 130 are used by satellites A and B at the first time step t0 to obtain information through the uppermost layers of the atmosphere. Note that satellite C does not have line-of-sight to GNSS satellite 130, but its signal does not traverse the atmospheric layers of interest for monitoring and therefore cannot generate RO measurements, and is therefore omitted from the illustration.

[0108] At a second time step t1, immediately following the first time step, all three of the satellites 110 have moved in their orbits. In this example, the time from t0 to t1 is such that GNSS satellite 130 effectively does not change location due to the much longer orbital period of MEO satellites compared to LEO satellites. At time step t1, again, all three of the satellites 110 are able to maintain line of sight to these satellites, this time in slightly different locations in the atmosphere, providing new measurement data. In this example, due to the location of satellite 110 in orbit with these satellites, only one of the satellites can use the signal from GNSS satellite 130 for RO purposes. The line of sight vectors from GNSS satellite 130 and satellite A no longer pass through the atmosphere to create observations, while the line of sight vectors from GNSS satellite 130 and satellite C still do not pass through the atmosphere. Note that the line of sight vectors from GNSS satellite 130 and satellite B are maintained, but the measurement is degraded due to how much of the atmosphere the signals must pass through. This illustrates one of the shortcomings of today's RO systems using existing GNSS signals, which cannot provide information continuously because the geometry may be in a manner that does not allow for high quality RO observations to be made.

[0109] By way of illustration, given a typical orbital period of a LEO satellite of 90 minutes, every 90 minutes a LEO satellite completes a full sweep of its orbit around the Earth's atmosphere. Furthermore, in a dense constellation of satellites spread across a given number of orbital planes, the time between one pair of satellites passing through a portion of the atmosphere and a subsequent pair passing through approximately the same region of the atmosphere can be very short (e.g., tens of minutes). Thus, the satellites 110 of the satellite constellation system 100 enable unprecedented temporal revisitation of regions of the atmosphere that can be used to better predict and improve weather models. When RO is performed with MEO GNSS signals, geometry changes are much slower because the orbital period of a MEO satellite is approximately 12 hours. Furthermore, LEO and MEO satellite orbits are not synchronized, which does not guarantee the ability to repeatedly pass through the same portion of the atmosphere, thereby preventing the spatially correlated time data that can be provided by this satellite system.

[0110] The raw RO measurements and / or processed data may be processed by one or more client devices 160 and / or other computing devices that receive the RO data from satellites 110 and / or from ground stations 200 and / or 201, e.g., via network 250. The processing of this data may support a range of applications, e.g., by various other entities that would benefit from improved characterization and / or profiling of the atmosphere.

[0111] One example application utilizing the received raw RO measurements and / or processed data includes generating weather forecast data. For example, one or more client devices 160 can process the RO data to generate forecast models, improve forecast models, and / or generate other weather forecast data.

[0112] As another exemplary application, one or more client devices 160 can process the RO data to generate ionospheric data, such as ionospheric mapping and / or other data that characterize various portions of the ionosphere over time. This can include generating real-time and / or near-real-time ionospheric mapping. This can include generating models that can be used to predict future conditions of the ionosphere and / or generate predictive data that is used to improve predictions of future conditions. This can be used to improve the performance of other systems that transmit through the ionosphere. For example, space-based communication systems can use information from this real-time ionospheric mapping and / or other detailed ionospheric maps and / or use these models to better predict the behavior of transmissions through the ionosphere and / or improve the performance and efficiency of those systems.

[0113] As another exemplary application, one or more client devices 160 can process RO data in conjunction with a space-based measurement system. In particular, scientific measurements of stars and / or signals from space can be improved by utilizing ionospheric data generated based on the RO data. For example, the model can be used to predict ionospheric mapping at future times, schedule telescope operations, and / or otherwise facilitate the scheduling and / or coordination of measurements of stars and / or signals from space.

[0114] As another exemplary application, one or more client devices 160 may process RO data in conjunction with a communication constellation, e.g., that relies on transmissions through the ionosphere. In particular, a current or predicted future ionospheric mapping generated based on the received RO data may be used to assist in determining power levels that need to be broadcast based on the current or predicted future ionospheric mapping. This may also be used to determine and / or predict possible current and / or future outage areas, e.g., allowing a communication constellation to adapt its transmissions accordingly.

[0115] As another exemplary application, one or more client devices 160 may process RO data in conjunction with space weather monitoring for early warning to high-value space assets and / or terrestrial infrastructure.

[0116] As another exemplary application, one or more client devices 160 may process the RO data for improved GNSS, improved performance of the satellite constellation system 100, and / or improvements for other third-party users interested in detailed real-time atmospheric models.

[0117] Some or all of these applications of the received RO data may alternatively be facilitated via processing module 320 of satellite processing system 300 and / or via another processing system associated with satellite constellation system 100. Models and / or other processed data associated with these applications may be transmitted, e.g., via network 250 and / or directly from satellite 110, to client device 160 associated with an end user of this data, for display to the end user, e.g., via a display device. Alternatively or additionally, client device 160 may download application data, e.g., via network 250, from a server system affiliated with satellite constellation system 100. This application data, when executed by the client device, enables client device 160 to receive and / or process the RO data in conjunction with one or more of these applications.

[0118] The example illustrated in FIG. 4 depicts each satellite 110 transmitting and receiving navigation signals 240. These bidirectional links enable each of the satellites of the link pair to perform RO observations of the same portion of the atmosphere and to log the necessary data, for example, by generating and / or otherwise observing RO data based on the received navigation signals 240, by temporarily queuing the RO data in the memory module 310 for transmission, and / or by transmitting the RO data via a backhaul link. Therefore, only one of the satellites needs to be visible to a backhaul node, such as the ground station 200 and / or the backhaul satellite 150, or one of multiple nodes of the satellite constellation system 100 in the transmission chain of the backhaul link to the ground station 200 and / or the backhaul satellite 150. Therefore, the satellite constellation system 100 can be configured such that only one of the satellites of the satellite pair transmits RO data in real time to a user on the ground, either directly or via a space-based satellite backhaul communication link. This allows for the use of fewer resources, as only one of the two satellites needs to record the required measurements. To reduce power usage, the satellite system may further be configured in a manner that optimizes the set of unidirectional links so that only one satellite is transmitting and one is receiving the navigation signals 240 in a given pair.

[0119] As used herein, a satellite of a given pair designated to broadcast the navigation signals 240 is referred to as a “transmitter satellite,” and the other satellite designated to receive the navigation signals 240 is referred to as a “receiver satellite.” The transmitter satellite may be configured to broadcast the navigation signals 240. The transmitter satellite may be further configured not to receive the navigation signals 240 from the other satellite 110, not to generate RO data based on the navigation signals 240 received from the other satellite 110, and / or not to transmit the RO data over a backhaul link. The receiver satellite may be configured to receive the navigation signals 240, generate corresponding RO data, and transmit this RO data over a backhaul link. The receiver satellite may be configured not to transmit its own navigation signals 240. In some embodiments, a satellite of a given pair determined to be optimally positioned to transmit data to a ground user (directly or through a space-based satellite backhaul communication link) may be selected as the receiver satellite, and the other satellite of the pair may be selected as the transmitter satellite. This optimization may further be performed across multiple sets of satellites, where a single satellite is configured as a transmitter satellite for transmitting receiving and logging navigation signals 240 to multiple satellites.

[0120] Consider the pair of satellites A and B in FIG. 4. One of the pair of satellites can be designated as a transmitter satellite at a particular time, while the other satellite of the pair can be designated as a receiver satellite at a particular time. The designation of one of the satellites as a transmitter satellite versus a receiver satellite can be automatically set and / or adjusted through a coordination process. The coordination process can include determining that the pair of satellites A and B should swap roles and / or reevaluating the roles of the pair of satellites A and B for a potential swap in response to detecting a corresponding trigger condition. The coordination process can be implemented by utilizing the processing module 320 of satellite A and / or satellite B, allowing the pair of satellites to automatically determine roles between themselves. Alternatively, the coordination process can be implemented by another processing module 320 not included in the pair and / or another processing system of the satellite constellation system, where the roles are determined and received as instructions to satellite A and satellite B.

[0121] Performing the adjustment process may include determining one or more trigger conditions that indicate that the current roles should be swapped and / or configured differently. Exemplary trigger conditions for automatically configuring and / or adjusting which satellite of a pair is designated as the transmitter satellite and which satellite of a pair is designated as the receiver satellite for a given pair of satellites 110 (satellite A and satellite B) include the following: Determining that satellite A should stop recording RO measurements because its memory usage exceeds a given threshold. As a result, satellite B is designated as the transmitter satellite and satellite A is designated as the receiver satellite. Determining that satellite B is in a better position to record measurements because the distance between satellite A and the backhaul satellite 150 and / or ground station 200 is greater than the distance between satellite B and the backhaul satellite 150 and / or ground station 200. As a result, satellite B is designated as the receiver satellite and satellite A is designated as the transmitter satellite. Determining that satellite A's battery level is below a given threshold and that it must stop transmitting navigation signals. As a result, satellite B is designated as the transmitter satellite and satellite A is designated as the receiver satellite. Determining that the difference in remaining battery power between satellite A and satellite B corresponds to a situation in which satellite A is determined to have more battery power to use and / or is determined to have a more favorable remaining battery power than satellite B. As a result, satellite A is designated as a transmitter satellite and satellite B is designated as a receiver satellite. Determine that the difference between when satellite A becomes capable of generating power and when satellite B becomes capable of generating power corresponds to a situation in which satellite A is determined to be capable of generating power sooner. As a result, satellite A is designated as the transmitter satellite and satellite B is designated as the receiver satellite. Any other status change, condition, or state of an individual satellite 110 or of the satellite constellation system 100 in which one satellite may prefer to transmit and / or receive in a paired configuration, or in either a one-to-many or many-to-one configuration.

[0122] While these trigger conditions illustrate examples between specific pairs of satellites, similar trigger conditions can be determined between any number of satellites when a one-to-many or many-to-one architecture is used. In particular, consider a subset of three or more satellites 110. Similar trigger conditions can be utilized to determine whether a single subset of the subset of three or more satellites 110 is designated as a transmitter and / or whether a single subset of the subset of three or more satellites 110 is designated as a receiver. For example, in response to determining that this satellite 110 is determined to have the preferably lowest remaining battery power among the subset of satellites, a single receiver in the subset can be selected in response to determining that this satellite has the closest distance to the backhaul satellite 150 and / or ground station 200 of the subset of satellites and / or the most preferred transmission path to the backhaul satellite 150 and / or ground station 200 of the subset of satellites. Alternatively, two or more of the subset of three or more satellites can be designated as transmitter satellites and / or receiver satellites. In some embodiments, all of the subset of three or more satellites 110 are designated as either transmitter satellites or receiver satellites. Alternatively, at least one of the subset of three or more satellites can be designated to perform the functions of both a transmitter satellite and a receiver satellite and / or to perform neither the functions of a transmitter satellite nor a receiver satellite.

[0123] When performing the coordination process, the automatic determination of which satellite of a satellite pair and / or group of three or more satellites to designate as the receiver satellite requires communication between the satellites of the pair and / or group to relay status that is utilized to determine trigger conditions and / or designate which satellite to perform which role. Consider the following steps that illustrate an example of performing the coordination process between paired satellites A and B. 1. Satellite A's memory usage for storing RO measurements exceeds a given threshold and sends a message to satellite B (through any link or combination of links in Figure 2) that it must stop receiving messages and satellite A changes to transmission mode as a transmitter satellite. 2. Satellite A continues to log RO measurements and enables navigation signal transmission (if not already enabled) 3. Satellite B can send a status message to satellite A (through any link or combination of links in Figure 2) confirming that satellite B is in a mode corresponding to the receiver satellite and / or is otherwise logging measurements. 4. Satellite A can receive satellite B's status message and / or detect that satellite B has changed state by receiving navigation signals from satellite B (if satellite A has not yet received navigation signals from satellite B). 5. Satellite A stops logging RO measurements.

[0124] Similar processes can be performed in response to detecting other trigger conditions described above. In particular, a satellite can determine to change its state in response to detecting its remaining battery life, memory capacity, other health status, distance from a backhaul satellite and / or ground station, or other condition independent of other satellites being favorable compared to a corresponding threshold indicating that the satellite should change its state to become a transmitter satellite or a receiver satellite. In response to determining that its condition should change, the satellite can alert the other satellite of the pair and / or multiple satellites of the group of the change.

[0125] Alternatively or additionally, status information such as remaining battery life, memory capacity, other health status, distance from the backhaul satellite and / or ground station, and / or other states and conditions can be exchanged between both satellites of the pair and / or between some or all satellites of the group, with a single satellite of the pair or group collecting its own status information and corresponding status information from one or more remaining satellites of the pair or group, comparing this status information and / or measuring differences between the satellites' statuses, and deciding, e.g., based on corresponding trigger conditions, to select the optimal satellite as a transmitter satellite and / or to select the optimal satellite as a receiver satellite. Once a selection is made by a single satellite, the satellite can transmit one or more notifications to one or more other satellites of the pair or group indicating the assigned roles. If one of the other satellites later determines, based on monitoring its status, that its condition should change, it can alert the other satellites of the group accordingly, triggering and repeating this process of collecting status data and reassigning roles by the single satellite.

[0126] Alternatively or additionally, the determination of the change of state can also be made by a ground monitor listening to all status messages and sending commands to a given satellite, and / or by another satellite that is not necessarily in the satellite pair but can receive status messages of the two satellites of the pair. This external ground monitor and / or other satellite can generate and transmit notifications to the satellites of the pair or group indicating their newly assigned roles.

[0127] Alternatively or additionally, any of the changes in whether a satellite is a transmitter satellite and / or a receiver satellite can be implemented in real time based on status messages or other command and control data, and / or can be implemented based on a predetermined position in orbit based on a known pre-calculated metric that is a function of the satellite's placement in orbit. For example, it can be pre-calculated that the satellite closer to the fixed ground station 200 should always be the receiver of the pair, and thus the satellite 110 can be pre-configured to change to logging RO measurements when it is within a certain threshold distance of the fixed ground station 200. This can correspond to a trigger condition that can be determined by the satellite monitoring its own status, and the change in satellite role can be relayed to the other satellites in the pair and / or group, which can then be triggered to change roles accordingly.

[0128] In some embodiments, a broadcast signal from any satellite 110 on a LEO may be used by any number of other satellites 110 on a LEO. It is important to note that although the line of sight shown in Figure 4 represents satellites 110 receiving each other's navigation signals, the transmitted signal is a broadcast signal that may be received by any satellite.

[0129] Alternatively or additionally to being able to dynamically and automatically change roles from transmitter satellite to receiver satellite, the satellite 110 may also be operable to automatically adjust the transmission of the navigation signal 240. Due to the fact that the satellite constellation system 100 controls the navigation signal 240 that may be used for RO measurements, the signal design may be dynamic to allow the navigation signal 240 to change if atmospheric conditions require it (e.g., changes that increase losses may result in an increase in signal power, or changes that may require greater bandwidth may result in adjusting the bandwidth or even frequency). If the satellite constellation system 100 controls the broadcast, the satellite constellation system 100 may have a feedback loop between the transmitting end and the receiving end to optimize the transmitted signal to obtain the best possible information. That optimization may involve changing basic signal characteristics such as frequency, bandwidth, power level, waveform, and / or other signal characteristics.

[0130] The ability to control both the transmitting and receiving sides allows the satellite constellation system 100 to be a closed-loop RO system in the sense that it can adjust key transmission parameters, including but not limited to frequency, power, and signal structure, to provide the best transmission for measuring atmospheric characteristics at the current time. What is considered the best transmission is a function of the receiving satellite's measurement performance, which may be fed back to the transmitting satellite to adjust the signal parameters through any combination of the links in FIG. 2. Exemplary signal characteristics of the navigation signal 240 that may be adjusted include the frequency of the navigation signal, the bandwidth of the navigation signal, the waveform of the navigation signal, the power of the navigation signal, and / or any other parameters that define the generation of the signal, the transmission of the signal, and / or other characteristics of the signal itself.

[0131] The feedback loop process utilized to determine when and / or how to adjust these parameters may be implemented by utilizing one or more satellite processing modules 320. An example of this feedback loop process includes the following steps: 1. Satellite A receives a signal from satellite B and calculates raw measurements from the ranging signal (raw measurements include, but are not limited to, range to the satellite, frequency and code offset, carrier phase, signal received power, etc.) 2. Satellite A evaluates performance metrics on the raw measurements (e.g., received power compared to desired thresholds, ability to track the signal and calculate carrier phase measurements, etc.) and determines if any thresholds have been met. 3. If the threshold is not met (e.g., received power is too low), satellite A transmits a message requesting a signal characteristic change from satellite B over any combination of links shown in Figure 2 (e.g., requesting an increase in signal power if received power is too low). a. Instead of sending a request for a signal characteristic change, satellite A can transmit performance metrics and satellite B can make the decision on what to change. b. Different performance metrics can be used to control different signal characteristics, but there need not be a one-to-one mapping between signal characteristics and performance metrics.

[0132] As discussed, satellite constellation system 100 is implemented as a LEO-LEO system due to the transmission and reception of signals between satellites 110 in LEO. Implementing satellite constellation system 100 as a LEO-LEO system may enable some or all of the following features and / or improvements over existing systems, for example, as a result of the fact that this system controls broadcasts and in part due to the fact that various backhaul networks can be utilized: The geometry of the satellite constellation system 100 results in line-of-sight between satellites 110 traversing a different portion of the atmosphere than line-of-sight between LEO and MEO satellites. Faster motion at both the transmitting and receiving ends means an increased variety of atmospheric measurement frequencies and geometries. · The combination of links in Figure 2 can be utilized to transmit RO measurements from satellite to users (Earth-based and / or space-based) in near real-time. · Sufficient density of available tomography may enable the creation of derived ionospheric and tropospheric models for the production of GNSS corrections without the need for ground infrastructure. This allows for the creation of GNSS satellite corrections as well as precision satellite constellations themselves, improving precision navigation robustness and convergence times.

[0133] A high spatial density ground monitoring station and / or LEO multi-frequency satellite constellation can generate real-time, highly detailed maps of the ionosphere for both scientific, political, and industrial applications. Some applications include improved global weather prediction, improved standalone and augmented GNSS corrections for positioning in this satellite system, and protection of satellite assets from space weather events. This unique approach combines measurements from the satellite constellation system 100 to the ground and / or from existing GNSS satellites to the satellite constellation system 100. This enables atmospheric model layer separation and more detailed information.

[0134] The RO tomography data generated through the RO measurements recorded by the satellite constellation system 100 can be used to generate a map of the ionosphere and troposphere, and appropriate navigation atmospheric correction messages are derived products of this map. This data can be used in conventional GNSS precise point positioning (PPP) approaches in addition to the navigation schemes presented herein. This can reduce the search space in carrier phase ambiguity resolution and significantly accelerate convergence time.

[0135] Alternatively or additionally to providing atmospheric data, the satellite constellation system 100 can be implemented to provide precise navigation by giving users their precise location and time. One of the key elements of providing this information to users through satellite-based ranging signals includes being able to perform precise orbit determination or otherwise accurately determine the satellite's location in space. This information, along with the ranging signals, can then be broadcast to users on Earth to enable precise positioning and / or timing. In addition to the complete solution, correction information can be provided to spatially "nearby" users, such as users in orbits near the satellite's orbit, enabling those users to obtain precise positioning and timing data. This allows the satellite system to provide precise positioning to users at altitudes below the satellite system and to users at altitudes close to (or above) the satellite system. The precision navigation section implemented by the satellites 110 includes orbit determination, autonomous constellation monitoring, and / or adjusting signal characteristics to provide the best navigation signals.

[0136] Current methods for precise and accurate orbit determination require the use of ground monitoring stations to observe satellite locations with dedicated measurement equipment and perform extensive computations to determine orbits. The satellite constellation system 100 improves on existing systems by implementing autonomous, in-situ distributed orbit determination, with processing performed autonomously on the satellites 110 through edge computing. This significantly minimizes requirements for ground infrastructure. Real-time, on-satellite autonomous orbit and clock estimation enables lower-cost clocks as part of the satellite hardware. Temperature-compensated quartz crystal oscillators (TCXOs) and oven-controlled quartz crystal oscillators (OCXOs) are less expensive than chip-scale atomic clocks (CSACs) and other timekeeping technologies, but are most stable over shorter periods. Real-time orbit determination and distribution to users enables the use of these clocks, whereas orbit determination performed by a ground network requires higher-performance clocks on the satellites for longer periods between uploads.

[0137] Additionally, some embodiments of the satellite processing system 300 use the same clock 365 both in the GNSS receiver and / or other elements that handle analog-to-digital conversion of the signals and other elements within the receiver, and in generating the navigation signal carrier frequency. This use of the same clock 365 results in an estimated clock state using GNSS measurements that reflects the state of the clock used to generate the navigation signal itself, which results in more accurate navigation signals and navigation messages. In other embodiments, there may be multiple clocks 365, where the clock that generates the navigation signal carrier frequency is "disciplined" to the clock within the GNSS receiver, or where the clock within the GNSS receiver is "disciplined" to the clock that generates the navigation signal carrier frequency.

[0138] Precise orbit determination, or estimation of the precise state of the satellite, which may include information including, but not limited to, position, velocity, acceleration, clock bias, clock drift, clock drift rate, current time, attitude, attitude rate, carrier phase offset, etc., is performed onboard the satellite using navigation filters that use measurements from on-board and / or off-board sensors and / or correction data. This process is described below. 1. Raw data from GNSS receivers, inertial measurement units (IMUs), attitude determiners, and / or radio signals from neighboring satellites in the system are collected by and / or otherwise available to each satellite 110. The measurements can be ground-based, and this data is transmitted to the satellite via a data link. 2. The raw GNSS measurements are input to a tightly coupled navigation filter onboard the satellite 110. For example, the navigation filter may be implemented by utilizing the orbit determination module 322. The filter uses other correction data, such as GNSS orbit corrections and / or atmospheric corrections, provided by any combination of the links in Figure 2, to generate a tightly coupled PPP carrier phase ambiguity resolution navigation solution. 3. The navigation filter propagates the state estimate to the current epoch. 4. The navigation filter updates the position (of the satellite's center of mass), attitude, clock, and / or other state estimates given the latest measurements. 5. The position, attitude, and / or clock estimates are propagated forward for short periods of time to generate a prediction of the location of the broadcast antenna phase center using one or more models based on physics or other data-driven models. 6. This predicted path of the satellite orbit and clock (if the clock is the same clock that generates the carrier for the navigation signal) is fitted to a curve that becomes the broadcast navigation message. This curve fit is packaged into a binary navigation message that the satellite broadcasts to users. 7. Broadcast Orbit and clock messages may be broadcast by satellites 110 at regular intervals that meet the minimum time to first correction. 8. If the orbit and clock state calculated by physics-based propagation differs from the orbit and clock calculated using the navigation message, a new navigation message is placed in the broadcast queue to perform autonomous integrity monitoring. 9. The broadcast signal is received by a user and / or user device, such as client device 160, and the precise orbit data allows the user and / or client device 160 to calculate a precise position and time solution. 10. The precise position and time solution can be displayed to the user (e.g., as a pin on a map with some error bounds indicating that the user's location is highly accurate), for example, by utilizing a display device on client device 160. A robotic or autonomous or highly automated system can natively incorporate this position solution and use it, for example, as a precise measure of autonomy.

[0139] Each satellite 110 can perform a process for autonomous orbit determination through the performance of a state estimation flow as illustrated in FIG. 5A, a navigation flow as illustrated in FIG. 5B, and / or a broadcast flow as illustrated in FIG. 5C. These separate depictions of the state estimation flow, navigation flow, and broadcast flow highlight the fact that the process may be performed in several different loops triggered by different events. The satellite processing system 300 can be utilized to perform some or all of the steps illustrated in FIG. 5A, 5B, and / or 5C, for example, by utilizing the orbit determination module 322, the navigation message generation module 323, and / or the message scheduling module 324, respectively.

[0140] FIG. 5A illustrates an embodiment of a state estimation loop. The loop is configured to run at a specific rate or be triggered based on new measurements from sensors onboard the satellite. When triggered, new measurements from onboard sensors, which may include, but are not limited to, an inertial measurement unit (IMU), a GNSS receiver, attitude sensors (e.g., star trackers, horizon sensors, etc.), radio signal receivers for signals from neighboring satellites of the satellite positioning system, and other sensors, are used by the navigation filter to calculate the precise state. Note that measurements can also be made from ground sensors, and the measurement data can be transmitted to the satellite via any combination of the links in FIG. 2. These sensor measurements can be used in conjunction with precise GNSS orbit and clock data (PPP correction data) estimated by the ground segment and / or other desired correction data (e.g., atmospheric models). This correction data can be uploaded via any combination of the links in FIG. 2 and stored in memory onboard the satellite. The newly calculated state can be saved in an onboard history vector of current and / or past states. Additionally, this newly calculated state can be compared with the predicted state at the current time based on the latest navigation message. If the error metric exceeds a given threshold, the navigation loop is triggered to generate a new navigation message, as described in Figure 5b. A more detailed example of the comparison with the predicted state is depicted in Figure 6.

[0141] Typical ground-based orbit and clock determination for GNSS uses only signals received on the ground. Having onboard orbit and clock determination allows satellites to utilize additional sensors that help decouple attitude from orbit and orbit from clock. Attitude decoupling is important because it allows this orbit and clock determination system to be used with a variety of satellites, including small satellites with minimal attitude control available. For example, in a satellite configuration where the broadcast signal is nadir-pointing and the received GNSS L1 / L2 / L5 signals are received from a zenith antenna, there will be a non-trivial offset between these antennas that must be accounted for in the user's precise positioning. Inertial sensors, which are essentially only affected by orbital effects and not clock effects, can be integrated into the orbit determination and propagation process and help separate orbit and clock errors, especially when GNSS geometry deteriorates in polar regions.

[0142] Orbit determination can be assisted by ground stations, especially in the polar regions where ground stations typically have the most visibility to satellites but also where GNSS geometry is weakest in orbit. Ground stations can broadcast additional ranging signals that can be received by orbiting satellites to assist in orbit determination by providing more accurate distance measurements. This allows measurements to be input into the estimator with greater precision. This also allows ground stations to broadcast rather than directly communicate with specific satellites (one-to-many), keeping orbit determination autonomous without requiring direct communication with ground stations. Ground stations can also receive ranging signals broadcast by the satellite system, allowing the ground station to make an estimate on the ground and transmit the estimate back to the satellite, or more simply, transmit measurements collected on the ground to the orbiting satellite and use the measurements in the satellite's onboard estimator. The delay between collecting measurements on the ground and receiving the measurements on orbit can introduce some complexity into the estimation. Ground stations can also be equipped with lasers aimed at retroreflectors on the satellites, providing the satellites with additional accurate distance measurements. Again, this measurement can then be used on the ground and an estimate can be sent to the satellite, or the measurement can be sent directly to the satellite for use by an on-board estimator.

[0143] Precise orbit determination computed onboard the satellite can use Precise Point Positioning (PPP) correction data, which consists of precise orbit and clock estimates for GNSS satellites. PPP data can be transmitted from the ground to the satellite via any combination of links depicted in Figure 2.

[0144] Navigation message creation is a second loop executed on the satellite that can be set to an independent rate independent of the precise orbit determination rate. The process flow for navigation message creation is shown in Figure 5B. This loop can be triggered either by timing at a fixed operating frequency or by a trigger based on a calculated error metric calculated at the precise orbit determination rate. One manifestation is that the navigation message is generated by calculating a best-fit curve for the future predicted state calculated by executing the filter prediction step. Such a best-fit curve has a set of parameters (e.g., defining the orbit and clock state) that can be included in a binary message transmitted as part of the navigation message.

[0145] The broadcast flow of Figure 5C can again be executed at an independent rate, the time dictated by the desired data rate for data transmitted on the ranging signal, to handle the transmission of the navigation message along with any other desired data messages. The transmission system reads the message queue and modulates the data contained in the message onto the navigation signal (in some embodiments, the ranging signal has already been modulated onto a carrier), which can be at a variety of different frequencies. Note that in some cases, only ranging is modulated onto a carrier to create the navigation signal.

[0146] Once modulated, the signal may be transmitted from satellite 110 and received by at least one client device 160, which may include, but is not limited to, a terrestrial device (e.g., a handheld device, a vehicle), an airborne device (e.g., an airplane, a drone), a space-based device, and / or other embodiments of client device 160 discussed herein. The client device 160 can calculate the range to each satellite 110 in view with the ranging signal, and, given accurate navigation message data, can calculate a precise location.

[0147] In various embodiments, an onboard orbit determination process for each of the satellites 110 allows the satellite to monitor its own messages and / or messages of neighboring satellites. The satellites 110 may be operable to implement a self-monitoring process. In particular, at each time step in which the navigation filter updates the precise state of the satellite, the satellite processing system 300 may compare the newly calculated precise state with the expected state as described in the most recent navigation message.

[0148] FIG. 6 illustrates an example of this self-monitoring process. In this example, the rate of the estimation loop and navigation message generation is such that a new navigation message is generated on schedule every 10 measurement updates. Starting at time t0, the navigation filter calculates the exact state, shown as a circle on the diagram, at time step t0, and a navigation message N1 is generated, as described in conjunction with FIG. 5B. Using the navigation message data, the navigation message is calculated from t0 to t 10 The predicted states for all time steps within the time window between t1 and t2 are shown as lines corresponding to predicted state 610. Note that the lines, and therefore messages, may be valid for a period longer than the period of the next triggered navigation message update. Moving forward in time, FIG. 6 shows the estimated states at time steps t1, t2, and t3. At each of these time steps, a comparison is calculated between the estimated state and the predicted state, as given by navigation message N1. In this example, none of these comparisons are relatively favorable, so the system behaves as planned.

[0149] time t 10 At the end of the time window at time t, a time-based trigger causes a new navigation message N2 to be generated, as depicted in FIG. 5B. This new navigation message is now transmitted at regular intervals, for example via a navigation signal. The new predicted state over time is again shown as a curve, in this case predicted state 620. At time t 10 ~t 20 A new time window is set.

[0150] Over time, at time step t 16 , the difference between the estimated state (shown as a circle) and the predicted state as calculated using navigation message N2 exceeds a given threshold, triggering the generation of a new navigation message N3, which contains a new curve of the future predicted state, in this case predicted state 630.

[0151] Step t 20 As time continues to advance until the end of the new time window at time t, the generation of a new navigation message N4 is triggered by the scheduled time-based triggering behavior. This new message has a new curve of the future predicted state, in this case predicted state 640. Other variations are possible, for example, when navigation message N3 is transmitted at time t 16 ~t 26 If there is no deviation from the expected state 630 during this time window, then the next navigation message (N4) is sent at step t 26 It can be transmitted in

[0152] Alternatively and / or additionally to performing this self-monitoring, satellites 110 can be configured to perform neighborhood monitoring, where satellites 110 are operable to monitor some or all physically neighboring satellites in the constellation. Through their ability to transmit and / or receive navigation signals, in-situ measurement-based integrity checks can be used to identify disturbances on any particular satellite or group of satellites, quickly resolve any problems, and maintain system integrity. Each satellite 110 can be equipped to transmit and / or receive navigation signals 240 and corresponding navigation message data to and / or from its neighbors, both within its orbital plane and / or in neighboring orbital planes, through any of the links depicted in FIG. 2, as depicted in the configurations of FIGS. 7A and 7B.

[0153] FIG. 7A illustrates a two-dimensional representation of a subset of multiple satellites 110, including satellite A and satellite B. This subset may constitute a “neighborhood” with respect to satellite A, where all satellites 110 are in view of satellite A and / or satellite A may transmit and / or receive navigation signals 240 differently from the neighboring satellites. These neighboring satellites of satellite A may include satellites 110 on the same orbital plane 710 as satellite A, or may include one or more satellites on either side of satellite A along orbital plane 710. These neighboring satellites of satellite A may alternatively or additionally include satellites 110 on different orbital planes 700 and 720. As illustrated in the three-dimensional representation of orbital planes 700, 710, and 720 relative to Earth in FIG. 7B, orbital planes 700 and 720 may be neighboring orbital planes of orbital plane 710. Some or all of the other satellites 110, such as satellite B, may have their own neighborhood of neighboring satellites, which may include a suitable subset of satellites 110 in the neighborhood of satellite A and / or may include at least satellite A.

[0154] In this exemplary embodiment, navigation signals 240 include both ranging signals and data including at least navigation message data. However, in other embodiments, navigation signals 240 may include only ranging signals, with each satellite either already knowing the navigation message data for its neighboring satellites and / or receiving the navigation message data through any combination of the links depicted in FIG.

[0155] In the exemplary embodiment depicted in FIG. 7A , a neighboring satellite (e.g., satellite B) of satellite A can calculate an expected range measurement for satellite A because each satellite knows its own estimated state, and can use the corresponding navigation message data for satellite A to calculate the expected state of satellite A. Satellite B can also use the navigation signal 240 from satellite A to calculate the measured range. From these two ranges, an error metric can be calculated (e.g., range residual). If the error metric exceeds a given threshold, satellite B can send a message to satellite A over any combination of the links in FIG. 2 informing satellite A that it may be broadcasting erroneous navigation message data. This notification can be in the form of a status message that can transmit flags, error metric data, and / or any data that satellite A can use to notify of a potential error or other anomaly. If satellite A receives messages from more than a threshold number or percentage of neighboring satellites, satellite A can update satellite A's status information in the navigation message to inform users (including neighboring satellites) that the navigation message data should not be trusted and therefore should not be used. In addition to notifying satellite A, neighboring satellites may also transmit error information that satellite A can use to verify and update its state estimates to correct for estimator errors, provided that each of the neighboring satellites is performing as expected.

[0156] 7C illustrates a further exemplary case having satellite neighbors on orbital planes 700, 710, and 720 of FIG. 7B. If satellite A calculates error metrics above a given threshold for several neighboring satellites above a threshold number or percentage, satellite A can self-detect that satellite A may have an error in its state estimate and / or the neighboring satellites can warn satellite A that satellite A may have a problem. In response to calculating error metrics above a given threshold for these neighboring satellites, satellite A can notify each of its neighbors that they may be in error (e.g., satellites B and C). If the neighbors (e.g., satellites B and C) do not receive enough warning messages assessing that the error metrics exceed a threshold number or percentage, the neighbors can each respond to satellite A indicating that satellite A may be a neighboring satellite with an error.

[0157] The satellites 110, as part of the satellite constellation system 100, may also adjust signal parameters to improve reception and / or use of the navigation signals 240 by users in space and / or users on Earth, e.g., as described above. Trigger conditions for adjusting signal parameters (such as beamwidth, power level, and / or other signal characteristics of interest) may alternatively or additionally include the following to the trigger conditions discussed in the previous section: Determining a preferred location of the satellite 110 above the Earth, for example, a major city or otherwise compared to a location range for the trigger condition. As a result, the satellite 110 can narrow its beam width and / or increase its signal power to help increase the received signal strength of the navigation signal 240. Determining the proximity and / or density of one or more satellites 110 in orbit (e.g., over the polar regions if the satellite orbit is polar) that result in very high density transmission of navigation signals 240. As a result, some or all of the satellites 110 may autonomously decide to turn off transmissions, for example, based on the remaining battery capacity and / or power margin left on the satellites 110. Determining other location-based and / or monitoring-based triggers that are deemed to affect the quality of the navigation signal 240 received by the user.

[0158] These parameter settings may be adjusted autonomously by the satellite 110 using the satellite processing system 300 based on information received from nearby satellites and / or ground measurements, may be adjusted by a ground segment with a human in the loop and / or autonomously based on monitoring data of the satellite constellation system 100, and / or may be configured prior to satellite launch and fixed for a given satellite 110 and a given orbit.

[0159] In various embodiments, forces on satellites can be calculated based on the satellite's orientation and precise measurements, which can be used to construct an atmospheric density model. Many low-altitude LEO satellites experience forces due to atmospheric drag. Although the upper atmosphere is very thin, it provides significant forces that ultimately lead to deorbiting of these satellites unless preventative measures are taken. Existing coarse models can be used for the density of air in the upper atmosphere, but this density is known to be not constant over time or space. The satellite constellation system 100 may be capable of making precise GNSS measurements, as described in conjunction with FIGS. 5A-5C, and therefore may have an accurately known position and velocity. The satellite 110 may also have an accurately known orientation (attitude), thus allowing for the calculation of expected forces due to solar radiation pressure and / or albedo radiation pressure, among other forces acting on the satellite. Once all other large orbital perturbations are considered, this information can be processed on-board the satellite and / or on the ground and used to determine the magnitude of the atmospheric drag force acting on a given satellite 110. Once this drag force is calculated, the density of the atmosphere at the location of these particular satellites 110 can be calculated. With a dense constellation of satellites 110 and this data from each satellite 110, a model of upper air density can be generated by interpolating values ​​either spatially and / or temporally, or through other means. The resulting air density model can be used to assist in trajectory predictions for satellite 110 and / or any other satellites in similar orbits that can receive air density model data. Additionally, these models can form the basis for creating forecasts of upper air density.

[0160] In various embodiments, certain users may become nodes transmitting navigation signals to expand the network of satellite constellation system 100, resulting in substantially more navigation signals and improved service. These additional nodes may be implemented utilizing the hardware and / or software of any of client devices 160 discussed herein, e.g., equipped with their own satellite processing system 300 and / or operable to perform some or all of the functions of satellite 110 as discussed herein. These additional nodes may be static, e.g., fixed to infrastructure and / or installed at specific fixed and / or known locations. These additional nodes may alternatively be mobile, e.g., corresponding to mobile devices and / or vehicles whose locations change.

[0161] Similar to how orbit determination is performed in this navigation constellation scheme, using satellites in low Earth orbit to deliver additional navigation signals to the ground, all other airborne and ground receivers can employ the same precise positioning scheme and thus transmit similar navigation signals to create a much larger, comprehensive navigation network, with each additional receiver acting as a node in a more substantial network of navigation signals, aiding both cooperative positioning and current GNSS-deficient environments.

[0162] By employing a similar estimation process as the satellites 110 from the satellite constellation system 100, user devices or other dedicated terrestrial or airborne navigation nodes can create and / or transmit their own navigation signals. This results in substantially more signals for more robust positioning in traditionally challenging GNSS environments. In one embodiment, these navigation signals may be nearly identical to those transmitted by the satellites as part of the satellite constellation system 100. In other implementations, different schemes may be considered for specific applications or use cases. This may include the use of different electromagnetic spectrums or other transmission modalities, including, but not limited to, optical and / or ultrasonic. This may also include a different number of transmission frequencies or signal modulations.

[0163] As an example, consider a dense urban environment in which several airborne and ground-based robotic systems operate. An airborne system flying above a building can utilize line-of-sight signals in combination with GNSS satellites and satellite constellation system 100 satellite navigation signals for accurate and secure positioning. Once a position solution is calculated, the airborne platform can broadcast its own navigation messages in much the same manner as satellites in satellite constellation system 100. This, along with airborne and other navigation nodes in the network, potentially including stationary infrastructure, adds significant diversity to the line-of-sight in urban canyons, substantially aiding ground vehicle navigation. For example, the top corners of certain tall buildings may be good candidates for infrastructure node locations, with clear line-of-sight to the sky and roads below. To further aid this problem, ground vehicles can broadcast their own navigation signals to improve cooperative localization at the street level, where relative range measurements are currently useful for multi-agent navigation systems.

[0164] In various embodiments, the satellite constellation system 100 can provide secure data to its users. Current GNSS signals available for civilian use are broadcast unencrypted with a known signal and data structure. This has been crucial to the global adoption of GNSS as a standard bearer for positioning, but as the number of entities relying on GNSS services has increased, GNSS vulnerabilities have become more apparent. Such low-power GNSS is often unintentionally jammed, and its exposed signal structure makes it susceptible to malicious spoofing attacks.

[0165] The satellite constellation system 100 improves upon conventional GNSS services by implementing full encryption of the spreading code along with the navigation data. In this case, there can be multiple channels providing different data at different rates. This is achieved using a combination of code shift keying with the encrypted data modulated at a lower rate. Where appropriate, the data is encoded using a low-density parity check scheme that allows for forward error correction, enabling the satellites to deliver data to ground users at high, robust data rates.

[0166] The encryption keys may be stored locally in the memory of the client device 160, for example, at some manifestation of tamper-resistant hardware in the receiver utilized by some or all of the client devices 160 to receive the navigation signals 240 from the satellites 110. Each client device's key may be a leaf in a hierarchical Merkle-Danger tree, granting the satellite constellation system 100 the ability to provide service to any number of client devices 160 while denying service to anyone who violates the terms of service. These keys may be changed en masse at predetermined intervals, enabling subscription plans with persistent users. These changes may be implemented using secure one-way functions.

[0167] There are several possible acquisition methods for the encrypted signals. Any client device 160 with reasonable existing knowledge of location and time can perform direct acquisition of the signals using a parallel search strategy. All other client devices 160 can acquire these signals directly because the necessary computational resources are available to them. Once a single satellite from the constellation is acquired, a coarse almanac is retrieved, allowing the user to predict which satellites will soon be in view, while also finding any other satellites that may be in view.

[0168] With a single satellite in view, a client device 160 at a known location can have secure knowledge of their time. Similarly, any user who knows three of the four location domain parameters (latitude, longitude, altitude, and clock bias) can securely determine the fourth in this satellite system. In a secure time example, a receiver is surveyed and has a known latitude, longitude, and altitude. To provide secure timing services, the receiver only needs to acquire a single satellite signal. The pseudorange calculated from the user to the satellite can be subtracted with the predicted range to the surveyed satellite, which knows the receiver's location. The clock bias can be calculated from this difference. Because the signals and data are encrypted, the user can trust that the signals are from trusted satellites in this constellation and therefore can trust the clock bias calculation. With four satellites in view, an unambiguously secure position and time solution can be resolved using these satellite signals.

[0169] Application data corresponding to secure services of satellite constellation system 100 may be stored in at least one memory of client device 160. For example, application data may be received by client device 160 for download from a server system associated with satellite constellation system 100 via network 250 and / or may be received in signals transmitted by satellites 110. This application data and / or other executable instructions stored in memory of client device 160, when executed by at least one processor of client device 160, may cause client device 160 to securely obtain and / or update their keys, use those keys to securely determine their location and / or time based on encrypted signals received from satellites 110, and / or use those keys to verify the authenticity of received signals as received from and transmitted by satellites 110, as opposed to by an impersonating entity.

[0170] In various embodiments, the satellite constellation system 100 may be operable to perform space-based GNSS constellation monitoring. GNSS satellite outages, when incorporated into calculated positions, can result in significant positioning errors. To incorporate GNSS signals into safety-critical applications such as aviation, the performance of these applications must be constantly monitored for such outage events. Many receivers used in these applications incorporate autonomous monitoring techniques, such as receiver autonomous integrity monitoring (RAIM), to detect and filter out potentially impaired signals. However, receiver autonomous integrity techniques using code phase positioning have severe limitations in that some satellite outages cannot be easily observed. While these techniques may be sufficient to ensure that true position is within one-third of a mile of the calculated position, to obtain tighter bounds on true position, also known as protection levels, local or wide-area monitoring techniques must be employed. Satellite monitoring may be achieved through systems known as satellite-based augmentation systems (SBAS). In existing systems, reference stations within an area of ​​interest can use these measurements to estimate different error sources that may be present. These error estimates are then passed to a central processing facility, which then broadcasts the error estimates to users via satellite links from geostationary satellites. These systems can detect satellite failures and broadcast warnings to users within, for example, six seconds of the onset of such a failure.

[0171] Similar GNSS satellite fault monitoring can be performed by satellites 110 in LEO when the satellites 110 use carrier phase precise positioning technology, as described in conjunction with FIGS. 5A-5C. Using autonomous integrity monitoring techniques, precise protection levels can be achieved, for example, by calculating position solutions using a subset of GNSS satellites running in parallel. For example, if there are N satellites in view, there are N+1 position solutions calculated when one GNSS satellite is excluded. These solutions are compared to each other to derive a protection level for the calculated position. If a single GNSS satellite is faulty, all N+1 solutions begin to deviate from the true position, except for the subset solution that excludes that GNSS satellite. If the solutions separate by a threshold amount, it can be determined that the GNSS signal emanating from the GNSS satellite is faulty. By calculating these subsets and comparing the solutions with a given threshold, the satellite 110 can know that a GNSS satellite was producing poor measurements if the solutions are separated by more than a given threshold and can then transmit warning information about the faulty GNSS satellite.

[0172] A single satellite 110 in LEO can detect bad GNSS measurements using the above method. A satellite constellation system 100 may have multiple satellites 110 with respect to the same failed GNSS satellite. This increases the observability of such GNSS satellite failures, allowing all satellites 110 observing the failed GNSS satellite to reach a consensus and therefore more confidence in the decision to alert users. This technology differs from existing services in that, whereas current health monitoring of all GNSS satellites is performed by ground-based reference stations, this provides a satellite-based solution that performs this task autonomously. The satellite constellation system 100 may also be capable of transmitting alerts to users via navigation messages or other alert data in the event of an observed GNSS satellite failure through any combination of the links in FIG. 2.

[0173] In addition to GNSS impairments, the satellite constellation system 100 can also transmit parameters describing the performance of the GNSS satellites. The satellite constellation system 100 can provide multiple, accurate, simultaneous observations of the GNSS satellites using the methods outlined above. These observations can then be compiled and transmitted as correction and reliability parameters for use by the GNSS receiver.

[0174] By utilizing satellites 110 in this manner to detect GNSS outages and / or determine parameters describing the performance of GNSS satellites for transmission, the GNSS system may be monitored entirely in space. This represents an improvement over existing systems by facilitating this GNSS monitoring without any reliance on ground-based reference stations or ground-based central processing facilities. Existing systems are further improved due to better geometry, higher signal strength, and a greater number of satellites in view as a result of utilizing satellites 110 rather than ground-based facilities.

[0175] 8A, 8B, and 8C illustrate the service levels available to terrestrial and / or airborne users as a function of the number of satellites 110 in view from the satellite constellation system 100. FIG. 8A illustrates a scenario in which a client device 160 corresponds to a mobile user, such as a vehicle, with one satellite 110 in view. When used in conjunction with GNSS satellites, the satellite 110 can provide data to enhance the accuracy of the GNSS. The satellite 110 also adds a navigation signal to provide additional range and range-rate information. The rapid geometry changes associated with the satellite 110 allow for rapid initialization of accurate positioning, thus augmenting the GNSS and improving accuracy. FIG. 8B illustrates the case of a client device 160 corresponding to a static user with one satellite 110 in view. In this case, because the static user's location is known, the satellite 110 provides a secure source of timing information when the navigation signal is provided encrypted, which can be used without GNSS.

[0176] 8C illustrates a scenario in which satellite constellation system 100 has enough satellites such that four or more satellites 110 are in view of client device 160, such as the depicted automobile. In this scenario, a sufficient number of independent navigation signals 240 from satellite constellation system 100 are available to support high accuracy through exclusive use of navigation signals 240 and / or to support highly secure position solutions with full encryption if the navigation signals are provided with encryption.

[0177] The various capabilities of the discussed satellite constellation system 100 can be utilized to implement one or more other applications. For example, the satellite constellation system 100 can be utilized by a marine system, with one or more client devices 160 being mounted and / or otherwise associated with one or more boats or other marine systems. The satellite constellation system 100 can provide precise positioning to the marine system, which can be utilized by the marine system for mapping, ice navigation, ice routing, and port operations. The precise positioning information can further be shared with neighboring marine systems to improve maritime situational awareness. This can greatly improve the security of these systems (e.g., in adverse weather conditions) due to much better accuracy when information is shared between different vessels or between static marine elements (e.g., lighthouses) and ships (especially in the Arctic, where signals 132 are more difficult to receive). Authentication and / or encryption can be utilized to protect against GNSS spoofing. The location security provided by satellite constellation system 100 may be utilized by marine systems for asset tracking, such as those utilized by autonomous or highly automated vessels operating without a crew on board. Accordingly, boats and / or other marine systems may be implemented as client devices 160.

[0178] Alternatively or additionally, the satellite constellation system 100 may be utilized by banking systems or other entities to perform transaction authentication. Location-based security may be provided to entities conducting financial and / or other transactions. For example, location security may be used as a form of two-factor authentication in banking and other password-protected critical functions. It may also be utilized by voting systems to provide protection against voter fraud in elections. ATM machines, voting machines, and / or other equipment utilized to conduct secure transactions may be implemented as client devices 160.

[0179] Alternatively or additionally, the satellite constellation system 100 may be utilized to enable infrastructure time synchronization. The satellite constellation system 100 may provide an additional source of secure timing for infrastructure systems that provide timing. Client devices 160 across different infrastructure entities may be utilized to synchronize timing across power plants, data centers, telecommunications hubs, cellular towers, financial institutions, and / or other critical infrastructure.

[0180] Alternatively or additionally, the satellite constellation system 100 can be utilized as a source for timing traceability of financial transactions. The satellite constellation system 100 can provide an additional source of timing traceability needed for proof-of-payment systems and applications that require accurate and reliable timing traceability. For example, transactions on the New York Stock Exchange require timing traceability for legal purposes. The timing of these transactions is typically tracked through GPS measurements to a national timing center, such as one maintained by the United States National Oceanic and Atmospheric Administration (USNO). Measurements obtained from a client device 160 using the satellite constellation 100 can augment or replace these methods of timing traceability.

[0181] Alternatively or additionally, satellite constellation system 100 may be utilized in supply chain management to provide secure tracking of individual shipping containers, packages, vehicle assets, and / or vessel assets, enabling management with more detailed information and / or confirmation of arrival at destination. Individual shipping containers, packages, vehicle assets, and / or vessel assets may be implemented as and / or coupled to client devices 160 to enable secure tracking of these assets by entities that own or otherwise oversee the transportation and / or delivery of and / or by these assets.

[0182] Alternatively or additionally, satellite constellation system 100 may be utilized in surveying and / or mapping. In particular, satellite constellation system 100 may be utilized to provide accuracy, completeness, and / or security while enabling high-definition mapping for autonomous or highly automated and / or safety-critical applications. Surveying and / or mapping equipment may be implemented as client device 160.

[0183] Alternatively or additionally, satellite constellation system 100 may be utilized by autonomous or highly automated road vehicles that require high integrity (safety critical), accurate, and secure positioning, such as that provided by satellite constellation system 100. The autonomous or highly automated road vehicles may be implemented as client devices 160, and satellite constellation system 100 may enable geofencing, lane determination, and vehicle control for the autonomous or highly automated road vehicles.

[0184] Alternatively or additionally, the satellite constellation system 100 may be utilized by an autonomous or highly automated mobile robotic platform. The satellite constellation system 100 may provide position accuracy and / or security for the mobile robotic platform for moving / delivering goods within a small area, shipping yard, or city where the autonomous or highly automated mobile robotic platform is implemented as a client device 160.

[0185] Alternatively or additionally, satellite constellation system 100 may be utilized by autonomous or highly automated air vehicles, urban air vehicles, drones, and / or UAVs. Autonomous or highly automated air vehicles require high integrity (safety critical), accurate, and secure positioning, such as that provided by satellite constellation system 100. Accordingly, autonomous or highly automated road vehicles may be implemented as client devices 160. Satellite constellation system 100 may enable services such as autonomous or highly automated navigation and management of airspace and / or fully automated takeoff, taxi, and landing.

[0186] Alternatively or additionally, the satellite constellation system 100 may be utilized in asset tracking and / or fleet tracking. This may include tracking assets such as UAVs, fleets of trucks and vehicles, as well as motorcycles, scooters, and / or other “last mile” device services. Accordingly, these assets may be implemented as client devices 160. The use of these services requires precision and security, for example, to unlock a motorcycle at a given station and / or to return a user's deposit upon return of the asset.

[0187] Alternatively or additionally, the satellite constellation system 100 can be utilized by transportation services. In ride-sharing scenarios, the satellite constellation system 100 provides both precision and security. Particularly in a robotaxi environment, precision is needed to assist in pairing passengers with vehicles, where accurate navigation is required to correctly determine the vehicle in question. Additionally, location security prevents drivers from faking rides or misleading users, and similarly prevents passengers from misleading drivers (or robotaxi) in terms of pickup location. Thus, these vehicles can be implemented as client devices 160.

[0188] Alternatively or additionally, the satellite constellation system 100 can be utilized in robotic agriculture. The agricultural industry pioneered precise GNSS corrections for machine control and remains the primary sensor for localization in featureless environments such as fields. Currently, tractors require a driver, but as they become more autonomous or highly automated, the driver will become non-existent and positioning security will become critical. Other robotic platforms in agriculture can include UAVs, mobile robotic platforms with wheels, legs, tracks, and / or articulated manipulator arms. Thus, some or all of this agricultural equipment can be implemented as client devices 160.

[0189] Alternatively or additionally, the satellite constellation system 100 may be utilized in Internet of Things (IoT) and / or “big data” security. As IoT devices that connect data to the world in a geospatial sense become more prevalent, the criticality of this data increases. Even when stationary as a routine security check, devices in an IoT network may check their location, possibly even indoors, to verify that their installation location has not been inadvertently or otherwise tampered with. Thus, IoT devices may be implemented as client devices 160.

[0190] Alternatively or additionally, the satellite constellation system 100 may be utilized by insurance entities, for example, where as autonomous or highly automated system interaction increases, who is responsible and secure geolocation information becomes more important in settlement.

[0191] Alternatively or additionally, the satellite constellation system 100 may be utilized in environmental monitoring, as discussed herein. Through radio occultation data, improved spatial and temporal resolution of atmospheric maps may be established to improve scientific and weather prediction models.

[0192] Alternatively or additionally, the satellite constellation system 100 may be utilized in various space applications, as illustrated in Figures 8D and 8E. The client device 160 may be implemented by space-based devices such as space user 800 and space user 810. Users in orbit both at higher altitudes (space user 810) and lower altitudes (space user 800) than the satellite constellation system 100 can utilize the satellite constellation system 100, either in conjunction with or independently of GNSS, to obtain secure and / or precise locations for use in orbit determination, as shown in Figures 8D and 8E. The beamwidth of the navigation signal 240 can be designed and / or adjusted to be an omnidirectional signal, enabling users higher than the satellite constellation system 100, and / or multiple antennas onboard the satellite 110 can support transmission of the navigation signal 240 with more directional beamwidths pointed in various directions.

[0193] As previously discussed, a node of satellite constellation system 100, as discussed herein, may correspond to any device that generates, receives, transmits, modifies, stores, and / or relays messages or other data communicated by satellite constellation system 100. Nodes of satellite constellation system 100 may include one or more satellites 110, one or more ground stations 200 and / or 201, one or more backhaul satellites 150, and / or one or more client devices operable to utilize information contained in messages in the operation of satellite constellation system 100 and / or to display information contained in messages to a user. To illustrate this, FIG. 8G includes ground stations 200 and 201. Similar features can be added to FIG. 8E.

[0194] In various examples, a global positioning receiver configured to receive first signaling from a first plurality of non-LEO navigation satellites of a constellation of non-LEO navigation satellites, the first plurality of non-LEO navigation satellites including four or more non-LEO navigation satellites of the constellation of non-LEO navigation satellites within reception range of the global positioning receiver. The transceiver is configured to transmit and receive inter-node communications with other nodes of the satellite constellation system. The backhaul transceiver is configured to receive precise point positioning (PPP) correction data associated with the constellation of non-LEO navigation satellites, the PPP correction data including orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites, the PPP correction data being received separately from the first signaling. The at least one processor is configured to execute operational instructions that cause the at least one processor to perform operations including: determining a state of a node of the satellite constellation system based on the PPP correction data; and generating a navigation message based on the state of the node of the satellite constellation system, the navigation message including a timing signal and a position of the node of the satellite constellation system, and the navigation message further including orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites. The navigation signal transmitter is configured to broadcast the navigation message to at least one client device, the at least one client device being space-based, and the navigation message facilitates the at least one client device determining an improved position of the at least one client device based on the navigation message.

[0195] In various examples, a node of the satellite constellation system includes a global positioning receiver configured to receive first signaling from a first plurality of non-LEO navigation satellites of a constellation of non-LEO non-LEO navigation satellites around the Earth. The transceiver is configured to transmit and receive inter-node communications with other nodes of the satellite constellation system. The at least one processor is configured to execute operational instructions that cause the at least one processor to perform operations including determining a state of the node of the satellite constellation system based on applying precise point positioning (PPP) correction data to the first signaling, where the PPP correction data is received separately from the first signaling, and generating a navigation message based on the state of the node. The navigation signal transmitter is configured to broadcast the navigation message to at least one client device, where the client device is space-based, and the navigation message facilitates the at least one client device determining an improved position of the at least one client device based on the navigation message.

[0196] 8F presents another scenario in which one satellite 110 is in view, with client device 160 corresponding to a mobile client device, such as a vehicle. When used in conjunction with GNSS satellites of constellation 120, satellite 110 can provide data to enhance the accuracy of GNSS signaling 132. As previously discussed, satellite 110 further adds navigation signals 240 to provide additional range and range rate information. The rapid geometry changes associated with satellite 110 allow for rapid initialization of accurate positioning.

[0197] However, in this example, additional navigation signals 240′ are received from ground station 160-1, such as a terrestrial navigation station, an aircraft, such as UAV 160-2, and one or more other vehicles 160-3. In various embodiments, navigation signals 240′ are formatted similarly to navigation signals 240 to further enhance GNSS accuracy and improve the position, navigation, and timing accuracy of mobile device 160. Furthermore, the presence of many vehicles 160-3 in close proximity, each determining its own position based on accuracy, provides the vehicles with an opportunity to share their positions and operate in a mesh navigation network to collectively improve their position, navigation, and / or timing accuracy as a group. Furthermore, sharing navigation messages 240′ in such a mesh network configuration can be used to identify, model, and track the signal characteristics of mobile jammers in close proximity to client devices 160-1, 160-2, and 160-3. In various embodiments, client devices 160-1, 160-2, and / or 160-3 respond to stored user preferences indicating, for example, whether the user of the corresponding device opts in or out of generating their navigation message 240′.

[0198] As further illustrated, a time transfer satellite 850 is provided that transmits a secure timing signal 852, such as an encrypted signal or other secure signal that provides a true terrestrial timing reference. The time transfer satellite 850 may be implemented via a dedicated satellite specialized for that purpose. Consider a spoofing scenario in which one or more spoofing stations capture and repeat valid signals 132 and / or 140. The secure timing signal 852 can be used by client device 160 to detect spoofing stations by determining that the timing in the signals 132 and / or 140 repeated by these stations varies from the true terrestrial timing of the secure timing signal 852 by more than some acceptable timing threshold.

[0199] In a further example, time transfer satellite 850 may be implemented via one or more other satellites 110 specialized for this purpose via command and control signaling transmitted over inter-satellite link 230. The role of time transfer satellite 850 may be assigned to any of the satellites 110 based on the satellite's memory usage, the memory usage of the other satellites, the distance between the satellite and the backhaul receiver, the satellite's remaining battery power, the difference between the satellite's remaining battery power and the remaining battery power of the other satellites, the estimated time when the satellite can generate more power, the estimated time when the other satellites can generate more power, atmospheric data indicative of atmospheric conditions, and / or other conditions of the particular satellite, particularly compared to the conditions of one or more of the other satellites 110.

[0200] Consider another example in which the integrity monitoring of the LEO constellation 100 determines that one or more particular satellites 110 will no longer be able to generate accurate orbital positioning. The role of these particular satellites 110 may be demoted to the reduced function of providing a secure timing signal 852.

[0201] 8H and 8I present additional examples of satellite constellation systems that may be implemented without (FIG. 8H) and with (FIG. 8I) a broadcast gateway operating as an additional node of satellite constellation system 100 as described above, in addition to, or in the alternative to, any of the foregoing. Each of these examples includes a satellite processing system 865 that includes at least one processor (not specifically shown) and at least one memory (not specifically shown) along with at least one interface (not specifically shown), such as a wired or wireless network interface, that facilitates communication with ground stations 200-1 and 200-2, GNSS receiver 360, and / or client devices 160 via network 250. While client devices 160 are shown as vehicles for illustrative purposes, one or more of client devices 160 may be implemented via smartphones, tablets, smartwatches, laptop computers, autonomous aerial vehicles, and / or other mobile devices as described herein.

[0202] In various examples, satellite processing system 865 functions as a ground node for a LEO satellite navigation system and may include some or all of the functionality of satellite processing system 300. In the example shown, satellite processing system 865 further includes an operations subsystem 870 that assists in the control of LEO satellites 110-i (i=1, 2, ... n) through the generation and processing of control data, such as telemetry, tracking, and command (TT&C) information and / or key management information related to secure access to the constellation by system operators and users.

[0203] As used herein, satellite TT&C refers to the processes and systems used to track, monitor, and control satellites in space. It involves the transmission and reception of signals between the satellite and ground station(s). TT&C is used to maintain the health, safety, security, and functionality of the satellite, as well as to enable efficient data transmission and command execution. TT&C involves the following components: Satellite Tracking: Satellite tracking involves accurately determining a satellite's position and movement in space. This information is essential for a variety of purposes, including predicting the satellite's orbit, ensuring it remains within a designated operating zone, and calculating precise pointing directions for ground-based antennas that communicate with the satellite. Tracking data is obtained through ground-based tracking stations equipped with sensitive antennas and sophisticated tracking systems. Telemetry: Telemetry refers to the process of collecting and transmitting data from a satellite to Earth. Satellites continuously generate telemetry data that contains information about their health, performance, environmental conditions, power systems, and payload status. This data is used to monitor the satellite's well-being, detect anomalies, and make informed decisions about its operation and maintenance. Commanding: Commanding a satellite involves sending instructions from a ground station to the satellite in space. These commands are transmitted using special communication protocols and systems. Ground controllers use command signals to control various aspects of the satellite's operation, such as adjusting the satellite's orbit, activating or deactivating certain systems, or reconfiguring its communication settings.

[0204] Satellite TT&C contributes to: Operational Efficiency: TT&C ensures that satellites are functioning optimally, enabling them to provide reliable service and collect valuable data. Orbital control: By precisely tracking the satellite, ground controllers can monitor and adjust the satellite's orbit as needed to ensure it remains within its designated operating zone and avoids collisions with other satellites or space debris. Anomaly Detection and Troubleshooting: Telemetry data received through TT&C provides valuable insight into the health and performance of the satellite. Any detected anomalies can be quickly investigated, allowing for rapid troubleshooting and resolution of potential issues. Security and Safety: The TT&C allows ground controllers to implement security measures, such as encryption, to protect satellite systems from unauthorized access or interference. They also facilitate emergency procedures in the event of an emergency, allowing for remote shutdown or reconfiguration if necessary.

[0205] Satellite processing system 865 also includes a correction subsystem 872 that generates correction data that is transmitted (e.g., broadcast) to LEO satellites 110-i via one or more ground stations 200-1, either directly, or via backhaul satellites 150 (as in FIG. 8H), or via one or more ground stations 200-3 that function as a broadcast gateway (as in FIG. 8I). A broadcast gateway has the following advantages: Reduce real-time requirements for TT&C segments. Potentially eliminates the need for US TT&C ground stations. It offers a step towards GNSS independence. However, other nodes may need a separate receiver for this channel, and the payload may be directly responsible for real-time correction information. Crosslinks (e.g., inter-satellite links 230) would still be useful for both standard precision correction distribution and for propagating broadcast information outside of the coverage area. Providing high accuracy services either from a gateway perspective (and beyond based on cross-links)

[0206] In the embodiment shown, the operational subsystem 870 and the correction subsystem 872 are implemented via operational instructions that may be executed by different processors of the satellite processing system 865. Although the GNSS receiver 360 and the various ground stations 200-j are shown separate from and coupled via the network 250 to the satellite processing system 865, one or more of these devices may likewise be implemented as components of the satellite processing system 865.

[0207] In various examples, the satellite processing system 865 operates as a ground-based node of the satellite system and includes an interface, such as a network interface, configured to communicate with at least one ground station 200-j over the network 250, at least one memory configured to store operational instructions, and at least one processor configured to execute the operational instructions, which, when executed, cause the at least one processor to: (a) communicating, via at least one ground station, control data with a constellation of LEO navigation satellites 110-I in LEO around the Earth, the control data including telemetry, tracking, and command (TT&C) information corresponding to the constellation of LEO navigation satellites; (b) transmitting, via at least one ground station, the correction data to a plurality of LEO navigation satellites of the constellation of LEO navigation satellites; (c) receiving, via at least one global positioning receiver, a first collection of observations based on signaling from a non-LEO navigation satellite 130 of a constellation of non-LEO navigation satellites around the Earth, the signaling including the collected observations from the constellation of non-LEO navigation satellites; (d) receiving, via at least one ground station, a second collection of observations based on navigation messages from a constellation of LEO navigation satellites, the navigation messages, when received in conjunction with second signaling from a constellation of non-LEO navigation satellites, facilitating the client devices to determine their improved positions, and the navigation messages being generated by the constellation of LEO navigation satellites in response to the correction data; (e) updating correction data based on the first observation collection, the second observation collection, and based on telemetry data corresponding to the constellation of LEO navigation satellites included in the TT&C information; (f) Repeating steps (a) through (e); The operation includes:

[0208] Additionally or alternatively to any of the foregoing, a LEO navigation satellite of the constellation of LEO navigation satellites is configured to determine a corresponding state based on the correction data and further based on signaling from a non-LEO navigation satellite of the constellation of non-LEO navigation satellites, and a navigation message is generated by the LEO navigation satellite of the constellation of LEO navigation satellites based on the corresponding state, the navigation messages each including a timing signal and a position of the LEO navigation satellite, and the navigation message further including orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites.

[0209] In addition to or in the alternative to any of the foregoing, the correction data may include precise point positioning (PPP) correction data corresponding to a constellation of non-LEO navigation satellites, and may further include additional correction data corresponding to a constellation of LEO navigation satellites.

[0210] Additionally or alternatively to any of the foregoing, the control data includes at least one of radio occultation, atmospheric data generated based on the radio occultation, control information associated with satellite orientation, control information associated with satellite attitude, control information associated with satellite status, control information associated with inter-satellite transmission / reception conditions of the satellite, command information associated with inter-satellite transmission / reception status of the satellite, command information associated with inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more other nodes in the satellite system, or constellation integrity information related to the health of one or more non-LEO navigation satellites of a constellation of non-LEO navigation satellites.

[0211] Additionally or alternatively to any of the foregoing, control and correction data may be communicated between satellites of the constellation of LEO navigation satellites via inter-satellite links.

[0212] Additionally or alternatively to any of the foregoing, at least one ground station transmits correction data to the plurality of LEO navigation satellites via a backhaul satellite.

[0213] Additionally or alternatively to any of the foregoing, the at least one ground station that transmits the correction data to the plurality of LEO navigation satellites includes a broadcast gateway that is separate from the at least one ground station that communicates the control data.

[0214] Additionally or alternatively to any of the foregoing, the at least one ground station receiving the second collection of observations is co-located with the at least one ground station communicating the control data.

[0215] Additionally or alternatively to any of the foregoing, the operations further include transmitting the correction data to a client device of client devices connected to the ground-based node via a wireless ground network.

[0216] Additionally or alternatively to any of the foregoing, the constellation of non-LEO navigation satellites is associated with at least one of a Global Positioning System of Satellites, a Quasi-Zenith Satellite System, a BeiDou Navigation System, a Galileo Positioning System, a Russian Global Navigation Satellite System (GLONASS), or an Indian Regional Navigation Satellite System.

[0217] Additionally or alternatively to any of the foregoing, a LEO navigation satellite of the constellation of LEO navigation satellites is configured to determine the corresponding state further based on signaling from GNSS signals transmitted by a plurality of GNSS ground stations.

[0218] Additionally or alternatively to any of the above, the operations further include transmitting the GNSS signals via a plurality of GNSS ground stations to a plurality of LEO navigation satellites of a constellation of LEO navigation satellites.

[0219] Additionally or alternatively to any of the foregoing, the operations further include transmitting an additional navigation message from at least one additional ground station, the navigation message also facilitating the client devices in determining their improved positions when received in conjunction with second signaling from the constellation of non-LEO navigation satellites, the additional navigation message generated by the ground-based node in response to the correction data.

[0220] Consider a further example of operation as follows: Operational subsystem 870 communicates telemetry, tracking, and command (TT&C) information and key management information with satellite 110-i via link 220-2 from ground station 200-1. Ground station 200-2 (which may or may not be co-located with ground station 200-1) receives navigation messages 240-1 from LEO satellite 110 as collected LEO observations 862. Because this ground station 200-2 is located in a fixed position (e.g., a precisely known location), these collected LEO observations 862 can be used along with telemetry data in determining errors / corrections in the orbital position, timing, and / or other conditions of LEO satellite 110-i. Similarly, GNSS receiver 360 can generate collected GNSS observations 860 via link 132, which can be used to determine GNSS errors, such as PPP correction messages and / or other corrections to the orbital position and / or timing of non-LEO satellite 130. In particular, correction subsystem 872 receives collected GNSS observations 860, collected LEO observations 862, and LEO satellite telemetry data from operational subsystem 870 and generates correction data in response. The collected data may include corrections to the orbital positions and / or timing of non-LEO satellites 130, as well as, in some examples, further corrections to the orbital positions and timing corresponding to LEO satellites 110-i themselves.

[0221] In various examples, correction subsystem 872 generates correction data based on an AI methodology that is trained on training data including curve-fitting techniques, timing and / or state estimation techniques, a large set of past observations, and associated correction and / or other estimation or optimization algorithms. This correction data may be transmitted (e.g., broadcast) to LEO satellite 110-i via one or more ground stations 200-1, either directly via link 220-2, or via link 220-1 to backhaul satellite 150 (as in FIG. 8H), or via link 220-3 from one or more ground stations 200-3 acting as a broadcast gateway (as in FIG. 8I). In this latter case, link 220-4 with ground station 200-1 may be dedicated to communicating control data. In various examples, client devices may be connected to satellite processing system 865 via network 250 (e.g., the Internet) and receive the correction data wirelessly via link 868.

[0222] According to these examples, the LEO navigation satellites 110-i are configured to determine their corresponding states based on the correction data and further based on navigation messages 240-1 collected by ground station 200-2 and signaling from non-LEO navigation satellites 130 used to generate navigation messages 240-2 received by client devices 160 associated with various users. These navigation messages may each include timing signals and the positions (e.g., ranging data) of the LEO navigation satellites, and the navigation messages may further include correction data, such as PPP correction data and / or orbit correction data, as well as timing correction data associated with the constellation of non-LEO navigation satellites, used by client devices 160 in conjunction with signaling from the non-LEO satellites 130 to determine their improved positions. As discussed above, client devices 160 connected to satellite processing system 865 via network 250 (e.g., the Internet) may receive correction data wirelessly via link 868 and need not rely on correction data received via navigation messages 240-2.

[0223]

[0066] To reiterate, a node of satellite constellation system 100 may correspond to any device that generates, receives, transmits, modifies, stores, and / or relays messages or other data communicated by satellite constellation system 100, and may include one or more satellites 110, one or more ground stations 200 and / or 201, one or more backhaul satellites 150, and / or one or more client devices operable to utilize information contained in messages in operation and / or to display information contained in messages to a user. In addition to or as an alternative to any of the previous examples, and particularly those presented in conjunction with Figures 8H and 8I, Figure 8J presents an example in which a non-LEO satellite constellation (e.g., a GNSS system) is supplemented by one or more ground stations 130' operating similarly to satellite 130 to transmit similar signals 132' (e.g., similar to signal 132) to satellite 110 in LEO. Given their fixed and precisely determined locations and shorter range to LEO satellites 110, these terrestrial nodes may offer a viable alternative with greater stability, less dependency on atmospheric anomalies, and higher signal power.

[0224] In addition to or as an alternative to any of the examples described above, and particularly the examples presented in conjunction with Figures 8H, 8I, and 8J, Figure 8K presents an example in which a LEO satellite constellation is complemented by one or more ground stations 110' (further examples of ground stations 200 or 201) operating similarly to satellite 110-1 to transmit similar signals 240' (e.g., including navigation messages similar to signal 240) for use by client device 160.

[0225] 8L shows a similar example, but with more or complete independence from GNSS satellites 130. In this case, the satellite system nodes implemented by one or more of GNSS satellites 130 are replaced (and / or supplemented) by terrestrial nodes implemented by ground stations 130′ that provide signals 132′, e.g., formatted in a similar manner as signals 132.

[0226] In various examples, the satellite processing system 865′ operates as a ground-based node of the satellite system and includes an interface configured to communicate with at least one ground station 200-j, at least one memory that stores operational instructions, and at least one processor configured to execute the operational instructions, which, when executed, cause the at least one processor to: (a) communicating, via at least one ground station, control data with a constellation of LEO navigation satellites 110-i in LEO around the Earth, the control data including telemetry, tracking, and command (TT&C) information corresponding to the constellation of LEO navigation satellites; (b) transmitting navigation signaling 132′ to a constellation of LEO navigation satellites via a plurality of other ground stations 130′; (c) transmitting the correction data via at least one ground station to a plurality of LEO navigation satellites of the constellation of LEO navigation satellites; (d) receiving, via at least one ground station, a collection of observations based on navigation messages from a constellation of LEO navigation satellites, the navigation messages facilitating client devices to determine their improved positions, and the navigation messages being generated by the constellation of LEO navigation satellites in response to correction data and navigation signaling from a plurality of other ground stations; (e) updating correction data based on the collection of observations and based on telemetry data corresponding to the constellation of LEO navigation satellites contained in the TT&C information; (f) Repeating steps (a) through (e); The operation includes:

[0227] Additionally or alternatively to any of the foregoing, a LEO navigation satellite of the constellation of LEO navigation satellites is configured to determine a corresponding state based on the correction data and further based on navigation signaling from a plurality of second ground stations, and navigation messages are generated by the LEO navigation satellite of the constellation of LEO navigation satellites based on the corresponding state, the navigation messages each including a timing signal and a position of the LEO navigation satellite, and the navigation messages further including orbit correction data and timing correction data.

[0228] Additionally or alternatively to any of the foregoing, the navigation signals may be formatted as GNSS signals.

[0229] Additionally or alternatively to any of the foregoing, the control data includes at least one of radio occultation, atmospheric data generated based on the radio occultation, control information associated with satellite orientation, control information associated with satellite attitude, control information associated with satellite status, control information associated with inter-satellite transmission / reception conditions of the satellite, command information associated with inter-satellite transmission / reception status of the satellite, command information associated with inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more other nodes in the satellite system, or constellation integrity information related to the health of one or more non-LEO navigation satellites of a constellation of non-LEO navigation satellites.

[0230] Additionally or alternatively to any of the foregoing, control and correction data may be communicated between satellites of the constellation of LEO navigation satellites via inter-satellite links.

[0231] Additionally or alternatively to any of the foregoing, at least one ground station transmits correction data to the plurality of LEO navigation satellites via a backhaul satellite.

[0232] Additionally or alternatively to any of the foregoing, the at least one ground station that transmits the correction data to the plurality of LEO navigation satellites includes a broadcast gateway that is separate from the at least one ground station that communicates the control data.

[0233] Additionally or alternatively to any of the foregoing, at least one ground station receiving the observation collection may be co-located with at least one ground station communicating the control data.

[0234] Additionally or alternatively to any of the foregoing, the operations further include transmitting the correction data to a client device of client devices connected to the ground-based node via a wireless ground network.

[0235] In addition to any of the above additions or alternatives, steps (a)-(f) may be implemented as a method, with or without any of the above additions or alternatives.

[0236] 8M is a flowchart illustrating an example method according to various embodiments. In particular, method 880 is presented for use with satellite processing system 865 or other ground-based nodes of a satellite system and / or one or more of the other functions and features discussed herein. Step 882-1 includes communicating control data with a constellation of LEO navigation satellites in LEO around the Earth via at least one ground station, the control data including telemetry, tracking, and command (TT&C) information corresponding to the LEO navigation satellite constellation. Step 882-2 includes transmitting correction data to a plurality of LEO navigation satellites of the LEO navigation satellite constellation via the at least one ground station.

[0237] Step 882-3 includes receiving, via at least one global positioning receiver, a first collection of observations based on signaling from a non-LEO navigation satellite of a constellation of non-LEO navigation satellites around the Earth, the signaling including collected observations from the constellation of non-LEO navigation satellites. Step 882-4 includes receiving, via at least one ground station, a second collection of observations based on navigation messages from the constellation of LEO navigation satellites, the navigation messages, when received in conjunction with the second signaling from the constellation of non-LEO navigation satellites, facilitate client devices in determining their improved positions, and the navigation messages are generated by the constellation of LEO navigation satellites in response to correction data. Step 882-5 includes updating the correction data based on the first collection of observations, the second collection of observations, and based on telemetry data corresponding to the constellation of LEO navigation satellites included in the TT&C information. The method may repeat steps 882-1 through 882-5 for continuous operation.

[0238] Additionally or alternatively to any of the foregoing, a LEO navigation satellite of the constellation of LEO navigation satellites is configured to determine a corresponding state based on the correction data and further based on signaling from a non-LEO navigation satellite of the constellation of non-LEO navigation satellites, and navigation messages are generated by the LEO navigation satellites of the constellation of LEO navigation satellites based on the corresponding state, the navigation messages each including a timing signal and a position of the LEO navigation satellite, and the navigation messages further including orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites.

[0239] In addition to or as an alternative to any of the foregoing, the correction data includes precise point positioning (PPP) correction data corresponding to a constellation of non-LEO navigation satellites and additional correction data corresponding to a constellation of LEO navigation satellites.

[0240] Additionally or alternatively to any of the foregoing, the control data includes at least one of radio occultation, atmospheric data generated based on the radio occultation, control information associated with satellite orientation, control information associated with satellite attitude, control information associated with satellite status, control information associated with inter-satellite transmission / reception conditions of the satellite, command information associated with inter-satellite transmission / reception status of the satellite, command information associated with inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more other nodes in the satellite system, or constellation integrity information related to the health of one or more non-LEO navigation satellites of a constellation of non-LEO navigation satellites.

[0241] Additionally or alternatively to any of the foregoing, control and correction data may be communicated between satellites of the constellation of LEO navigation satellites via inter-satellite links.

[0242] Additionally or alternatively to any of the foregoing, at least one ground station transmits correction data to the plurality of LEO navigation satellites via a backhaul satellite.

[0243] Additionally or alternatively to any of the foregoing, the at least one ground station that transmits the correction data to the plurality of LEO navigation satellites includes a broadcast gateway that is separate from the at least one ground station that communicates the control data.

[0244] Additionally or alternatively to any of the foregoing, the at least one ground station receiving the second collection of observations is co-located with the at least one ground station communicating the control data.

[0245] Additionally or alternatively to any of the foregoing, the method further includes transmitting the correction data to client devices of client devices connected to the ground-based node via a wireless terrestrial network. This step may also be repeated for continuous operation.

[0246] Additionally or alternatively to any of the foregoing, the constellation of non-LEO navigation satellites is associated with at least one of a Global Positioning System of Satellites, a Quasi-Zenith Satellite System, a BeiDou Navigation System, a Galileo Positioning System, a Russian Global Navigation Satellite System (GLONASS), or an Indian Regional Navigation Satellite System.

[0247] Additionally or alternatively to any of the foregoing, a LEO navigation satellite of the constellation of LEO navigation satellites is configured to determine the corresponding state further based on signaling from GNSS signals transmitted by a plurality of GNSS ground stations.

[0248] Additionally or alternatively to any of the foregoing, the method further includes transmitting the GNSS signals via a plurality of GNSS ground stations to a plurality of LEO navigation satellites of a constellation of LEO navigation satellites.

[0249] Additionally or alternatively to any of the foregoing, the method further includes transmitting additional navigation messages from at least one additional ground station, the navigation messages also facilitating the client devices in determining their improved positions when received in conjunction with second signaling from the constellation of non-LEO navigation satellites, the additional navigation messages being generated by the ground-based node in response to the correction data.

[0250] Figures 9A-9D, 10, 11, and 12A present further functions and features that may be used in addition to or as an alternative to any of the foregoing, and in particular may be used in addition to or as an alternative to any of the functions and features described in conjunction with Figures 8G-8M.

[0251] 9A is a schematic block diagram illustrating an exemplary client device according to various embodiments. In particular, a mobile device 900 is presented that includes a global positioning receiver 904 having an antenna 902 and a processing system 920 having memory 930 and one or more processors 940, and further having additional mobile device components and applications 925 that implement specific mobile device functionality. For example, the mobile device 900 may be an automobile, a tablet, a smartphone, a smartwatch, a laptop computer, another mobile computer or computer system, a navigation device, a device location system, a weather system, a marine navigation system, a rail navigation system, an aircraft, an agricultural vehicle, a surveying system, an autonomous or highly automated vehicle, a UAV, or other mobile device that operates by generating timing, navigation, and / or positioning fixes.

[0252] In various embodiments, the global positioning receiver 904 includes an RF section configured to receive signals 132 in one or more frequency channels from Global Navigation Satellite System (GNSS) satellites 130 of the GNSS constellation 120 and downconvert these signals to GNSS signals 912, each having a ranging signal including clock and ephemeris information for each of the in-range GNSS satellites 130. Similarly, the RF section is configured to receive one or more navigation signals 240 in one or more frequency channels from the satellites 110 of the constellation 100 and downconvert these signals to LEO signals 910, each having a ranging signal including a navigation message including clock and ephemeris information for each of the in-range satellites 110. Additionally, the navigation message may include correction data associated with the GNSS satellites 130, such as PPP correction messages, other clock and orbit correction data, constellation integrity information related to the health of one or more satellites 110, and / or constellation integrity information related to the health of one or more GNSS satellites 130. Furthermore, the LEO signal 910 may include other data included in the navigation signal 240, including, for example, command and control data, RO data, atmospheric or weather data, secure clock data, encryption and security information, and / or any of the other types of data generated or transmitted by the satellites 110, as discussed herein.

[0253] Processing system 920 is configured to generate enhanced position and timing data 922 based on GNSS signals 912 and / or LEO signals 910 for use by mobile device components and applications 925 that use such information, e.g., for precise position, navigation, and timing. Additionally, other data 924 may be demodulated or otherwise extracted by processing system 920 from LEO signals 910 or generated by processing system 920 based on navigation signals 240 and / or signals 132, including, e.g., command and control data, RO data, atmospheric or meteorological data including current weather conditions, weather maps, and / or predictive weather models, secure clock data, encryption and security information, or any of other types of data generated or transmitted by satellites 110. In various embodiments, constellation integrity information is used by processing system 920 to filter out or otherwise ignore signals 132 and / or navigation signals 240 corresponding to satellites identified as bad.

[0254] The operations of the processing system 920 may further include, for example, locking in on the timing of the ranging signals via pseudorandom noise (PRN) codes associated with each satellite 110 and 130, demodulating and decoding the ranging signals from the GNSS signals 912 to generate and extract associated navigation messages from the GNSS satellites 130 within range of the receiver, demodulating and decoding the navigation messages included in the ranging signals of the LEO signals 910 to extract precise position and timing data associated with each satellite 110 along with correction data from the GNSS signals 912, and applying the correction data and atmospheric data to the position and timing information from the navigation messages from the GNSS satellites 130. In various embodiments, the first-order ionospheric delay is mitigated using a combination of dual-frequency GNSS measurements. Otherwise, the ionospheric and tropospheric delays may be corrected using atmospheric models generated based on the RO data. Additionally, the processing system 920 may use closed-loop state estimation techniques such as a Kalman filter, an extended Kalman filter, or other estimation techniques, where the orbital position, clock error, ionospheric delay, tropospheric delay, and / or carrier phase error are estimated states. The precise position of the enhanced position and timing data 922 may be generated by positioning calculations employing navigation equations for the orbital positions and timing of each of the satellites 110 and 130.

[0255] It should be noted that if encryption is employed on the navigation signal 240, decryption may be employed by the global positioning receiver 904 and / or processing system 920 to securely lock onto the ranging signal and / or to further extract data therefrom.

[0256] Consider the following example: A global positioning receiver 904 receives a navigation signal 240 including a navigation message from at least one satellite 110, the navigation signal 240 including correction data associated with a non-LEO constellation of satellites, such as a non-LEO satellite 130. The global positioning receiver 904 also receives a signal 132 from the non-LEO satellite 130. One or more processors 940 are configured to execute operational instructions that cause the processor(s) to perform operations including applying the correction data to the signal 132 to generate corrected signaling, and generating enhanced position data corresponding to a position of a mobile device based on the navigation message and the corrected signaling. In this manner, more accurate position, navigation, and timing can be generated from signals 132 received from satellites of the non-LEO constellation and further based on timing signals and orbital positions associated with satellites 110 using PPP correction messages, other clock and orbit correction data, constellation integrity information related to the health of one or more satellites 110, and / or constellation integrity information related to the health of one or more GNSS satellites 130.

[0257] Consider a further example: A global positioning receiver 904 receives navigation signals 240 including navigation messages from four or more satellites 110. One or more processors 940 are configured to execute operational instructions that cause the processor(s) to perform operations including generating, based on the navigation messages, improved position data corresponding to the location of the mobile device. In this manner, the navigation messages, which may include constellation integrity information related to the health of one or more satellites 110, can be used to generate more accurate position, navigation, and timing based on the timing signals and orbital positions associated with the satellites 110.

[0258] 9B is a schematic block diagram illustrating an exemplary client device according to various embodiments. In particular, another mobile device 900 is presented that includes many common elements presented in conjunction with FIG. 9A , referenced by common reference numerals. However, in this example, additional navigation signals 240′ are received from ground stations 200 and / or 201, such as a terrestrial GPS station, a terrestrial station implemented as a node of satellite constellation system 100, or other ground stations that provide a source of navigation signals 240′. Navigation signals 240′ reside on one of the frequency channels of navigation signals 240. Other frequency channels may be employed to avoid interference with navigation signals 240 and / or signals 132 as well.

[0259] In various embodiments, navigation signals 240′ are formatted similarly to navigation signals 240, and a GPS receiver generates ground station (GS) signals 914 that can include any or all of the information included in LEO signals 910. Processing system 920 is configured to generate enhanced position and timing data 922 based on GNSS signals 912, GS signals 914, and / or LEO signals 910 for use by mobile device components and applications 925 that use such information, e.g., for precise position, navigation, and timing. Additionally, remaining data included in navigation signals 240 and / or 240′ can be processed by processing system 920 or generated by processing system 920 based on navigation signals 240, 240′, and / or signals 132 to generate other data 924, including, for example, command and control data, RO data, atmospheric or weather data, secure clock data, encryption and security information, and any of the other types of data generated or transmitted by satellite 110. In this way, ground station 160-1 acts as an additional satellite with a fixed, and therefore precise, location.

[0260] 8F , the navigation signal 240′ may be generated by the mobile client device 160. Additionally, the mobile device 900 may include a global positioning transmitter 944 that operates similarly to the corresponding function of the satellite 110 in generating the unique navigation signal 240′ transmitted via the antenna 942. In various embodiments, the memory 930 includes stored user preferences indicating, for example, whether the user of the mobile device 900 opts in or out of generating the unique navigation message 240′.

[0261] 9C is a flowchart illustrating an example method according to various embodiments. In particular, the method is presented for use with one or more of the other functions and features discussed herein. Step 950 includes receiving a navigation message from at least one LEO satellite of a constellation of LEO navigation satellites in low Earth orbit (LEO) around the Earth, the navigation message including correction data associated with a constellation of non-LEO navigation satellites in non-LEO around the Earth. Step 952 includes receiving first signaling from a plurality of non-LEO navigation satellites of the constellation of non-LEO navigation satellites in non-LEO around the Earth. Step 954 includes applying the correction data to the first signaling to generate corrected first signaling. Step 956 includes generating an improved position of the mobile device based on the navigation message and the corrected first signaling.

[0262] 9D is a flowchart illustrating an example method according to various embodiments. In particular, the method is presented for use with one or more of the other functions and features discussed herein. Step 960 includes receiving a navigation message from at least one LEO satellite of a constellation of LEO navigation satellites in low Earth orbit (LEO) around the Earth, the navigation message including correction data associated with a constellation of non-LEO navigation satellites in non-LEO around the Earth. Step 962 includes receiving first signaling from a plurality of non-LEO navigation satellites of the constellation of non-LEO navigation satellites in non-LEO around the Earth. Step 964 includes receiving second signaling from at least one terrestrial GPS station at a fixed location. Step 966 includes applying the correction data to the first signaling to generate corrected first signaling. Step 968 includes generating an improved position of the mobile device based on the corrected first signaling, the second signaling, and the navigation message.

[0263] 10 illustrates an exemplary embodiment of a flowchart illustrating an example of implementing self-monitoring. In particular, a method for use in conjunction with one or more of the functions and features described in conjunction with FIGS. 1-8E is presented and is executed by satellite processing system 300 including a processor, or via another processing system of satellite constellation system 100 including at least one processor and memory storing instructions that configure one or more processors to perform some or all of the steps described below.

[0264] Step 1002 includes receiving a first plurality of measurement data via at least one sensor onboard the satellite and / or at least one signal received via a receiver onboard the satellite. For example, the at least one sensor may include an IMU and / or a clock. The at least one signal may include a GNSS signal received from a GNSS satellite and / or a signal generated by another satellite processing system 300. The at least one signal may include a PPP correction received via a backhaul data link. Some or all of the first plurality of measurements may be stored in a memory of the satellite processing system for later use as historical measurements.

[0265] Step 1004 includes calculating first current state data for the satellite at a first current time based on the first plurality of measurement data and / or based on historical measurements retrieved from memory. The current state data may indicate the satellite's position, its attitude, and / or the first current time. Step 1006 includes generating first curve fitting parameter data based on the first current state data. The curve fitting parameter data may indicate a plurality of state estimates for a plurality of consecutive future times within a time window. For example, the time window may be predefined and may start at the current time and / or may start at a time immediately following the current time. Steps 1002, 1004, and / or 1006 may be performed as discussed in conjunction with the state estimator flow illustrated in FIG. 5A.

[0266] Step 1008 includes generating a first navigation message including the first curve fitting parameter data. The first navigation message may be generated according to some or all of the steps illustrated in the navigation message generation flow illustrated in FIG. 5B. Step 1010 includes scheduling the first navigation message for broadcast by a transmitter onboard the satellite during a predetermined portion of a time window. For example, the first navigation message may be scheduled for multiple repeated transmissions within the predetermined portion of the time window. The predetermined portion of the time window may be a suitable subset of the time window and / or may include the entire time window. The predetermined portion of the time window may correspond to a first time portion of the time window, for example, starting from the current time and / or a first of multiple future times and lasting for a predefined period of time. In some embodiments, the predefined period and / or the frequency at which the first navigation message is scheduled for repeated transmission may correspond to and / or be based on a predetermined minimum time to the first fix. The first navigation message may be scheduled and / or transmitted by the transmitter according to some or all of the steps illustrated in the broadcast flow illustrated in FIG. 5C.

[0267] Step 1012 includes receiving a second plurality of measurement data via the same or at least one sensor onboard the satellite and / or at least one signal received via a receiver onboard the satellite. Step 1014 includes calculating second current state data of the satellite at a second current time based on the first plurality of measurement data, where the current state data indicates the satellite's position, the satellite's attitude, and / or the second current time. The second current time may be after the first current time, and the second current time may correspond to one of a plurality of consecutive future times within a time window. Step 1016 includes generating an error metric by comparing the second current state estimate with one of a plurality of state estimates indicated in the curve fitting parameter data for one of the plurality of consecutive future times, as illustrated in the state estimation flow of FIG. 5A .

[0268] In response to determining that the error metric is unfavorable compared to the error threshold, the method may include steps 1018-1024, as illustrated in the state estimation flow of FIG. 5A. Step 1018 includes generating second curve fitting parameter data based on the second current state data, where the curve fitting parameter data indicates a plurality of state estimates for a plurality of consecutive future times within the time window. Step 1020 includes generating a second navigation message including the second curve fitting parameter data. Step 1022 includes suspending scheduling of broadcast of the first navigation message at a time before expiration of a predetermined portion of the time window, and step 1024 includes scheduling the second navigation message for broadcast by the satellite transmitter to begin at and / or shortly after the time. For example, once the second navigation message is generated, the next scheduled transmission of the first navigation message may be replaced by the transmission of the second navigation message.

[0269] 11 illustrates an exemplary embodiment of a flowchart illustrating an example of implementing neighborhood watch. In particular, a method is presented for use in connection with one or more of the functions and features described in conjunction with FIGS. 1-10 and for execution by satellite processing system 300 including a processor, or via another processing system of satellite constellation system 100 including at least one processor and memory storing instructions that configure one or more processors to perform some or all of the steps described below.

[0270] Step 1102 includes receiving at least one GNSS signal received via a first plurality of measurement data, at least one sensor onboard the satellite, and / or a GNSS receiver onboard the first satellite. Step 1104 includes calculating first status data for the first satellite based on the first plurality of measurement data, the first status data indicating a position of the first satellite. Step 1106 includes generating a first navigation message indicating the first status data. Step 1108 includes transmitting the first navigation message to a plurality of neighboring satellites, the first navigation message being transmitted together with a first ranging signal.

[0271] Step 1110 includes receiving, via a receiver onboard the first satellite, a plurality of ranging signals and a plurality of navigation messages from a plurality of neighboring satellites. Each of the plurality of navigation messages may indicate status data for a corresponding one of the plurality of neighboring satellites, and each status data was calculated by the corresponding one of the plurality of neighboring satellites. Step 1112 includes calculating an expected range value for each of the plurality of neighboring satellites by comparing a position of the first satellite with a position of each of the plurality of neighboring satellites indicated in the status data of one of the plurality of navigation messages received from each of the plurality of neighboring satellites. Step 1114 includes calculating a measured range value for each of the plurality of neighboring satellites based on one of the plurality of ranging signals received from each of the plurality of neighboring satellites. Step 1116 includes calculating a range error by comparing the expected range value for each of the plurality of neighboring satellites with the measured range value for each of the plurality of neighboring satellites.

[0272] Step 1118 includes identifying at least one of the plurality of neighboring satellites having an unfavorable range error compared to a range error threshold. Step 1120 includes transmitting, via a transmitter onboard the first satellite, a range error notification to at least one of the plurality of neighboring satellites indicating that the range error is unfavorable compared to the range error threshold. Step 1122 includes receiving, via a receiver onboard the first satellite, a status notification from at least one of the plurality of neighboring satellites indicating the unfavorable status, wherein at least one of the plurality of satellites generated the status notification indicating the unfavorable status in response to receiving the range error notification transmitted by the first satellite.

[0273] Some or all of the multiple nearby satellites may each include their own satellite processing system 300, and some or all of the multiple nearby satellites may be operable to similarly perform some or all of these steps of FIG. 10.

[0274] In various embodiments, the method further includes receiving a second plurality of measurement data, e.g., at a different time, via at least one of at least one sensor onboard the first satellite or at least one GNSS signal received via a GNSS receiver onboard the first satellite. The method further includes calculating second status data of the first satellite for the second plurality of measurement data, the second status data indicating a second position of the first satellite, e.g., at the different time. The method further includes generating a second navigation message indicating the second status data. The method further includes transmitting the second navigation message to a plurality of neighboring satellites in conjunction with the second ranging signal. The method further includes receiving a range error notification from a subset of the plurality of neighboring satellites via the receiver onboard the first satellite. The range error notification was transmitted by each of the plurality of neighboring satellites in the same manner as illustrated in FIG. 11 in response to each of the subset of the plurality of neighboring satellites determining that the second range error is unfavorable compared to a range error threshold. In particular, each of the subset of the plurality of nearby satellites calculated a second range error for the first satellite by comparing a second expected range value for the first satellite with a measured range value for the first satellite. Each of the subset of the plurality of nearby satellites calculated the second measured range value for the first satellite based on the second ranging signal received from the first satellite, and each of the subset of the plurality of nearby satellites calculated the second expected range value for the first satellite by comparing the second position of the first satellite with a current position. Each of the subset of the plurality of nearby satellites calculated a respective current position based on measurement data collected by each of the subsets of the plurality of nearby satellites.

[0275] In various embodiments, the method further includes determining that the status of the first satellite is unfavorable in response to determining that a percentage of a plurality of neighboring satellites included in the subset of the plurality of neighboring satellites is unfavorable compared to a maximum threshold percentage. The method may further include transmitting, via a transmitter onboard the satellite, status notifications to the plurality of neighboring satellites indicating the unfavorable status of the satellite. For example, the maximum threshold percentage may specify that at least a predetermined number and / or percentage of satellites must have transmitted range error notifications to the first satellite for the first satellite to determine that the status of the first satellite is unfavorable. If fewer than the maximum threshold percentage of satellites transmit range error notifications to the first satellite, the first satellite may determine that the status of the first satellite is favorable. In some embodiments, the range error notifications may be generated by the neighboring satellites to include a calculated range error value, and the first satellite determines whether the status is unfavorable as a function of the number of satellites from which the calculated range error originates and the value of the range error in each notification. For example, if these range error notifications indicate a high range error, then fewer satellites may be required to have sent range error notifications, whereas if these range error notifications indicate a lower range error, then a greater number of satellites may be required to have sent range error notifications.

[0276] In some embodiments, the method further includes determining a status of each of the subset of the plurality of neighboring satellites as unfavorable in response to determining that a percentage of the plurality of neighboring satellites included in the subset of the plurality of neighboring satellites is unfavorable compared to a minimum threshold percentage. The method may further include transmitting, via a transmitter onboard the satellite, a notification to the subset of the plurality of neighboring satellites indicating the unfavorable status of the subset of the plurality of neighboring satellites. The minimum threshold percentage may be the same as, less than, and / or substantially less than the maximum threshold percentage. For example, the minimum threshold percentage may specify that fewer than a predefined number and / or percentage of satellites must have transmitted range error notifications to the first satellite for the first satellite to determine that the status of these satellites is unfavorable. If more than the minimum threshold percentage of satellites transmit range error notifications to the first satellite, the first satellite may determine that the status of these satellites is favorable and / or may not conclude that the status of these satellites is unfavorable. In some embodiments, neighboring satellites are only determined to be unfavorable if they were the only satellites among the plurality of neighboring satellites that transmitted range error notifications.

[0277] 12A-12N present an embodiment of a satellite constellation system 100 configured to facilitate generation of and / or synchronization with precise timing data, such as atomic time, by a client device 160 and / or one or more of its nodes. For example, a satellite 110 or other node of the satellite constellation system 100 can generate a navigation signal 240 to indicate status data, including clock status data of a clock utilized to generate the navigation signal 240, as discussed herein. The client device 160, or other node receiving the navigation signal 240, can generate its own status data, such as its improved position and timing data 922, based on generating or establishing synchronization with atomic time. These client devices can generate and / or establish synchronization with atomic time based on the navigation signal 240, even though these navigation signals 240 are not generated via atomic clocks or other high-precision clocks aboard the corresponding satellite 110 and / or other nodes that generated these navigation signals 240. Thus, the satellite constellation system 100 may be configured to distribute or otherwise facilitate synchronization with atomic time even if corresponding high-precision clocks are not implemented onboard its satellites 110 and / or nodes.

[0278] This feature can be ideal because high-precision clocks can be much more expensive than non-atomic clocks. For example, requiring high-precision clocks onboard satellites 110 to reliably generate navigation signals that enable receiving client devices 160 to establish improved position and / or timing data 922, as described herein, can make each satellite significantly more expensive than satellites that include non-high-precision clocks. Facilitating the distribution of and / or synchronization with high-precision time without requiring the implementation of on-board high-precision clocks can improve navigation and / or satellite communication system technology by allowing some or all of the satellites 110 and / or other nodes in the satellite constellation system 100 to be built using cheaper components without sacrificing the ultimate generation of precision timing data by client devices receiving those navigation signals 240.

[0279] Furthermore, because individual satellites 110 and / or other nodes of the satellite constellation system 100 can be constructed more cheaply by including non-atomic clocks, more satellites can be constructed and launched with the same amount of financial resources, thereby further improving navigation and / or satellite communication system technology by, for example, enabling more global coverage where more satellites are expected and / or guaranteed from the perspective of a given client device 160 on Earth, thereby increasing the ability of a given client device 160 to generate improved position and timing data 922 via the satellite constellation system 100 and / or increasing the proportion of client devices 160 on Earth that can generate improved position and timing data 922 due to the greater number of satellites included in the satellite constellation system 100.

[0280] As used herein, "atomic time" may correspond to "true solar time." Atomic time may be established by one or more atomic clocks or one or more other high-precision clocks. For example, atomic time may be established based on signals generated by multiple GNSS satellites 130 of a GNSS satellite constellation via their own high-precision clocks, such as their atomic clocks.

[0281] As used herein, a "high precision clock" may correspond to any clock and / or clock ensemble that has the precision and / or long-term stability of an atomic clock. A "high precision clock" may correspond to any clock and / or clock ensemble that is operable to generate a clock signal that conforms to atomic time and is characterized as having long-term stability and / or has long-term stability that is preferable compared to the threshold stability required to establish atomic time and / or high precision time. For example, a "high precision clock" may be implemented as one or more atomic clocks or any other type of clock and / or clock ensemble that emulates the precision, long-term stability, and / or some or all other functions of an atomic clock.

[0282] As used herein, a "non-atomic clock" may correspond to any clock and / or clock ensemble that is not a high-precision clock and / or is not an atomic clock. For example, a "non-atomic clock" is not operable to generate a clock signal that conforms to atomic time, is not characterized as having long-term stability, has unfavorable long-term stability compared to the threshold stability required for keeping atomic time and / or high-precision time, has unfavorable long-term stability compared to the long-term stability of a high-precision clock, generates a clock signal that has a known and / or unknown error with respect to atomic time and / or high-precision time, and / or is otherwise unable to have some or all of the functionality of a high-precision clock and / or atomic clock.

[0283] Atomic time may be established by one or more processing systems, such as the processing systems of satellite 110 and / or client device 160, and / or another processing system that does not include and / or is not coupled to its own atomic clock based on receiving a signal indicative of atomic time, synchronizing with the atomic time, calculating and / or correcting the clock error of one or more of the non-atomic clocks and / or one or more non-high-precision clocks of the other processing system, and / or otherwise determining atomic time. For example, a processing system that does not include and / or is not coupled to its own atomic clock can determine true atomic time if it has information regarding the error of its own non-atomic clock and / or sufficient other information, such as the error of a non-atomic clock that transmitted a navigation signal used to establish true atomic time. An example of this determination of atomic time by utilizing non-atomic clocks is discussed in further detail in conjunction with FIGS. 12A-12N.

[0284] 12A illustrates an exemplary embodiment of a flowchart illustrating an example of performing orbit determination. In particular, a method is presented for use in connection with one or more of the functions and features described in conjunction with FIGS. 1-11 , performed by satellite processing system 300 including a processor, or via another processing system of satellite constellation system 100 including at least one processor and memory storing instructions that configure one or more processors to perform some or all of the steps described below.

[0285] Step 1204 includes receiving a plurality of measurement data via at least one receiver onboard the satellite, the plurality of other measurement data including Global Navigation Satellite Data (GNSS) data received from GNSS satellites and / or including Precise Point Positioning (PPP) correction data received from a space-based backhaul. For example, a clock signal generated by a clock onboard the satellite 110 may be utilized by the GNSS receiver onboard the satellite to receive GNSS signals from the GNSS satellites and / or the clock signal may be utilized by an analog-to-digital converter onboard the satellite 110 to generate GNSS data from the GNSS signals received by the GNSS receiver.

[0286] Step 1206 includes calculating a satellite clock state based on the GNSS data and / or the PPP correction data, where the clock state includes a clock bias, a clock drift, and / or a clock drift rate. Step 1208 includes generating a navigation message indicating the clock state data. Step 1210 includes generating a broadcast carrier signal using a clock signal. This clock signal may be the same clock signal as and / or disciplined to the clock signal used in step 1204. For example, this clock signal may be the same clock signal used by the GNSS receiver to receive GNSS signals from the GNSS satellites, disciplined to the clock signal used by the GNSS receiver to receive GNSS signals from the GNSS satellites, the same clock signal used by an analog-to-digital converter onboard the satellite 110 to generate GNSS data from the GNSS signals received by the GNSS receiver, and / or disciplined to the clock signal used by an analog-to-digital converter onboard the satellite 110 to generate GNSS data from the GNSS signals received by the GNSS receiver.

[0287] Step 1212 includes generating a navigation signal for broadcast by modulating a spreading code onto a broadcast carrier signal. Step 1214 includes adding additional data to the navigation signal for broadcast by modulating a navigation message onto the broadcast carrier signal. Step 1216 includes facilitating broadcast of the navigation signal via a transmitter onboard the satellite.

[0288] FIG. 12B illustrates an embodiment of a satellite processing system 300. The satellite processing system 300 of FIG. 12B may be implemented onboard a satellite 110, a client device 160, a ground station 200, a backhaul satellite 150, and / or any other node of the satellite constellation system 100 described herein. The satellite processing system 300 of FIG. 12B may be implemented using some or all of the features and / or functionality of the satellite processing system of FIG. 3B. The satellite processing system 300 of FIG. 12B may be implemented to perform some or all of the steps of FIG. 12A and / or some or all of the steps of FIG. 12M. Some or all of the features and / or functionality of the satellite processing system 300 of FIG. 12B may be used to implement any other embodiment of the satellite processing system 300 described herein.

[0289] Satellite processing system 300 may include and / or be operatively coupled to clock 365. Clock 365 may be implemented via an OCXO, another type of crystal oscillator, and / or any other clock. Clock 365 may be on-board and / or implemented within corresponding satellite 110, backhaul satellite 150, ground station 200, client device 160, or other node of a satellite processing system implementing satellite processing system 300. Clock 365 may be implemented as one or more of clocks 365 of FIG. 3B. Clock 365 may be implemented as a non-atomic clock.

[0290] The satellite processing system 300 may implement a navigation signal reception processing module 1220. The navigation signal reception processing module 1220 may utilize at least one antenna 1201 to receive at least one signal 132, such as a GNSS signal, generated by at least one corresponding GNSS satellite 130. For example, the at least one antenna 1201 may be implemented via the GNSS receiver 360 of FIG. 3B.

[0291] The navigation signal reception processing module 1220 may include at least one processor and may be configured to generate status data 1240 by utilizing the at least one processor. The status data 1240 may be generated to include clock status data 1245 that characterizes the clock 365. The status data 1240 may additionally include the clock status data 1245, orbital position data, timing status data, and / or other status data of corresponding satellites and / or nodes, etc., as described herein. As previously discussed, multiple state data 1240 may be generated over time as the same or different one or more signals 132 are received over time, with the latest state data 1240 indicating the latest estimated and / or calculated state of the satellite 110 and / or other nodes implementing a given satellite processing system 300, optionally updated from previous state data 1240 due to estimated and / or calculated changes in the state of the satellite 110 and / or other nodes at a given time corresponding to the latest state data 1240 from a previous time corresponding to the previous state data 1240.

[0292] The navigation signal reception processing module 1220 may receive a clock signal 1266 generated by the clock 365. The navigation signal reception processing module 1220 may perform some or all of its functions based on utilizing the clock signal 1266 to process such input signals 132 and generate the status data 1240. For example, one or more local clocks of the navigation signal reception processing module 1220 may be disciplined to this clock signal 1266, and / or the functions of the navigation signal reception processing module 1220 may otherwise be performed based on applying the clock signal 1266 and / or not applying the clock signal of another clock in the satellite processing system 300.

[0293] In particular, clock state data 1245 may be generated and updated over time with state data 1240 generated via reception of signal 132 over time. Clock state data 1245 may change over time to reflect estimated and / or calculated changes in the state of clock 365, such as characterizing changes in the error of clock signal 1266 relative to atomic time.

[0294] The satellite processing system 300 may implement a navigation signal generation and transmission module 1230. The navigation signal generation and transmission module may broadcast the navigation signal 240 via at least one antenna 1202. For example, the at least one antenna 1202 may be implemented via the navigation signal transmitter 330 of FIG.

[0295] The navigation signal generation and transmission module 1230 may include at least one processor and may be configured to generate the navigation signal 240 by utilizing the at least one processor. The navigation signal 240 may be generated to include some or all of the status data 1240, such as clock status data 1245, orbital position data, timing status data, and / or other status data of the corresponding satellites and / or nodes, as described herein.

[0296] The navigation signal generating and transmitting module 1230 may also receive a clock signal 1266 generated by the clock 365. The navigation signal generating and transmitting module 1230 may perform some or all of its functions, such as generating the navigation signal 240 including the status data 1240, based on utilizing the clock signal 1266. For example, one or more local clocks of the navigation signal generating and transmitting module 1230 may be disciplined to this clock signal 1266, and / or the functions of the navigation signal generating and transmitting module 1230 may be otherwise performed based on applying the clock signal 1266 and / or applying a clock signal of another clock in the satellite processing system 300.

[0297] In some embodiments, at least one processor implementing the navigation signal reception processing module 1220 may include one or more shared processing resources with at least one processor implementing the navigation signal generation and transmission module 1230. In other embodiments, at least one processor implementing the navigation signal reception and processing module 1220 is entirely different from at least one processor implementing the navigation signal generation and transmission module 1230.

[0298] In some embodiments, at least one processor of the navigation signal reception processing module 1220 is implemented via at least one processor of the GNSS receiver 360. In some embodiments, at least one local clock of the GNSS receiver 360, which is utilized to perform some or all of the functions of the navigation signal reception processing module 1220, such as generating ranging data based on the signal 132 to generate the status data 1240, is disciplined to the clock signal 1266. Alternatively or additionally, the GNSS receiver 360 performs some or all of its functions, such as generating ranging data, in another manner based on receiving and utilizing the clock signal 1266. Alternatively or additionally, the local clock of the GNSS receiver 360 is implemented as the clock 365, and the clock signal of this local clock of the GNSS receiver 360 is also received and utilized by the navigation signal generation and transmission module 1230 as the clock signal 1266.

[0299] In some embodiments, at least one processor of the navigation signal generation and transmission module 1230 is implemented via at least one processor of a software-defined radio (SDR). In some embodiments, at least one local clock of the SDR used to perform some or all of the functions of the navigation signal generation and transmission module 1230, such as generating a carrier signal and / or modulating data onto the carrier signal, is disciplined to the clock signal 1266. Alternatively or additionally, the GNSS receiver 360 performs some or all of its functions, such as generating a carrier signal and / or modulating data onto the carrier signal, based on receiving and utilizing the clock signal 1266 in another manner. Alternatively or additionally, the local clock of the SDR is implemented as a clock 365, and the clock signal of this local clock of the SDR is also received and utilized by the navigation signal reception processing module 1220 as the clock signal 1266.

[0300] In particular, as described in further detail herein, the use of the same clock signal 1266 by both the navigation signal reception processing module 1220 and the navigation signal generation and transmission module 1230 allows the client device 160 receiving and processing the navigation signals 240 to properly account for any clock error induced in the generation and transmission of the navigation signals 240. In particular, based on the signals 132 being generated via an atomic time source, all clock errors and / or a substantial portion of the clock errors induced in the reception and processing of these signals 132, such as discrepancies between the range measurements of the signals 132, the transmission times indicated in the data for the signals 132, and the measured reception times generated using the clock signal 1266, can be attributed to errors of the clock signal 1266 relative to true atomic time. This error can be characterized by the clock state data 1245, and based on the navigation signals 240 being generated and transmitted using the same clock signal used to receive and process the received signals 132, any clock error induced in the generation and transmission of the navigation signals 240 can similarly be characterized. Thus, when client device 160 receives navigation signals 240, any of these clock errors in the generation and transmission of navigation signals 240 can be corrected for and / or otherwise accounted for based on extracting and utilizing clock state data 1245 included in those navigation signals 240. Any remaining errors can be attributed to the client device's own clock errors when receiving the signals, and accurate atomic time can be established by client device 160. This relationship between clock errors and the establishment of atomic time by satellite processing system 300 and client device 160 will be considered in conjunction with a first order example illustrated in Figures 12I-12L.

[0301] Thus, this use of the same clock signal by both the navigation signal reception processing module 1220 and the navigation signal generation and transmission module 1230 enables the generation and transmission of clock state data 1245 that characterizes clock errors induced in generating and transmitting the corresponding navigation message 240 via a non-atomic clock, improving navigation system technology by enabling receiving devices to establish atomic time despite these clock errors induced in generating and transmitting the corresponding navigation message 240, and despite their own additional clock errors induced in receiving and processing the navigation message 240. In particular, if the clock errors induced in generating and / or transmitting the navigation signal 240 via a non-atomic clock are not properly characterized, receiving devices may not be able to establish atomic time unless their own clock errors are known and / or properly characterized. This is not the case for the clocks of many client devices 160 utilized to receive the signals; therefore, when signals are transmitted via non-atomic clocks, this communication of clock state data 1245 may be required for corresponding client devices to establish atomic time.

[0302] The generation of accurate clock state data 1245 may rely on utilizing the use of signals generated according to and / or through synchronization with atomic time. In particular, if the clock signal utilized to transmit navigation signal 240 is different from the clock signal utilized to receive and process signal 132, additional measurement data and / or information may be required to determine the clock state of this different clock signal utilized to transmit navigation signal 240.

[0303] In some embodiments, clock 365 may be implemented via a clock having desirable short-term stability. As used herein, “short-term stability” may correspond to stability within a given short time frame (e.g., seconds) that is desirable relative to a stability threshold. In particular, because time lapses between the reception of signal 132 and the transmission of signal 240, clock state data 1245 generated based on the clock error of clock signal 1266 upon receiving and processing signal 132 does not necessarily characterize the clock error of clock signal 1266 upon subsequent generation and transmission of signal 240 including this clock state data 1245 if clock signal 1266 is not stable within the short time frame because the clock error may change within the time between the received signal 132 and the transmitted navigation signal 240. Instead, the short-term stability of the clock 365 may be utilized to ensure and / or estimate that the clock state data 1245 characterizing the state of the clock signal 1266 at the time the signal 132 was received and processed can accurately, and / or approximately within a given threshold, characterize the state of the clock signal 1266 at a time after the navigation signal 240 containing this clock state data 1245 is transmitted. In some embodiments, the short-term stability of the clock 365 may be preferable and / or otherwise more stable than the short-term stability of a high-precision clock, such as the atomic clock of a GPS satellite, implemented to generate the navigation signal 132.

[0304] Figure 12C illustrates an embodiment of a satellite processing system 300. Some or all of the features and / or functionality of the satellite processing system 300 of Figure 12C can be utilized to implement the satellite processing system 300 of Figure 12B and / or any other embodiment of the satellite processing system 300 described herein.

[0305] The navigation signal reception processing module 1220 may implement the GNSS receiver 360 of Figure 3B and / or the orbit determination module 322 of Figure 3B. The orbit determination module 322 may be operable to generate the state data 1240 based on implementing some or all of the features and / or functions discussed in conjunction with the state estimator flow of Figure 5A. A clock signal 1266 may be utilized to implement the orbit determination module 322 of the GNSS receiver 360 and / or the navigation signal reception processing module 1220.

[0306] The navigation signal generation and transmission module may implement the navigation signal transmitter 330, the navigation message generator module 323, and / or the message schedule module 324 of FIG. 3B. The navigation message generation module 232 may generate a navigation message including some or all of the status data 1240, for example, based on implementing some or all of the features and / or functions discussed in conjunction with the navigation message generation flow of FIG. 5B, and / or may otherwise generate a navigation message for inclusion in the navigation signal 240 as described herein. The message schedule module 324 may generate a navigation signal based on implementing some or all of the features and / or functions discussed in conjunction with the broadcast flow of FIG. 5C.

[0307] The clock signal 1266 may be utilized to implement the navigation signal transmitter 330, the navigation message generator module 323, and / or the message schedule module 324 of the navigation signal generation and transmission module 1230. For example, the message schedule module 324 may generate the navigation signal for transmission according to scheduling and modulating the navigation message at the scheduled time by applying the clock signal 1266.

[0308] Figure 12D illustrates an embodiment of a satellite processing system 300. Some or all of the features and / or functionality of the satellite processing system 300 of Figure 12D can be utilized to implement the satellite processing system 300 of Figure 12B and / or any other embodiment of the satellite processing system 300 described herein.

[0309] The signal reception processing module 1220 may implement an internal signal generator 1222 configured to utilize the clock signal 1266 to generate at least one internal signal 1223. For example, the one or more internal signals 1223 may be generated according to at least one frequency, e.g., corresponding to at least one frequency of the signal 132. As another example, the one or more internal signals 1223 may be generated according to a spreading code, e.g., corresponding to at least one spreading code of the signal 132. In some embodiments, the internal signal generator 1222 is implemented via the GNSS receiver 360 of the satellite processing system 300 and / or other processing resources of the satellite processing system 300.

[0310] The signal reception processing module 1220 may implement a correlator module 1224 configured to, for example, cross-correlate the signal 132 with the internal signal 1223. The correlator module 1224 may be configured to generate ranging data 1225 based on, for example, identifying peaks in the correlator module's correlation data and further identifying time ranges, such as the number of peaks in the signal 132 and / or the internal signal 1223 and / or the number of bits in the signal 132 and / or the internal signal 1223, corresponding to a time span between transmission and reception of the signal 132, such as a particular peak and / or particular data in the signal 132, and / or corresponding to a physical distance between the corresponding satellite 110 and / or other node implementing the satellite processing system 300 and the satellite 130 that transmitted the signal 132, for example, based on applying a value for the speed of light to the time span. In some embodiments, the correlator module 1224 is implemented via the GNSS receiver 360 of the satellite processing system 300 and / or other processing resources of the satellite processing system 300.

[0311] The ranging data 1225 may be utilized by a state estimation module 1226 to generate state data 1240, including clock state data 1245 and / or other state data, such as the orbital positions of the corresponding satellites 110 and / or other nodes implementing the satellite processing system 300. The state estimation module may optionally utilize correction data 1227, such as PPP correction data or other correction data received from the backhaul satellites 150 and / or the ground station 200, to apply corresponding corrections to generate the state data 1240, as described above. In some embodiments, the state estimation module 1226 is implemented via the orbit determination module 322 of the satellite processing system 300 and / or any other processing resources of the satellite processing system 300. In some embodiments, the state estimation module 1226 is implemented based on performing some or all features and / or functions of the state estimation flow of FIG. 5A and / or the navigation message generator flow of FIG. 5B to generate the state data 1240.

[0312] Figure 12E illustrates an embodiment of a satellite processing system 300. Some or all of the features and / or functionality of the satellite processing system 300 of Figure 12E can be utilized to implement the satellite processing system 300 of Figure 12D and / or any other embodiment of a satellite processing system 300 described herein.

[0313] 12D may further implement and / or be operatively coupled to a message extraction module 1228 operable to extract messages and / or other data modulated on one or more carrier signals of the signal 132. This may include extracting a transmission time 1251, such as a timestamp and / or time data, included in the navigation message of the signal 132, where the navigation message includes the transmission time and / or indicates the time of transmission of the corresponding bit of the signal 132, which corresponds to the start of the navigation message. The transmission time 1251 may indicate seconds and / or weeks. The transmission time 1251 may follow a time format associated with a GNSS constellation that includes the GNSS satellite 130 that generates the signal 132.

[0314] In some embodiments, a current time corresponding to true atomic time can be established based on utilizing a given transmission time 1251, subsequently received transmission times 1251, and / or subsequent peaks and / or bits of signal 132 in conjunction with signal 132 of known frequency, and can be synchronized and / or locked into atomic time as signals 132 continue to be received over time from the same or different one or more GNSS satellites 130, e.g., as different GNSS satellites 130 move in and out of view of the satellite 110 implementing the satellite processing system as the satellite 110 orbits over time. Status data 1240 may optionally indicate and / or be based on the current time as timing data and / or transmission time values, e.g., in the same or different time format as transmission time 1251 and / or at the same or different scheduled recurrence as transmission time 1251. In some embodiments, some transmission times 1251 are not extracted directly from the signal 132 message, but instead are generated to reflect the current time.

[0315] The correlator module 1224 may further be implemented to generate a range measurement 1259 and a measured time of receipt 1252′. For example, the range measurement may be a pseudo-range measurement or other value of the range data 1225 measured when cross-correlating the signal 132 with an internal signal. The measured time of receipt 1252′ may correspond to the measured time of the corresponding bit and / or portion of the signal 132 whose transmission time was received, for example, as measured using the clock signal 1266 and / or the internal signal 1223.

[0316] The state estimation module may generate clock state data 1245 as a function of transmission time 1251, range measurement 1259, and / or measured reception time 1252'. For example, a given clock state data 1245.i corresponding to the clock state upon reception of a portion of a signal indicating a given transmission time 1251.i may optionally further be generated based on previous clock state data 1245.i-1 and / or based on updating a corresponding estimation filter. This previous clock state data 1245.i-1 may be accessed in memory module 310 and / or another memory of satellite processing system 300 that stores at least one previous clock state data, such as clock state data 1245.i-1. The newly generated clock state data 1245.i may be stored in memory module 310 and used in generating one or more subsequent clock state data 1245, such as subsequent clock data 1245.i+1, for one or more subsequent transmission times 1251, such as subsequent transmission time 1251.i+1 or other subsequent current times. The newly generated clock state data 1245.i may replace the previous clock state data 1245.i-1, where only the most recent clock state data 1245 is maintained in memory. Alternatively, a log of multiple clock state data 1245 may be maintained in memory, with the newly generated clock state data 1245.i being added to memory for storage along with at least the previous clock state data 1245.i-1.

[0317] In particular, clock state data 1245 may include clock bias 1246, which may indicate, for example, a bias value of clock signal 1266 of clock 365 relative to atomic time and / or relative to a time established based on received signal 132. Clock bias 1246 may be determined based on transmission time 1251, ranging value 1259, and / or measured reception time 1252′.

[0318] The clock state data 1245 may include a clock drift 1247 that may indicate, for example, a drift value of the clock signal 1266 of the clock 365 relative to atomic time and / or relative to a time established based on the received signal 132. This clock drift 1247 may correspond, for example, to the derivative and / or differential of the clock bias 1246 from one or more previous clock states to the current clock state. For example, the clock bias 1246 of the previous clock state data 1245.i-1 and the clock bias 1246 of the new clock state data are utilized to determine the clock drift 1247 of the new clock state data 1245.i.

[0319] The clock state data 1245 may include a clock drift rate 1248 that may indicate, for example, a drift rate value of the clock signal 1266 of the clock 365 relative to atomic time and / or relative to a time established based on the received signal 132. This clock drift rate 1248 may correspond, for example, to a derivative and / or differential of the clock drift 1247 from one or more previous clock states to the current clock state and / or a second derivative and / or differential of the clock bias 1246. For example, the clock drift 1247 of the previous clock state data 1245.i-1 and the clock drift 1247 of the new clock state data are utilized to determine the clock drift rate 1248 of the new clock state data 1245.i. As another example, the clock bias 1246 of the multiple previous clock state data 1245.i-1 to 1245.ik and the clock bias 1246 of the new clock state data are utilized to determine the clock drift rate 1248 of the new clock state data 1245.i.

[0320] The clock bias 1246, clock drift 1247, and / or clock drift rate 1248 of the clock state data 1245 may optionally be generated and stored over time, as discussed in conjunction with the state estimator flow of Figure 5A. The clock bias 1246, clock drift 1247, and / or clock drift rate 1248 of the clock state data 1245 may optionally include, implement, and / or be represented as some or all of the curve fitting parameters and / or propagated state data discussed in conjunction with Figure 5B. For example, the propagated state data includes propagated clock state data based on the clock bias 1246, clock drift 1247, and / or clock drift rate 1248.

[0321] 12E , additional derivatives and / or differentials, such as any Nth derivative and / or differential of clock bias 1246, may be generated for given clock state data 1245 to characterize clock 365. Alternatively or additionally, any other distribution information, estimates, and / or other characterizations of clock signal 1266, such as any type of measured and / or estimated error relative to atomic time, may be indicated and / or determined based on one or more clock state data 1245 generated over time.

[0322] 12E, in some embodiments, the latest clock state data 1245 can be applied and utilized to the clock signal 1266, e.g., generating the internal signal 1223 and / or determining the measured time of receipt 1252' includes applying the latest clock state data 1245 to the clock signal 1266 and utilizing it to correct for any known clock errors of the clock 365. Alternatively, as illustrated in FIG. 12E, the clock state data simply indicates these errors, and the clock signal 1266 is not adjusted when generating the internal signal 1223 and / or generating the measured time of receipt 1252'.

[0323] Figure 12F illustrates an embodiment of a satellite processing system 300. Some or all of the features and / or functionality of the satellite processing system 300 of Figure 12F can be utilized to implement the satellite processing system 300 of Figure 12B and / or any other embodiment of the satellite processing system 300 described herein.

[0324] The signal reception processing module 1220 may implement a navigation message generator 1234 configured to generate a navigation message including clock state data 1245. The navigation message 1235 may further include a transmission time 1251 and / or a timestamp or other time data indicating the current time generated by the navigation signal reception processing module based on synchronization with atomic time, as previously discussed.

[0325] The signal reception processing module 1220 may implement a broadcast carrier signal generator 1232 configured to generate a broadcast carrier signal utilizing a clock signal 1266. For example, the broadcast carrier signal 1233 is generated at one or more configured and / or predefined frequencies based on the clock signal 1266. The actual frequency of the broadcast carrier signal 1233 at a given time may differ from the corresponding configured and / or predefined frequency, the difference being based on the corresponding clock signal 1266 error, such as a non-zero clock bias, clock drift, and / or clock drift rate. For example, the difference between the actual frequency and the configured and / or predefined frequency may be a deterministic and / or increasing function of the clock bias 1246.

[0326] The signal reception processing module 1220 may implement a modulation module 1238 configured to generate a navigation signal 240 for broadcast based on modulating a navigation message 1235 onto a broadcast carrier signal 1233. The modulation module 1238 may optionally modulate a spreading code 1237 onto the broadcast carrier signal 1233 that, for example, identifies a satellite 110 or other node implementing the satellite processing system 300 and / or enables a receiving client device 160 to generate ranging data from the navigation signal 240.

[0327] Modulating a given navigation message 1235 onto a broadcast carrier signal may include modulating a given navigation message 1235 and / or one or more given bits of the navigation message 1235 on the navigation signal 240 for transmission according to a scheduled time and / or according to the scheduled time. For example, timing data, such as a transmission time 1251, other time values, or other data indicating when the corresponding bit and / or portion of the signal was transmitted, may be included in the navigation message 1235 based on the navigation message 1235 being generated to include this timing data. The navigation message may be scheduled for transmission on the navigation signal 240 at a time corresponding to the timing data and / or at a time having a predetermined offset from the timing data. Transmission at the scheduled time may be achieved via the modulation module 1238 based on utilizing a clock signal 1266. However, clock errors in the clock signal 1266 may cause the timing data to be transmitted at an actual transmission time that differs from the scheduled transmission time. The time difference between the actual transmission time indicated by the timing data and the scheduled transmission time may vary based on the corresponding clock signal 1266 error, such as a non-zero clock bias, clock drift, and / or clock drift rate. For example, the time difference between the actual transmission time indicated by the timing data and the scheduled transmission time may be a deterministic and / or increasing function of the clock bias 1246 of the clock signal 1266.

[0328] The navigation signal 240 can differ from the navigation signal 132. For example, the navigation signal 240 may be generated and / or transmitted in a different frequency band than the navigation signal 132; at a different amplitude and / or power than the navigation signal 132, for example, based on the navigation signal 240 being transmitted from a low energy object (LEO) and the navigation signal 132 being transmitted from a medium energy object (MEO) and / or based on the navigation signal 240 being transmitted from a satellite in a different constellation configuration than the satellite transmitting the navigation signal 132; different in that it includes a broadcast carrier signal 1233 according to one or more frequencies different from the navigation signal 132; different in that it includes a spreading code 1237 according to a spreading code of a different type and / or structure than the navigation signal 132; different in that it includes a navigation message 1235 according to a different scheme, structure, size, and / or format than the navigation message of the navigation signal 132; different in that it includes an encryption scheme and / or encryption level different from the navigation signal 132; and / or according to other differences from the navigation signal 132.

[0329] 12B-12F , the navigation signal reception processing module 1220 may be operable to receive and / or process one or more other signals from one or more other entities, such as one or more backhaul satellites 150, one or more ground stations 200, one or more satellites 110, and / or one or more other nodes of the satellite constellation system 100. For example, instead of or in addition to receiving and processing GNSS signals generated and transmitted via the GNSS satellites based on high-precision clocks onboard these GNSS satellites, the navigation signal reception processing module 1220 may receive signals generated based on high-precision clocks onboard these entities via one or more backhaul satellites 150, one or more ground stations 200, one or more satellites 110, and / or one or more other nodes of the satellite constellation system 100. This may be ideal for enabling satellite constellation system 100 to facilitate client device 160 establishing atomic time, as discussed herein, without relying on GNSS signals and / or synchronizing with time established by a GNSS constellation.

[0330] As a particular example, backhaul satellites 150, ground stations 200, and / or a small subset of satellites 110 in satellite constellation system 100 may be equipped with on-board high-precision clocks, such as on-board atomic clocks. Backhaul satellites 150, ground stations 200, and / or a small subset of satellites 110 may therefore generate their own signals that implement signal 132 and / or otherwise indicate timing data, such as one or more timestamps, carrier frequencies, and / or ranging signals, generated via and / or modulated by utilizing the high-precision clocks.

[0331] As another particular example, some or all of the backhaul satellites 150, ground stations 200, and / or satellites 110 in the satellite constellation system 100 may include on-board non-atomic clocks, such as clock 365, and generate their own navigation signals 240, including clock state data 1245, by implementing their own satellite processing systems 300, such as those discussed in conjunction with Figures 12B-12F. For example, rather than receiving signals 132 from GNSS satellites as illustrated in Figures 12B-12F, a given satellite processing system 300 may receive navigation signals 240 generated and transmitted by another satellite processing system 300 of Figures 12B-12F that is onboard a corresponding backhaul satellite 150, ground station 200, and / or satellite 110. For example, a given satellite processing system 300 may extract and apply clock state data generated by other satellite processing systems 300 from navigation signals received from the other satellite processing systems, allowing the given satellite processing system 300 to generate its own clock state data. In such an embodiment, the given satellite processing system 300 may perform some or all of the functions of the client device 160 of Figures 12G-12H to receive and process the navigation signals 240 to generate its precise timing data and / or determine clock state data for its own clock 365.

[0332] 12G presents an embodiment of a client device 160 implementing receiver 1904, processing system 920, and / or client device components and applications 1925. For example, client device 160 of FIG. 12G may be implemented as mobile device 900 of FIG. 9A, with receiver 1904 implemented by utilizing global positioning receiver 904, processing system 1920 implemented as processing system 920, and / or client device components and applications 1925 implemented as mobile device components and applications 925. Client device 160 may correspond to any type of client device described herein, such as a cellular device, a smartphone, a mobile device, a vehicle, a stationary infrastructure element, or any other type of client device 160 described herein. Client device 160 may optionally correspond to a node of satellite constellation system 100. Some or all of the features and / or functionality of the client device 160 of FIG. 12G may be utilized to implement the mobile device 900 of FIG. 9A and / or any other embodiment of the client device 160 described herein.

[0333] Receiver 1904 may utilize antenna 1902, such as antenna 902 of FIG. 9A, to receive navigation signals 240 from one or more satellites 110 and / or from other nodes in satellite constellation system 100 that generate and transmit navigation signals 240 via satellite processing system 300. For example, navigation signals 240 may be generated to include clock state data 1245 and / or transmission time 1251 via some or all of the functionalities discussed in conjunction with FIGS. 12B-12F.

[0334] The processing system 1920 may utilize at least one processor to implement a precision timing generator module 1270 configured to generate precise timing data 1271 based on the clock state data 1245 included in the navigation signal 240, and / or other timing data of the navigation signal 240, such as a transmission time 1251 and / or other time values ​​indicating when one or more corresponding bits or other portions of the navigation signal 240 were transmitted. The precise timing data 1271 may be utilized by, for example, client device components and / or applications that require operation via atomic time and / or other precise time. The precise timing data 1271 may indicate atomic time and / or correspond to synchronization with and / or establishment of atomic time.

[0335] The precise timing data 1271 may be implemented as and / or utilized to generate the timing data 922 of Figure 9A. The precise timing data 1271 may further enable the client device 160 to generate its own position solution, such as the improved position data 922.

[0336] Figure 12H illustrates an embodiment of a client device 160. Some or all of the features and / or functionality of client device 160 of Figure 12H can be utilized to implement client device 160 of Figure 12G and / or any other embodiment of client device 160 described herein.

[0337] A client device may include its own clock 931, which may be implemented as one or more clocks and / or clock ensembles. Clock 931 may be a non-atomic clock. Clock 931 may be the same or a different type of clock as clock 365, and may have the same or different long-term stability as clock 365, the same or different short-term stability as clock 365, and / or the same or different error characteristics over time as clock 365.

[0338] The processing system 1920 may implement an internal signal generator 1272, which may be configured to generate an internal signal 1273 based on the clock signal 932. The internal signal generator 1272 may be implemented in the same or similar manner as the internal signal generator 1222. For example, the one or more internal signals 1273 may be generated according to at least one frequency, e.g., corresponding to at least one frequency of the navigation signal 240. As another example, the one or more internal signals 1273 may be generated according to a spreading code, e.g., corresponding to at least one spreading code 1237 of the navigation signal 240. In some embodiments, the internal signal generator 1272 is implemented via the GNSS receiver 360 of the client device 160, the global positioning receiver 904, the receiver 1904, and / or other processing resources of the client device 160.

[0339] The processing system 1920 may implement, for example, a correlator module 1224 configured to cross-correlate the navigation signal 240 with the internal signal 1273. The correlator module 1274 may be implemented in the same or similar manner as the correlator module 1224. The correlator module 1274 may be configured to generate ranging data based on identifying peaks of the correlator module's correlation data, such as, for example, the number of peaks of the navigation signal 240 and / or the internal signal 1273 and / or the number of bits of the navigation signal 240 and / or the internal signal 1273, corresponding to a time span between transmission and reception of the navigation signal 240, such as a particular peak and / or particular data of the navigation signal 240, and / or corresponding to a physical distance between the client device 160 and the satellite 110 and / or other node that transmitted the navigation signal 240, and further identifying a time range, for example, based on applying a value of the speed of light to the time span. In some embodiments, the correlator module 1274 is implemented via the GNSS receiver 360 of the client device 160, the global positioning receiver 904, the receiver 1904, and / or other processing resources of the satellite processing system 300.

[0340] The correlator module 1274 may implement a message extraction module 1276. The message extraction module 1276 may be implemented in the same or similar manner as the message extraction module 1228. The message extraction module 1276 may be operable to extract messages and / or other data modulated onto one or more broadcast carrier signals 1233 of the navigation signal 240.

[0341] The message extraction module 1276 may further extract the transmission time 1251 and / or other timing data included in the navigation message 1235 of the navigation signal 240 that includes the transmission time and / or indicates the time of transmission of the corresponding bit of the signal 132 that corresponds to the start of the navigation message. The transmission time 1251 may optionally indicate a number of seconds and / or a number of weeks and / or may correspond to the current time and / or atomic time determined by the navigation processing system 300 that generated the navigation signal 240, as previously discussed.

[0342] The message extraction module 1276 can extract clock state data 1245 and / or other state data 1240 included in the navigation message 1235. This extracted clock state data 1245 can include clock bias 1246, clock drift 1247, and / or clock drift rate 1248. The extracted clock state data 1245 can include propagated clock state data generated based on the clock bias 1246, clock drift 1247, and / or clock drift rate 1248.

[0343] The correlator module 1274 may further generate a ranging value 1255, such as a pseudo ranging value, and / or a measured reception time 1254', corresponding to the time when one or more bits indicating the transmission time 1251 were received, for example.

[0344] The precise timing generator module 1270 can generate precise timing data 1271 based on the transmission time 1251, the clock state data 1245, the range measurements 1255, and / or the measured reception time 1254'. As one or more navigation signals 240 are received from the same or different satellites 110 or other nodes over time, further transmission time 1251, the clock state data 1245, the range measurements 1255, and / or the measured reception time 1254' can be generated as illustrated in FIG. 12H to enable the client device 160 to maintain generation of precise timing data 1271 over time and / or maintain synchronization with atomic time over time.

[0345] For example, a current time corresponding to true atomic time can be established by the client device 160 based on utilizing a given transmission time 1251, subsequently received transmission times 1251, and / or subsequent peaks and / or bits of the navigation signal 240 in conjunction with the known frequency of the navigation signal 240, thereby synchronizing with and / or locking into atomic time as the navigation signal 240 continues to be received over time from the same or different one or more satellites 110 or other nodes, e.g., as different satellites 110 or other nodes move in and out of view of the client device 160 over time.

[0346] This may include, for example, applying the clock bias 1246, clock drift 1247, clock drift rate 1248, and / or propagated clock state data of the given clock state data 1245 for a window of time after the clock state data 1245 until subsequent clock state data 1245 is generated by and received from the satellite 110 or other node in the navigation signal 240. For example, a subsequently determined current time of the precise timing data 1271 may be generated within this window of time based on applying the clock drift 1247, clock drift rate 1248, and / or propagated clock state data of the most recently received clock state data 1245. If the clock state data 1245 indicates that the clock signal 1266 is estimated to drift or otherwise change over time, different current times in the time window may be generated based on, for example, applying different corresponding clock biases 1246 to the received navigation signal 240 to correct for corresponding changes in the error of the navigation signal 240 induced by the clock signal 1266.

[0347] The precise timing data 1271, other state data 1240 extracted from the navigation signals 240, such as orbital position data, and / or other ranging data may be further utilized, for example, in conjunction with receiving other navigation signals 240 from one or more other satellites and / or in conjunction with receiving navigation signals 132 from one or more GNSS satellites 130, to generate enhanced position data 922 indicating the precise location of the client device. The precise timing data 1271, other state data 1240 extracted from the navigation signals 240, such as orbital position data, and / or other ranging data may be further utilized to generate clock state data for the client device to characterize the error of its own clock 932 relative to atomic time.

[0348] Figures 12I-12L provide illustrative examples of determining and correcting clock error as described in conjunction with Figures 12A-12H. Some or all of the features and / or functionality discussed in conjunction with Figures 12I-12L can be utilized to implement satellite processing system 300 of Figures 12B-12F and / or client device 160 of Figures 12G and / or 12H.

[0349] 12I, GNSS satellite 130 generates and transmits signal 132 corresponding to "signal A." As signal 132 is transmitted over time, it may exhibit various transmission times 1251. Each transmission time 1251 may indicate when the corresponding signal was transmitted by GNSS satellite 130.

[0350] At a particular time 1251.i in atomic time, the transmitted signal 132 indicates a transmission time 1251.i for this time. The corresponding bit and / or portion of the signal 132 indicating the transmission time 1251.i may be transmitted by the satellite 130 at precisely the time 1251.i and / or with the actual transmission time being within the time 1251.i by a maximum threshold required for keeping atomic time. For example, the corresponding bit and / or portion of the signal 132 indicating the transmission time 1251.i may be transmitted at precisely the time 1251.i based on the GNSS satellite 130 utilizing an on-board high-precision clock to generate and transmit its signal 132.

[0351] The satellite 110 may receive this portion of the signal 132 at a corresponding reception time 1252.i. The satellite may extract the transmission time 1251.i from the signal 132 to establish and / or maintain synchronization with atomic time, for example, by generating a ranging measurement indicative of the actual difference between the reception time 1252.i corresponding to the transmission time 1251.i and / or by locking into the signal 132 as the satellite 110 continues to receive the signal 132 from the same or a different satellite 130.

[0352] The satellite 110 may generate and transmit its own navigation signal 240 corresponding to "signal B." The navigation signal 240, as transmitted over time, may similarly indicate various transmission times 1251. Each transmission time 1251 may indicate when the corresponding signal was scheduled to be transmitted by the navigation satellite 110. The transmission times may be established by the satellite 110 and included in the navigation signal based on the satellite 110 receiving one or more previous transmission times 1251 in the received signal 132 and / or responsively establishing synchronization with atomic time. The navigation signal 240 may further include clock state data 1245 indicating, for example, the current and / or propagated state of the satellite 110's clock 365 at the corresponding scheduled transmission time 1251.

[0353] In this case, the transmission time 1251.i+1 is indicated as a scheduled transmission time in the navigation signal 240 generated by the navigation satellite 110. This scheduled transmission time 1251.i+1 can be aligned with the time at which the satellite 130 transmits this time 1251.i+1 in its own signal 132, as illustrated in FIG. 12I. Alternatively, the transmission time 1251 included in the navigation signal 240 can be offset from and / or at a different interval from the transmission time included in the signal 132, for example, based on different carrier frequencies of these signals and / or based on other predetermined intervals and / or scheduling of their transmission times. In either case, the scheduled transmission time 1251.i+1 can follow a true corresponding time in atomic time based on the satellite being synchronized with and / or establishing atomic time.

[0354] A client device, for example, on Earth, can receive this portion of the navigation signal 240 indicating the transmission time 1251.i+1 at the corresponding reception time 1254.i+1. The satellite can extract the transmission time 1251.i+1 from the signal 240 to establish and / or maintain synchronization with atomic time, for example, by locking into the navigation signal 240 as the client device continues to receive the navigation signal 240 from the same or different satellites 110.

[0355] However, due to a clock error in clock signal 1266, the corresponding portion of the navigation signal indicating transmission time 1251.i+1 is actually transmitted by satellite 110 at a different corresponding time 1253.i+1. Clock state data 1245.i can indicate and / or estimate this clock error, and can be utilized by client devices to accurately establish atomic time or other precision timing data based on clock state data 1245.i that appropriately characterizes the corresponding error.

[0356] As illustrated in FIG. 12J , a clock error 1256 is induced upon receiving signal A by the satellite processing system of satellite 300. In particular, the satellite processing system measures a measured time of reception 1252.i′ based on clock 365 that differs from the actual time of reception 1252.i. This difference may correspond to a clock error 1256.i induced, for example, based on the clock bias, clock drift, and / or clock drift rate of clock 365 at a given time. The clock error 1256 for receiving signal A over time may change over time due to the clock bias, clock drift, and / or clock drift rate changing over time, for example, due to clock 365 not having long-term stability and / or because clock 365 is not an atomic clock. These changes over time can cause the difference between the measured time of reception 1252′ and the corresponding actual time of reception 1252 to vary by different, and possibly unpredictable, amounts over time.

[0357] Clock error 1257 is also induced in transmitting signal B by satellite processing system 300 of satellite 110. In particular, a given scheduled transmission time 1251.i+1 can differ from actual transmission time 1253.i+1 based on utilizing clock 365 to transmit signal B, as previously discussed. This difference can correspond to, for example, clock error 1257.i+1 induced based on the clock bias, clock drift, and / or clock drift rate of clock 365 at a given time. Clock error 1257 for transmitting signal B over time can change over time due to the clock bias, clock drift, and / or clock drift rate changing over time, e.g., due to clock 365 not having long-term stability and / or based on clock 365 not being an atomic clock. These variations over time can similarly cause the difference between a scheduled transmission time 1251 and the corresponding actual transmission time 1253 to vary by different, and perhaps unpredictable, amounts over time.

[0358] A clock error 1258 is also induced upon receiving signal B by client device processing system 920 of client device 160. In particular, client device processing system 920 measures a measured time of reception 1254.i+1′ based on clock 365 that differs from actual time of reception 1254.i+1. This difference may correspond to, for example, a clock error 1258.i induced based on the clock bias, clock drift, and / or clock drift rate of clock 931 at a given time. Clock error 1256 for receiving signal B over time may change over time due to the clock bias, clock drift, and / or clock drift rate changing over time, e.g., due to clock 931 not having long-term stability and / or because clock 931 is not an atomic clock. These changes over time can cause the difference between a measured time of reception 1252′ and the corresponding actual time of reception 1252 to vary by different, and possibly unpredictable, amounts over time.

[0359] 12K, clock error 1256.i can be characterized by satellite processing system 300 as a function of transmission time 1251.i, measured reception time 1252.i′, and range measurement 1259.i indicative of the difference between true transmission time 1251.i and true reception time 1252.i, for example, as previously discussed, measured via cross-correlation of signal A with internal signal 1223. In particular, because clock error in the transmission of signal A is zero and / or negligible due to the use of high-precision clocks, most or all of the discrepancy in the difference between transmission time 1251.i and measured reception time 1252.i′, and range measurement 1259, can be attributed to clock error 1256.i of received signal A. Clock status data 1245.i can be generated by satellite processing system 300 as a function of this clock error 1256.i and / or otherwise indicative of this clock error 1256.i.

[0360] The client device processing system 920 can apply this clock error clock error 1256.i indicated in the clock state data 1245.i to determine the clock error 1257.i+1. In particular, the use of the same clock 365 for both receiving signal A and transmitting signal B, and the short-term stability of this clock 365, as previously discussed, can be exploited to allow the assumption that a given clock error 1257.i+1 is the same as and / or substantially the same as the clock error 1256.i and / or is otherwise characterized by the most recent clock state data 1245.i received in signal B.

[0361] Thus, clock state data 1245.i is provided that indicates this transmission clock error 1257.i+1, as well as the transmission time 1251.i+1 extracted from signal B, the measured reception time 1254.i+1 measured using clock 931, and a range measurement 1255.i+1 indicative of the difference between the true transmission time 1251.i+1 and the true reception time 1254.i+1, measured, for example, via cross-correlation of internal signal 1273 with signal B, as previously discussed. Because both the clock error 1257.i+1 in the transmission of signal B and the clock error 1258.i+1 in the reception of signal B can be resolved, true atomic time can be established to enable the generation of precise timing data 1271.

[0362] 12L illustrates a further example of this timeline in which a fixed offset 1279, such as a known and / or estimated delay in the message generation and / or transmission process and / or another predefined and / or scheduled offset, is applied to the transmission of the bit and / or portion of the navigation signal 240 indicating a given transmission time 1251.i+1. In particular, the scheduled transmission time 1251.i+1 is offset by this fixed offset 1279, and the bit and / or portion of the navigation signal indicating this scheduled transmission time 1251.i+1 is transmitted at the true transmission time 1253.i+1 and is therefore offset by a combination of this fixed transmission time and the clock error 1256.i. The clock state data 1256.i may further indicate and / or be a function of this fixed offset 1279, enabling the client device 160 to appropriately take into account this fixed offset 1279 and the characterization of the clock error 1256.i.

[0363] In other embodiments, transmission time 1251.i+1 may be adjusted to reflect the actual scheduled transmission time rather than time 1251.i+1 by applying this offset 1279, for example, where the navigation signal instead indicates transmission time 1251.i+1+1279 and only the clock error 1256.i needs to be taken into account.

[0364] While the example of Figures 12I-12L corresponds to a simple example visually illustrating only the effect of clock bias 1246, similar functionality can be performed by satellite processing system 300 and client device 160 to similarly determine and correct clock drift 1247, clock drift rate 1248, and / or other characterizations of the current and / or propagated clock state of clock state data 1245, as discussed in conjunction with Figures 12A-12H.

[0365] In various embodiments, a LEO satellite of a constellation of LEO satellites in low Earth orbit (LEO) includes a non-atomic clock, a navigation signal reception processing module, and / or a navigation signal generation and transmission module. The non-atomic clock may be configured to generate a clock signal, such as clock signal 1266. The navigation signal reception and processing module may be configured to receive first signaling, such as one or more signals 132, from at least one non-LEO navigation satellite of the constellation of non-LEO navigation satellites, such as at least one GNSS satellite 130. The first signaling may include first timing data generated based on a high-precision clock, such as transmission time 1251 generated via the atomic clock of the satellite 130. The navigation signal reception and processing module may alternatively or additionally be configured to generate clock status data, such as clock status data 1245, based on the clock signal and the first timing data. The navigation signal generation and transmission module may be configured to receive the clock signal from the non-atomic clock and generate a navigation message, such as navigation message 1235, indicating the clock status data. The navigation signal generation and transmission module may alternatively or additionally be configured to generate a broadcast carrier signal, such as broadcast carrier signal 1233, by utilizing a clock signal. The navigation signal generation and transmission module may alternatively or additionally be configured to generate a navigation signal, such as navigation signal 240, based on modulating a navigation message onto the broadcast carrier signal. The navigation signal generation and transmission module may alternatively or additionally be configured to broadcast the navigation signal for reception by at least one client device. The navigation signal may facilitate at least one client device to generate precise timing data based on the clock state data.

[0366] In various embodiments, the non-atomic clock may be implemented via clock 365 of Figures 12B-12F, the navigation signal reception processing module may be implemented via navigation signal reception processing module 1220 of Figures 12B-12F, and / or the navigation signal generation and transmission module may be implemented via navigation signal generation and transmission module 1230 of Figures 12B-12F.

[0367] In various embodiments, the navigation signal is further modulated based on modulating a spreading code identifying the LEO satellite onto the broadcast carrier signal. In various embodiments, the analog-to-digital converter of the navigation signal reception processing module is configured to extract first timing data from the first signaling by utilizing a clock signal. In various embodiments, the signal generator of the navigation signal reception processing module is configured to generate at least one internal signal by utilizing the clock signal, and the navigation signal reception processing module is further configured to generate ranging data based on cross-correlating the at least one internal signal with the first signaling, and the clock state data is based on the ranging data.

[0368] In various embodiments, the signal generator of the navigation signal reception processing module is configured to generate at least one internal signal for cross-correlation with the first signaling by applying previous clock state data to the clock signal. In various embodiments, the clock state data is updated from the previous clock state data. In various embodiments, the navigation signal reception processing module is further configured to receive a subsequent first signaling indicating the subsequent first timing data. In various embodiments, the signal generator of the navigation signal reception processing module is further configured to generate at least one updated internal signal for cross-correlation with the subsequent first signaling by applying the clock state data to the clock signal.

[0369] In various embodiments, the signal generator of the navigation signal generating and transmitting module is configured to generate the broadcast carrier signal by applying the clock state data to a clock signal.

[0370] In various embodiments, the LEO satellite further includes at least one memory, implemented, for example, via memory module 310. In various embodiments, the navigation signal reception processing module is further configured to generate clock state data further based on previous clock state data accessed in the at least one memory, store the clock state data in the at least one memory, receive a subsequent first signaling, generate updated clock state data based on the subsequent first signaling, the clock signal, and the clock state data accessed in the at least one memory, and / or store the updated clock data in the at least one memory.

[0371] In various embodiments, the at least one non-LEO navigation satellite includes a Global Positioning System (GPS) satellite, and / or the high-precision clock is an atomic clock on a GPS satellite. In various embodiments, the navigation signal reception and processing module includes a GNSS receiver disciplined to a clock signal of a non-atomic clock, and / or the navigation signal reception and processing module includes a software-defined radio (SDR) disciplined to a clock signal of a non-atomic clock. In various embodiments, the non-atomic clock is an oven-controlled quartz crystal oscillator (OCXO).

[0372] In various embodiments, a low-Earth orbit (LEO) satellite includes a non-atomic clock configured to generate a clock signal. The LEO satellite may further include at least one receiver configured to receive first signaling from at least one non-LEO navigation satellite of a constellation of non-LEO navigation satellites. The first signaling may include first timing data generated based on a high-precision clock. The LEO satellite may further include at least one processor configured to execute operational instructions that cause the at least one processor to perform operations including generating clock status data based on the clock signal and the first timing data, generating a navigation message indicating the clock status data to generate a broadcast carrier signal by utilizing the clock signal, and / or generating the navigation message based on modulating the navigation message onto the broadcast carrier signal. The LEO satellite may further include a navigation signal transmitter configured to broadcast a navigation signal for reception by at least one client device, the navigation signal facilitating the at least one client device to generate the precise timing data based on the clock status data.

[0373] In various embodiments, the non-atomic clock is implemented via clock 365, the at least one receiver is implemented via at least one GNSS receiver 360, the at least one processor is implemented via processing module 320, and / or the navigation signal transmitter is implemented via navigation signal transmitter 330.

[0374] In various embodiments, the clock state data includes a clock bias for the high precision clock, a clock drift for the high precision clock, and / or a clock drift rate for the high precision clock. In various embodiments, the client device generates the precise timing data based on applying the clock bias, the clock drift, and / or the clock drift rate to the navigation signal.

[0375] In various embodiments, the first signaling includes at least one GNSS signal generated by a GNSS satellite of a GNSS satellite constellation. Execution of the operational instructions can cause the at least one processor to perform operations further including generating orbital position data for the LEO satellite based on the GNSS signal. In various embodiments, the navigation signal is generated to include the orbital position data.

[0376] In various embodiments, the at least one receiver is configured to receive correction data associated with a GNSS satellite constellation. In various embodiments, generating clock state data for the non-atomic clock includes applying the correction data to the first timing data.

[0377] In various embodiments, the correction data includes precise point positioning (PPP) correction data. In various embodiments, generating the clock state data includes applying GNSS satellite clock estimate data included in the PPP correction data to the first timing data. In various embodiments, the at least one receiver is configured to receive the correction data from at least one of a backhaul satellite or a ground station. In various embodiments, the PPP correction data is received via a backhaul receiver 340 of the satellite, a satellite receiver 350 of the satellite, and / or another receiver of the satellite.

[0378] In various embodiments, the navigation signal is generated to indicate the timing data based on the first timing data. In various embodiments, the navigation signal facilitates generating, by the at least one client device, the precise timing data based on applying the clock state data to the timing data.

[0379] In various embodiments, the client device includes at least one receiver configured to receive at least one navigation signal from at least one satellite of a constellation of LEO navigation satellites in LEO. The at least one navigation signal can include at least one timing data and / or at least one clock state data of at least one non-atomic clock utilized to generate the at least one navigation signal. The at least one processor can be configured to execute operational instructions that cause the at least one processor to perform operations including extracting the clock state data and the timing data from the at least one navigation signal and / or generating precise timing data based on applying the clock state data to the timing data.

[0380] In various embodiments, the client device includes a client device non-atomic clock that generates a clock signal. The operations may further include generating at least one internal signal by utilizing the clock signal, generating ranging data based on cross-correlating the at least one internal signal with the at least one navigation signal, and / or generating client device clock state data for the client device non-atomic clock based on the ranging data and the clock state data. The precise timing data may be generated based on applying the client device clock state data to the timing data. In various embodiments, the at least one navigation signal further includes at least one orbital position data of at least one satellite. The operations may further include generating improved position data based on the orbital position data and based on the precise timing data.

[0381] FIG. 12M illustrates a method for implementation. Some or all of the steps of FIG. 12M may be performed by at least one processor of a satellite, such as satellite 110. Some or all of the steps of FIG. 12M may be performed via a satellite processing system 300 implemented by a satellite, a client device, a ground station, a backhaul satellite, geostationary infrastructure, and / or any node of satellite constellation system 100. Multiple different satellites 110 of satellite constellation system 100 and / or any multiple different nodes of satellite constellation system 100 may each implement their own satellite processing system 300 to perform some or all of the steps of FIG. 12M independently and / or simultaneously, with or without coordination. Some or all of the steps of FIG. 12M may be performed in conjunction with performing some or all of the steps of FIG. 12A. Some or all of the steps of FIG. 12M may be performed in conjunction with implementing some or all of the features and / or functions of satellite processing system 300 and / or satellite 110, as discussed in conjunction with some or all of FIGS. 12B-12L.

[0382] Step 1282 includes generating a clock signal via a non-atomic clock, such as clock signal 1266 generated via clock 365. In various embodiments, the non-atomic clock may be included in a corresponding satellite 110 or other node that implements the method of FIG.

[0383] In various embodiments, the non-atomic clock is implemented via a single OCXO. In various embodiments, the non-atomic clock is implemented via multiple OCXOs in a clock ensemble. In various embodiments, the single-atomic clock is implemented as one or more TCXOs, one or more VCXOs, or one or more other types of clocks and / or clock ensembles. In various embodiments, the non-atomic clock is impleme...

Claims

1. 1. A ground-based node of a satellite system, comprising: an interface configured to communicate with at least one ground station; at least one memory for storing operating instructions; at least one processor configured to execute the operational instructions; the operational instructions, when executed, cause the at least one processor to: (a) communicating, via the at least one ground station, control data with a constellation of LEO navigation satellites in a LEO around the Earth, the control data including telemetry, tracking, and command (TT&C) information corresponding to the constellation of LEO navigation satellites; (b) transmitting correction data to a plurality of LEO navigation satellites of the constellation of LEO navigation satellites via the at least one ground station; (c) receiving, via at least one global positioning receiver, a first collection of observations based on signaling from a non-LEO navigation satellite of a constellation of non-LEO navigation satellites around the Earth, the signaling including collected observations from the constellation of non-LEO navigation satellites; (d) receiving, via the at least one ground station, a second collection of observations based on navigation messages from the constellation of non-LEO navigation satellites, the navigation messages facilitating client devices in determining their improved positions when received in conjunction with second signaling from the constellation of non-LEO navigation satellites, and the navigation messages being generated by the constellation of LEO navigation satellites in response to the correction data; (e) updating the correction data based on the first observation result collection, the second observation result collection, and based on telemetry data corresponding to the constellation of the LEO navigation satellites included in the TT&C information; (f) repeating steps (a) through (e); and a ground-based node that performs operations including:

2. 2. The ground-based node of claim 1, wherein the LEO navigation satellites of the constellation of LEO navigation satellites are configured to determine a corresponding state based on the correction data and further based on signaling from a non-LEO navigation satellite of the constellation of non-LEO navigation satellites, and the navigation messages are generated by the LEO navigation satellites of the constellation of LEO navigation satellites based on the corresponding state, the navigation messages each including a timing signal and a position of a LEO navigation satellite, and the navigation messages further including orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites.

3. 2. The ground-based node of claim 1, wherein the correction data includes precise point positioning (PPP) correction data corresponding to the constellation of non-LEO navigation satellites and additional correction data corresponding to the constellation of LEO navigation satellites.

4. 2. The ground-based node of claim 1, wherein the control data includes at least one of radio occultation, atmospheric data generated based on radio occultation, control information associated with satellite orientation, control information associated with satellite attitude, control information associated with satellite status, control information associated with inter-satellite transmission / reception conditions of a satellite, command information associated with inter-satellite transmission / reception status of a satellite, command information associated with inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more other nodes of the satellite system, or constellation integrity information related to the health of one or more non-LEO navigation satellites of the constellation of non-LEO navigation satellites.

5. 10. The ground-based node of claim 1, wherein the control data and correction data are communicated between satellites of the constellation of LEO navigation satellites via inter-satellite links.

6. The ground-based node of claim 1 , wherein the at least one ground station transmits the correction data to the plurality of LEO navigation satellites via a backhaul satellite.

7. 2. The ground-based node of claim 1, wherein the at least one ground station that transmits the correction data to the plurality of LEO navigation satellites includes a broadcast gateway that is separate from the at least one ground station that communicates the control data.

8. The ground-based node of claim 1 , wherein the at least one ground station that receives the second observation collection is co-located with the at least one ground station that communicates the control data.

9. The operation is The ground-based node of claim 1 , further comprising transmitting the correction data to a client device of the client devices connected to the ground-based node via a wireless ground network.

10. 2. The ground-based node of claim 1, wherein the constellation of non-LEO navigation satellites is associated with at least one of a Global Positioning System of Satellites, a Quasi-Zenith Satellite System, a BeiDou Navigation System, a Galileo Positioning System, a Russian Global Navigation Satellite System (GLONASS), or an Indian Regional Navigation Satellite System.

11. 1. A method for use in a ground-based node of a satellite system, said method comprising: (a) communicating, via at least one ground station, control data with a constellation of LEO navigation satellites in a LEO around the Earth, the control data including telemetry, tracking, and command (TT&C) information corresponding to the constellation of LEO navigation satellites; (b) transmitting correction data to a plurality of LEO navigation satellites of the constellation of LEO navigation satellites via the at least one ground station; (c) receiving, via at least one global positioning receiver, a first collection of observations based on signaling from a non-LEO navigation satellite of a constellation of non-LEO navigation satellites around the Earth, the signaling including collected observations from the constellation of non-LEO navigation satellites; (d) receiving, via the at least one ground station, a second collection of observations based on navigation messages from the constellation of non-LEO navigation satellites, the navigation messages facilitating client devices in determining their improved positions when received in conjunction with second signaling from the constellation of non-LEO navigation satellites, and the navigation messages being generated by the constellation of LEO navigation satellites in response to the correction data; (e) updating the correction data based on the first observation result collection, the second observation result collection, and based on telemetry data corresponding to the constellation of the LEO navigation satellites included in the TT&C information; (f) repeating steps (a) through (e); and A method comprising:

12. 12. The method of claim 11 , wherein the LEO navigation satellites of the constellation of LEO navigation satellites are configured to determine a corresponding state based on the correction data and further based on signaling from a non-LEO navigation satellite of the constellation of non-LEO navigation satellites, and the navigation messages are generated by the LEO navigation satellites of the constellation of LEO navigation satellites based on the corresponding state, the navigation messages each including a timing signal and a position of a LEO navigation satellite, and the navigation messages further include orbit correction data and timing correction data associated with the constellation of non-LEO navigation satellites.

13. 12. The method of claim 11, wherein the correction data includes precise point positioning (PPP) correction data corresponding to the constellation of non-LEO navigation satellites and additional correction data corresponding to the constellation of LEO navigation satellites.

14. 12. The method of claim 11, wherein the control data includes at least one of radio occultation, atmospheric data generated based on radio occultation, control information associated with satellite orientation, control information associated with satellite attitude, control information associated with satellite status, control information associated with inter-satellite transmission / reception conditions of a satellite, command information associated with inter-satellite transmission / reception status of a satellite, command information associated with inter-satellite transmission power or frequency, control information associated with encryption, constellation integrity information related to the health of one or more other nodes of the satellite system, or constellation integrity information related to the health of one or more non-LEO navigation satellites of the constellation of non-LEO navigation satellites.

15. The method of claim 11 , wherein the control data and correction data are communicated between satellites of the constellation of LEO navigation satellites via inter-satellite links.

16. The method of claim 11 , wherein the at least one ground station transmits the correction data to the plurality of LEO navigation satellites via a backhaul satellite.

17. 12. The method of claim 11, wherein the at least one ground station that transmits the correction data to the plurality of LEO navigation satellites includes a broadcast gateway that is separate from the at least one ground station that communicates the control data.

18. The method of claim 11 , wherein the at least one ground station that receives the second observation collection is co-located with the at least one ground station that communicates the control data.

19. The method of claim 11 , further comprising transmitting the correction data to one of the client devices connected to the ground-based node via a wireless ground network.

20. 12. The method of claim 11, wherein the constellation of non-LEO navigation satellites is associated with at least one of a Global Positioning System of Satellites, a Quasi-Zenith Satellite System, a BeiDou Navigation System, a Galileo Positioning System, a Russian Global Navigation Satellite System (GLONASS), or an Indian Regional Navigation Satellite System.

21. 3. The ground-based node of claim 2, wherein the LEO navigation satellites of the constellation of LEO navigation satellites are configured to determine the corresponding state further based on signaling from GNSS signals transmitted by a plurality of GNSS ground stations.

22. The operation is 22. The ground-based node of claim 21, further comprising transmitting the GNSS signals via the plurality of GNSS ground stations to the plurality of LEO navigation satellites of the constellation of LEO navigation satellites.

23. The operation is 2. The ground-based node of claim 1, further comprising transmitting additional navigation messages from at least one additional ground station, the navigation messages also facilitating the client devices in determining their improved positions when received in conjunction with the second signaling from the constellation of non-LEO navigation satellites, the additional navigation messages being generated by the ground-based node in response to the correction data.

24. 13. The method of claim 12, wherein the LEO navigation satellites of the constellation of LEO navigation satellites are configured to determine the corresponding states further based on signaling from GNSS signals transmitted by a plurality of GNSS ground stations.

25. 25. The method of claim 24, further comprising transmitting the GNSS signals via the plurality of GNSS ground stations to the plurality of LEO navigation satellites of the constellation of LEO navigation satellites.

26. 12. The method of claim 11, further comprising transmitting additional navigation messages from at least one additional ground station, the navigation messages also facilitating the client devices in determining their improved positions when received in conjunction with the second signaling from the constellation of non-LEO navigation satellites, the additional navigation messages being generated by the ground-based node in response to the correction data.