Patent ID: 12256350

While implementations are described herein by way of example, those skilled in the art will recognize that the implementations are not limited to the examples or figures described. It should be understood that the figures and detailed description thereto are not intended to limit implementations to the particular form disclosed but, on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean “including, but not limited to”.

DETAILED DESCRIPTION

A communication network may utilize satellites to wirelessly transfer data between user terminals (UTs) and ground stations that in turn connect to other networks, such as the Internet. The communication network may use accurate timing to coordinate when participating devices, such as UTs, ground stations, or other satellites are to transmit, receive, and so forth. For example, a UT may be allocated a particular timeslot during which that UT is permitted to send data on an uplink to a satellite.

The more accurate the timing information used to coordinate operation is, the greater the effective utilization of bandwidth and greater the overall efficiency of the communication network. For example, more accurate timing information allows for more time in a timeslot to be allocated to data transmission and less allocated to a guard time to account for timing errors and avoid overlapping transmissions.

Each participating device in the communication network may have a clock. However, the timing information (“time”) provided by a clock is subject to variability. Changes in temperature, humidity, gravitational field, movement of the entire clock, aging of the equipment, and so forth all introduce errors in the time that is output. Typically, the more accurate the clock, the more complicated, expensive, and larger it is. An inexpensive quartz wristwatch may have an accuracy of within 500 milliseconds (ms) per day (or 500,000,000 nanoseconds (ns)). In comparison, an atomic clock such as maintained by a national standards organization may have an accuracy of within 0.03 ns per day, equivalent to 1 second in 100 million years.

As mentioned earlier, the greater the timing accuracy that is available, the greater the efficiency of the communication network. For example, a timing accuracy of +250 ns may allow an uplink to a satellite to support 176 users, while a timing accuracy of +150 ns may allow the same uplink to support 256 users.

A traditional approach to providing a highly accurate time is to use a local clock, such as a quartz clock, that has been “disciplined” or receives timing information from a primary external source that is deemed to represent “true time”. For the purposes of this disclosure “true time” may be considered the time standard selected for use. For example, “true time” may be International Atomic Time, Coordinated Universal Time (UTC), Barycentric Coordinate Time, and so forth. In some implementations, true time may originate from one or more stratum 0 hardware reference clocks, such as maintained by a country or standards organization. For example, true time may comprise GPS time as provided by the Global Positioning System, UTC from the National Institute of Standards and Technology (NIST), and so forth. The true time may be indicative of widely ranging timescales, such as providing information about picoseconds to years.

The primary external source has traditionally been a receiver to acquire signals from the primary external source that employs a highly accurate clock, such as an atomic clock. For example, a global navigation satellite system (GNSS) receiver may provide as output “true time” information and a pulse per second (PPS) signal. The GNSS includes satellites and ground stations that each have expensive and complex atomic clocks. Continuing the example, Global Positioning System (GPS) satellites have two cesium atomic clocks onboard and are subject to various adjustments to that true time under ongoing management from a ground station.

The true time from the GNSS or other primary external source may be used to set the local clock values while the PPS signal is used to specify when the next second begins. The PPS signal may be distributed to other components in the device such as transmitters and receivers to set their timing. Such disciplined clocks are able to achieve timing accuracy of 15 ns. By using a relatively inexpensive local clock that is disciplined by output from a relatively inexpensive GNSS receiver, it is possible to maintain highly accurate timing on a device such as a UT and the components therein. However, this discipline fails if the primary external source of timing information is unavailable.

Traditionally, in the event the primary external source is unavailable, the external discipline imposed on the local clock is lost. As a result, the local clock begins to drift, with the timing information that is output moving away from reporting true time. Traditionally various measures have been employed to try and maintain timing information with sufficient accuracy for as long as possible. However, these approaches increase the cost and complexity of the device and only forestall the loss of timing for a short span. For example, a more precisely manufactured, and thus expensive, quartz crystal may be used. In another example, the quartz crystal may be placed inside a small oven that heats up the crystal to a particular temperature. Even with these attempts to mitigate the loss of the primary external source, these local clocks will drift outside of the accuracy needed to operate the communication network.

Described in this disclosure are systems and techniques that allow a device, such as a UT, to continue to maintain highly accurate timing information in the event of a loss of timing information from a primary external source, such as a GNSS. This allows the device to continue operation in situations such as an “urban canyon” where GNSS signals may be blocked by buildings, instances where electromagnetic interference prevents reception of GNSS signals, in the event of GNSS service outages, and so forth. These systems and techniques may be implemented using inexpensive and compact hardware, allowing for rapid and effective deployment. These systems also facilitate the distribution of highly accurate timing information to devices at distant locations, that allow the device to determine a close proxy to true time.

Signals between the UT and the satellite are limited to travelling at the speed of light. Distance delays occur because the farther away a satellite is from the UT, the longer it takes for a signal to travel to the satellite, and vice versa. Atmospheric delays may result from atmospheric effects such as density changes, ionospheric effects, atmospheric scintillation, and so forth. Relativistic effects are also experienced due to relative location and motion of the UT and the satellite. Once a signal reaches a receiver, other delays due to signal processing are also present.

Using a constellation of many non-geosynchronous orbit (NGO) satellites offers significant benefits compared to a geosynchronous satellite. Latency is dramatically reduced due to the shorter distances between UTs and satellites, improving usefulness for communication. Shorter distances between the UT and the satellite allow for increased UT density by allowing greater frequency re-use and sharing. Power and antenna gain requirements for both the UT and the satellites are also reduced due to the shorter distances, compared to communication using geosynchronous satellites. This allows for relatively smaller and less expensive satellites to be used.

To coordinate the operation of the communication network that includes the constellation of satellites and UTs, timing information based on true time is used. For example, operation of the transmitters and the receivers onboard the satellites as well as transmitters and receivers at the UTs may be coordinated based on the true time. To reduce the cost, mass, power consumption, and so forth of a communication satellite in the constellation, the communication satellite may include a GNSS receiver. The GNSS receiver provides true time and is used to determine a primary PPS signal to the communication system onboard the satellite. Similarly, the UT may include a GNSS receiver that provides a primary PPS signal to the communication system of the UT. By using their respective primary PPS signals, so long as the timing information is available from the GNSS, the timing of the two devices is highly synchronized.

A loss of the GNSS, or other primary external source of timing discipline by a device, results in the device recovering the true time using information from other devices participating in the communication system. In a first implementation, in the event of a GNSS or other primary external source failure, the UT uses information received from the satellite(s) to determine local corrected time and provide a secondary PPS. The satellite may transmit downlink data that includes information such as a transmit time of the information, ephemeris data about the satellite, satellite location data, atmospheric correction data, and so forth. The downlink data may be a beacon broadcast, header information included in downlink data to other UTs, and so forth. The downlink data may not be specifically directed to the UT that has experienced the loss of the primary external source. The UT has previously stored location data indicating where the UT is located.

