Scheduling satellite data transmission using different sets of ground stations
By using a computerized approach combining primary and secondary ground stations, transmission scheduling is generated, solving the problems of low efficiency and high cost of low Earth orbit satellite data transmission, and achieving efficient and low-cost data transmission and resource optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MICROSOFT TECHNOLOGY LICENSING LLC
- Filing Date
- 2021-06-15
- Publication Date
- 2026-07-10
AI Technical Summary
In existing technologies, data transmission between low Earth orbit satellites and ground stations is limited by data rate and communication time. The establishment of traditional ground stations is costly and complex, and the uneven transmission of satellite data leads to latency and resource waste.
A computerized approach combining primary and secondary ground stations is adopted. Transmission scheduling is generated based on satellite trajectory data. Data is received by secondary ground stations and coordinated through primary ground stations. Satellite data transmission is dynamically scheduled to optimize transmission link quality and resource utilization.
It improves satellite data transmission efficiency, reduces setup costs and complexity, reduces latency, enables more efficient data offloading and resource utilization, and adapts to different geographical and weather conditions.
Smart Images

Figure CN122372064A_ABST
Abstract
Description
Cross-references to related applications
[0001] This application is a divisional application of the invention patent application with application number 202180074429.3, application date June 15, 2021, entitled "Using different ground stations to schedule satellite data transmission". Background Technology
[0002] The use of Low Earth Orbit (LEO) satellites has increased dramatically in recent years. Many companies have committed to deploying constellations of hundreds of CubeSats (small satellites) in LEO. Approximately 75% of satellites orbiting the Earth are LEO satellites. These LEO satellites typically serve two purposes: communications and Earth observation. Earth observation satellites provide high-resolution images of the Earth across a wide range of electromagnetic spectrum (e.g., visible light, infrared, radio waves, etc.) with a high revisit rate. Such satellites typically take high-resolution images of the Earth and transmit them to ground stations. Observation satellites collect hundreds of gigabytes of observational data during a single pass over the Earth, and coordinating the transmission of all collected data to ground stations presents significant challenges. Such transmissions are limited by data rate limitations associated with the wireless transmission technologies used and by the limited amount of time that a satellite can be within communication range of a ground station. For example, due to their low orbit, some satellites move very quickly relative to ground stations on Earth, and a single pass may only allow for communication with a ground station for less than ten minutes. Multiple ground stations can be used, but this would require placing many ground stations around the Earth, each of which can be complex and expensive. Summary of the Invention
[0003] This summary presents a set of concepts in a simplified form, which will be further described in the detailed embodiments below. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0004] A computerized method for transmitting data from a satellite using a set of primary and secondary ground stations is described. The satellite's orbit is determined based on its trajectory data during a scheduling period, and a subset of secondary ground stations is identified from the set of secondary ground stations based on the determined orbit of the satellite. These secondary ground stations are configured to receive data from the satellite but not transmit data to it, and the identified subset of secondary ground stations is within the communication range of the satellite's determined orbit. A transmission schedule associated with the satellite is then generated. Generating the transmission schedule includes: for each secondary ground station in the subset, determining a time interval during which the satellite is within the communication range of the secondary ground station, estimating the expected data transmission rate from the satellite to the secondary ground station during the determined time interval, and including the time interval and the expected data transmission rate in the transmission schedule associated with that secondary ground station. The generated transmission schedule is then provided to the satellite via a primary ground station, which is configured to receive data from and transmit data to the satellite, thereby configuring the satellite to transmit data to the subset of secondary ground stations based on the generated transmission schedule. Attached Figure Description
[0005] This description will be better understood from the following specific embodiments, which are read in conjunction with the accompanying drawings, in which:
[0006] Figure 1 This is a block diagram illustrating a system configured according to one embodiment for providing transmission scheduling to a satellite via a primary ground station, thereby configuring the satellite to transmit data to a secondary ground station;
[0007] Figure 2 This is a diagram illustrating a system of multiple satellites configured to transmit data to multiple ground stations according to a satellite transmission schedule, according to one embodiment.
[0008] Figure 3 This is an illustration of a computerized method for configuring satellite-to-auxiliary ground station data transmission by generating a transmission schedule, according to one embodiment.
[0009] Figure 4 This is a flowchart illustrating a computerized method for transmitting data from a satellite using a set of primary and secondary ground stations, according to one embodiment;
[0010] Figure 5 This is a flowchart illustrating a computerized method for coordinating transmissions from a satellite using a primary ground station and a set of secondary ground stations, according to one embodiment.
[0011] Figure 6 The performance results of a simulated system according to one embodiment are shown compared to a baseline that includes (a) data backlog, (b) latency, and (c) value function; and
[0012] Figure 7A computing device according to an embodiment is shown in the form of a functional block diagram.
[0013] Throughout the accompanying drawings, corresponding reference numerals indicate the relevant parts. Figures 1 to 7 The system is shown as a schematic diagram. The accompanying drawings may not be drawn to scale. Detailed Implementation
[0014] This disclosure provides a computerized method and system for scheduling transmissions from a satellite to a ground station. In some examples, the ground stations are grouped into different sets of ground stations, such as primary ground stations and secondary ground stations. The primary ground station may have different characteristics than the secondary ground stations. For example, the primary ground station may have both transmission and reception capabilities, while the secondary ground station may only have reception capabilities. In other examples, the set of ground stations may have other different characteristics, such as communication power levels, communication data rates, communication range, error recovery schemes, etc. Although aspects of this disclosure are described with reference to primary and secondary ground stations, those skilled in the art will note that this disclosure can operate with any two sets of ground stations. For example, all ground stations in the two sets may be identical, but one set (e.g., configured only for reception) may have more ground stations than the other set (e.g., configured for both transmission and reception).
[0015] The methods and systems described herein may include determining a satellite's orbit during a scheduled period based on satellite trajectory data, and identifying a subset of auxiliary ground stations from a set of auxiliary ground stations based on the determined orbit. The identified subset of auxiliary ground stations is within the communication range of the satellite's determined orbit. A transmission schedule associated with the satellite is generated for that satellite, including: for each auxiliary ground station in the subset, determining a time interval during which the satellite is within the communication range of the auxiliary ground station, estimating the expected data transmission rate from the satellite to the auxiliary ground station during the determined time interval, and including the time interval and the expected data transmission rate in the transmission schedule. The generated transmission schedule is then provided to the satellite via a primary ground station configured to transmit the generated transmission schedule to the satellite. In this manner, the satellite is configured to transmit data to the subset of auxiliary ground stations based on the generated transmission schedule.
[0016] Despite existing limitations associated with data transmission from satellite to ground stations as described herein, this disclosure addresses the challenges of efficiently acquiring data from satellites. Satellite-to-ground station communication is limited by the relatively short time periods during which the satellite is within range of the ground station and by data transmission rate limitations associated with the satellite's wireless transmission. While multiple ground stations can be used to coordinate consistent transmissions from satellites, the establishment of many conventional ground stations can be expensive (the cost of licensing and setting up ground stations is prohibitive for new entrants to low Earth orbit (LEO) satellite space, such as academic research satellites) and complex (e.g., conventional ground stations may require more expensive, higher-quality communication antennas and / or other equipment than the auxiliary ground stations described herein). Furthermore, such conventional ground station networks may be underutilized if the constellation of satellites using the network is small (e.g., ground stations may not be used efficiently due to the time when no satellite is within range of the transmission), and / or it can introduce significant latency during data collection when satellites can only transmit data when within range of sparsely placed ground stations (e.g., such latency is critical for time-sensitive satellite data applications such as flood modeling and forest fires). This disclosure describes the use of a network of primary and secondary ground stations, with the primary ground station configured to both receive from and transmit to a satellite, and the secondary ground station configured to receive from the satellite but potentially unable to transmit to it. Including secondary ground stations addresses cost and complexity issues, as establishing a ground station capable only of receiving from and transmitting from a satellite is significantly cheaper and / or requires less complex equipment (e.g., less complex computing resources, such as hardware components) than establishing a primary ground station capable of both receiving and transmitting. This disclosure also operates in an unconventional manner by generating a transmission schedule for the satellite, which configures the satellite to transmit data to the secondary ground station according to the schedule, without requiring any kind of acknowledgment from the secondary ground station. The generated transmission schedule can be provided to the satellite occasionally using the primary ground station while the satellite is within communication range. Furthermore, the described geographically distributed design offers numerous advantages. This disclosure can automatically scale to different needs. Allowing ground stations to be distributed also allows this disclosure to avoid requiring high throughput on individual transmission links. High throughput can be achieved by leveraging geographical diversity by using links with multiple secondary ground stations instead of a single link. Additionally, the described system is more robust to weather variations. Satellite transmissions can be dynamically scheduled, allowing low-speed transmissions in one part of the world during cloudy weather to be offset by high-speed transmissions in another part during clear weather. Finally, because satellites are likely to encounter far more ground stations, they can offload latency-sensitive data much faster.
[0017] The described scheduler takes into account satellite orbit, estimated transmission link quality, weather conditions, and other factors. Furthermore, it allows different objective functions to optimize data transmission from one or more satellites based on throughput, average latency, peak latency, and other parameters. Additionally, this disclosure addresses the lack of confirmation of successful data transmission from the secondary ground station to the satellite by enabling the secondary ground station to provide acknowledgments to the system via a network connection, allowing the primary ground station to notify the satellite and any lost data to be retrieved from the satellite when it re-enters communication range with both the primary and secondary ground stations on the network.
[0018] Figure 1 This is a block diagram illustrating a system 100 according to one embodiment, configured to provide a transmission schedule 134 to a satellite 102 via a primary ground station 106, thereby configuring the satellite 102 to transmit data to secondary ground stations 108-110. In some examples, the system 100 includes at least one satellite 102 in orbit 104 around an object (e.g., Earth, Moon, Mars, etc.) in space, configured to communicate with ground stations (e.g., ground stations 106, 108, and 110) located on the surface of the object. The system 100 also includes a transmission scheduler 112 comprising hardware, firmware, and / or software configured to generate the satellite transmission schedule 134 as described herein. The satellite 102 is configured to transmit data to, receive data from, and / or otherwise communicate with ground stations 106, 108, and 110 using any wireless communication protocol and / or within one or more frequency bands or ranges without departing from this description. Furthermore, primary ground station 106 is configured to transmit data to, receive data from, and / or otherwise communicate with satellite 102 in a similar manner. In some examples, secondary ground stations 108-110 are configured to receive data from satellite 102 only via wireless communication and are configured such that they lack the ability to transmit data to satellite 102 via wireless communication (or are configured to restrict such transmissions). Alternatively, secondary ground stations 108-110 may be configured to be less powerful, less flexible, or otherwise limited in capability compared to primary ground station 106, while still being able to communicate wirelessly with satellite 102 in some cases. In other examples, secondary ground stations 108-110 and primary ground station 106 may be configured to have similar wireless communication capabilities and may be considered "primary" or "secondary" based on the operations they are configured to perform (e.g., a first ground station may be a primary ground station based on being configured to perform the operations of a primary ground station as described herein, and a second ground station may be a secondary ground station based on being configured to perform the operations of a secondary ground station as described herein). Furthermore, while this description primarily depicts an example with a single primary ground station, in some other examples, system 100 may include multiple primary ground stations at different locations on the surface.
[0019] In some examples, primary ground station 106, secondary ground stations 108-110, and transmission scheduler 112 are configured to connect to one or more networks (e.g., intranets, the Internet, or other networks) and communicate with each other via associated network connections. For example, transmission scheduler 112 is configured to provide satellite transmission scheduling 134 to primary ground station 106 via a network connection, as described herein. It should be understood that the network connection between ground stations 106, 108, and 110 and transmission scheduler 112 can include wired or wireless connections and can use any network protocol without departing from the description herein. Furthermore, in some examples, transmission scheduler 112 may reside on one or more computing devices associated with one or more of ground stations 106, 108, and / or 110 and / or otherwise be performed by one or more computing devices associated with one or more of ground stations 106, 108, and / or 110. For example, transmission scheduler 112 may reside on and be performed by the computing device of primary ground station 106. Alternatively or additionally, without departing from this description, the transmission scheduler 112 may be located on one or more computing devices separate from ground stations 106, 108, and / or 110, and / or may be executed by one or more computing devices separate from ground stations 106, 108, and / or 110. For example, part or all of the transmission scheduler 112 may be located on and / or executed on a distributed network of multiple computing devices using cloud computing technology, such that some or all of the operations of the transmission scheduler 112 are performed "in the cloud" (e.g., on one or more computing devices in the distributed network). In such a case, communication between the primary and secondary ground stations may be routed via the transmission scheduler 112 through the distributed network (e.g., acknowledgments from the secondary ground station may be routed to the primary ground station via the transmission scheduler 112).
[0020] In some examples, satellite 102 is an LEO satellite configured to capture or collect data by observing the Earth using cameras and / or other sensors. For example, satellite 102 may be configured to capture high-resolution images of the Earth's surface using one or more cameras. Satellite 102 is also configured to transmit the captured data wirelessly to ground stations 106, 108, and / or 110, as described herein. Satellite 102 orbits the Earth in orbit 104 such that satellite 102 can only communicate with a particular ground station if it has a line-of-sight (LOS) with the ground station (e.g., the Earth or other objects do not obstruct a straight path between satellite 102 and the ground station) and if it is within the communication range of the ground station (e.g., the distance between satellite 102 and the ground station is small enough that satellite 102 can wirelessly transmit data to the ground station with a defined reliability). For example, satellite 102 may be in the LOS of auxiliary ground station 108, but if it is still far enough that any wireless communication would be significantly degraded, satellite 102 may be considered outside the communication range of auxiliary ground station 108.
[0021] The communication range threshold between the satellite and the ground station can be specifically defined based on the transmission capabilities of satellite 102 (e.g., hardware configuration, settings, and / or limitations that determine the power of the signal that can be transmitted and / or the frequency range in which the signal can be transmitted) and the receiving capabilities of the target ground station (e.g., hardware configuration, settings, and / or limitations that determine the signal strength and / or frequency range that the ground station can receive). Similarly, the round-trip wireless communication between satellite 102 and the main ground station 106 as described herein is also based on satellite 102 having the LOS of the main ground station 106 and being within the communication range of the main ground station 106, which can also be based on the attributes of satellite 102 and / or the main ground station 106.
[0022] In some examples, the ground stations include one or more primary ground stations 106 and a set of secondary ground stations 108-110. The primary ground stations 106 are configured to transmit to and receive from one or more satellites 102, while the secondary ground stations 108-110 are configured to receive only from one or more satellites 102, or at least transmit very little to one or more satellites 102. The ground stations can be arranged in a distributed architecture of a Ground Stations Network (DGS) scattered around the surface of the Earth (or other objects). The DGS ground stations can be maintained by independent individuals, volunteers, or companies, and their global distribution provides advantages such as enabling satellites 102 to follow dynamic scheduling to transmit to the distributed ground stations, thereby reducing the latency of transmitting collected data from satellites 102 to the ground stations based on those dynamic transmission schedules. In the DGS, because many ground stations are auxiliary ground stations 108-110 and are configured to receive data only from satellite 102, auxiliary ground stations 108-110 can be configured to be simpler and cheaper than the primary ground station 106, which must also be able to transmit to satellite 102. Furthermore, due to the lower complexity and cost requirements of auxiliary ground stations, the necessary technology will be more readily available, and individuals will be more willing to participate as part of the DGS described herein.
[0023] To account for communication range limitations of satellite 102 regarding the transmission of collected data to ground stations 106, 108, and / or 110, in some examples, transmission scheduler 112 includes hardware, firmware, and / or software configured to provide satellite transmission scheduling 134, which is custom-generated for satellite 102 based on its specific orbit 104 to configure satellite 102 to transmit collected data to various auxiliary ground stations 108-110 in an efficient and effective manner, as described herein. Transmission scheduler 112 includes orbit calculator 114, ground station identifier 116, and scheduling generator 118.
[0024] The orbit calculator 114 is configured to use current satellite data, such as satellite two-line element (TLE) data 120 or other satellite position and trajectory data, to calculate or otherwise predict a predicted orbit 122 that describes the predicted path of satellite 102 with respect to a ground station on the surface. For example, the predicted orbit 122 may include data indicating the path along the Earth's surface most likely to be traversed during the next defined time period and / or the next complete orbit formed by satellite 102. Using satellite TLE data 120, the predicted orbit 122 can be calculated with an accuracy to within kilometers, if performed up to a few days in advance. In some examples, it is possible to calculate the predicted orbit 122 more frequently and / or predict it only at a shorter time, such as 12 hours or 24 hours in advance, or even with higher accuracy.
[0025] Ground station identifier 116 is configured to identify a subset of secondary ground stations 124 using the predicted orbit 122 of satellite 102 and / or the predicted orbits of other satellites. This subset 124 can be used as a transmission target by satellite 102 during the satellite's transit across the surface in a time period associated with the predicted orbit 122. Ground station identifier 116 is also configured to access ground station location information (such as latitude and longitude) and other ground station information (such as ownership information and data downlink constraints) of secondary ground stations 108-110. In some examples, data downlink constraints enable ground station owners to maintain some control over their resources (e.g., a ground station owner may want the satellite operator to pay a subscription fee) and / or maintain regulatory restrictions (e.g., certain countries may not allow downlink data from satellites operated by their competitors). Such data downlink constraints for a single ground station can be represented as... M -Bit-bit diagram, where M It is a collection of satellites, and if it comes from satellites s i If downlink data transmission is permitted, then bits i It is 1, and if it comes from a satellite s i If downlink data transmission is not permitted, then bits i The value is 0. Ground station location information and / or other ground station information can be compared with the predicted orbit 122 of satellite 102 and other data to populate the auxiliary ground station subset 124.
[0026] In some examples, the subset 124 of auxiliary ground stations may dynamically vary with respect to instances within the time period of the predicted orbit 122 (e.g., every 30 seconds, every 10 seconds, every 5 seconds, etc.), such that for each instance of the time period, the subset 124 includes auxiliary ground stations that the satellite 102 will have a LOS with respect to, or that are above the horizon for the ground station and within communication range during that instance. The subset 124 may also include timing information associated with each of the auxiliary ground stations, indicating for each ground station the portion of the time period during which the ground station can receive data transmissions from the satellite 102 (e.g., the ground station is within the LOS and communication range of the satellite 102).
[0027] The scheduling generator 118 uses the secondary ground station subset 124 and associated time information to generate a satellite station graph 128, uses the graph 128 and link quality model 132 to determine the estimated transmission link quality between satellite 102 and the ground stations of subset 124, and generates a satellite transmission schedule 134 from it. The graph generator 126 is configured to generate the satellite station graph 128 based on the secondary ground station subset 124, and in some cases also based on priority data associated with the data to be transmitted from satellite 102. For example, in some examples, satellite 102 includes a sequence of data bits to be transmitted to the ground stations. X i For a sequence of data bits, a value function Ф is defined such that for any subset... x X i and the time elapsed since the data was captured t Ф( x, t Ф represents the intrinsic value or value factor for transmitting the data to Earth. This value function can be configured for different objectives. For example, if the system aims to minimize the time between data acquisition and data transmission, then Ф( x, t )= t It can be used such that the value of each subset of data increases over time. Alternatively, or otherwise, if minimizing throughput is the objective, then Ф( x, t )= | x | (wherein| x | indicates x The number of bits in the value () can be used as a value function. Similarly, Ф ( x, t The satellite operator can define how data is prioritized based on its geographic or other attributes (e.g., the satellite operator can configure satellites to prioritize data captured for a specific geographic area to fulfill service level agreements (SLAs) with customers). Without departing from the description herein, different satellites can be configured to prioritize transmitted data in different ways.
[0028] In some examples, graph generator 126 generates satellite station graph 128 based on the parameters described above. Graph 128 can be based on ground stations. G and satellite SA weighted graph for nodes. Edges are included in graph 128 between the ground station and the satellite if the satellite has a LOS to the ground station, or if the satellite is above the horizon relative to the ground station, if the satellite and the ground station are within communication range, and if the communication link between the satellite and the ground station complies with any constraints defined by the ground station. In some examples, the graph is dynamically updated throughout the entire time period associated with the predicted orbit 122 based on changes to the subset of auxiliary ground stations 124 and / or other parameter changes during that time period. In graph 128, the weights of the edges can be determined by estimating the values of data transmitted from the satellite using the associated transmission link between the satellite and the ground station. In such examples, link quality is estimated using a link quality model (such as link quality model 132), as described below.
[0029] Link quality model 132 is configured to estimate the quality of the transmission link between satellite 102 and the ground station based on the attributes or parameters of link quality input data 130 and / or the satellite station graph 128. Such estimated link quality values can be used to apply weights to the edges of graph 128, enabling optimization of the selection of the transmission link used by satellite 102 during its journey along predicted orbit 122. In some examples, the estimation of link quality and / or capacity is based on three factors of the link quality input data 130: (a) the distance between the satellite and the ground station, (b) weather conditions—rain and clouds can significantly attenuate the signal, and (c) the hardware used by the ground station and the satellite.
[0030] The “loss” of the transmitted signal from satellite 102 as it travels through space can be given by the following equation:
[0031] In the above formula, L To compensate for the loss of transmitted signals, d For distance, f For frequency, and c The speed of light. Distance and frequency values can be provided to the link quality model 132 in the link quality input data 130, and the loss... LFrom its calculation. In addition to this loss, the Earth's atmosphere also causes signal attenuation. The degree of this atmosphere-based attenuation is affected by weather conditions between the satellite and the ground station, so weather data can be used as link quality input data 130 to estimate the link quality between satellite 102 and the ground station using link quality model 132. In particular, at frequencies above a few GHz, the effect of weather on signal attenuation can be significant (>10 dB at 10 GHz). For example, rain can attenuate transmission signals in the X, Ku, and Ka bands by 10 to 20 dB. The effect also depends on the distance the signal travels under clouds and / or through rain cover. The weather data used can include weather forecasts for the region and models developed to predict this portion of the loss. Additional losses based on the satellite and / or ground station hardware are generally static and can be calibrated in link quality model 132 based on the hardware data provided in link quality input data 130.
[0032] The estimated loss data can be used to determine the optimal data rate that the satellite can use to transmit to the ground station. Different frequency ranges have trade-offs in data transmission, as higher frequencies achieve higher data transmission rates but suffer greater attenuation with distance and / or atmospheric conditions, while lower frequencies suffer less attenuation but limit the data transmission rate to a lower value. The link quality model 132 can be configured to provide the highest data rate as a measure of link quality for a given link, which is estimated to transmit data at or above a defined reliability threshold based on the described loss conditions, such that the scheduling generator 118 can estimate the amount of data that the satellite 102 will be able to transmit along a particular link based on the link transmission rate and the time the satellite will be within communication range of the ground station. Additionally, it should be understood that in some examples, the determined data rate is not a constant rate throughout the entire period of satellite-ground station communication. The determined data rate can be based on the link quality or other characteristics of the communication link varying over time. For example, during a ten-minute contact period, the data rate may start at a low rate and increase as the satellite moves closer to the ground station until the satellite is at its closest point, and then decrease as the satellite moves away from the ground station.
[0033] To generate the satellite transmission schedule 134, satellite 102 is matched to ground stations in a subset 124 along the predicted orbit 122 using satellite station graph 128 and link quality estimated based on link quality model 132. Furthermore, in some examples, the generation of the satellite transmission schedule 134 is also based on the presence of other satellites in the subset 124 that may also use the same ground stations and / or on satellite 102 transmitting data to more than one ground station in the subset 124. However, in many cases, ground stations may only be able to perform point-to-point transmission links, meaning that a ground station can only support receiving transmission links from one satellite at a time. Therefore, the satellite transmission schedule 134 is generated based on selecting a subset of edges in graph 128 according to the estimated link quality associated with those edges for each time instance during the predicted orbit 122 and then determining what data to transmit through the links represented by the selected subset of edges.
[0034] In some examples, graph 128 is a weighted bipartite graph, such that edge selection for schedule 134 can be classified as a bipartite matching problem. Two solutions can be used to solve the bipartite matching problem: (a) identifying stable matching, and (b) identifying optimal matching. Optimal matching optimizes the value achieved by the entire system (e.g., the most “valuable” data prioritized for transmission across all satellites and ground stations). However, in some cases, the DGS framework will be fragmented, and therefore, optimal matching leaves room for satellite-ground pairs to achieve suboptimal results locally. However, identifying stable matching in graph 128 avoids such suboptimal results and is therefore preferable in some cases. For example, in a stable matching configuration, any satellite-ground pair that disconnects an assigned transmission link and forms a new transmission link will derive fewer “values” from those transmissions whose values were previously obtained from the first transmission link. In some examples, the Gale-Shapely algorithm can be used to solve the stable matching problem in the bipartite graph, which converges to O(K). 2(K), where K is the maximum value between the total number of satellites and the total number of ground stations. Alternatively, the algorithm used to match satellites and secondary ground stations can be configured to optimize the matching for maximum data throughput, maximum amount of data transmitted, minimum latency of transmitted data, or some combination thereof. For example, in an example where the matching algorithm is configured to optimize for latency of transmitted data, when selecting links to match among multiple links, the algorithm can be configured to prioritize links that will achieve transmission of a smaller amount of data with higher associated latency (e.g., it was collected earlier than other potential data) over links that will achieve transmission of a larger amount of data with lower associated latency. Alternatively, in an example where the matching algorithm is configured to optimize for throughput of transmitted data (e.g., maximizing the total amount of data transmitted), when selecting links to match among multiple links, the algorithm can be configured to prioritize links that will achieve transmission of a larger amount of data over links that will achieve transmission of a smaller amount of data, regardless of the associated latency of the two data sets. These optimizations can also be combined in various ways. For example, the algorithm can be configured to typically optimize for maximum throughput, but if data with associated latency exceeding a latency threshold is encountered when matching links, the algorithm is configured to select the transmission link associated with that high-latency data, regardless of throughput optimization. In this way, the algorithm will typically select the maximum throughput, but it will also ensure that data does not become stale beyond the defined threshold while waiting to be transmitted to the ground station.
[0035] Furthermore, the algorithm can be dynamically updated to account for changes, such as the occurrence of surface events that increase the value of data associated with that location (e.g., monitoring forest fires). The algorithm can also be improved over time using feedback-based machine learning techniques, with feedback provided based on the results of matched satellite and auxiliary ground station pairs (e.g., from the user or the ground station).
[0036] The selection of transmission links as edges in graph 128 can be performed for each time instance within the time period associated with the predicted orbit 122 to capture, for example, dynamic changes for satellite 102 relative to a subset of ground stations within its communication range. Furthermore, the generation of schedule 134 can include the selection of data to be transmitted by satellite 102 along the selected transmission links. The selected data can be the highest value data that the satellite currently must transmit and has not yet transmitted. In an example where the quality of data on satellite 102 is used by transmission scheduler 112 and the quality data from other satellites is also used, the quality of data on satellite 102 can cause satellite 102 to be scheduled to use a higher quality transmission link or a lower quality transmission link. For example, a satellite with higher quality data available for transmission may be prioritized over satellite 102, causing satellite 102 to be scheduled to use a relatively lower quality transmission link, or satellite 102 may be prioritized over another satellite to use a relatively higher quality transmission link based on having higher quality data available for transmission.
[0037] In an example where multiple satellites are configured to use secondary ground stations 108-110 as described herein, the generated satellite transmission schedule 134 may include scheduling data for all multiple satellites, such that data transmitted by the multiple satellites to the secondary ground stations 108-110 is optimized, and that multiple satellites do not attempt to transmit to the same ground stations simultaneously. In this case, each satellite (e.g., satellite 102) is provided with a portion of the schedule 134, which indicates the ground stations to which the satellite should transmit data and the times during which the satellite should transmit data to those ground stations. Additional information in the schedule provided to the satellites may include the frequency range in which data is transmitted to the ground stations. Transmission scheduler 112 provides the satellite transmission schedule 134 or a portion thereof to primary ground station 106, and primary ground station 106 transmits a portion of the schedule 134 to each satellite as each satellite passes within communication range of primary ground station 106. Each satellite is then configured to transmit data down to secondary ground stations 108-110 according to the received schedule 134 or a portion thereof. In other examples, without departing from the description herein, the transmission scheduler 112 may be configured to generate a separate schedule 134 for each satellite and provide those separate schedules 134 to the respective satellites via the main ground station 106.
[0038] Furthermore, in examples where secondary ground stations 108-110 do not transmit data to satellite 102, satellite 102 transmits data to secondary ground stations 108-110 without receiving immediate acknowledgment from the ground station receiving the transmitted data (e.g., "unacknowledged downlink" transmission). As a result, tracking successfully received transmitted data can be accomplished in different ways. In some examples, the secondary ground station is configured to provide acknowledgment of data received from satellite 102 to primary ground station 106 and / or transmission scheduler 112 via an internet-based connection or other network connection. The acknowledgment provided by the secondary ground station includes an identifier of what data has been received from satellite 102. For example, the acknowledgment includes an indicator of the location or area from which the data was captured, a timestamp of the data capture, and / or any other identifier that may be included in the data transmitted from satellite 102. When satellite 102 enters the range of primary ground station 106 (or another primary ground station configured to transmit to satellite 102), acknowledgment of data received by the ground station can be provided to satellite 102 by the primary ground station as part of communication between satellite 102 and the primary ground station. Furthermore, in some examples, where transmission scheduler 112 is used to generate transmission schedule 134 for data to be transmitted on satellite 102, transmission scheduler 112 is configured to receive acknowledgments of the received data from the secondary ground station, and those acknowledgments or associated indicators are provided to satellite 102 as part of the next transmission schedule 134 generated and provided to satellite 102. After satellite 102 receives acknowledgment of the data successfully received by the secondary ground station, satellite 102 can be configured to delete or otherwise remove the associated data and free up data storage space for storing additional captured data.
[0039] Figure 2 This is an illustration of a system 200 according to one embodiment, configured to transmit data to multiple satellites 236, 238, and 240 according to satellite transmission scheduling (e.g., satellite transmission scheduling 134) to multiple ground stations 248, 250, and 252. In some examples, system 200 also includes components of system 100, such as a primary ground station 106 and a transmission scheduler 112, the primary ground station 106 being configured to transmit transmission schedules to satellites 236, 238, and 240, and the transmission scheduler 112 being configured to generate transmission schedules for satellites 236, 238, and 240 with respect to secondary ground stations 248, 250, and 252. In other examples, without departing from this description, system 200 may include more, fewer, or different satellites and / or more, fewer, or different ground stations. Furthermore, without departing from this description, system 200 may include one or more primary ground stations and / or one or more transmission schedulers.
[0040] Each of satellites 236, 238, and 240 travels along a separate orbit: satellite 236 travels along orbit 242, satellite 238 travels along orbit 244, and satellite 240 travels along orbit 246. The satellites' orbits bring them into communication range of one or more ground stations 248, 250, and 252 during their travel. Ground station 248 has communication range 254, ground station 250 has communication range 256, and ground station 252 has communication range 258. As described herein, each satellite is provided with a separate transmission schedule, such that each satellite is configured to transmit data to one or more ground stations while within its communication range. For example, satellite 236 enters communication range 256 of ground station 250 but does not enter the range of any other ground station; therefore, the transmission schedule for satellite 236 may include instructions to transmit data to ground station 250 during the period when satellite 236 is placed within a portion of communication range 256 of ground station 250 in orbit 242. In other examples, without departing from this description, satellite 236 may also enter the communication range of other ground stations (not shown), such that its transmission scheduling includes instructions for transmission to such other ground stations.
[0041] Satellite 238 travels along orbit 244, which at different times during its travel in orbit 244 brings it into the communication range 254 of ground station 248, the communication range 256 of ground station 250, and the communication range 258 of ground station 252. As a result, the transmission scheduling of satellite 238 can include instructions for transmitting data to each of the ground stations while the satellite is within communication range. Furthermore, the transmission scheduling can include transmitting data to more than one ground station while the satellite is within the communication range of multiple ground stations (e.g., satellite 238 passes through an area that simultaneously puts it within the communication range of all three ground stations 248, 250, and 252, and then within the range of both ground stations 250 and 252).
[0042] Similarly, satellite 240 travels along orbit 246, which brings it into the communication range 254 of ground station 248 and the communication range 258 of ground station 252 at different times during its travel in orbit 246. Transmission scheduling for satellite 240 may include instructions to transmit data to each of ground stations 248 and 252 when satellite 240 is within communication range, and those instructions may include, for example, transmitting data to both ground stations simultaneously when both are within communication range.
[0043] Furthermore, as described herein, the transmission schedule for each of satellites 236, 238, and 240 can be generated such that the data to be transmitted by the satellite (e.g., data priority or value) and the relative position of the satellites to each time instance during their orbital journeys in orbit accordingly affect the transmission schedule for each satellite. For example, if satellites 236 and 238 are predicted to be simultaneously within range 256 of ground station 250, then during that time period, the transmission schedule for those two satellites can be generated as a result of satellite 236 being within range of ground station 250 only and satellite 238 being within range of more than one ground station, such that satellite 236 is instructed to transmit data to ground station 250 during that time period and satellite 236 is instructed to transmit data to one of the other ground stations. This can also facilitate satellite 236 being scheduled to transmit data to ground station 250 during the time period when both satellites are within communication range if satellite 236 has data with a higher value than satellite 238 to transmit. Alternatively, if satellite 238 has data with a higher value than satellite 236 to be transmitted, a transmission schedule for the satellites can be generated such that satellite 238 is scheduled to transmit data to ground station 250 during the time period when both satellites 238 and 238 are within the communication range 256 of ground station 250. Additionally, or alternatively, a schedule can be generated such that satellite 236 is scheduled to transmit to ground station 250 for a portion of the time, and satellite 238 is scheduled to transmit to ground station 250 for the remaining time while both satellites are within the communication range 256 of ground station 250. It should be understood that, without departing from the description herein, the transmission schedules for satellites 236, 238, and 240 can be generated with instructions for transmitting data to the ground station in other ways or modes.
[0044] Figure 3 This is a diagram illustrating a computerized method 300 for configuring satellite 102 to transmit data to secondary ground station 108 by generating a transmission schedule (e.g., satellite transmission schedule 134) according to one embodiment. In some examples, the transmission scheduler 112, primary ground station 106, satellite 102, and secondary ground station 108 of the computerized method 300 are in a system (such as system 100 described herein). At 302, the transmission scheduler 112 determines the orbit of satellite 102. The orbit determination may be performed based on TLE data (such as TLE data 120) and / or other data indicating the path and / or trajectory of satellite 102.
[0045] At point 304, satellite 102 will be able to identify auxiliary ground stations within its defined orbital range. One of the identified ground stations is auxiliary ground station 108, although in most examples, a subset of the identified ground stations also includes many other auxiliary ground stations. The identification of auxiliary ground stations at point 304 can be based on the distance between the ground station location and the satellite's orbit, as well as other factors such as the communication capabilities of the satellite and the ground station, the frequency range in which the satellite and the ground station can communicate, etc.
[0046] At 306, transmission scheduling is generated by transmission scheduler 112 and provided to the satellite via primary ground station 106. In some examples, transmission scheduling is generated based on various factors, including the value of the data to be transmitted from the satellite and an estimated link quality factor associated with each possible transmission link between the satellite and ground stations in an identified subset of secondary ground stations. As described herein, the value of the data to be transmitted may be based on the time when the data was captured or collected by the satellite (e.g., how long ago the data was collected), the area or region where the data was collected, etc. Furthermore, the link quality factor for each link may be based on several attributes of the associated transmission link, such as the distance between the satellite and the ground station at the time of linking, weather or other atmospheric effects that may exist and affect the transmitted signal, the hardware characteristics and / or limitations of the satellite and / or ground station, etc.
[0047] At point 308, after satellite 102 has received a transmission schedule, it is configured to transmit to auxiliary ground station 108 according to that schedule. In some examples, satellite 102 is configured to transmit data to several auxiliary ground stations over a period of time associated with a defined orbit related to the transmission schedule. Transmitting data to auxiliary ground station 108 according to the transmission schedule may include configurations or settings for transmission procedures as defined in the schedule, such as transmitting a specific set or type of data to ground station 108, transmitting data at a defined rate, transmitting data using a defined protocol, and / or transmitting data in a defined frequency band or range.
[0048] At 310, after receiving the transmitted data from satellite 102, auxiliary ground station 108 provides the received satellite data and / or its acknowledgment of reception to primary ground station 106 via a network connection, as described herein. In some examples, the received satellite data and / or associated acknowledgments are provided to transmission scheduler 112, and transmission scheduler 112 is configured to use this data when generating future transmission schedules for satellite 102 (e.g., to instruct satellite 102 about what data has been received based on acknowledgments of what data has been transmitted, or to provide acknowledgments or indicators of what data has been received (see 314 below) so that satellite 102 can delete or otherwise remove successfully transmitted data from memory or data storage devices). It should be understood that in examples where satellite 102 is configured to transmit data to multiple auxiliary ground stations throughout its orbit, the satellite data provided by those multiple auxiliary ground stations may be provided to primary ground station 106 and / or transmission scheduler 112, as described herein.
[0049] At point 312, after satellite 102 enters the communication range of primary ground station 106, satellite 102 notifies primary ground station 106 that it is within the communication range. Alternatively or additionally, primary ground station 106 can detect satellite 102 entering the communication range and then establish communication with satellite 102. Once such a communication link is established between primary ground station 106 and satellite 102, primary ground station 106 is configured to provide an indicator of successfully received data to satellite 102 at point 314. Furthermore, during the time that satellite 102 is within the communication range of primary ground station 106, transmission scheduler 112 can provide new transmission schedules to satellite 102 via primary ground station, as described above. This transmission schedule can be generated in part based on the provided indicator of successfully received data.
[0050] In this manner, method 300 can be repeatedly performed on a system (such as system 100 described herein). The primary ground station 106 and transmission scheduler 112 can be configured to provide transmission scheduling to satellite 102 and / or other satellites, which configures the satellites to transmit data to secondary ground stations (such as secondary ground station 108 for one, two, or more orbits around the Earth). Alternatively or additionally, if multiple primary ground stations are included in the system, the transmission scheduling of satellite 102 can be updated each time satellite 102 contacts one of the primary ground stations. Alternative organizations or arrangements of primary ground stations, secondary ground stations, satellites, and / or transmission schedulers can be used without departing from this description.
[0051] Figure 4This is a flowchart illustrating a computerized method 400 for transmitting data from a satellite (e.g., satellite 102) using a primary ground station (e.g., primary ground station 106) and a set of secondary ground stations (e.g., secondary ground stations 108-110) according to one embodiment. In some examples, the computerized method 400 is performed by a system (such as system 100) and / or components of the system (such as transmission scheduler 112 of system 100) or otherwise. At 402, the satellite's orbit is determined based on the satellite's trajectory data. In some examples, the satellite's orbit is determined based on the satellite's TLE data. Furthermore, the determined orbit may include data indicating a predicted orbit of the satellite within a future defined time period (e.g., 6 hours, 12 hours, 1 day, etc.).
[0052] At position 404, a subset of auxiliary ground stations is identified based on the determined satellite orbit. In some examples, the determined satellite orbit indicates that the satellite will be within the communication range of the identified subset of auxiliary ground stations, and the subset of auxiliary ground stations is selected from the set of auxiliary ground stations. The communication range associated with the transmission link between the satellite and the auxiliary ground stations in the subset of auxiliary ground stations can be based on the physical distance between the satellite and the ground station, the degree to which the satellite is above the horizon of the ground station, and the transmission types configured for both the satellite and the ground station (e.g., transmission frequency range or band and / or transmission protocol).
[0053] At 406, a secondary ground station is selected from a subset of secondary ground stations. In some examples, method 400 is configured to select each secondary ground station in that subset to perform the procedures described below with respect to 408 and 410. Therefore, selecting a secondary ground station from this subset may include selecting one of the secondary ground stations that has not been previously selected.
[0054] At 408, a time interval is defined, during which the satellite is within communication range with the selected auxiliary ground station. As described herein, this time interval can be determined based on the communication range of a potential transmission link. The time interval may include a start timestamp indicating the time when the satellite enters communication range with the selected ground station, and an end timestamp indicating the time when the satellite leaves communication range with the selected ground station. Alternatively or additionally, the time interval may include a value indicating the length of time the satellite will be within communication range with the selected ground station. In another example, if the satellite and the selected ground station are configured to communicate with each other using more than one frequency band and / or more communication protocols with different effective communication ranges, the determined time interval may include multiple time intervals, one time interval per communication protocol and / or frequency band used for communication.
[0055] At 410, the expected data transmission rate from the satellite to the selected auxiliary ground station is estimated for a defined time interval. The expected data transmission rate may be estimated based on the frequency range and / or the communication protocol to be used for transmission, as well as the estimated loss of the associated transmission signal (e.g., the loss may be based on distance, weather, hardware limitations, and / or other factors as described herein).
[0056] At 412, if any auxiliary ground stations remain in the subset that have not yet been selected, the process returns to 406 to select the next auxiliary ground station. Alternatively, if all auxiliary ground stations have been selected, the process proceeds to 414.
[0057] At 414, the transmission schedule is generated for the satellite based on the determined time intervals and the expected data transmission rate of the subset of auxiliary ground stations. In some examples, generating the transmission schedule includes determining which auxiliary ground stations in the subset to transmit data to, during what time intervals, and / or which data to transmit. These determinations are included in the transmission schedule in the form of scheduled transmission instructions (e.g., instructions to transmit data X to auxiliary ground station Y at time Z), causing the satellite to transmit data according to the scheduled transmission instructions while being configured into a determined orbit. Furthermore, the selection of data to be transmitted can be based on value factors associated with different portions of the data to be transmitted from the satellite, such that data with higher relative value factors is selected for transmission before data with lower relative value factors in most cases. The value factors of the data to be transmitted can be based on the time when the data was collected and / or the location or event to which the data is associated.
[0058] Furthermore, in some examples, generating a transmission schedule includes identifying previously successfully received data from the satellite (e.g., based on acknowledgments received from a secondary ground station) and including the acknowledgments associated with the successfully received data along with the transmission schedule. Therefore, the satellite can be configured to delete or otherwise remove successfully received data from memory or data storage devices, thereby freeing up space for additional data to be collected.
[0059] At point 416, the generated transmission schedule is provided to the satellite. In some examples, the transmission schedule is provided to the satellite via a transmission from a primary ground station (such as primary ground station 106).
[0060] Figure 5This is a flowchart illustrating a computerized method 400, according to one embodiment, for coordinating transmissions from a satellite (e.g., satellite 102) using a primary ground station (e.g., primary ground station 106) and as a set of secondary ground stations (e.g., secondary ground stations 108-110). In some examples, the computerized method 400 is performed by a system (such as system 100) and / or components of the system (such as transmission scheduler 112 of system 100) or otherwise. At 502, the orbit for each of the plurality of satellites is determined based on the trajectory data of those satellites, and at 504, a value factor for the data to be transmitted from each of the plurality of satellites is determined. In some examples, the value factor may be based on the time when the data was collected, the area or location where the data was collected, and / or the events that the collected data may be associated with (e.g., data collected for monitoring forest fires may be labeled with a higher value than other data).
[0061] At position 506, the time interval for the determined orbit is selected. The determined orbit is associated with a time period during which the satellite orbits the Earth. Because the satellite constantly changes its position throughout the time period and enters and exits the communication range of various ground stations, the time period is divided into multiple time intervals (e.g., 30-second intervals, 10-second intervals, 5-second intervals) so that transmission coordination can be updated to reflect changes in the satellite's position.
[0062] At point 508, a graph representing the transmission links between the satellite and the auxiliary ground station for the selected time interval is generated. In the generated graph, the satellite and the auxiliary ground station are nodes, and potential transmission links are edges between the nodes. Edges can be included in the graph between the satellite and the auxiliary ground station when the satellite is within the communication range of the auxiliary ground station during the associated time interval. In the graph, each satellite can be linked to multiple auxiliary ground stations via edges, and / or each auxiliary ground station can be linked to multiple satellites via edges. While a single satellite can be able to transmit to multiple ground stations simultaneously, in some examples, each ground station is configured to receive only one transmission from the satellite at a time; therefore, the transmission link to each auxiliary ground station must be selected for each time interval, as described herein.
[0063] At point 510, weighting factors are applied to the transmission link based on the link quality model. In some examples, the link quality model is configured to estimate link signal loss based on various influences, such as signal loss with distance, signal loss from weather or atmospheric conditions, and / or signal loss based on satellite and / or ground station hardware limitations. The estimated link quality can also be used to determine the maximum effective data rate that can be expected when transmitting on the associated link. Weighting factors can be applied to the transmission links of the graph based on the value factor of the data to be transmitted by the satellite and the link quality from the link quality model.
[0064] At point 512, the satellite and auxiliary ground station are matched based on a weighted graph and the value factor of the data to be transmitted by the satellite. A subset of the weighted edges of the graph is selected for transmission through the matching process. In some examples, the matching is performed in a manner that optimizes the transmission of data from the satellite to the auxiliary ground station with respect to the value factor and quantity of the data to be transmitted, as described herein.
[0065] At 514, if one or more time intervals within the defined orbital time period remain to be processed, the process returns to 506 to select another time interval. Alternatively, if no time intervals remain to be processed, the process proceeds to 516.
[0066] At point 516, the transmission schedule is generated based on the matching between satellites and secondary ground stations for each interval. In some examples, the transmission schedule is generated per satellite, configuring the satellite to transmit to one or more secondary ground stations at intervals within the satellite's defined orbit, as described herein.
[0067] At point 518, the generated transmission schedule is provided to the associated satellite. As previously mentioned, in some examples, this may include providing the transmission schedule to the primary ground station, so that the primary ground station transmits the transmission schedule to the associated satellites when they enter the primary ground station's communication range. Additional example scenarios
[0068] The aspects disclosed herein enable various additional scenarios, such as those described below.
[0069] In one example, a ground station network and a transmission scheduler are configured to coordinate the reception of transmitted data from multiple LEO satellites. The scheduler obtains TLE data from multiple satellites and calculates the predicted orbit for each satellite over a 6-hour period. Based on the predicted orbits, a subset of auxiliary ground stations is identified, which includes auxiliary ground stations for at least one of these satellites that are expected to be within communication range during the 6-hour period.
[0070] The scheduler then generates satellite station maps for each 10-second interval of a 6-hour time period based on the predicted orbit and a subset of auxiliary ground stations. Each map includes nodes representing satellites and ground stations, as well as edges representing potential transmission links between them. Potential transmission links are analyzed using a link quality model to determine the estimated link quality and the associated data transmission rate predicted for the link during the interval.
[0071] For each map, the scheduler matches satellites with secondary ground stations based on a value factor associated with the data to be transmitted. The scheduler can perform matches to optimize general data throughput, average data latency, peak data latency, etc. Based on those matches, satellite transmission schedules are generated for each satellite. The schedules are provided to one or more primary ground stations in the network, and each satellite sends its associated schedule when it enters the range of one of the primary ground stations.
[0072] Later, as the satellite transmits data according to the generated transmission schedule, the secondary ground station receiving data from the satellite sends an associated acknowledgment to the primary ground station in the network. When each satellite enters the primary ground station's communication range and establishes a communication link, the primary ground station provides an acknowledgment of successfully received data, allowing the satellite to delete the data from its memory or data storage device. In some examples, the acknowledgment may be relayed as bits representing a 20 MB portion of the data from the satellite, although this size is configurable and can be configured based on data type, data transfer rate, etc. Furthermore, if a portion of the data is not successfully received and therefore no acknowledgment is provided to the satellite, the satellite can be configured to retransmit that portion of the data during another pass over the secondary ground station.
[0073] In another example, the DGS network is configured as a distributed architecture as described herein. The DGS comprises a combination of two to six ground stations capable of transmission (e.g., primary ground stations) and over 100 receive-only ground stations (e.g., secondary ground stations) distributed around the globe. The receive-only ground stations are organically deployed by end users and are low-cost. Alternatively or otherwise, the primary ground station is an existing, expensive ground station coupled with low-cost secondary ground stations. The secondary ground stations can allow low data rates for downloading and minimal uploading (unlike receive-only ground stations, which never upload).
[0074] In some examples, only ground stations randomly deployed globally are received. However, depending on the output of optimization operations performed by the scheduler, only a subset of these stations are used to download data from the satellites. Experimental evaluation
[0075] The simulated, experimental DGS system was evaluated using data collected from deployments of ground stations on the open-source satellite network, SatNOGS. SatNOGS is deployed by independent amateur radio operators using software-defined radios. The ground stations listen for broadcast signals transmitted by satellites such as the National Oceanic and Atmospheric Administration (NOAA) Weather Satellites. Observational data is logged in an open database. This data was downloaded from all ground-satellite links over a one-month period. Note that the SatNOGS ground stations do not include any routing mechanisms, link quality predictions, or other algorithms described in this paper regarding DGS. SatNOGS data was used to validate the described algorithms through a combination of simulated and real-world data. Ground stations that have been operational since installation and have conducted at least one thousand observations were selected for the dataset. The experimental dataset contains 173 ground stations and 259 satellites.
[0076] For each ground station location and each time instance, weather data was collected using the Dark Sky Weather API. Most ground stations operate in the sub-500 MHz band, and some (approximately 20%) support the L band (1.5 to 1.75 GHz). Since Earth observation satellites use the X-band (>8 GHz) to download their data, data from the SatNOGS database was not used to report the signal-to-noise ratio (SNR) for the satellite-to-ground link. SatNOGS measurements were used to validate other aspects of the described design, such as orbit calculations, observation time, and satellite-to-ground link duration. For SNR estimation, the data rate estimate obtained using the loss estimation procedure described above for link quality model 132 was used. High-frequency SNR was not validated using hardware measurements, but the link quality model was validated for lower frequencies using SatNOGS measurements.
[0077] To simulate data transmission, each satellite generates 100 GB of data per day, evenly distributed over time. However, since the described auxiliary ground station is likely to be low-complexity, the large antennas (5 meters or larger) typically used in commercial ground stations are not employed. The ground station in the experiment is simulated with a small dish antenna with a diameter of 1 meter. This reduces the SNR of each ground station by 6 dB. Furthermore, the described ground station does not use a 6-channel receiver, but rather a single-channel receiver.
[0078] Baseline: State-of-the-art ground stations were used as the baseline. The method employed six parallel channels and a high-end receiver with a 4m diameter dish antenna. Five of these high-end ground stations were modeled and simulated globally. The median throughput achieved by each of the baseline ground stations was 10 times that achieved by a single DGS auxiliary ground station.
[0079] Data transmission: First, the downlink / transmission capabilities of baseline high-fidelity ground stations and DGS distributed ground station nodes from 259 satellites were compared, and the results were... Figure 6 The cumulative distribution function (CDF) is shown in Figure 602, referred to as (a) data backlog. Two variants of DGS are compared: DGS and DGS (25%). DGS uses all 173 ground stations in the network to download data. In DGS (25%), the number of ground stations is reduced to 25% to highlight the benefits provided solely by geographic diversity. In DGS (25%), the total network capacity is lower than the baseline. The amount of data not downloaded from the satellites at the end of the day is measured. The median (90th percentile, 99th percentile) backlog for the baseline is 8.5 GB (28.9 GB, 80.7 GB). This means that for 10% of the satellites, 28.9 GB of data has not been downloaded, and for 1%, 80.7 GB of data has a backlog. In contrast, for DGS, the corresponding backlog is 1.9 GB (5.3 GB, 15.6 GB). This means that DGS increases the backlog for the median and the 90th and 99th percentiles by a factor of 5. Even with DGS limited to 25% of its ground stations, the total link capacity is lower than the baseline, with a backlog of 5.7 GB (23.4 GB vs. 74.3 GB). This highlights that some of the benefits can be achieved solely due to geographic diversity, namely (a) geographic dispersion means less satellite interference at individual ground stations, and (b) the distributed nature of DGS ensures that degradation of individual links (e.g., due to weather) does not significantly impact the entire system.
[0080] Latency: The three methods mentioned above—baseline, DGS, and DGS (25%)—were compared in terms of latency, and the results were... Figure 6 The latency, referred to as CDF in Figure 604, is called (b) latency. The time elapsed between data acquisition (e.g., image acquisition) and data reception at the ground station is measured. A median latency of 48 minutes (90th percentile, 99th percentile) was achieved using a baseline approach with high-fidelity ground stations. In contrast, DGS achieved a latency of 11 minutes (44 minutes, 88 minutes). Even with a 25% deployment, DGS achieved a latency of 19 minutes (68 minutes, 99 minutes). This result highlights the key advantage of DGS's geographically distributed design. It achieves significantly lower latency (4 to 5 times lower across different metrics) even with lower overall system link capacity. This is because the satellite is likely to encounter multiple ground stations during its orbit, allowing it to transmit its data more quickly.
[0081] Adaptability of Value Functions: As described in this paper, value functions can be used to tune the behavior of DGS. Tuning value functions for any tangible effect was tested. So far, for all the results above, value functions have been tuned to optimize latency. Tuning value functions to optimize throughput was also tested. Three different approaches were evaluated: DGS(L) – DGS optimized for latency, DGS(T) – DGS optimized for throughput, and Baseline(L) – a baseline optimized for latency, and the results are presented in... Figure 6 The value function, referred to as CDF in Figure 606, is called the (c) value function. When DGS is optimized for throughput, the median latency increases from 19 minutes to 28 minutes. This shows that tuning the value function does indeed improve the expected results, and that DGS is an agile framework for distributed ground station configurations. As mentioned earlier, this function can also be tuned to prioritize data for geographic regions, natural disasters, or to use a bidding system for bidding on ground station time. Finally, note that even with 25% of ground stations in use, the throughput-optimized system has lower latency than the full baseline system optimized for latency. This again highlights the low-latency advantage of DGS due to its geographic distribution nature. Typical operating environment
[0082] This disclosure may be related to, according to Figure 7 The computing device 718 operates together with the embodiments of the functional block diagram 700. In one embodiment, components of the computing device 718 may be implemented as part of an electronic device according to one or more embodiments described herein. The computing device 718 includes one or more processors 719, which may be a microprocessor, a controller, or any other suitable type of processor for processing computer-executable instructions to control the operation of the electronic device. Alternatively or additionally, the processor 719 is any technology capable of executing logic or instructions, such as hard-coded machine. Platform software including operating system 720 or any other suitable platform software may be provided on the device 718 to enable application software 721 to be executed on the device. According to one embodiment, generating and providing transmission schedules to satellites to configure satellites to transmit data to auxiliary ground stations throughout orbit, as described herein, may be implemented via software, hardware, and / or firmware.
[0083] Computer-executable instructions may be provided using any computer-readable medium accessible by computing device 718. Computer-readable media may include, for example, computer storage media (such as memory 722) and communication media. Computer storage media (such as memory 722) include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information (such as computer-readable instructions, data structures, program modules, etc.). Computer storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, persistent memory, phase-change memory, flash memory or other memory technologies, CD-ROM, digital universal disk (DVD) or other optical storage, cassette tape, magnetic tape, disk storage, shingled disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by computing device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, etc., in modulated data signals (such as carrier waves) or other transmission mechanisms. As defined herein, computer storage media does not include communication media. Therefore, computer storage media should not be construed as the propagation of signals themselves. The propagation of signals themselves is not an example of computer storage media. Although the computer storage medium (memory 722) is shown as being within the computing device 718, those skilled in the art will understand that the storage may be distributed or located remotely and accessed via a network or other communication link (e.g., using communication interface 723).
[0084] The computing device 718 may include an input / output controller 724 configured to output information to one or more output devices 725 (e.g., a display or speaker), which may be separate from or integrated with the electronic device. The input / output controller 724 may also be configured to receive and process input from one or more input devices 726 (e.g., a keyboard, microphone, or touchpad). In one embodiment, the output device 725 may also act as an input device. An example of such a device could be a touch-sensitive display. The input / output controller 724 may also output data to devices other than the output devices, such as a locally connected printing device. In some embodiments, a user may provide input to (multiple) input devices 726 and / or receive output from (multiple) output devices 725.
[0085] The functions described herein can be performed at least in part by one or more hardware logic components. According to one embodiment, computing device 718, when executed by processor 719, is configured by program code to perform an embodiment of the described operations and functions. Alternatively or additionally, the functions described herein can be performed at least in part by one or more hardware logic components. Illustrative types of hardware logic components that can be used, such as but not limited to, include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and graphics processing units (GPUs).
[0086] At least some of the functions of the various elements in the figure can be performed by other elements in the figure or entities not shown in the figure (e.g., processors, web services, servers, applications, computing devices, etc.).
[0087] Although described in conjunction with exemplary computing system environments, the examples of this disclosure can be implemented with many other general-purpose or special-purpose computing system environments, configurations, or devices.
[0088] Examples of well-known computing systems, environments, and / or configurations suitable for use with aspects of this disclosure include, but are not limited to, mobile or portable computing devices (e.g., smartphones), personal computers, server computers, handheld devices (e.g., tablets) or laptop devices, multiprocessor systems, game consoles or controllers, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, mobile computing and / or communication devices of wearable or accessory form factors (e.g., watches, glasses, headsets or headphones), network PCs, minicomputers, mainframes, distributed computing environments including any of the aforementioned systems or devices, etc. In general, this disclosure can operate with any device having processing capabilities, enabling it to execute instructions such as those described herein. Such systems or devices can accept input from users in any manner, including input from input devices (such as keyboards or pointing devices) via gestures, proximity input (such as by hovering), and / or via voice input.
[0089] Examples of this disclosure can be described in the general context of computer-executable instructions (such as program modules) that are executed by one or more computers or other devices as software, firmware, hardware, or a combination thereof. Computer-executable instructions can be organized into one or more computer-executable components or modules. Typically, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform a particular task or implement a particular abstract data type. Aspects of this disclosure can be implemented with any number and organization of such components or modules. For example, aspects of this disclosure are not limited to the specific computer-executable instructions or specific components or modules shown in the figures and described herein. Other examples of this disclosure may include different computer-executable instructions or components that have more or fewer functions than those shown and described herein.
[0090] In examples involving general-purpose computers, when configured to execute the instructions described herein, aspects of this disclosure transform a general-purpose computer into a dedicated computing device.
[0091] An example system for transmitting data from a satellite using a set of primary and secondary ground stations includes: at least one processor; and at least one memory, including computer program code, the at least one memory and the computer program code being configured, together with the at least one processor, to: determine the satellite's orbit during a scheduled period based on satellite trajectory data; identify a subset of secondary ground stations from the set of secondary ground stations based on the determined orbit of the satellite, wherein the secondary ground stations are configured to receive data from the satellite and not transmit data to the satellite, wherein the identified subset of secondary ground stations is within communication range of the determined orbit of the satellite; generate a transmission schedule associated with the satellite and the subset of secondary ground stations, the generation including: determining a time interval for each secondary ground station in the subset of secondary ground stations, during which the satellite is within communication range of the secondary ground station; estimating an expected data transmission rate from the satellite to the secondary ground station during the determined time interval; and including the time interval and the expected data transmission rate in the transmission schedule associated with the secondary ground station; and providing the generated transmission schedule to the satellite via a primary ground station, wherein the primary ground station is configured to receive data from the satellite and transmit data to the satellite, thereby configuring the satellite to transmit data to the subset of secondary ground stations based on the generated transmission schedule.
[0092] An example computerized method for transmitting data from a satellite using a set of primary and secondary ground stations includes: a processor determining the satellite's orbit during a scheduled period based on trajectory data of the satellite; the processor identifying a subset of secondary ground stations from the set of secondary ground stations based on the determined orbit of the satellite, wherein the secondary ground stations are configured to receive data from the satellite but not transmit data to the satellite, and wherein the identified subset of secondary ground stations is within communication range of the determined orbit of the satellite; the processor generating a transmission schedule associated with the satellite and the subset of secondary ground stations, the generation including: determining a time interval for each secondary ground station in the subset of secondary ground stations, during which the satellite is within communication range of the secondary ground station; estimating the expected data transmission rate from the satellite to the secondary ground station during the determined time interval; and including the time interval and the expected data transmission rate associated with the secondary ground station in the transmission schedule; and the processor providing the generated transmission schedule to the satellite via a primary ground station, wherein the primary ground station is configured to receive data from the satellite and transmit data to the satellite, thereby configuring the satellite to transmit data to the subset of secondary ground stations based on the generated transmission schedule.
[0093] One or more computer storage media have computer-executable instructions for transmitting data from a satellite using a set of primary and secondary ground stations, which, when executed by a processor, cause the processor to at least: determine the satellite's orbit during a scheduled period based on satellite trajectory data; identify a subset of secondary ground stations from the set of secondary ground stations based on the determined orbit of the satellite, wherein the secondary ground stations are configured to receive data from the satellite but not transmit data to the satellite, wherein the identified subset of secondary ground stations is within communication range of the determined orbit of the satellite; generate a transmission schedule associated with the satellite and the subset of secondary ground stations, the generation comprising: determining a time interval for each secondary ground station in the subset of secondary ground stations, during which the satellite is within communication range of the secondary ground station; estimating an expected data transmission rate from the satellite to the secondary ground station during the determined time interval; and including the time interval and the expected data transmission rate in the transmission schedule in association with the secondary ground station; and providing the generated transmission schedule to the satellite via a primary ground station, wherein the primary ground station is configured to receive data from the satellite and transmit data to the satellite, thereby configuring the satellite to transmit data to the subset of secondary ground stations based on the generated transmission schedule.
[0094] Alternatively, or in addition to the other examples described herein, examples include any combination of the following: - Wherein the satellite is one of a plurality of satellites configured to transmit data to a set of auxiliary ground stations; wherein generating a transmission schedule associated with the satellite includes generating a transmission schedule that schedules data transmission from each of the plurality of satellites to the set of auxiliary ground stations; and wherein generating a transmission schedule that schedules data transmission from each of the plurality of satellites includes preventing multiple satellites from transmitting data to the auxiliary ground station simultaneously for each of the auxiliary ground stations in the set of auxiliary ground stations. The transmission scheduling for generating data transmission from each of the multiple satellites further includes: comparing a first value factor of data on a first satellite and a second value factor of data on a second satellite, wherein the determined orbits of the first and second satellites indicate that the first and second satellites will be within the communication range of the target auxiliary ground station in the set of auxiliary ground stations during the target time interval; selecting the first satellite based on the comparison of the first and second value factors indicating that the first value factor is higher than the second value factor; and scheduling the selected first satellite to transmit to the target auxiliary ground station during the target time interval. - Where the first and second value factors are based on at least one of the following: the time when the data was collected and the location associated with the data. - It also includes: receiving, by the processor, confirmation of data received by at least one auxiliary ground station from the satellite by at least one auxiliary ground station in the subset of auxiliary ground stations; and providing confirmation to the satellite via the primary ground station based on the satellite entering the communication range of the primary ground station. - It also includes: the processor generating an updated transport schedule associated with a subset of satellites and auxiliary ground stations, wherein generating the updated transport schedule includes generating instructions to instruct the satellites to transmit data for which they have not received acknowledgments. - The estimated expected data transmission rate is based on at least one of the following: the distance between the satellite and the auxiliary ground station, the weather conditions between the satellite and the auxiliary ground station, and the hardware-based signal loss of the satellite and the auxiliary ground station.
[0095] Any range or device value given herein may be extended or changed without losing the desired effect, as will be apparent to those skilled in the art.
[0096] While no personally identifiable information is tracked in this disclosure, examples have been described with reference to data monitored and / or collected from users. In some examples, users may be notified of data collection (e.g., via dialog boxes or preferences) and given the opportunity to consent to or refuse to consent to monitoring and / or collection. Consent may take the form of opting in or opting out of consent.
[0097] Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as examples of implementing the claims.
[0098] It will be understood that the above benefits and advantages may relate to one embodiment or several embodiments. The embodiments are not limited to those that solve any or all of the described problems or have any or all of the described benefits and advantages. It will also be understood that references to "an" an item refer to one or more of those items.
[0099] The embodiments shown and described herein, as well as embodiments not specifically described herein but within the scope of the claims, constitute exemplary components for determining, by a processor, the orbit of a satellite within a scheduled period based on satellite trajectory data; exemplary components for identifying a subset of secondary ground stations from a set of secondary ground stations by a processor based on the determined orbit of the satellite, wherein the secondary ground stations are configured to receive from the satellite but not transmit to the satellite, wherein the identified subset of secondary ground stations is within communication range of the determined orbit of the satellite; exemplary components for generating a transmission schedule associated with the satellite and the subset of secondary ground stations by a processor, the generation including: for each secondary ground station in the subset of secondary ground stations, exemplary components for determining a time interval during which the satellite is within communication range of the secondary ground station; exemplary components for estimating an expected data transmission rate from the satellite to the secondary ground station during the determined time interval; and exemplary components for including the time interval and the expected data transmission rate in the transmission schedule associated with the secondary ground station; and exemplary components for providing the generated transmission schedule to the satellite by a processor via a primary ground station, wherein the primary ground station is configured to receive from and transmit to the satellite, thereby configuring the satellite to transmit data to the subset of secondary ground stations based on the generated transmission schedule.
[0100] As used in this specification, the term "comprising" means including (multiple) features or subsequent (multiple) actions, without excluding the presence of one or more additional features or actions.
[0101] In some examples, the operations illustrated in the figures can be implemented as software instructions encoded on a computer-readable medium, in hardware programmed or designed to perform the operations, or both. For example, aspects of this disclosure can be implemented as a system-on-a-chip or other circuit system comprising multiple interconnected conductive elements.
[0102] Unless otherwise stated, the order of execution or performance of operations in the examples of the disclosures shown and described herein is not required. That is, operations may be performed in any order unless otherwise stated, and examples of this disclosure may include more or fewer operations than those disclosed herein. For example, a particular operation may be performed or executed before, simultaneously with, or after another operation within the scope of this disclosure.
[0103] When describing elements of aspects of this disclosure or examples thereof, the articles “a,” “an,” “the,” and “described” are intended to indicate the presence of one or more elements. The terms “comprising,” “including,” and “having” are intended to include and mean that additional elements may be present in addition to those listed. The term “exemplary” is intended to mean “example.” The phrase “one or more of the following: A, B, and C” means “at least one of A and / or at least one of B and / or at least one of C.”
[0104] Having described aspects of this disclosure in detail, it will be apparent that modifications and variations are possible without departing from the scope of the aspects of this disclosure as defined in the appended claims. Since various changes can be made to the above structures, products, and methods without departing from the scope of the aspects of this disclosure, everything contained in the foregoing description and shown in the accompanying drawings should be interpreted as illustrative rather than restrictive.
Claims
1. A system comprising: processor; as well as Memory, including computer program code, said memory and said computer program code being configured to, together with said processor, enable said processor to: Based on the satellite's orbit, a subset of ground stations is identified from the set of ground stations configured to receive data transmitted by the satellite; Based on at least (i) compliance with data downlink constraints for each ground station in the subset of ground stations and (ii) a value function for the data captured by the satellite, a transmission schedule associated with the satellite and the subset of ground stations is generated; as well as The generated transmission schedule is provided to the satellite via another ground station configured to both transmit and receive data, wherein the satellite is configured to transmit data to at least a subset of the ground stations based on the generated transmission schedule.
2. The system of claim 1, wherein the identified subset of ground stations is within communication range of the orbit of the satellite.
3. The system of claim 1, wherein the value function indicates at least one value factor selected from a list of: The time between data acquisition by the satellite and data transmission to the ground station, data throughput, and priority based on the attributes of the captured data.
4. The system of claim 1, wherein the memory and the computer program code are configured, together with the processor, to also cause the processor to: Satellite conflicts at the target ground station in the set of ground stations during the target time interval are resolved at least by selecting data captured by the satellite for transmission in the generated transmission schedule, rather than selecting data captured by another satellite.
5. The system of claim 1, wherein the memory and the computer program code are configured, together with the processor, to also cause the processor to: The orbit of the satellite is determined based on the satellite's trajectory data; The generation of the transmission schedule also includes: Based on the orbits of at least the satellites, determine the time intervals within the communication range of the identified subset of ground stations; Estimate the expected data transfer rate from the satellite to the identified subset of ground stations during the time interval; and The time interval and the expected data transmission rate are associated with the identified subset of ground stations and included in the transmission schedule.
6. The system of claim 1, wherein generating the transmission schedule comprises: Generate satellite station map; as well as Using the satellite station map and link quality model, the estimated transmission link quality between the satellite and at least one ground station in the identified subset of ground stations is determined.
7. The system of claim 1, wherein the data downlink constraint indicates whether transmission from the satellite is permitted for each ground station in the identified subset of ground stations.
8. The system of claim 1, wherein at least one ground station in the set of ground stations is further configured to transmit to the satellite.
9. A computerized method, comprising: The processor identifies the first subset of auxiliary ground stations from the set of auxiliary ground stations based on the predicted orbits of the satellites; The processor generates a transmission schedule associated with the satellite and the first subset of auxiliary ground stations based on at least (i) compliance with data downlink constraints for each auxiliary ground station in the first subset of auxiliary ground stations and (ii) a value function for the data captured by the satellite. The processor provides the transmission schedule to the satellite via the primary ground station, wherein the satellite is configured to transmit data to at least a subset of the first secondary ground stations based on the transmission schedule during a first instance of the time period of the predicted orbit. as well as Based on the communication range of the satellite for the next instance within the time period of the predicted orbit, the transmission schedule is dynamically updated for the next instance.
10. The computerized method of claim 9, wherein the first subset of auxiliary ground stations is within communication range of the satellite's orbit during the first instance, and wherein the second subset of auxiliary ground stations is within communication range of the satellite's orbit during the next instance.
11. The computerized method according to claim 10, further comprising: The processor identifies the second subset of auxiliary ground stations from the set of auxiliary ground stations based on the predicted orbit of the satellite; as well as The processor provides the dynamically updated transmission schedule to the satellite via the main ground station.
12. The computerized method of claim 9, wherein the first subset of auxiliary ground stations includes time information associated with each auxiliary ground station in the first subset of auxiliary ground stations, the time information indicating for each auxiliary ground station a portion of the time period of the predicted orbit, during which the auxiliary ground station is within communication range of the satellite to receive data transmission.
13. The computerized method according to claim 12, further comprising: A satellite station map is generated using the first subset of auxiliary ground stations and the associated time information; as well as Using the satellite station map and link quality model, the estimated transmission link quality between the satellite and each ground station in the first auxiliary ground station subset is determined, wherein generating the transmission schedule includes using the determined estimated transmission link quality data.
14. The computerized method of claim 9, wherein generating the transmission schedule comprises: Stable matching of identifiers; or Identify the best match.
15. The computerized method of claim 9, wherein the satellite is one of a plurality of satellites configured to transmit data to the auxiliary ground station set; and The method further includes: A satellite transmission schedule is generated, which schedules data transmission from each of the plurality of satellites to the set of auxiliary ground stations, and prevents multiple satellites from transmitting data to the same auxiliary ground station simultaneously.
16. One or more non-transitory computer storage media having computer-executable instructions, which, when executed by a processor, cause the processor to at least: Based on the satellite's orbit, a subset of ground stations is identified from the set of ground stations configured to receive data transmitted by the satellite; Based on at least (i) compliance with data downlink constraints for each ground station in the subset of ground stations and (ii) a value function for the data captured by the satellite, a transmission schedule associated with the satellite and the subset of ground stations is generated; as well as The generated transmission schedule is provided to the satellite via another ground station configured to both transmit and receive data, wherein the satellite is configured to transmit data to at least a subset of the ground stations based on the generated transmission schedule.
17. The computer storage medium of claim 16, wherein the identified subset of ground stations is within communication range of the orbit of the satellite.
18. The computer storage medium of claim 16, wherein the computer-executable instructions, when executed by a processor, further cause the processor to at least: Compare a first value factor of data captured by the satellite with a second value factor of data captured by another satellite, wherein the orbits of the satellite and the other satellite indicate the communication range of the satellite and the other satellite within the target ground station set during the target time interval; and Based on the determination that the first value factor is higher than the second value factor, data captured by the satellite is selected for transmission in the generated transmission schedule.
19. The computer storage medium of claim 16, wherein the computer-executable instructions, when executed by a processor, further cause the processor to at least: The orbit of the satellite is determined based on the satellite's trajectory data; as well as The generation of the transmission schedule also includes: Based on the orbits of at least the satellites, determine the time intervals of the satellites within the communication range of the identified subset of ground stations; Estimate the expected data transfer rate from the satellite to the identified subset of ground stations during the time interval; and The time interval and the expected data transmission rate are associated with the identified subset of ground stations and included in the transmission schedule.
20. The computer storage medium of claim 16, wherein generating the transmission schedule comprises: Stable matching of identifiers; or Identify the best match.