By using the information received in the downlink data and the known information about the UT location, the UT is able to determine the delays that are associated with transmissions from the satellite. For example, given the known location of the satellite and the UT location, a distance between the two is calculated. The distance divided by the speed of light provides the distance delay. Other calculations may be made to account for atmospheric delays, relativistic effects, and so forth. This information is used to determine time correction data. The time correction data is then applied to the transmit time and used to determine local corrected time. These operations may be iterated and averaged to further refine the time correction data. The time correction data may then be used to discipline the local clock and determine a secondary PPS. As a result, the UT is able to recover an accurate proxy of the true time and is able to continue operating.

In a second implementation the UT may receive additional information from the satellite. The UT may send on the uplink a “loss of time” message to the satellite. This message may include a transmit time indicative of when the message was sent with respect to the local clock of the UT, and location data of the UT. The satellite may determine a reception time indicating when the satellite received the message, with respect to the satellite's clock that is disciplined to the true time. The reception time, or information based thereon, may then be sent on the downlink to the UT. The UT may then use this information as part of the determination of the time correction data.

In a third implementation, the satellite may use the transmit time and associated reception time of data received from the UT on the uplink to determine time correction data. The time correction data may then be transmitted on the downlink to the UT. The UT may then use this time correction data to determine the local corrected time.

The constellation may also be used to gather information that allows for improved determination of atmospheric delay. For example, given many satellites with constantly changing positions relative to Earth and a large number of UTs, it becomes feasible to provide a very large set of data with respect to atmospheric effects on uplink and downlink signals under various conditions. This set of data may be processed to determine atmospheric correction data that accounts for delays due to atmospheric effects. The atmospheric correction data may then be used in the implementations described above to further refine the determination of the delay between the devices. As a result, the overall accuracy of the time correction data is improved. This improves the accuracy in the local corrected time. This improvement in accuracy may allow the use of smaller time intervals for coordinating operation of the system, further increasing the overall efficiency.

The system and techniques described in this disclosure add little or no overhead to operation of the communication network and thus are extremely efficient. For example, information such as the satellite location data and ephemeris data may be included in the downlink data for other uses, such as to allow the UTs to track satellites and steer directional antenna arrays.

By using the system and techniques described in this disclosure, overall efficiency of a communication system using a satellite constellation is substantially improved. Improved timing accuracy is provided without substantive increases in the cost or complexity of hardware. This improves system reliability and reduces overall cost.

By providing highly accurate timing, it is also possible to provide a highly accurate frequency output. This allows receivers and transmitters to more precisely control their receive and transmit frequencies, respectively.

Illustrative System

The ability to communicate between two or more locations that are physically separated provides substantial benefits. Communications over areas ranging from counties, states, continents, oceans, and the entire planet are used to enable a variety of activities including health and safety, logistics, remote sensing, interpersonal communication, and so forth.

Communications facilitated by electronics use electromagnetic signals, such as radio waves or light to send information over a distance. These electromagnetic signals have a maximum speed in a vacuum of 299,792,458 meters per second, known as the “speed of light” and abbreviated “c”. Electromagnetic signals may travel, or propagate, best when there is an unobstructed path between the antenna of the transmitter and the antenna of the receiver. This path may be referred to as a “line of sight”. While electromagnetic signals may bend or bounce, the ideal situation for communication is often a line of sight that is unobstructed. Electromagnetic signals will also experience some spreading or dispersion. Just as ripples in a pond will spread out, a radio signal or a spot of light from a laser will spread out at progressively larger distances.

As height above ground increases, the area on the ground that is visible from that elevated point increases. For example, the higher you go in a building or on a mountain, the farther you can see. The same is true for the electromagnetic signals used to provide communication services. A relay station having a radio receiver and transmitter with their antennas placed high above the ground is able to “see” more ground and provide communication service to a larger area.

There are limits to how tall a structure can be built and where. For example, it is not cost effective to build a 2000 meter tall tower in a remote area to provide communication service to a small number of users. However, if that relay station is placed on a satellite high in space, that satellite is able to “see” a large area, potentially providing communication services to many users across a large geographic area. In this situation, the cost of building and operating the satellite is distributed across many different users and becomes cost effective.

A satellite may be maintained in space for months or years by placing it into orbit around the Earth. The movement of the satellite in orbit is directly related to the height above ground. For example, the greater the altitude the longer the period of time it takes for a satellite to complete a single orbit. A satellite in a geosynchronous orbit at an altitude of 35,800 km may appear to be fixed with respect to the ground because the period of the geosynchronous orbit matches the rotation of the Earth. In comparison, a satellite in a non-geosynchronous orbit (NGO) will appear to move with respect to the Earth. For example, a satellite in a circular orbit at 600 km will circle the Earth about every 96 minutes. To an observer on the ground, the satellite in the 600 km orbit will speed by, moving from horizon to horizon in a matter of minutes.

Building, launching, and operating a satellite is costly. Traditionally, geosynchronous satellites have been used for broadcast and communication services because they appear stationary to users on or near the Earth and they can cover very large areas. This simplifies the equipment needed by a station on or near the ground to track the satellite.

However, there are limits as to how many geosynchronous satellites may be provided. For example, the number of “slots” or orbital positions that can be occupied by geosynchronous satellites are limited due to technical requirements, regulations, treaties, and so forth. It is also costly in terms of fuel to place a satellite in such a high orbit, increasing the cost of launching the satellite.

The high altitude of the geosynchronous satellite can introduce another problem when it comes to sharing electromagnetic spectrum. The geosynchronous satellite can “see” so much of the Earth that special antennas may be needed to focus radio signals to particular areas, such as a particular portion of a continent or ocean, to avoid interfering with radio services on the ground in other areas that are using the same radio frequencies.

Using a geosynchronous satellite to provide communication services also introduces a significant latency or delay because of the time it takes for a signal to travel up to the satellite in geosynchronous orbit and back down to a device on or near the ground. The latency due to signal propagation time of a single hop can be at least 240 milliseconds (ms).

To alleviate these and other issues, satellites in NGOs may be used. The altitude of an NGO is high enough to provide coverage to a large portion of the ground, while remaining low enough to minimize latency due to signal propagation time. For example, the satellite at 600 km only introduces 4 ms of latency for a single hop. The lower altitude also reduces the distance the electromagnetic signal has to travel. Compared to the geosynchronous orbit, the reduced distance of the NGO reduces the dispersion of electromagnetic signals. This allows the satellite in NGO as well as the device communicating with the satellite to use a less powerful transmitter, use smaller antennas, and so forth.

The system100shown here comprises a plurality (or “constellation”) of satellites102(1),102(2), . . . ,102(S), each satellite102being in orbit104. Also shown is a ground station106, user terminal (UT)108, a user device110, and so forth.

The constellation may comprise hundreds or thousands of satellites102, in various orbits104. For example, one or more of these satellites102may be in non-geosynchronous orbits (NGOs) in which they are in constant motion with respect to the Earth, such as a low earth orbit (LEO). In this illustration, orbit104is depicted with an arc pointed to the right. A first satellite (SAT1)102(1) is leading (ahead of) a second satellite (SAT2)102(2) in the orbit104. The satellite102is discussed in more detail with regard toFIG.2.

With regard toFIG.1, an uplink (“UL”) is a communication link which allows uplink data112to be sent to a satellite102from a ground station106, UT108, or device other than another satellite102. Uplinks are designated as UL1, UL2, UL3and so forth. For example, UL1is a first uplink from the ground station106to the second satellite102(2). In comparison, a downlink is a communication link which allows downlink data114to be sent from the satellite102to a ground station106, UT108, or device other than another satellite102. For example, DL1is a first downlink from the second satellite102(2) to the ground station106. The satellites102may also be in communication with one another. For example, an intersatellite link (ISL)116provides for communication between satellites102in the constellation. The uplink data112and the downlink data114may each comprise header data and payload data.

One or more ground stations106comprise facilities that are in communication with one or more satellites102. The ground stations106may pass data between the satellites102, a management system130, networks such as the Internet, and so forth. The ground stations106may be emplaced on land, on vehicles, at sea, and so forth. Each ground station106may comprise a communication system120. Each ground station106may use the communication system120to establish communication with one or more satellites102, other ground stations106, and so forth. The ground station106may also be connected to one or more communication networks. For example, the ground station106may connect to a terrestrial fiber optic communication network. The ground station106may act as a network gateway, passing user data or other data between the one or more communication networks and the satellites102. Such data may be processed by the ground station106and communicated via the communication system120. The communication system120of a ground station106may include components similar to those of the communication system of a satellite102and may perform similar communication functionalities. For example, the communication system120may include one or more modems, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna), processors, memories, storage devices, communications peripherals, interface buses, and so forth.

The ground station106may include a local clock122. The local clock122may be disciplined to true time using a primary external source. For example, the primary external source may comprise a global navigation satellite system (GNSS) receiver such as Global Positioning System, Galileo, Glonass, BeiDou, and so forth. For the purposes of this disclosure “true time” may be considered the time standard selected for use. For example, “true time” may be International Atomic Time, Coordinated Universal Time, Barycentric Coordinate Time, and so forth. The true time may be indicative of widely ranging timescales, such as providing information about picoseconds to years.

In some implementations the ground station106may include a local high precision clock. For example, the local clock122of the ground station106may comprise one or more of an atomic clock, quantum clock, optical lattice clock, and so forth. Output from the local clock122may be used to operate the communication system120. For example, similar to that described below with regard to the timing system170of the UT108, a primary pulse per second (PPS) signal may be used to provide timing information to components such as transmitters or receivers of the communication system120.

The ground stations106are in communication with a management system130. The management system130is also in communication, via the ground stations106, with the satellites102and the UTs108. The management system130coordinates operation of the satellites102, ground stations106, UTs108, and other resources of the system100. The management system130may comprise one or more of an orbital mechanics system132or a scheduling system136. The management system130may comprise one or more servers or other computing devices.

The orbital mechanics system132determines ephemeris data134that is indicative of a state of a particular satellite102at a specified time. In one implementation, the orbital mechanics system132may use orbital elements that represent characteristics of the orbit104of the satellites102in the constellation to determine the ephemeris data134that predicts location, velocity, and so forth of particular satellites102at particular times or time intervals. For example, the orbital mechanics system132may use data obtained from actual observations from tracking stations, data from the satellites102, scheduled maneuvers, and so forth to determine the orbital elements. The orbital mechanics system132may also consider other data, such as space weather, collision mitigation, orbital elements of known debris, and so forth.

The scheduling system136schedules resources to provide communication to the UTs108. For example, the scheduling system136may determine handover data that indicates a time when communication is to be transferred from the first satellite102(1) to the second satellite102(2). Continuing the example, the scheduling system136may also specify communication parameters such as frequency, timeslot, and so forth. During operation, the scheduling system136may use information such as the ephemeris data134, system status data138, user terminal data140, and so forth.

The system status data138may comprise information such as which UTs108are currently transferring data, satellite availability, current satellites102in use by respective UTs108, capacity available at particular ground stations106, and so forth. For example, the satellite availability may comprise information indicative of satellites102that are available to provide communication service or those satellites102that are unavailable for communication service. Continuing the example, a satellite102may be unavailable due to malfunction, previous tasking, maneuvering, and so forth. The system status data138may be indicative of past status, predictions of future status, and so forth. For example, the system status data138may include information such as projected data traffic for a specified interval of time based on previous transfers of user data. In another example, the system status data138may be indicative of future status, such as a satellite102being unavailable to provide communication service due to scheduled maneuvering, scheduled maintenance, scheduled decommissioning, and so forth.

The user terminal data140may comprise information such as a location of a particular UT108. The user terminal data140may also include other information such as a priority assigned to user data associated with that UT108, information about the communication capabilities of that particular UT108, and so forth. For example, a particular UT108in use by a business may be assigned a higher priority relative to a UT108operated in a residential setting. Over time, different versions of UTs108may be deployed, having different communication capabilities such as being able to operate at particular frequencies, supporting different signal encoding schemes, having different antenna configurations, and so forth.

The UT108includes a communication system150to establish communication with one or more satellites102. The communication system150of the UT108may include components similar to those of the communication system212of a satellite102and may perform similar communication functionalities. For example, the communication system150may include one or more modems, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna), processors, memories, storage devices, communications peripherals, interface buses, and so forth. The UT108passes user data between the constellation of satellites102and the user device110. The user data includes data originated by the user device110or data addressed to the user device110.

The UT108may be fixed or in motion. For example, the UT108may be used at a residence, business, or on a vehicle such as a car, boat, aerostat, drone, airplane, and so forth. The UT108includes a tracking system152. The tracking system152uses ephemeris data134to determine tracking data154. The ephemeris data134provides information indicative of orbital elements of the orbit104of one or more satellites102. For example, the ephemeris data134may comprise orbital elements such as “two-line element” data for the satellites102in the constellation that are broadcast or otherwise sent to the UTs108using the communication system150.

The tracking system152may use UT location data162(see below) of the UT108and the ephemeris data134to determine the tracking data154for the satellite102. For example, based on the current location of the UT108and the predicted position and movement of the satellites102, the tracking system152is able to calculate the tracking data154. The tracking data154may include information indicative of azimuth, elevation, distance to the second satellite102(2), time of flight correction, or other information associated with a specified time. The determination of the tracking data154may be ongoing. For example, the first UT108may determine tracking data154every 100 ms, every second, every five seconds, or at other intervals.

In some implementations the satellite102may provide grant data156to the UT108. The grant data156may specify information about how and when the UT108is permitted to utilize the uplink to the satellite102. For example, the grant data156may specify a frequency, modulation, timeslot, and so forth that are allocated for the UT108to use to send uplink data112to the satellite102.

The UT108may include a global navigation satellite system (GNSS) receiver158. For example, the GNSS receiver158may receive and process signals from one or more GNSSs, such as Global Positioning System (GPS), Galileo, Glonass, BeiDou, and so forth. The GNSS receiver158may provide various outputs, such a GNSS status160, UT location data162, and so forth. The GNSS status160may comprise information about the state of the GNSS itself or portions thereof, the GNSS receiver158itself, and so forth. The GNSS status160may be indicative of the GNSS receiver158determining it is in an error state. For example, the GNSS status160may provide output indicative of “no satellites in view”, “receiver failure”, “interference detected”, and so forth. In another example, the GNSS status160, or absence thereof, may indicate that the GNSS receiver158is inoperable. The GNSS status160may comprise, or be based on, an error message received by the GNSS receiver158. For example, an error message may be transmitted by the GNSS constellation indicating degraded service, a service outage, and so forth. The GNSS status160may be indicative of other conditions, such as an inability to provide timing information with a specified precision. For example, the GNSS stat160may indicate an error if the timing information is provided with a timing precision that is worse than (greater than) 50 ns.

The UT location data162is indicative of a location of the UT108. For example, the UT location data162may specify the latitude, longitude, and altitude of the UT108or a portion thereof such as an antenna. In some implementations, the UT location data162may include other information such as a heading or orientation of the UT108or a portion thereof.

The UT108includes a timing system170. The timing system170includes a local clock172. The local clock172may comprise a local oscillator and associated circuitry that measures time intervals. For example, the local clock172may comprise a clock comprising an oscillator incorporating a quartz crystal. The local clock172may be disciplined using output from a primary external source, such as the GNSS receiver158. The disciplining allows for ongoing correction of the local clock172to “true time” that is provided by the GNSS receiver158.

A PPS signal indicates the start of the next second and may be used to synchronize or set other clocks or oscillators. These clocks or oscillators may be found in various components of the UT108, such as transmitters and receivers in the communication system150.

A primary PPS system174provides a primary PPS signal. The primary PPS signal may be based on output from a primary external source. For example, the primary PPS system174may comprise the GNSS receiver158that provides as output the primary PPS signal. In some implementations, the primary PPS system174may use a primary internal source, such as a local atomic clock or other high precision clock.

A secondary PPS system176provides a secondary PPS signal. The secondary PPS system176is configured to determine true time based on downlink data114from one or more satellites102in the constellation. The downlink data114is discussed with regard toFIG.4. Operation of the secondary PPS system176is discussed in the following figures, includingFIG.5.

A PPS selector system178determines whether to distribute the first PPS signal or the second PPS signal as the output PPS signal180to the components of the UT108. In one implementation, the PPS selector system178may use the GNSS status160to determine if the GNSS receiver158is operating properly and producing a reliable output. In another implementation, the PPS selector system178may assess the primary PPS signal and the secondary PPS signal and determine which is deemed to be more accurate. In the event the primary PPS signal is unavailable or deemed to be inaccurate, the PPS selector system178distributes the secondary PPS signal as the output PPS signal180. By distributing the secondary PPS signal as the output PPS signal180, the UT108is able to maintain ongoing accurate true time information and compensate for drift and other factors affecting the local clock172.

The output PPS signal180is distributed to the components of the UT108. For example, the output PPS signal180may be used to discipline local oscillators of one or more of a receiver or transmitter in the communication system150, phased array antenna circuitry, and so forth.

A device, such as a server, uses one or more networks144to send data that is addressed to a UT108or a user device110that is connected to the UT108. The system100may include one or more point of presence (POP) systems146. Each POP system146may comprise one or more servers or other computing devices at a facility, such as on Earth. Separate POP systems146may be located at different locations in different facilities. In one implementation, a PoP system146may be associated with providing service to a plurality of UTs108that are located in a particular geographic region.

The POP system146is in communication with one or more ground stations106(1),106(2), . . . ,106(G) and the management system130. In some implementations one or more functions may be combined. For example, the POP system146may perform one or more functions of the management system130. In another example, the POP system146may include an integrated ground station106. The POP system146accepts data addressed to the UT108or associated device and proceeds to attempt delivery using the communication network144. This data may ultimately be sent as downlink data114to the UT108. Similarly, the POP system146accepts data sent as uplink data112from the UT108to the satellite102, and directs this data to the network144.

Various configurations of the systems described in this disclosure may be used. In one implementation, the ground station106, the management system130, and the POP system146may be present at different physical locations. For example, ground stations106may be present at different locations on the Earth to provide desired communication coverage with the satellites102. The POP system146may comprise one or more servers and may be located in a first datacenter. The management system130may comprise one or more servers at a second datacenter.

The satellite102, the ground station106, the user terminal108, the user device110, the management system130, the POP system146, or other systems described herein may include one or more computer devices or computer systems comprising one or more hardware processors, computer-readable storage media, and so forth. For example, the hardware processors may include application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), and so forth. Embodiments may be provided as a software program or computer program including a non-transitory computer-readable storage medium having stored thereon instructions (in compressed or uncompressed form) that may be used to program a computer (or other electronic device) to perform the processes or methods described herein. The computer-readable storage medium may be one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, and so forth. For example, the computer-readable storage medium may include, but is not limited to, hard drives, optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. Further embodiments may also be provided as a computer program product including a transitory machine-readable signal (in compressed or uncompressed form). Examples of transitory machine-readable signals, whether modulated using a carrier or unmodulated, include, but are not limited to, signals that a computer system or machine hosting or running a computer program can be configured to access, including signals transferred by one or more networks. For example, the transitory machine-readable signal may comprise transmission of software by the Internet.

FIG.2is a block diagram200of some systems associated with the satellite102, according to some implementations. The satellite102may comprise a structural system202, a control system204, a power system206, a maneuvering system208, one or more sensors210, and a communication system212. The satellite102may include a timing system214. The timing system214may comprise a local clock284and provides an output PPS signal180. In some implementations the timing system214may be similar to the timing system170as described herein. For example, a primary PPS system174may use output from a GNSS receiver158to provide a primary PPS signal, and a secondary PPS system176may provide a secondary PPS signal for use if the primary PPS signal is unavailable. The output PPS signal180provides timing reference to the systems onboard the satellite102.

One or more buses216may be used to transfer data between the systems onboard the satellite102. In some implementations, redundant buses216may be provided. The buses216may include, but are not limited to, data buses such as Controller Area Network Flexible Data Rate (CAN FD), Ethernet, Serial Peripheral Interface (SPI), and so forth. In some implementations the buses216may carry other signals. For example, a radio frequency bus may comprise coaxial cable, waveguides, and so forth to transfer radio signals from one part of the satellite102to another. In other implementations, some systems may be omitted or other systems added. One or more of these systems may be communicatively coupled with one another in various combinations.

The structural system202comprises one or more structural elements to support operation of the satellite102. For example, the structural system202may include trusses, struts, panels, and so forth. The components of other systems may be affixed to, or housed by, the structural system202. For example, the structural system202may provide mechanical mounting and support for photovoltaic panels in the power system206. The structural system202may also provide for thermal control to maintain components of the satellite102within operational temperature ranges. For example, the structural system202may include louvers, heat sinks, radiators, and so forth.

The control system204provides various services, such as operating the onboard systems, resource management, providing telemetry, processing commands, and so forth. For example, the control system204may direct operation of the communication system212. The control system204may include one or more flight control processors220. The flight control processors220may comprise one or more processors, FPGAs, and so forth. A tracking, telemetry, and control (TTC) system222may include one or more processors, radios, and so forth. For example, the TTC system222may comprise a dedicated radio transmitter and receiver to receive commands from a ground station106, send telemetry to the ground station106, and so forth. A power management and distribution (PMAD) system224may direct operation of the power system206, control distribution of power to the systems of the satellite102, control battery234charging, and so forth.

The power system206provides electrical power for operation of the components onboard the satellite102. The power system206may include components to generate electrical energy. For example, the power system206may comprise one or more photovoltaic arrays230comprising a plurality of photovoltaic cells, thermoelectric devices, fuel cells, and so forth. One or more PV array actuators232may be used to change the orientation of the photovoltaic array(s)230relative to the satellite102. For example, the PV array actuator232may comprise a motor. The power system206may include components to store electrical energy. For example, the power system206may comprise one or more batteries234, fuel cells, and so forth.

The maneuvering system208maintains the satellite102in one or more of a specified orientation or orbit104. For example, the maneuvering system208may stabilize the satellite102with respect to one or more axes. In another example, the maneuvering system208may move the satellite102to a specified orbit104. The maneuvering system208may include one or more of reaction wheel(s)240, thrusters242, magnetic torque rods244, solar sails, drag devices, and so forth. The thrusters242may include, but are not limited to, cold gas thrusters, hypergolic thrusters, solid-fuel thrusters, ion thrusters, arcjet thrusters, electrothermal thrusters, and so forth. During operation, the thrusters242may expend propellent. For example, an electrothermal thruster may use water as propellent, using electrical power obtained from the power system206to expel the water and produce thrust. During operation, the maneuvering system208may use data obtained from one or more of the sensors210.

The satellite102includes one or more sensors210. The sensors210may include one or more engineering cameras250. For example, an engineering camera250may be mounted on the satellite102to provide images of at least a portion of the photovoltaic array230. Accelerometers252provide information about acceleration of the satellite102along one or more axes. Gyroscopes254provide information about rotation of the satellite102with respect to one or more axes. The sensors210may include a global navigation satellite system (GNSS) receiver256, such as a Global Positioning System (GPS) receiver, to provide information about the position of the satellite102relative to Earth. In some implementations the GNSS receiver256may also provide information indicative of velocity, orientation, and so forth. One or more star trackers258may be used to determine an orientation of the satellite102. A coarse sun sensor260may be used to detect the sun, provide information on the relative position of the sun with respect to the satellite102, and so forth. The satellite102may include other sensors210as well. For example, the satellite102may include a horizon detector, radar, lidar, and so forth.

The communication system212provides communication with one or more other devices, such as other satellites102, ground stations106, user terminals108, and so forth. The communication system212may include one or more modems276, digital signal processors, power amplifiers, antennas (including at least one antenna that implements multiple antenna elements, such as a phased array antenna)282, processors, memories, storage devices, communications peripherals, interface buses, and so forth. Such components support communications with other satellites102, ground stations106, user terminals108, and so forth using radio frequencies within a desired frequency spectrum. The communications may involve multiplexing, encoding, and compressing data to be transmitted, modulating the data to a desired radio frequency, and amplifying it for transmission. The communications may also involve demodulating received signals and performing any necessary de-multiplexing, decoding, decompressing, error correction, and formatting of the signals. Data decoded by the communication system212may be output to other systems, such as to the control system204, for further processing. Output from a system, such as the control system204, may be provided to the communication system212for transmission.

Each satellite may use one or more antennas282or antenna elements to provide a beam for transmission and reception of radio signals. For example, the satellite102may have a phased array antenna that allows for gain in a particular direction. Compared to a non-directional radiator, this gain directs the energy of transmitted radio frequency signals in that particular direction. This increases the strength of the signal at a receiver in the UT108, ground station106, and so forth. Likewise, the gain results in improved received signal strength at the satellite102due to the gain.

The beam provided by the satellite102may comprise a plurality of subbeams. Subbeams on a satellite102may use different frequencies, timeslots, and so forth, to communicate with the UT108. Each subbeam provides coverage of a particular geographic area or “footprint”. Compared to a single beam, subbeams provide several advantages. For example, by using subbeams, radio frequencies may be reused by the same satellite102and other satellites102to service different areas. This allows increased density of UTs108and bandwidth.

During a pass over of a particular location on the Earth, each subbeam may be targeted to a geographic location on the Earth. While that target geographic location is in range of the satellite102, the subbeam tracks the target location. As the satellite102moves in orbit104, the boundary of the footprint may change due to the relative angle between the satellite102and the earth. For example, the footprint boundary may change from approximately an oval shape while the satellite102is low on the horizon relative to the target location, a circular shape while directly overhead, then an oval shape as the satellite102nears the opposite horizon. As the satellite102moves, a subbeam may be retargeted to another target location. In this configuration, instead of the subbeam sweeping along the ground track of the satellite102, the subbeam loiters on a first area relative to the Earth, then is redirected to a second area.

In some implementations, a particular modem276or set of modems276may be allocated to a particular subbeam. For example, a first modem276(1) provides communication to UTs108in a first geographic area using a first subbeam while a second modem276(2) provides communication to UTs108in a second geographic area using a second subbeam.

The communication system212may include hardware to support the intersatellite link116. For example, an intersatellite link FPGA270may be used to modulate data that is sent and received by an ISL transceiver272to send data between satellites102. The ISL transceiver272may operate using radio frequencies, optical frequencies, and so forth.

A communication FPGA274may be used to facilitate communication between the satellite102and the ground stations106, UTs108, and so forth. For example, the communication FPGA274may direct operation of a modem276to modulate signals sent using a downlink transmitter278and demodulate signals received using an uplink receiver280. The satellite102may include one or more antennas282. For example, one or more parabolic antennas may be used to provide communication between the satellite102and one or more ground stations106. In another example, a phased array antenna may be used to provide communication between the satellite102and the UTs108.

A timing support system290may be configured to determine UT time correction data292. For example, the UT time correction data292may be determined based on the delays to the uplink data112, a transmit time of the uplink data112from the UT108with respect to the local clock172of the UT108, and a reception time of the uplink data112at the satellite102with respect to the local clock284. For example, the UT time correction data292may indicate the difference between the local time of the UT108local clock172as adjusted for the delays associated with the travel of the signal and the satellite102local clock284. The UT time correction data292may include, or be associated with, other information that indicates particular uplink data112. For example, the UT time correction data292may indicate a frame number of the uplink data112. The UT time correction data292is discussed in more detail with regard to theFIGS.5and6.

In some implementations, the satellite102may determine at least a portion of, or distribute, atmospheric correction data294. The atmospheric correction data294may be indicative of delays or other corrections to timing that result from effects of the atmosphere between participating devices such as a transmitter of the UT108and a receiver of the satellite102, or vice versa. The atmospheric correction data294may be determined based on one or more of uplink data112or downlink data114. The atmospheric correction data294is discussed in more detail with respect to the following figures.

FIG.3illustrates at 300 changes in estimated delay302in propagation of a signal between a satellite102and a UT108. The estimated delay302may comprise delays due to several different factors including distance, intervening atmosphere, and effects due to special relativity.

A position of the satellite102in orbit104may change over time, changing a distance between the ground station106and the satellite102. Because the electromagnetic signal has a maximum speed of “c”, as the distance changes so too does the amount of time it takes for a signal to travel between the ground station106and the satellite102. In one implementation, a distance delay304that results from this distance may be determined by dividing the distance by c.

Atmospheric delay306may result from the effects on a signal of an intervening atmosphere. For example, atmospheric delay includes delays that result from diffraction, reflection, changes in the propagation velocity, and so forth. The atmosphere that contributes to these effects includes the troposphere close to the Earth's surface up through the ionosphere and the thermosphere and higher at the altitude of the satellites102. For example, changes in the ionosphere may cause the path travelled by a signal to change, producing a change in distance between the UT108and the satellite102.

Relativistic effects308may also be considered. Special relativity is a branch of physics that involves objects that are moving relative to one another, are within a gravitational field, and so forth. In situations where two clocks are moving at some speed relative to one another, those clocks will appear to tick at different rates. For example, the clock in an orbiting satellite will appear to be ticking slower than a clock on the ground. Gravity also affects the operation of clocks. For example, the closer a clock is to a body having a gravitational field, the slower that clock will tick. Continuing the example, an atomic clock at sea level will appear to tick more slowly than an atomic clock in orbit. The relativistic effects308may take into consideration the altitude of the two devices, their relative velocities, and so forth.

The distance between the ground station106and the satellite102may be calculated given the known location of the ground station106and the ephemeris data134. If the downlink data114includes location data about the satellite102obtained from the GNSS receiver158, the distance may be determined to within a few meters. For example, the distance may then be calculated based on the known locations of the UT108and the satellite102. The distance “D” may also be known as the “slant range”.

In this illustration, a bar graph depicting a relative magnitude of an estimated delay302and the constituents is shown for times t=1, 2, 3, 4, and 5. Also shown is the UT108and the satellite102that is providing communication services. As time progresses, distance between the satellite102and the UT108changes due to the relative motion of the satellite102with respect to the Earth where the UT108is placed. At time t=1 where the distance is relatively large, the estimated delay302is relatively large. As the distance decreases to time t=3, so too does the estimated delay302. As a result of this changing estimated delay302, the overall delay associated with sending data to the satellite102will change from one time to another. Likewise, the overall delay associated with sending data from the satellite102to the UT108will also change from one time to another.

FIG.4illustrates at400data associated with operation of the system, according to some implementations.

The downlink data114may comprise one or more of beacon data402or downlink user data420. In some implementations beacon data402may be sent separately from the downlink user data420. For example, the beacon data402may be transmitted on a first frequency at a first time, while the downlink user data420is transmitted on a second frequency at a second time.

The beacon data402may comprise one or more of transmit time404, ephemeris data134or a portion thereof, satellite location data408, satellite velocity data410, atmospheric correction data294, or other information. The transmit time404is indicative of a time, with respect to the local clock284of the satellite102, when the beacon data402was transmitted.

The ephemeris data134may comprise information indicative the orbital elements associated with the satellite102that is sending the ephemeris data134. In other implementations, the ephemeris data134for a plurality of satellites102may be included in the beacon data402.

The satellite location data408is indicative of a location of the satellite102that is associated with the transmit time404. For example, the satellite location data408may be obtained from the GNSS receiver158and is indicative of the coordinates in space including altitude of the satellite102.

The satellite velocity data410may comprise data indicative of a velocity of the satellite102that is associated with the transmit time404. The velocity may be specified with respect to a specified reference frame. For example, the GNSS receiver158may provide the satellite velocity data410.

The atmospheric correction data294may be based on, or be indicative of, the atmospheric delay306. For example, the timing support system290may determine the atmospheric correction data294based on data obtained from communication with a plurality of UTs108. In some implementations, the atmospheric correction data294may be provided by the ground station106, management system130, or other system.

The downlink user data420may comprise downlink header data422and downlink payload data430. The downlink header data422comprises transmit time424. The transmit time424indicates a time that the downlink user data420was transmitted, relative to the local clock284of the satellite102as disciplined to true time from a primary external source. The downlink header data422may comprise other information such as source address, destination address, priority, and so forth.

The downlink payload data430may comprise information that is addressed to the UT108or user device110connected thereto. For example, the downlink payload data430may comprise image data, web page data, and so forth. The downlink payload data430may comprise UT time correction data292. The UT time correction data292may be indicative of a differential between the true time at the satellite102and a transmit time452of uplink data112, taking into consideration the estimated delay302at that time. In some implementations, the UT time correction data292may be determined based on a difference between reception time indicative of the true time when the uplink data112was received and an actual or inferred transmit time of the uplink data112. The actual transmit time may comprise transmit time information that is included in the uplink data112. The inferred transmit time may be determined based on the reception time and an assumption that the UT108properly determined one or more estimated delays302to the satellite102and sent the uplink data112so that the uplink data112would arrive at the satellite108at a specified time, such as at the beginning of a timeslot specified by grant data156. In some implementations, the UT time correction data292may be transmitted responsive to receiving uplink data112.

The uplink data112may comprise uplink header data450and uplink payload data460. The uplink header data450comprises the transmit time452. The transmit time452indicates a time that the uplink data112was transmitted, relative to the local clock172of the UT108. The uplink header data450may also include a loss of time message454or other data indicative of a loss of time. For example, the loss of time message454may comprise a single bit value that indicates whether the UT108is using the primary PPS signal or the secondary PPS signal. The uplink header data450may comprise other information such as source address, destination address, priority, and so forth.

The uplink payload data460may comprise the UT location data162. The uplink payload data460may comprise information that is addressed to another device, such as the satellite102, the management system130, a server connected to the network144, and so forth. For example, the uplink payload data460may comprise an email message, image data, audio data, and so forth.

The downlink data114or portions thereof may be encrypted. Different cryptographic keys may be used to encrypt different portions. For example, the beacon data402may be encrypted with a first cryptographic key while the downlink payload data430is encrypted with a second cryptographic key, the uplink payload data460is encrypted with a third cryptographic key, and so forth.

FIG.5illustrates at 500 the timing system170of the UT108that determines PPS signals, according to some implementations.

The primary external source in this illustration is a GNSS constellation502. For example, the GNSS constellation502may comprise Global Positioning System, Indian Regional Navigation Satellite System (IRNSS) also known as “NavIC”, Quasi-Zenith Satellite System (QZSS), Galileo, Glonass, BeiDou, and so forth.

In other implementations the primary external source may comprise a terrestrial radio transmitter. For example, the primary external source may comprise a national time signal such as provided by radio station WWVB that transmits NIST UTC time at 60 kHz. In another example, the primary external source may comprise an enhanced long range navigation (eLORAN) system.

The timing system170comprises the primary PPS system174. In this illustration, the primary PPS system174comprises a GNSS receiver158or other components associated with acquiring information from the primary external source. As described above, the GNSS receiver158may provide as output GNSS status160indicative of the status of operation of the GNSS constellation502, the GNSS receiver158itself, and so forth. The GNSS receiver158may provide output timing information that includes data indicative of true time506. For example, the true time506provided by the GPS system may be GPS time expressed as serialized data. The GNSS receiver158may also determine the UT location data162. The GNSS receiver158may include or be in communication with circuitry that provides a primary PPS signal508. While the true time506indicates the year, day, hour, minute, and so forth, the primary PPS signal508is indicative of a start time of a second.

The primary PPS signal508is provided to the PPS selector system178. The PPS selector system178may also receive the GNSS status160or input based thereon. During normal operation, such as when the GNSS status160indicates normal or acceptable operation, the PPS selector system178selects the primary PPS signal508for use. The primary PPS signal508is then distributed to the components of the UT108as the output PPS signal180. For example, the output PPS signal180may be used with the true time506to discipline the local clock172.

The output of the local clock172is shown here as local time520. The local time520may be provided as input to the secondary PPS system176. The secondary PPS system176may include one or more of a distance delay system522, atmospheric delay system526, or a relativistic compensation system530.

The secondary PPS system176receives information from the communication system150. The communication system150may provide at least a portion of the downlink data114to the secondary PPS system176. For example, the communication system150may send the beacon data402, transmit time424, UT time correction data292, and so forth. The communication system150may also determine a reception time504that is indicative of a time, with respect to the local clock172, that the downlink data114or a portion thereof was received.

The downlink data114used by the UT108and the timing system170therein is not necessarily addressed to the UT108. For example, the system is operable if the beacon data402and transmit time424are unencrypted or are decryptable by a receiving UT108. The UT108may thus acquire and recover time information based on the downlink data114that is broadcast or addressed to other UTs108.

The distance delay system522determines a distance delay524indicative of a time that the signal is expected to have taken to travel the distance between the location of the satellite102at the transmit time404and the location of the UT108at the reception time504. The distance delay524may be calculated based on the distance in space specified by the satellite location data408and the UT location data162, divided by an expected speed of the signal through the intervening medium.

The atmospheric delay system526may determine the atmospheric delay528based on one or more of previous measurements, atmospheric correction data294received from the satellite102, and so forth. In one implementation, the atmospheric delay system526may retrieve the atmospheric delay528data based on the satellite location data408and the UT location data162, with different values to accommodate varying relative azimuth and elevation of the satellite102with respect to the UT108.

The relativistic compensation system530determines relativistic compensation532values that are representative of the relativistic effects308involved. For example, the relativistic compensation system530may use one or more of the satellite location data408or the satellite velocity data410to determine a gravitational frequency shift associated with the satellite102, time dilation due to motion, and so forth.

Based on one or more of the distance delay524, the atmospheric delay528, or the relativistic compensation532, the secondary PPS system176determines time correction data534. The time correction data534may be indicative of an offset or variance that is to be applied to the reception time504to recover true time at the satellite102as of the transmit time404.

In other implementations, the time correction data534may use other information indicative of delays associated with operation of the components of one or more of the satellite102or the UT108. For example, the time correction data534be based on a communication system150processing delay due to operation of the circuitry in the communication system150to receive and determine the reception time504.

The determination of the time correction data534is improved by iterating the process. For example, a plurality of samples of transmitted frames may be acquired and used to provide a plurality of downlink data114. The time correction data534may be determined based on an average of many samples.

The time correction data534may be applied to the local time520to determine local corrected time536. The local corrected time536is a close proxy to the true time provided at the disciplined local clock284of the satellite102. Based on the local corrected time536, the secondary PPS system176provides the secondary PPS signal540to the PPS selector system178. In the event the PPS selector system178determines that the primary PPS signal508is abnormal or unavailable, the secondary PPS signal540is selected for use and is distributed to the components of the UT108as the output PPS signal180.

In one implementation, the UT108is fixed with respect to Earth and remains at the same location. Over time during normal operation, several samples of UT location data162may be acquired by the GNSS receiver158and processed to determine a highly accurate position, such as within centimeters. This highly accurate UT location data162may then be stored and retrieved for use by the secondary PPS system176. In another example, the UT location data162may be manually entered, or otherwise provided as stored data.

In another implementation the UT108is mobile with respect to Earth. In this implementation, the UT location data162may be updated based on information from other systems or sensors. For example, given a known starting location, an inertial navigation system may integrate accelerations and rotations with respect to six degrees of freedom to determine the UT location data162at a later time. In another example, another system such as an optical navigation system using one or more cameras observing fixed objects, odometry and map, and so forth may be used to determine the UT location data162.

The timing system170may be implemented by other devices. In one implementation, the timing system214of the satellite102may implement techniques similar to those described with respect to the timing system170of the UT108. In this implementation, the satellite102may utilize uplink data and signals sent from the ground station106to the satellite102to determine the secondary PPS signal540. For example, the local clock122of the ground station106may comprise one or more of an atomic clock, quantum clock, and so forth that provides highly accurate timing information. Based on the actual or inferred transmit time452of uplink data112, ground station location data, the satellite location data, and so forth, the timing system214may determine the secondary PPS signal540that is then distributed to the components of the satellite102.

The output PPS signal180and the local corrected time536provide highly accurate time information, even if the primary PPS signal508is unavailable. The output PPS signal180may be used to provide timing to components in the UT108, such as one or more oscillators in the communication system150, such as used in a receiver, transmitter, and so forth. The local corrected time536may also be used to facilitate time-based encryption protocols, such as the use of time varying cryptographic keys.

In some implementations, the secondary PPS system176may be in operation while the timing system170is in use. As a result, the secondary PPS system176is immediately ready to provide the secondary PPS signal540in the event of a failure of the primary PPS signal508. In other implementations, the secondary PPS system176may be operated after failure of the primary PPS signal508.

FIG.6is a flow diagram600of a process to determine PPS timing, according to some implementations. The process may be implemented by one or more of the UT108, the satellite102, the ground station106, or other systems or devices.

At602a first local time520(1) is determined. For example, the first local time520(1) may be determined by disciplining the local clock172of the UT108based on the true time506and the primary PPS signal508provided by a GNSS receiver158.

At604the primary PPS signal508is determined to be unavailable. The primary PPS signal508may be unavailable due to a failure of timing information from the GNSS receiver158. The failure of the timing information may be based on one or more of: the GNSS receiver158determines an error state, the GNSS receiver158has received an error message, the GNSS receiver158is inoperable, the GNSS receiver158is unable to provide timing information with a specified precision, the GNSS receiver158detects interference, and so forth.

For example, the PPS selector system178may receive GNSS status data160that indicates an insufficient number of GNSS constellation502satellites are in view, a failure of the GNSS constellation, or other fault.

At650a satellite102determines true time506. For example, the satellite102may use the GNSS receiver158to discipline the local clock284of the satellite102to true time506.

At652, downlink data114is transmitted. The downlink data114is transmitted at a first transmit time404that is based on the true time506. As described above, the downlink data114may include the transmit time404data that indicates the true time506when the downlink data114was transmitted.

At606the downlink data114is received by the UT108from one or more satellites606. For example, the UT108may receive downlink data114that is addressed to the UT108or to other UTs108that are within the same spot beam of an antenna282of the satellite102.

At608a first reception time504(1) is determined that is associated with at least a portion of the downlink data114. For example, the communication system150may provide the reception time504that a frame of downlink data114was received, based on output from the local clock172.

At610, based on at least a portion of the downlink data114, and the first reception time504(1), first time correction data534(1) is determined. For example, the time correction data534may be determined based on the transmit time404, the reception time504, the distance delay524, the atmospheric delay528, the relativistic compensation532, and so forth.

At612first local corrected time536(1) is determined based on the first local time520(1) and the first time correction data534(1). For example, the first time correction data534(1) and the first local time520(1) may be summed.

At614a secondary PPS signal540is determined at a first time based on the first local corrected time536(1). For example, the local clock172, as corrected by the first time correction data534(1), may be used to determine the secondary PPS signal540.

Operations602through614may be deemed an “open loop” in that the UT108is operating based on information from the satellite102but has not yet communicated with the satellite102. The downlink data114received by the UT108may be non-specific, that is not particularly tailored to the UT108or containing information that is specific or unique to the particular UT108.

In comparison, the operations616through626introduce a “closed loop” process in which additional information obtained from another device is used to determine the local corrected time536.

At616the UT108sends uplink data112to the satellite102at a second transmit time452. The second transmit time452may be based on the first local corrected time536(1). In one implementation, the uplink data112may include the second transmit time452, indicative of when the uplink data112was sent by the UT108, with respect to the local clock172. For example, the transmit time452may be based on the first local corrected time536(1). In another implementation the uplink data112may omit the second transmit time452.

The uplink data112may also include a loss of time message454. For example, a portion of the uplink header data450may be modified to indicate the timing system170of the UT108is not using the primary PPS signal508.

At618the satellite102receives the uplink data112and determines a second reception time504(2) that is associated with receiving at least a portion of the uplink data112from the UT108. For example, the uplink receivers280may provide the second reception time504(2) with respect to the local clock284disciplined to true time506.

At620the UT time correction data292is determined based on the true time506of the local clock284and the second reception time504(2). The second transmit time452may be inferred by the satellite102. In some implementations, the UT108may determine and apply a correction factor to the time at which it transmits the uplink data112, such that the uplink data112arrives at the satellite102at a specified time, such as the beginning of a timeslot. For example, the grant data156may specify a particular timeslot during which the UT108is authorized to transmit the uplink data112. Based on this grant data156and the first local time, the UT108determines a transmit time such that the uplink data112will arrive at the satellite108at the start of the timeslot. Continuing the example, given the known grant data156or other information indicating a specific time allocated for the UT108to transmit the uplink data112, upon receiving the uplink data112from the UT108during the timeslot, the satellite102may determine an inferred second transmit time452. In implementations in which the uplink data112includes the second transmit time452, the UT time correction data292may be determined based on the second transmit time452.

The UT time correction data292may be determined using similar techniques to those used by the secondary PPS system176to determine the time correction data534. For example, the UT time correction data292may be based on the distance delay524, the atmospheric delay528, and the relativistic compensation532that is associated with the uplink data112at the second transmit time452. The UT time correction data292may be indicative of the deviation of the recovered local corrected time536with respect to the true time506as indicated by the local clock284.

At622the satellite102sends the UT time correction data292to the UT108. For example, the UT time correction data292may be included in downlink payload data430addressed to the particular UT108.

At624second local corrected time536(2) is determined based on the first local corrected time536(1) and the UT time correction data292. For example, the UT time correction data292may be summed to the first local corrected time536(1) to calculate the second local corrected time536(2).

At626, based on the second local corrected time536(2), the secondary PPS signal540is determined at a second time.

Other implementations are also available. In one implementation (not shown), operations620and622may be omitted and the second reception time504(2) may be sent to the UT108. Additional data such as a frame number or other information to associate the second reception time504(2) with specific uplink data112may be sent to the UT108as well. The UT108may then use the known transmit time452and the second reception time504(2) to determine an actual delay. This may then be compared to the estimated delay302and used to apply a correction factor.

FIG.7is a flow diagram700of determining and distributing atmospheric correction data294, according to some implementations. The large number of satellites102in the constellation and participating UTs108provides the ability to acquire a large set of data with respect to how the atmosphere affects the propagation of signals.

At702, a first set of data associated with operation of at least a plurality of UTs108is determined. The first set of data may comprise one or more of true time506or local time520, UT time correction data292, time correction data534, or system state data720. The system state data720may comprise information such as the satellite location data408, UT location data162, transmission frequency722, modulation, or other information.

At704atmospheric correction data294is determined based on the first set of data. For example, based on the known locations of several thousand UTs108distributed across a geographic area and a satellite102that is servicing those UTs108at a particular time, a detailed characterization of the atmosphere is obtained. This detailed characterization may then be used to determine the atmospheric correction data294. The atmospheric correction data294may be determined for contemporaneous use, such as every few seconds, or may be stored and provides a historical data for later retrieval and usage. For example, the atmospheric correction data294may be determined based on a lookup given relative position of the sun with respect to the satellite102and the coverage area of the satellite102, time of day, solar weather conditions, and so forth.

At706the atmospheric correction data294is sent to one more of UTs108.

At708, as described above, at one or more of the UTs108, the secondary PPS system176or other systems may use this information to improve the accuracy of the local corrected time536.

The processes and methods discussed in this disclosure may be implemented in hardware, software, or a combination thereof. In the context of software, the described operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more hardware processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. Those having ordinary skill in the art will readily recognize that certain steps or operations illustrated in the figures above may be eliminated, combined, or performed in an alternate order. Any steps or operations may be performed serially or in parallel. Furthermore, the order in which the operations are described is not intended to be construed as a limitation.

Embodiments may be provided as a software program or computer program product including a non-transitory computer-readable storage medium having stored thereon instructions (in compressed or uncompressed form) that may be used to program a computer (or other electronic device) to perform processes or methods described herein. The computer-readable storage medium may be one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, and so forth. For example, the computer-readable storage medium may include, but is not limited to, hard drives, optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. Further embodiments may also be provided as a computer program product including a transitory machine-readable signal (in compressed or uncompressed form). Examples of transitory machine-readable signals, whether modulated using a carrier or unmodulated, include, but are not limited to, signals that a computer system or machine hosting or running a computer program can be configured to access, including signals transferred by one or more networks. For example, the transitory machine-readable signal may comprise transmission of software by the Internet.

Separate instances of these programs can be executed on or distributed across any number of separate computer systems. Thus, although certain steps have been described as being performed by certain devices, software programs, processes, or entities, this need not be the case, and a variety of alternative implementations will be understood by those having ordinary skill in the art.

Additionally, those having ordinary skill in the art will readily recognize that the techniques described above can be utilized in a variety of devices, physical spaces, and situations. Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the claims.