The present disclosure relates to space-based aircraft monitoring.
According to one general aspect, a system for space-based aircraft monitoring includes a ground segment, multiple aircraft monitoring payloads on board corresponding satellites, and a resource scheduling system. Individual payloads include antenna systems configured to provide multiple beams for receiving ADS-B messages and two or more receivers configured to process received ADS-B messages that are implemented, at least in part, by reconfigurable FPGAs. In addition, individual payloads are configured to initiate transmission of ADS-B messages processed by one or more of their receivers to the ground segment. Meanwhile, the ground segment is configured to receive such messages and to route them to one or more destinations for aircraft monitoring. The resource scheduling system is configured to control the antenna systems of individual payloads to dynamically adjust the beams for receiving ADS-B messages of the individual antenna systems.
According to another general aspect, a payload for space-based aircraft monitoring includes an antenna system configured to provide multiple beams for receiving ADS-B messages while in orbit above the Earth and to dynamically adjust the beams for receiving ADS-B messages. In addition, the payload also includes two or more receivers configured to process ADS-B messages received by the antenna system implemented, at least in part, by reconfigurable field programmable gate arrays, and a transmission system configured to initiate transmission of ADS-B messages processed by the receivers to a ground segment while in orbit above the Earth.
According to still another general aspect, a ground segment for a space-based aircraft monitoring system having multiple aircraft monitoring payloads on board corresponding satellites in orbit around the Earth includes an antenna system configured to transmit communications to and receive communications from the satellites, one or more processing elements, and computer readable storage media storing instructions that, when executed by the one or more processing elements, cause the one or more processing elements to control antenna subsystems of individual aircraft monitoring payloads configured to provide beams for receiving ADS-B messages to dynamically adjust the beams, process ADS-B messages received from the satellites, and route processed ADS-B messages to one or more destinations for aircraft monitoring.
Other features of the present disclosure will be apparent in view of the following detailed description of the disclosure and the accompanying drawings. Implementations described herein, including the above-described implementations, may include a method or process, a system, or computer-readable program code embodied on computer-readable media.
Traditionally, air traffic control, aircraft surveillance, and flight path management services have relied on ground-based radar stations and surveillance data processing systems. These systems rely on aircraft-based radio transmitters and terrestrial interrogation and receiving stations to implement systems, such as, for example, primary surveillance radar (“PSR”), secondary surveillance radar (“SSR”), and/or mode select (“Mode S”) radar, for communicating aircraft position and monitoring information to local ground stations. The information received at the local ground stations is then relayed to regional or global aircraft monitoring systems. Such conventional radar-based systems for use in air traffic control, aircraft surveillance, and flight path management services are limited to use in regions in which the appropriate ground infrastructure exists to interrogate and receive messages from aircraft. Consequently, vast areas of the world's airspace (e.g., over the oceans and poles, remote and/or mountainous regions, etc.) are not monitored by conventional, terrestrial radar-based systems.
Recently, modernization efforts have been launched to replace radar-based air traffic control, aircraft surveillance, and flight management systems with more advanced automatic dependent surveillance-broadcast (“ADS-B”) based systems. In an ADS-B-based system, an aircraft determines its position using a satellite-based navigation system (e.g., the Global Positioning System (“GPS”)) and periodically broadcasts its position, thereby enabling the aircraft to be tracked by systems that receive the aircraft's ADS-B broadcasts. In some particular implementations, an ADS-B equipped aircraft uses onboard equipment and sensors to determine its horizontal position, altitude, and velocity and then combines this information with its aircraft identification and call sign into the ADS-B messages that it transmits.
ADS-B-based transponders, which may operate on the same frequency as traditional Mode A/C/S transponders (e.g., 1090 MHz), may utilize different data links and formats for broadcasting ADS-B messages, including, for example, DO-260, DO-260A and DO-260B (Link Versions 0, 1 and 2, respectively) and DO-260B/ED-102A. 1090 MHz Mode S ES is a particular example of one such data link that has been adopted in many jurisdictions. For example, in the United States, the Federal Aviation Administration (“FAA”) has mandated 1090 MHz Mode S ES for use by air carrier and private or commercial operators of high-performance aircraft. Like traditional radar-based systems, ADS-B-based systems require appropriate infrastructure for receiving ADS-B messages broadcast by aircraft. As a result, even as numerous jurisdictions transition to terrestrial, ADS-B-based systems, air traffic in vast airspaces remains unmonitored.
As described in this disclosure, to address this limitation of terrestrial ADS-B systems, ADS-B receivers may be hosted on satellites and used to receive ADS-B messages broadcast by aircraft. Such ABS-B messages received by the satellites then can be relayed back down to earth terminals or other terrestrial communications infrastructure for transmission to and use by air traffic control, aircraft surveillance, and flight path management services.
For example, as illustrated in
When an ADS-B message transmitted by an aircraft is received by an ADS-B receiver on a satellite 102, the satellite 102 may retransmit the received ADS-B message to the space-based ADS-B system's ground segment 104, for example via a ground station, earth station, earth terminal, teleport, and/or similar terrestrial component configured to communicate with the satellite(s). From there, the space-based ADS-B system's ground segment may route (e.g., via one or more terrestrial communications networks) the ADS-B message (or some or all of the information contained therein) to one or more appropriate destinations 112, such as, for example, an air navigation service provider or other air traffic control authority, the airline to which the aircraft that transmitted the ADS-B message belongs, or any other entity with an interest in the ADS-B message. In some implementations, the information included in the ADS-B message may be combined with ground-based surveillance data and/or flight plan information for integration within air traffic control systems to provide air traffic controllers a single representation of a given aircraft. The space-based ADS-B system's ground segment 104 may transmit the information included in a received ADS-B message to a destination in one of a variety of different formats, including, for example, ASTERIX CAT021, CAT023, CAT025, CAT238 and FAA CAT033 and CAT023.
In some implementations, individual satellites 102 within the space-based ADS-B system 100 may retransmit ADS-B messages that they receive directly to the ground segment 104. Additionally or alternatively, and as illustrated in
Notably, as illustrated in
Space-based ADS-B systems such as described herein may provide a number of additional advantages over other systems as well. For example, traditional radar-based air traffic control systems may be limited in their ability to service high-traffic environments, such as, for example, near airports, among other reasons, for example, due to their limited range and update frequency. In contrast, space-based ADS-B systems may provide expanded range and increased update frequency, thereby enabling, for example, more efficient flight takeoff and landing schedules and more flexible aircraft maneuvers in congested environments. Additionally or alternatively, a space-based ADS-B system that provides global ADS-B coverage may enable an airline to have up-to-date and real-time or near real-time visibility of its entire fleet of aircraft at any given moment.
Aircraft 70 carries an on-board ADS-B transponder 72 that broadcasts ADS-B messages containing flight status and tracking information. Satellite 10 carries payload 12 to receive ABS-B messages broadcast by aircraft 70 and other aircraft. In some implementations, multiple or all of the satellites in satellite network 20 may carry ADS-B payload to receive ADS-B messages broadcast by aircraft. Messages received at receiver 12 are relayed through satellite network 20 to satellite communication network earth terminal 30 and ultimately to air traffic management system 40 through terrestrial network 50. The air traffic management system 40 may receive aircraft status information from various aircraft and provide additional services such as air traffic control and scheduling or pass appropriate information along to other systems or entities.
In some implementations, ADS-B payload 12 may have one or more antennas and one or more receivers for receiving ADS-B messages broadcast by aircraft. Additionally or alternatively, in some implementations, ADS-B payload 12 may have a phased array antenna formed from multiple antenna elements that collectively are configured to provide multiple different beams for receiving ADS-B messages.
In certain implementations, satellite network 20 may have a primary mission other than receiving ADS-B messages broadcast by aircraft. For example, in some implementations, satellite network 20 may be a LEO, mobile satellite communications constellation. In such implementations, ADS-B payloads like ADS-B payload 12 may be hosted on satellites 10 of satellite network 20 as hosted or secondary payloads that may be considered secondary to the primary mission of the satellite network 20. Consequently, such ADS-B payloads when operated as hosted payloads may be constrained by certain limitations, such as, for example, a relatively low maximum weight and a relatively low power budget so as not to take away from the primary mission of the satellite network 20.
Terrestrial ADS-B ground station 60 provides aircraft surveillance coverage for a relatively small portion of airspace, for example, limited to aircraft within line of sight of ground station 60. Even if terrestrial ADS-B ground stations like ground station 60 are widely dispersed across land regions, large swaths of airspace (e.g., over the oceans) will remain uncovered. Meanwhile, a spaced-based ADS-B system 5 utilizing a satellite network like satellite network 20 may provide coverage of airspace over both land and sea regions without being limited to areas where ground-based surveillance infrastructure has been installed. Thus, a space-based ADS-B system may be preferable (or a valuable supplement) to terrestrial approaches.
As described above, in some implementations, a space-based ADS-B system may include a constellation of multiple satellites equipped with one or more ADS-B receivers in low-Earth orbit (“LEO”) (e.g., 99-1,200 miles above the Earth's surface). For example, as illustrated in
In some implementations, the satellites may have a primary mission other than receiving ADS-B messages transmitted by aircraft. For example, in some implementations, the satellites may be part of a LEO, mobile satellite communications network. In such implementations, individual satellites of the mobile satellite communications network may host secondary or auxiliary payloads that are configured to receive ADS-B messages transmitted by aircraft and that may be considered secondary to the primary, mobile communications mission of the satellite network. For example, as illustrated in
While a space-based ADS-B system may be preferable (or a valuable supplement) to terrestrial approaches, implementing a spaced-based ADS-B system may present a number of challenges. For example, satellite systems typically have limited power budgets. Consequently, the space segment, or individual satellites within the space segment, of a space-based ADS-B system may need to comply with a power budget. This may be particularly challenging when the space segment of a space-based ADS-B system is implemented as one or more secondary or auxiliary payloads hosted on one or more satellites having a different primary mission. In such implementations, the power budget available to the hosted payload(s) may be limited due to the secondary nature of the hosted payload(s) relative to the primary mission of the host satellite(s). In some such implementations, the power budget available to the hosted payload(s) may be defined on a system-wide basis. Additionally or alternatively, in some implementations, the power budget available to the hosted payload(s) may be defined on an individual payload basis. To comply with such power budgets, the resources of the satellites and/or payloads forming the space segment of the spaced-based ADS-B system may be managed intelligently. Specific examples of such intelligent resource management techniques are described in greater detail below in the section under the Intelligent Resource Management heading. In some implementations, resource management schedules for a particular satellite or payload during a period of time may be determined, at least in part, based on expected aircraft traffic in the region(s) covered by the satellite or payload during the period of time.
In some implementations, individual satellites or payloads within the space segment of a space-based ADS-B system may have antennas that are configured to generate multiple different beams for receiving ADS-B messages, and, in some implementations, one or more such beams may be steerable. For example, in some implementations, the antennas on individual satellites or payloads may be phased array antennas formed from multiple antenna elements that collectively are configured to provide multiple different beams for receiving ADS-B messages. In implementations in which individual satellites or payloads have antennas configured to generate multiple different beams for receiving ADS-B messages, individual satellites or payloads may benefit from intelligent beam scheduling techniques, for example, to achieve desired coverage without exceeding allowed power budgets and/or to operate within other constraints, such as, for example, size and/or processing constraints that may limit the number of receivers that may be implemented on an individual satellite or payload and/or the number of received signals that can be processed concurrently by an individual satellite or payload. Specific examples of such intelligent beam scheduling techniques are described in greater detail below in the section under the Beam Scheduling heading. In some implementations, beam schedules for a particular satellite or payload during a period of time may be determined, at least in part, based on expected aircraft traffic in the region(s) covered by the satellite or payload during the period of time.
In a space-based ADS-B system, there may be a significant distance between aircraft transmitting ADS-B messages and the satellites or payloads configured to receive ADS-B messages transmitted by the aircraft. For example, even a satellite in low-Earth orbit may orbit the Earth at an altitude as high as approximately 1,243 miles while aircraft typically do not fly much above 40,000 feet (approximately 7.6 miles) above the earth. The significant propagation distance for ADS-B messages may make successful detection and reception of ADS-B messages by a satellite-based ADS-B receiver much more difficult than by a terrestrial-based ADS-B receiver. Furthermore, satellites in low-Earth orbit may orbit the Earth at speeds upwards of 17,000 miles per hour, resulting in Doppler shifts that add additional complications to successfully receiving ADS-B messages. Moreover, given the wider coverage area provided by a satellite as compared to a terrestrial ground station, a satellite-based ADS-B receiver may be exposed to a much higher volume of ADS-B messages than a terrestrial-based ADS-B receiver. As a result, ADS-B messages may arrive at a satellite-based receiver in an interfering or overlapping manner. ADS-B messages that interfere and/or overlap with a desired ADS-B message may be referred to as (or may be one component of) false replies unsynchronized with interrogator transmissions or, alternatively, false replies unsynchronized in time (“FRUIT”). Other communications protocols that share the 1090 MHz band with ADS-B also may contribute interference and be a source of FRUIT. For example, aircraft implementing secondary surveillance radar (“SSR”) like Mode A, Mode C, or Mode S, may respond to interrogating SSR messages in the 1090 MHz band, potentially creating interference for ADS-B messages. Other transmitters within range of an ADS-B receiver transmitting in neighboring or nearby frequency bands also may generate interference or contribute to noise. Consequently, the signal-to-noise ratio (“SNR”) for an ADS-B message received by a space-based ADS-B receiver typically will be much lower than the SNR for an ADS-B message received by a terrestrial ADS-B receiver. Appropriately dealing with FRUIT and/or other interference/noise, particularly for airspaces with a high density of air traffic, is an example of another challenge faced in implementing a space-based ADS-B system.
Examples of satellite-based ADS-B receiver designs that may be employed in the space-based ADS-B systems disclosed herein are described in greater detail below in the section under the heading ADS-B Receiver Designs. In addition, the subsection under the heading ADS-B Receiver Designs—Non-Coherent Receivers describes examples of non-coherent ADS-B receiver designs, while the subsection under the heading ADS-B Receiver Designs—Coherent Receivers describes examples of coherent ADS-B receiver designs.
In some implementations, individual satellites or individual payloads within the space segment of a space-based ADS-B system may include multiple ADS-B receivers. The presence of multiple ADS-B receivers on an individual satellite or payload may enable the satellite or payload to process multiple incoming ADS-B messages concurrently. Furthermore, the presence of multiple ADS-B receivers on an individual satellite or payload may provide redundancy in the event of the failure of one or more ADS-B receivers. In some implementations, individual satellites or payloads within the space segment of a space-based ADS-B system may include one or more non-coherent ADS-B receivers and one or more coherent ADS-B receivers. Additionally or alternatively, in some implementations, one or more ADS-B receivers (and/or other processing elements of the space segment of a space-based ADS-B system) on individual satellites or payloads may be implemented by field-programmable gate arrays (“FPGAs”), which may be reprogrammable, or otherwise implemented in whole or in part in software, thereby providing a relatively flexible architecture that may be modified over time by uploading design changes and/or software updates to an individual satellite or payload (e.g., via a feeder link).
In some implementations, the ground segment of a space-based ADS-B system may include one or more computing systems responsible for or otherwise involved in managing and/or coordinating various aspects of the space-based ADS-B system. For example, in some implementations, the ground segment of a space-based ADS-B system may include one or more computing systems that intelligently manage the resources of the space segment, for example, as described below in the section under the heading Intelligent Resource Management and/or that intelligently schedule beams of the antennas of individual satellites or payloads within the space segment, for example, as described below in the section under the heading Beam Scheduling. In such implementations, the ground segment computing resources may determine resource and/or antenna beam schedules for the satellites or payloads within the space segment. The ground segment then may upload the resource and/or antenna beam schedules to the satellites or payloads within the space segment (e.g., via one or more feeder links between the ground segment and satellites or payloads within the space segment) where they may be implemented by the satellites or payloads. In implementations in which individual satellites or payloads within the space segment are connected by communications cross-links, resource and/or antenna beam schedules uploaded to the space segment by the ground segment may be distributed across the satellites or payloads of the space segment via the communications cross-links. In alternative implementations, instead of employing ground segment computing resources to determine resource and/or antenna beam schedules for the satellites or payloads within the space segment, processing resources in the space segment (e.g., processing resources of one or more satellites or payloads within the space segment) may determine resource and/or antenna beam schedules for satellites or payloads within the space segment.
In some implementations, the space segment of a space-based ADS-B message may intelligently process and/or retransmit received ADS-B messages to the ground segment. For example, in some implementations, individual satellites or payloads may screen received candidate ADS-B messages for potential false positives and determine to discard or otherwise not retransmit received candidate ADS-B messages determined to be false positives. Additionally or alternatively, in some implementations, individual satellites or payloads may employ error detection and correction techniques on received candidate ADS-B messages and only retransmit received candidate ADS-B messages in which no errors are detected or, in the event that errors are detected, for which error correction is successfully performed. Furthermore, in some implementations, individual satellites or payloads may determine not to retransmit a received candidate ADS-B message if they determine that they received and retransmitted another candidate ADS-B message from the same aircraft within a defined period of time. In this manner, the satellites or payloads may attempt to reduce the bandwidth consumed by retransmitting received ADS-B messages to the ground segment. Additionally or alternatively, in this manner, the satellites or payloads may attempt to prevent the retransmission of duplicate received ADS-B messages to the ground segment, for example, in the event that multiple receivers on the same satellite or payload receive the same ADS-B message.
A space-based ADS-B system implemented according to the teachings of this disclosure may meet the EUROCAE ED-129B and EUROCONTROL GEN SUR SPR specifications of providing a probability of update performance of greater than or equal to 95 percent within an 8-second time window. Additionally or alternatively, a space-based ADS-B system implemented according to the teachings of this disclosure may achieve availability of up to or greater than 99.9% availability and end-to-end latency from initial transmission of an ADS-B message by an aircraft to ultimate delivery of the ADS-B message to air traffic control or another destination of between 1-2 seconds.
As described above, implementing a space-based ADS-B system, such as, for example, system 100 illustrated in
In some implementations, the satellites 4102 may be part of a constellation of low Earth orbit (LEO) satellites (that may or may not be cross-linked to enable space-based communication between individual satellites within the constellation). In such implementations, the satellites 4102 may orbit the Earth at altitudes, for example, between 99 miles and 1,200 miles above the Earth's surface and with orbital periods, for example, between 88 minutes and 127 minutes. The footprint covered by an individual satellite 4102 (or payload on board the satellite) may change as the satellite 4102 orbits.
In one particular example, the satellites 4102 may be arranged into a number of orbital planes (e.g., 6 orbital planes) with an equal (or different) number of satellites in each orbital plane (e.g., 11 satellites per orbital plane) and, furthermore, the satellites 4102 may be configured such that collectively the satellites (or payloads on board the satellites) are capable of providing coverage for the entire Earth or nearly the entire Earth. In this and other examples, the satellites 4102 may have polar or substantially polar orbits. As the satellites orbit, the footprints that the satellites 4102 (or payloads on board the satellites) cover may change. Nevertheless, the collective coverage area that the satellites 4102 (or payloads on board the satellites) can provide may remain the same or substantially the same over time (e.g., due to the coordinated arrangement and orbits of all of the satellites). Furthermore, in this example, individual satellites 4102 may include a primary payload configured to provide voice and/or data communication services to terrestrial subscribers and a secondary or hosted payload configured to provide a space-based ADS-B surveillance service. As such, satellites 4102 collectively may be capable of providing both a global (or nearly global) voice and/or data communications service and a global (or nearly global) space-based ADS-B surveillance service. In such implementations, the provisioning of the voice and/or data communications service may involve selecting a subset of the primary payloads to provide the communications service at different periods of time. Additionally or alternatively, the provisioning of the space-based ADS-B surveillance service may involve selecting a subset of the secondary payloads to provide the space-based ADS-B surveillance service at different periods of time.
The service area 4104 may be an area on the Earth's surface and, in some cases, the space above such area on the Earth's surface (e.g., in the case of a space-based ADS-B surveillance service for aircraft). In one implementation, the service area 4104 may be delineated into a plurality of unit or sub-areas. For example, the service area may be subdivided into multiple sub-areas of relatively similar area, which may be referred to as tiles. The size of a tile may be defined, for example, based on degrees of latitude and longitude, such as 1 degree latitude and 1 degree longitude, or any number of degrees (or a fraction of a degree) of latitude and any number of degrees (or a fraction of a degree) of longitude that are suitable for the service(s) being provided. In some implementations, the service area 4104 may include all of the Earth's surface or substantially all of the Earth's surface. In other implementations, the service area 4104 may include only a defined portion of the Earth or there may be multiple segregated service areas around the Earth.
As shown in
In addition to service areas, in certain implementations, there may be one or more areas defined as empty areas and one or more areas defined as nuisance areas on Earth. In such implementations, empty areas may not require coverage but they may be covered with an expectation that there will be substantially no negative effects for covering them. Nuisance areas, meanwhile, similarly may not require coverage and they may have noise sources such that covering them may lower the signal to noise ratio for signals from the service areas received by the satellite(s) 4102 (or payload(s)) covering such nuisance areas.
In some implementations, a tile may be referred to as being critically covered if two conditions are true: there are satellites 4102 (or payloads on board such satellites)) providing coverage for the tile, and the number of satellites 4102 (or payloads on board such satellites) covering the tile is equal to the required coverage number. In such cases, if a satellite 4102 (or payload on board the satellite) providing critical coverage of a tile is switched off (e.g., so as to not provide service), the coverage requirement will not be satisfied.
In some implementations, the satellites 4102 (or payloads on board the satellites) may be at least partially solar powered. In such implementations, each satellite 4102 may have one or more solar panels that collect solar energy when exposed to the Sun. The solar panel(s) may convert the solar energy into electrical energy to support operation of the respective satellites (or payloads on board the satellites). In some implementations, the satellites 4102 may include batteries that are capable of storing electrical energy generated by the solar panel(s) for later use by the satellites 4102. As illustrated in
In one particular example, computing apparatus 5204 (separately from or together with satellite information repository 5202) may represent or be communicatively coupled to a ground station that establishes wireless communications links (e.g., uplinks and/or downlinks) 5206 with one or more of satellites 4102, for instance via electromagnetic signals (e.g., in the K or Ka band). In this example, as the satellites 4102 orbit, individual satellites 4102 may go in and out of view of the ground station. Therefore, the ground station may dynamically establish and relinquish communications links 5206 with individual satellites 4102 as the satellites 4102 go in and out of view of the ground station. When a communications link 5206 exists between an individual satellite 4102 and the ground station, the ground station may transmit control information to the satellite 4102 via the communications link 5206 for use in provisioning the service. In some cases, such control information may be specific to the individual satellite 4102 (or a payload on board the individual satellite 4102). In other cases, wireless crosslinks 5208 (e.g., in the K or Ka band) may communicatively connect individual satellites 4102 to each other, and the control information transmitted to a satellite 4102 by the ground station may be propagated to one or more or all of the other satellites 4102 via the crosslinks 5208 for use in provisioning the service.
In one implementation, all satellites 4102 (or individual payloads on board all of the satellites 4102) in the constellation may be configured to operate within the same set of different modes having the same average (or estimated) power consumption levels as indicated in Table 1 below.
In such an implementation, each satellite 4102 (or an individual payload on board each satellite 4102) may comprise multiple service providing elements. For example, in implementations that provide a surveillance service (e.g., a spaced-based ADS-B surveillance service), the service providing elements may be antennas and/or receivers for receiving ADS-B signals. Additionally or alternatively, the service providing elements may be antennas and/or transmitters or transceivers that are capable of transmitting signals. When a satellite 4102 (or individual payload on board a satellite 4102) is operated in the “High On” mode, all (or a relatively large number) of the service providing elements on the satellite 4102 (or payload on board the satellite 4102) may be turned on to provide the coverage and, collectively, these elements may consume power at the average (or estimated) rate of AA W and provide a relatively high level of coverage within the footprint of the satellite (or payload on board the satellite). For example, when operating in the “High On” mode, the satellite (or the payload on board the satellite), may provide a relatively large number of receive and/or transmit beams within the footprint of the satellite (or the payload on the satellite). Consequently, the satellite (or the payload on board the satellite) may provide coverage to a relatively large number of tiles within the footprint of the satellite (or payload on board the satellite) when operating in the “High On” mode.
When a satellite 4102 (or individual payload on board a satellite 4102) is operated in the “Medium On” mode, a subset of the service providing elements on the satellite 4102 (or payload on board the satellite 4102) that is less than the service providing elements turned on during the “High On” mode may be turned on to provide the coverage and, collectively, these elements may consume power at the average (or estimated) rate of BB W, which is less than the rate of AA W, and provide a relatively moderate level of coverage within the footprint of the satellite (or payload on board the satellite) that is less than the level of coverage when the satellite (or payload on board the satellite) is operated in the “High On” mode. For example, when operating in the “Medium On” mode, the satellite (or the payload on board the satellite), may provide a relatively moderate number of receive and/or transmit beams within the footprint of the satellite (or the payload on the satellite) that is less than the number of beams that the satellite (or payload on board the satellite) provides when operating in the “High On” mode. Consequently, the satellite (or the payload on board the satellite) may provide coverage to a relatively moderate number of tiles within the footprint of the satellite (or payload on board the satellite) that is less than the number of tiles covered when operating in the “High On” mode.
When a satellite 4102 (or individual payload on board a satellite 4102) is operated in the “Low On” mode, a subset of the service providing elements on the satellite 4102 (or payload on board the satellite 4102) that is less than the service providing elements turned on during the “Medium On” mode may be turned on to provide the coverage and these elements, collectively, may consume power at an average (or estimated) rate of CC W, which is less than the rate of BB W and provide a relatively low level of coverage within the footprint of the satellite (or payload on board the satellite) that is less than the level of coverage when the satellite (or payload on board the satellite) is operated in the “Medium On” mode. For example, when operating in the “Low On” mode, the satellite (or the payload on board the satellite), may provide a relatively low number of receive and/or transmit beams within the footprint of the satellite (or the payload on the satellite) that is less than the number of beams that the satellite (or payload on board the satellite) provides when operating in the “Medium On” mode. Consequently, the satellite (or the payload on board the satellite) may provide coverage to a relatively low number of tiles within the footprint of the satellite (or payload on board the satellite) that is less than the number of tiles covered when operating in the “Medium On” mode.
When operated in one of the above-described “On” modes, a satellite 4102 (or payload on board the satellite 4102) may be referred to as being in a “functioning” mode (e.g., because the satellite 4102 (or payload) is capable of providing service).
When a satellite 4102 (or individual payload on board a satellite 4102) is operated in the “High Idle” mode, all of the service providing elements may be turned off and the satellite 4102 (or payload), thus, may provide no coverage. Nevertheless, while the satellite 4102 (or payload) is operated in the “High Idle” mode, other circuitry and/or components on board the satellite 4102 (or payload) may still be on and consuming energy at the average (or estimated) rate of XX W, which is less than the rate of CC W. For example, in some implementations, one or more Field Programmable Gate Arrays (FPGAs) may be on board a satellite 4102 (or payload) (e.g., to provide signal processing functions). In such implementations, one or more FPGAs may remain powered on while the satellite 4102 (or payload) is operated in the “High Idle” mode such that the FPGA(s) consumes power at an average (or estimated) rate of XX W. The “High Idle” mode may be referred to as a reduced power mode.
When a satellite 4102 (or individual payload on board a satellite 4102) is operated in the “Low Idle” mode, all of the service providing elements and a significant amount of other circuitry and/or components (e.g., FPGAs) may be turned off. In this mode, the satellite 4102 (or payload) may consume power at an average (or estimated) rate of YY W, which is less than XX W, for instance, to keep the system critical circuitry and/or componentry on, such as, for example, the system timer, hardware setting, etc. In some implementations, the “Low Idle” mode may be the “off” mode but with the system critical circuitry on, such that the satellite may be remotely turned on. When operated in the “High Idle” mode or the “Low Idle” mode, a satellite 4102 (or payload on board the satellite 4102) may be referred to as being in a “non-functioning” mode (e.g., because the satellite 4102 (or payload) is not capable of providing service).
In another implementation, the satellites 4102 (or individual payloads on board of the satellites 4102) in the constellation may not necessarily be configured to operate within the same set of different modes having the same average (or estimated) power consumption levels. For example, a first subset of the satellites 4102 (or payloads on board the first subset of satellites 4102) in the constellation may be configured to operate in the modes depicted in Table 1, but another subset of the satellites 4102 (or payloads on board the second subset of satellites 4102) in the constellation may be configured to operate in three modes: “On” with an average (or estimated) power consumption rate of AA1 W; “High Idle” with an average (or estimated) power consumption rate of XX1 W, which is less than a rate of AA1 W; and “Idle” or “Off” with an average (or estimated) power consumption rate of YY1 W, which is less than a rate of XX1 W.
Regardless of whether the satellites 4102 (or individual payloads on board the satellites 102) in the constellation are configured to operate in the same modes, the satellite information repository 5202 may store power consumption information for the different operational modes of all satellites 4102 (or payloads on board the satellites 4102) in the constellation. Each symbol referenced above in connection with power consumption levels, e.g., “AA,” “BB,” “CC,” “XX,” “YY,” “AA1,” “XX1,” and “YY1,” may represent a numerical value of a power consumption rate, which, for example, may be obtained by circuit design data or as empirical data among other approaches. It should be appreciated that at least one or more satellites (or payloads or board such satellites) in one implementation may have two “on” modes or more than three “on” modes and the respective power consumption level for each “on” mode may be used for the satellite (or payload) coverage provisioning process accordingly.
The computing apparatus 5204 may provision the satellite coverage based on the information in the satellite information repository 5202 and/or other information. In provisioning the satellite coverage, certain constraints (or other factors) may be taken into account. For example, a first time-related constraint may be that the total power consumption by an individual satellite 4102 (or payload on board the individual satellite 4102) during a defined sliding time window of length Tw be less than some first defined maximum amount, and a second time-related constraint may be that the total power consumption by the satellite (or payload on board the satellite) during an eclipse period be less than some second defined maximum amount. In some implementations, the sliding window of time (Tw) may be the same duration as the satellite orbit period (e.g., ˜5 minutes for a satellite at an 800 km altitude). In one implementation, the computing apparatus 204 may provision the satellite coverage according to a greedy algorithm that seeks to minimize the power consumption for each individual satellite 4102 (or a payload on board each individual satellite) rather than focusing on the total power consumption of the satellites 4102 (or payloads on board the satellites) in the constellation in the aggregate.
Additionally or alternatively, irrespective of other factors, the computing apparatus 5204 may determine to turn an individual satellite 4102 (or payload on board the individual satellite 102) off (e.g., put it into a “High Idle” or “Low Idle” mode) in response to determining (i) that the total cumulative power consumption by the satellite (or payload on board the satellite) at any point during a defined time period (e.g., Tw) will or has exceeded a defined power consumption threshold level or (ii) the total cumulative power consumption by the satellite 4102 (or payload on board the satellite 4102) during an eclipse period will or has exceeded a defined eclipse period power consumption threshold level. An example of how an individual satellite (or payload on board a satellite) may be powered on and off (e.g., switched between a functional mode and a non-functional mode) according to a power consumption constraint is shown in
Having two cumulative power consumption threshold values Qoff and Qon, respectively, essentially provides hysteresis that prevents the satellite (or payload on board the satellite) from frequently toggling between higher and lower power consumption modes. For example, if a satellite (or payload on board a satellite) is in a higher power consumption mode over a significant period of time, it is possible the cumulative power consumed within the sliding time window at some point may exceed (or be projected to exceed) the threshold Qoff; causing the satellite (or payload on board the satellite) to enter a lower power consumption mode. Once in the lower power consumption mode, the cumulative power consumed during the sliding time window may diminish below the cumulative power consumption threshold Qoff, but the satellite (or payload on board the satellite) may not be restored to a higher power consumption mode until the cumulative power consumed (or projected to be consumed) during the sliding time window diminishes to the lower cumulative power consumption threshold Qon. Thereafter, the satellite (or payload on board the satellite) may then remain in the higher power consumption mode until the cumulative power consumed (or projected to be consumed) during the sliding time window again exceeds (or is projected to exceed) the higher cumulative power consumption threshold Qoff.
In some implementations, the hysteresis for cumulative power consumption shown in
In an effort to keep the power consumption of an individual satellite (or payload on board the satellite) as low as possible, the computing apparatus 5204 may implement features as follows:
Additionally or alternatively, in some implementations, a periodic or aperiodic reboot of the satellite (or the payload on board the satellite) may be planned as part of the satellite (or payload) provisioning process. This may be provided, for example, to satisfy a satellite (or payload) requirement, which may require a reboot at least once per orbit period (e.g., to support thermal dissipation). In some implementations, the reboot may be performed when the satellite is in a non-functional mode. In at least one implementation, the provisioning process may define a maximal waiting time for the satellite (or payload on board the satellite) since the last time the satellite (or payload on board the satellite) was operated in a non-functional mode (Twait), and switch the satellite (or payload on board the satellite) to a non-functional mode at least once after (or during) such maximal waiting time.
At block 5404, whether each satellite (or a payload on each satellite) of the constellation of satellites is required to be in a minimal energy consumption mode (e.g., the “Low Idle” mode) may be determined, for example, based on the updated power consumption state of the satellite (or the payload on board the satellite) and/or other factors. For example, it may be determined whether the cumulative power consumption of the satellite (or a payload on board the satellite) during a sliding window of time exceeds a first threshold value and/or whether the cumulative power consumption of the satellite (or a payload on the satellite) during an eclipse period exceeds a second threshold value. In some implementations, this determination may be based, at least in part, on projected future power consumption. For example, if the projected future power consumption of the satellite (or a payload on board the satellite) during a defined future time period suggests that the cumulative power consumption of the satellite (or payload on board the satellite) during a sliding window of time that includes at least a portion of the defined future time period will exceed a defined threshold value, a determination may be made that the satellite (or payload on board the satellite) is required to be in a minimal energy consumption mode. Each satellite (or payload on board the satellite) determined to be required to be in a minimal energy consumption mode then may be controlled to be transitioned to the minimal energy consumption mode. For example, a signal may be sent to the satellite (or the payload on the satellite) instructing the satellite to transition to the minimal energy consumption mode.
At block 7406, for each satellite of the constellation of satellites (or a payload on each satellite of the constellation of satellites) that is not required to be in the minimal power consumption mode, a power consumption score may be calculated. The power consumption score may be a numerical value representing how close the satellite's (or payload's) cumulative power consumption in a sliding time window is to a limit (e.g., the maximal allowable power consumption during the sliding time window). In some implementations, the power consumption score for a satellite (or payload on board the satellite) may be based on historic power consumption by the satellite (or payload on board the satellite). Additionally or alternatively, in some implementations, the power consumption score for a satellite (or payload on board the satellite) may be based, at least in part, on projected future power consumption by the satellite (or payload on board the satellite). In one implementation, a satellite (or a payload on board the satellite) having a higher power consumption score may be closer to the maximal allowable cumulative power consumption threshold than a satellite (or payload on board the satellite) having a lower power consumption score. As described herein, in some implementations, the power consumption score may be calculated by taking into consideration whether the satellite (or payload on board the satellite) is in an eclipse period. Moreover, in some implementations, inputs used in calculating the power consumption score for a satellite (or a payload on board the satellite) may be retrieved from a satellite information repository, such as, for example, satellite information repository 5202 of
At block 7408, the satellites (or payloads on the satellites) that are not required to be in the minimal power consumption mode may be sorted according to their respective power consumption scores. At block 7410, the satellite coverage provisioning process 7400 may determine, based on respective power consumption scores of the satellites (or payloads on the satellites) and coverage of the service area, whether each of the satellites (or payloads on board the satellites) that are not required to be in the minimal power consumption mode can be put into a reduced power mode (e.g., the “High Idle” mode). For example, in some implementations, starting with the satellite (or payload on the satellite) closest to the maximal power consumption threshold, a determination may be made, based on the current operational modes of the satellites in the constellation and other information stored in the satellite information repository 5202 (e.g., satellite (or payload) ephemeris), as to whether all of the tiles in the footprint of the satellite (or payload on board the satellite) (or expected to be within the footprint of the satellite (or payload on board the satellite) within a defined period of time) requiring coverage are (or will be) critically covered or more than critically covered. If the result is affirmative and transitioning the satellite (or payload on board the satellite) to a reduced power mode will not result in any of the tiles requiring coverage dropping below a critical coverage level, it may be determined to transition the satellite (or payload on board the satellite) to a reduced power mode. This determination thereafter may be repeated in order for each of the satellites (or payloads on board the satellites) in the sorted list. As described above, in some implementations, the satellites (or payloads on board the satellites) may be configured to operate in one of multiple different functional modes (e.g., “High On,” “Medium On,” and “Low On”). In such implementations, a particular functional mode for each satellite (or payload on board the satellite) not determined to be switched into the reduced power mode may be determined, for instance, based on the consumption score and coverage of the service areas. For example, a higher power consumption mode may be selected for a satellite (or payload on board the satellite) when the power consumption score is relatively low and/or the required coverage of the service area is relatively high than when the power consumption score is relatively high and/or the required coverage of the service area is relatively low.
At block 7412, whether each satellite (or payload on board the satellite) of the constellation of satellites that is in a reduced power mode (e.g., the “High Idle” mode) can be put into a minimal energy consumption (e.g., the “Low Idle” mode) mode may be determined. In some implementations, it may be determined that a satellite (or payload on board the satellite) can be put into the minimal energy consumption mode after the satellite (or payload on board the satellite) has been assigned to the reduced power mode for some defined number of consecutive schedule slots. The satellites (or payloads on the satellites) for which determinations were made to transition to different operating modes (e.g., into the “High Idle” or “Low Idle” modes) then may be instructed to be transitioned to the appropriate operating modes. For example, signals may be sent to each satellite (or the payload on the satellite) instructing the satellite to transition to the appropriate operating mode. Additionally or alternatively, in some implementations, process 7400 may be performed in advance in order to generate a provisioning schedule for each satellite that then is uploaded to each satellite, for example, via uplinks 5206. For example, future provisioning schedules for each satellite may be generated more than twenty-four hours (or more) out. These provisioning schedules (or portions of these provisioning schedules) then may be uploaded to each satellite. In some implementations, each schedule slot (e.g., possible new operational state) may be 30 seconds, and new provisioning schedules may be uploaded to the satellites every 120 seconds (or, in some implementations, more or less frequently). Each individual satellite then may adjust its operating mode in accordance with the appropriate provisioning schedule.
An exemplary satellite coverage provisioning process according to the present disclosure may implement a greedy algorithm that seeks to minimize power consumption of individual satellites (or payloads on individual satellites) instead of global power consumption across the constellation in the aggregate. In one implementation, the greedy algorithm may be implemented as a repeating loop with an incremental time step Δts. This incremental time step Δts and examples of a number of other configuration parameters, which may be stored, for example, in satellite information repository 5202 or otherwise accessible by computing apparatus 5204, are listed in Table 2 below.
Most parameters in Table 2 have been explained above and/or will be explained in detail below. The quantities measured in Watts may be denoted as P with a respective subscript and the quantities measured in Watt-minutes as Q with a respective subscript.
As described above, in some implementations, service requirements may dictate a reboot (e.g., of the satellite, a payload on board the satellite, and/or certain componentry on board the satellite or on a payload) at least once per orbit (e.g., to support thermal dissipation). Thermal dissipation may be particularly applicable for FPGAs and other electronics in space due to accumulation of cosmic radiation and its impact on gate logic and signal processing while in operation. Thus, in addition to the other features already explained above, at least one reboot of the satellite (or payload on board the satellite) per orbit may be planned as part of the satellite coverage provisioning process. As indicated by the parameter Treboot in Table 2, the maximal waiting time since the last reboot may be defined. In some implementations, the reboot may be done whenever the satellite (or payload on board the satellite) is in the “Low Idle” (or “High Idle”) mode (e.g., upon the satellite (or payload on board the satellite) transitioning into the “Low Idle” (or “High Idle”) mode). In at least one implementation, the satellite coverage provisioning process may define a maximal waiting time since the last “Low Idle” (or “High Idle”) mode (Treboot), and reboot a satellite (or payload on board the satellite) at least once after (or during) such maximal waiting time. In other words, if the configured time period Treboot elapses without the satellite (or payload on board the satellite) having been rebooted, the satellite coverage provisioning process may cause the satellite (or payload on board the satellite) to enter the “Low Idle” (or “High Idle”) mode and reboot. Alternatively, in some implementations, if the configured time period Treboot elapses without the satellite (or payload on board the satellite) having been rebooted, the satellite coverage provisioning process may schedule the satellite (or payload on board the satellite) to enter the “Low Idle” (or “High Idle”) mode and reboot at the next opportunity determined to be convenient to do so.
In addition to the configuration parameters listed in Table 2, examples of information about the current and previous states of the satellites (or payloads on board the satellites) and other information potentially relevant to the satellite coverage provisioning, which may be stored, for example, in satellite information repository 5202 or otherwise accessible by computing apparatus 5204, are listed in Table 3 below.
The quantities related to power in Table 3 may be measured in either Watt-minutes or average Watts, as long as the choice is the same for the actual consumption and the threshold values.
As described above, power consumption scores (denoted as S in Table 3) may be calculated for individual satellites (or payloads on board the satellites). In one implementation, when a satellite (or payload on board the satellite) is not in an eclipse period, the power consumption score for the satellite (or payload on board the satellite) may be calculated as a ratio of the cumulative power consumption Qtotal in the sliding window (Tw) to the maximal (e.g., emergency) energy consumption threshold Qoff.
S=Q
total
/Q
off (1)
In some implementations, when a satellite (or payload on board the satellite) is in an eclipse period, its cumulative power consumption until the end of the eclipse period is desired to be less than a maximal defined value during the eclipse period, which may be the configuration parameter “Emergency cumulative power consumption threshold during eclipse period” denoted as Qmax.eclipse in Table 2. If the satellite (or payload on board the satellite) remains in one of the “on” modes until the end of the eclipse period, its cumulative power consumption during the eclipse period may be equal to the cumulative power consumption since the beginning of the eclipse period (e.g., Qeclipse in Table 3) plus future spending (e.g., teclipse.left multiplied by a power consumption rate P, where teclipse.left has been defined in Table 3 and P may be one of PHigh, PMedium, or PLow as defined in Table 2). The time teclipse.left may be calculated based on the satellite's orbit, travel scheduling information and the Sun's position, any or all of which, for example, may be stored in satellite information repository 5202 or otherwise available to computing apparatus 5204. In one implementation, the average energy consumption Paver may be used for P. A power deficiency variable Qdeficiency may be calculated as:
Q
deficiency=(Qeclipse+teclipse.leftP)−Qmax.eclipse (2)
As for calculating the power consumption score of a satellite (or a payload on board the satellite) in an eclipse period, a ratio of this deficiency to Qmax.eclipse may be calculated as:
Then the power consumption score for the satellite (or a payload on board the satellite) with eclipse adjustment may be calculated as:
The parameter α in the equation (4) may represent the importance of the eclipse constraint. For example, by increasing the parameter α, the exemplary satellite coverage provisioning process may be more aggressive in switching off satellites (or payloads on board the satellites) in eclipse periods. In some implementations, the parameter α may be determined based on simulation. In one non-limiting implementation, the parameter α may be selected as α≈0.1. Other values for α may also be used in different implementations.
At operation 8506, for each satellite (or payload) that is in emergency mode (e.g., its EMERGENCY variable being true), the critically covered tiles by such a satellite (or payload) during a defined future time period (e.g., Δts) while the satellite (or payload) remains in emergency mode may be added to a bad tiles list. As described above, a tile is critically covered if the number of satellites (or payloads) providing coverage of the tile is equal to the required number to provide the coverage. If a satellite (or payload on board the satellite) is in emergency mode, its service providing elements are turned off and thus, the satellite (or payload on board the satellite) cannot provide coverage. Therefore, any tiles being critically covered with coverage provided by the satellite (or payload on board the satellite) while the satellite (or payload) is in emergency mode is now not sufficiently covered. The bad tiles list may be used to keep track of tiles that have either no coverage or a shortage in the required or desired coverage. Ephemeris data for each satellite (or payload on board the satellite) (e.g., the projected orbit and corresponding footprint of the satellite (or payload) during the future time period) may be used in identifying bad tiles during the future time period.
At operation 8508, the iteration 8500 may sort satellites (or payloads on board the satellites) not determined to remain in or enter the emergency mode (e.g., in operation 8504) into an array (e.g., denoted N) ordered by their respective power consumption scores. The power consumption scores may have been calculated as part of the sub-process for preparation of each satellite in operation 8504. In one implementation, the satellites (or payloads on board the satellites) may be arranged in the array in a descending order such that, in the next two operations, the satellites (or payloads on board the satellites) having higher power consumption scores may be processed earlier than those having lower power consumption scores. In some cases, two or more satellites (or payloads on board the satellites) may have equal power consumption scores. In such cases, satellites (or payloads on board the satellites) may be sorted first based on their power consumption scores and then based on one more additional attributes. At operation 8510, the iteration 8500 may iterate through the satellites (or payloads on board the satellites) in the array and determine whether each satellite (or payload on board the satellite) may be put into “High Idle” mode. Satellites (or payloads on board the satellites) for which it is determined to enter the “High Idle” mode may be instructed or scheduled to enter the “High Idle” mode. At operation 8512, the iteration 8500 may iterate through the satellites (or payloads on board the satellites) that already have been determined to be in or to enter the “High Idle” mode and determine whether each such satellite (or payload on board the satellite) may be put into “Low Idle” mode. Satellites (or payloads on board the satellites) for which it is determined to enter the “Low Idle” mode may be instructed or scheduled to enter the “Low Idle” mode. Each of operation 8510 and operation 8512 may be implemented in a subroutine or sub-process which may be invoked by the iteration 8500. A flowchart illustrating a sub-process for operation 8510 is shown in
At operation 9606, the previous operational mode for the satellite (or payload on board the satellite) currently being processed may be stored. As indicated in Table 3, a current operational mode may be denoted as M and a previous operational mode may be denoted as Mp (“current” may be in the sense of being processed, not necessarily the operational mode contemporaneous with execution of the operation 9606). Thus, for example, operation 9606 may be implemented as an assignment, such as Mp=M in some common programming languages (e.g., C/C++, Java, FORTRAN, etc.). At operation 9608, whether the EMERGENCY variable is true and whether Qtotal is larger than or equal to Qon may be determined. If both conditions are true, the sub-process 9600 may proceed to block 9610, at which the current operational mode may be assigned to “Low Idle,” and then the sub-process 9600 may end at block 9612. (Unless indicated otherwise, the “end” blocks in
From block 9626, the sub-process 9600 may proceed to block 9628, at which the predicted cumulative power consumption for the satellite (or payload on board the satellite) may be calculated. As described above, the predicted cumulative power consumption may be calculated based on the operational modes of the satellite (or payload on board the satellite) and predicted time periods in the different operational modes. At least in one implementation, this calculation may use the average power Paver to calculate the predicted cumulative power consumption. Regardless of whether using specific power for the specific power modes (e.g., PHigh, PMedium, or PLow) or using the average power Paver, this operation 626 may be implemented in a separate subroutine or sub-process in some implementations.
From block 9628, the sub-process 9600 may proceed to block 9630, at which the power consumption score may be calculated (e.g., using equation (1) and the predicted cumulative power consumption). At block 9632, whether ECLIPSE is true may be determined. If the satellite (or payload on board the satellite) currently being processed is in an eclipse period, the result of operation 9632 may be “YES,” and the sub-process 9600 may proceed to block 9634. At 9634, the power consumption score may be adjusted for the eclipse condition. As described above, the power deficiency variable Qeficiency may be calculated according to equation (2) and the predicted cumulative power consumption, then a scoring parameter for eclipse Seclipse as a ratio of this deficiency to Qmax.eclipse may be calculated according to equation (3), and the total power consumption score adjusted for eclipse may be calculated according to equation (4). From block 9634, the sub-process 9600 may proceed to block 9636 and end. If the satellite (or payload on board the satellite) currently being processed is not in an eclipse period, the result of operation 9632 may be “NO,” and the sub-process 9600 may also proceed to block 9636 and end.
Then at block 12910, whether to reboot the satellite (or payload on board the satellite) currently being processed may be determined. As described above, certain services may require a satellite (or a payload on board the satellite) to be rebooted during a certain period of time, such as one orbit, for example. In one implementation, the condition for determining whether to reboot may be whether the current time Tcurrent.time minus the last time the satellite (or payload on board the satellite) came off Low Idle mode Ton is larger than a pre-defined maximal waiting time value since the last reboot Treboot (e.g., checking whether Tcurrent.time−Ton>Treboot). If operation 12910 returns “NO,” at block 12914, whether the length of time the satellite (or payload on board the satellite) has remained in consecutive “High Idle” periods is larger than an idle time threshold value Tidle and whether Tcurrent.time−Ton>Twait may be determined. If operation 12914 returns “NO,” the sub-process 12900 may end at block 12922. It should be noted that the sequence of blocks 12910 and 12914 is irrelevant and, in some implementations, they may be in a different order or even combined (e.g., both blocks combined into one conditional operation). If either of the operations 12910 or 12914 returns “YES,” the sub-process 12900 may proceed to block 12916, at which the satellite (or payload on board the satellite) currently being processed may be put into the “Low Idle” mode. At block 12916, “Low Idle” may be assigned as the current operational mode, “High Idle” may be assigned as the previous operational mode, previously scheduled upcoming “High Idle” periods may be changed to “Low Idle” periods, and the total scheduled energy consumption Qtotal may be adjusted to account for the change to “Low Idle” as well. With the previously scheduled Nhigh.idle “High Idle” periods changed to be “Low Idle” periods, the Nhigh.idle entries in the array C may be changed to Pidle at block 12916 as well. In at least one implementation, the adjustment to Qtotal may be performed as Qtotal=Qtotal−Nhigh.idle(Phigh.idle−Pidle)Δts. It should be noted that, in some implementations, the satellite coverage provisioning process described herein may be performed beforehand. That is, this process may not be executed in real time such that every decision may not be carried out immediately, but instead this process may be pre-performed such as to prepare a schedule for the future. Thus, previously scheduled “High Idle” periods may be adjusted to be “Low Idle” periods and this adjustment may not affect the satellite's current operation. Additionally or alternatively, in some implementations, the satellite coverage provisioning process may be repeatedly iteratively such that periods previously scheduled for the satellite (or payload on board the satellite) may be changed during successive iterations.
From block 12916, the sub-process 12900 may proceed to block 12918, at which whether the satellite (or payload on board the satellite) currently being processed is in an eclipse period is determined. If operation 12918 determines that the ECLIPSE is true, at block 12920, the power consumption for eclipse Qeclipse may be adjusted for all previously scheduled “High Idle” eclipse intervals to account for the change to “Low Idle.” In one implementation, such an adjustment may be performed by repeating the calculation Qeclipse=Qeclipse (Phigh−Pidle) Δts for all consecutive pervious states in ECLIPSE and “High Idle” mode. If operation 12918 returns “NO,” or alternatively, the block 12920 finishes, the sub-process 12900 may end at block 12922.
In one example of a spaced-based ADS-B system such as system 100 of
This section of the present disclosure describes beam selection and scheduling techniques. While the disclosed beam selection and scheduling techniques generally are described in the context of selecting and scheduling beams of a satellite's (or payload's) antenna for receiving ADS-B messages, the beam selection and scheduling techniques may have broad application and can be employed in a variety of different contexts for the purpose of selecting and scheduling satellite antenna beams. As described in greater detail below, such beam selection and scheduling may be performed on a terrestrial computing platform (or similar resource) with the resultant beam schedules thereafter being uploaded to individual satellites. Additionally or alternatively, individual satellites may perform the beam selection and scheduling techniques disclosed herein themselves.
As described above, in some implementations, a space-based ADS-B system is formed from a constellation of satellites in low-Earth orbit (LEO). For example, a space-based ADS-B system may be formed from a number of LEO satellites arranged in some number of substantially polar orbital planes such that the constellation collectively provides coverage of substantially all of the Earth's surface. In one particular implementation, a space-based ADS-B system may be formed from 66 LEO satellites arranged in 6 orbital planes each having 11 satellites in substantially polar orbits. The antennas for receiving ADS-B messages on each of the satellites of such a space-based ADS-B system may be substantially the same and may be configured to provide substantially the same beam patterns. In one particular example, the antennas may be configured to provide 33 beams for receiving ADS-B signals as illustrated in
Due to power (and/or other) constraints, it may be desirable (or necessary) to use less than a satellite's full complement of beams for receiving ADS-B messages. Therefore, beam selection and scheduling techniques may be performed in an effort to satisfy such constraints while still providing the desired coverage. In some implementations, the beam selection and scheduling techniques may schedule specific beam configurations for defined periods of time, each of which may be subdivided into segments. For example, in one implementation, the beam selection and scheduling techniques may schedule specific beam configurations for defined periods of time that may be referred to herein as beam cycle periods that are further subdivided into four segments (e.g., Segment A, Segment B, Segment C, and Segment D). In some implementations, the time period for a beam cycle period may be configurable. Examples of different time periods for a beam cycle period in different implementations or according to different configurations include 5 seconds, 8 seconds, and 10 seconds. For each such beam cycle period, the satellite may be assigned a particular power budget, for example, based on whether the satellite is in a position from which solar power is available or in an eclipse position from which solar power is not available because the Earth blocks the sun. The scheduling of the four segments and the different beams that may be turned on and off during individual segments then may be determined in an effort to achieve the desired coverage while satisfying the power budget (and/or other constraints).
In some implementations, the earth may be divided into a grid of 1°×1° tiles over WGS-84 latitude and longitude. Such tiles may be divided into four categories: class one tiles in low update interval service volumes (e.g., update intervals of approximately 10-15 seconds); class two tiles in service volumes that may benefit from special treatment (e.g., tiles near high traffic areas where so-called FRUIT (false replies unsynchronized in time) levels may be expected to be high or tiles where satellite coverage overlap may be low, such as, for instance, near the equator in the case of a constellation of satellites in substantially polar orbits); class three tiles in high update interval service volumes (e.g., update intervals of approximately 30 seconds); and class four tiles where coverage is not desired or provided. In some implementations, an individual class two tile also may be considered to be either a class one tile or a class three tile (e.g., based on the desired update interval for the service volume where the tile is located). These tile classifications may inform beam selection and scheduling decisions.
A variety of different techniques may be employed to accomplish such beam selection and scheduling during each such beam cycle period for a satellite's antenna. For example, one technique may be referred to as a default sector scan. When a default sector scan is employed, each of the four segments may be assigned to a different quadrant of the antenna's beam pattern (e.g., as depicted in
Another technique that may be used to accomplish beam selection and scheduling during a beam cycle period is to turn off all of the antenna's beams during one or more segments and to select one or more different beam patterns during the remaining segments. In one particular example, this technique may involve selecting particular beam patterns to be employed during Segment A and Segment C while turning all of the antenna's beams off during Segment B and Segment D. In this example, the beam patterns selected for Segments A and C may be referred to herein as paired beam patterns. In such an approach, the length of each individual segment may be determined in an effort to comply with the defined power budget for the beam cycle period. For example, if the defined power budget is relatively low, the lengths of Segment B and Segment D, where all of the antenna's beams are turned off, may be scheduled to be relatively long; whereas, if the defined power budget is relatively high, the lengths of Segment B and Segment D may be scheduled to be relatively short. For example, in one implementation, the length of time for each of Segments A and C and the length of time for each of Segments B and D may be calculated according to the following equation:
where “Beam Cycle Period” represents the time period for the beam cycle period, “Time On” represents two times the length of time for each of Segments A and C, “Beam Cycle Period” minus “Time On” represents two times the length of time for each of Segments B and D, “PowerOn” represents a measure of the power consumed with the beams turned on during Segments A and C, “PowerOff” represents a measure of the power consumed with the beams turned off during Segments B and D, and “PowerBudget” is the defined power budget for the beam cycle period.
Additionally or alternatively, in some implementations, the tiles to be covered by the satellite during the beam cycle period may be taken into account when determining the length of time for each individual segment. For example, if one or more of the tiles to be covered by the satellite during the beam cycle period are class one tiles for which relatively short update intervals are desired, the lengths of Segment A and Segment C may be scheduled to be relatively long.
A variety of different beam patterns may be available for selection for Segment A and Segment C. For example, in some cases, a first so-called “Omni” beam pattern that covers nearly all of the azimuth and elevation space within the satellite's coverage footprint may be selected for Segment A and a second “Omni” beam pattern that overlaps with the first “Omni” beam pattern but provides slightly different coverage of the azimuth and elevation space within the satellite's coverage footprint may be selected for Segment C. Referring to the specific example beam configuration illustrated in
Additionally or alternatively, in some cases, a first so-called “Hemi” beam pattern that approximately covers one half of the azimuth and elevation space within the satellite's coverage footprint may be selected for Segment A and a second “Hemi” beam pattern that approximately covers the other half of the azimuth and elevation space within the satellite's coverage footprint may be selected for Segment C. Referring to the specific example beam configuration illustrated in
In some implementations, many additional paired beam patterns may be available for selection for Segment A and Segment C. For example, one example of an additional paired beam pattern may be a so-called “East Hemi” paired beam pattern that focuses coverage within quadrants 1 and 2 of the azimuth and elevation space of the satellite's coverage footprint. Referring to the specific example beam configuration illustrated in
In some implementations, each paired beam pattern may be associated with a set of weights, with each weight corresponding to an individual one of the beams of the satellite's antenna. For example, referring to the specific example beam configuration of 33 beams illustrated in
These sets of weights for each of the available paired beam patterns may be used in the process of selecting an appropriate paired beam pattern for a satellite for a particular beam cycle period. For example, the expected gain (in some cases quantified as the link margin, or the energy per bit to noise power spectral density ratio, Eb/N0) of each beam during the particular beam cycle period may be multiplied by the beam's corresponding weight for each paired beam pattern, and the resulting products for each of the beams of a given paired beam pattern may be summed to generate a score for the paired beam pattern. The paired beam pattern with the highest score for the particular beam cycle period then may be selected as the appropriate paired beam pattern for the particular beam cycle period.
In some implementations, the expected gain for a beam may be a function of one or more different factors. For example, the expected gain for a beam may be a function of the orientation (e.g., angle) of the satellite's antenna (or relevant antenna elements) relative to the coverage area covered by the beam. Additionally or alternatively, the excepted gain for a beam also may take into account the desired coverage area. For example, if the coverage area covered by a beam during a particular period of time covers only tiles for which coverage is not desired, the expected gain for the beam may be set to zero irrespective of the actual expected gain of the beam during that particular period.
In some implementations, the expected gain for a beam may change over time, for example, as the satellite orbits the Earth and the orientation of the satellite's antenna relative to the Earth changes. Consequently, in some implementations, changes to the expected gain for a beam over time may be taken into account in the beam selection processes described herein. For example, in some implementations, a beam score may be calculated for each beam of a satellite's antenna for a particular beam cycle period by dividing the particular beam cycle period into some smaller number of sub-periods (e.g., 10 sub-periods) and calculating the sum (or the average) of the expected gain for the beam across all of the sub-periods. Such beam scores can be used in a number of different ways in the beam selection processes described herein. For example, the beam scores for each of the beams of a satellite's antenna can be multiplied by the corresponding beam weights associated with the paired antenna patterns as part of the process for selecting an appropriate paired antenna pattern as described above.
Referring now to
In some implementations, process 1700 may be performed multiple times and in advance to develop a beam selection schedule for an individual satellite for many defined time periods (e.g., beam cycle periods). For example, in some implementations, process 1700 may be performed to generate a forward-looking beam selection schedule for an individual satellite as much as twenty-four hours or more in advance. In such implementations, small portions of such beam selection schedules may be uploaded to the satellites at time. For example, in some implementations, beam selection schedules defining beam selections for 120 second time periods may be uploaded to the satellites. It will be appreciated that process 1700 may be performed for each of several different satellites to generate beam selection schedules for each individual satellite.
Referring specifically to
If it is determined that the number of active beams of the satellite's antenna exceeds the number of available receivers by less than the first threshold value, the process 1700 proceeds to step 1802. At step 1802, a beam selection process is performed that focuses on selecting the best available active beams for the satellite during the defined time period. For example, the defined time period may be subdivided into Segments A, B, C, and D, and beam scores for each beam of the satellite's antenna during the defined time period may be used to rank each of the beams during the defined time period. Some number (e.g., corresponding to the number of receivers available on the satellite) of the top-ranked beams then may be selected to be turned on during each of Segment A and Segment C while all of the beams may be turned off during Segment B and Segment D. For example, continuing with the example of the satellite having 12 receivers introduced above, if the satellite's antenna has 13 active beams during the defined time period, the 12 top-ranked beams may be selected to be turned on during Segment A and the 11 top-ranked beams and the 13th-ranked beam may be selected to be turned on during Segment C.
Returning again to step 1800, if it is determined that the number of active beams of the satellite's antenna does not exceed the number of available receivers by less than the threshold value, the process proceeds to step 1804. At step 1804, a determination is made as to whether any of the tiles that will be within the coverage footprint of the satellite's antenna during the defined time period (or that will be within the coverage footprint of the active beams of the satellite's antenna during the defined time period) may benefit from special treatment, for example, because the tiles are near high traffic areas where FRUIT levels may be expected to be high (perhaps particularly during specific windows of time when traffic is known to usually be high) or because the tiles are located in areas where satellite coverage overlap may be low.
If it is determined that one or more of the tiles that will be within the coverage of the footprint of the satellite during the defined time period may benefit from special treatment, the process 1700 proceeds to step 1806 where a determination is made as to whether a sufficient power budget is available during the defined time period to support such special treatment. In some implementations, the determination of whether there is a sufficient power budget available during the defined time period may be based on whether there is a sufficient power budget available to support a default sector scan as described above. In such implementations, if it is determined that a sufficient power budget is available during the defined time period, at step 1808, a default sector scan may be scheduled for the beams of the satellite's antenna during the defined time period.
If it is determined that no tiles that will be within the coverage footprint of the satellite's antenna during the defined time period will benefit from special treatment or that a sufficient power budget is not available to support such special treatment, the process 1700 proceeds to step 1810 where a determination is made as to whether the number of active beams of the satellite's antenna will exceed a second threshold value during the defined time period. If it is determined that the number of active beams of the satellite's antenna will exceed the second threshold value during the defined time period, the process 1700 proceeds to step 1812 where a default paired beam pattern (e.g., one of the “Omni” paired beam pattern or the “Hemi” paired beam pattern described above) is scheduled for the beams of the satellite's antenna during the defined time period.
Alternatively, if it is determined that the number of active beams of the satellite's antenna will not exceed the second threshold value during the defined time period, the process 1700 proceeds to step 1814 where a pattern association process is initiated. In particular, the defined time period may be subdivided into Segments A, B, C, and D, and, at step 1816, the beam scores for each of the antenna's beams during the defined time period are multiplied by the corresponding beam weights for each of several defined paired beam patterns. Thereafter, at step 1818, the paired beam pattern for which the sum of the products of the beam scores and beam weights is highest may be selected as the paired beam pattern for the antenna's beams during the defined period of time. At step 1820, the actual beam patterns for Segment A and Segment C corresponding to the selected paired beam pattern are retrieved, and, at step 1822, a determination is made as to whether all of the tiles for which coverage is desired (e.g., all tiles classified as class 1, class 2, and/or class 3) within the coverage footprint of the satellite's antenna (or within the coverage footprint of the active beams of the satellite's antenna) will be covered by the retrieved beam patterns. If it is determined that all of the tiles for which coverage is desired will be covered by the retrieved beam patterns, the process proceeds to step 1824 where the retrieved beam patterns are scheduled for the beams of the satellite's antenna during the defined time period. Alternatively, if it is determined that not all of the tiles for which coverage is desired will be covered by the retrieved beam patterns, the process proceeds to step 1812 where a default paired beam pattern (e.g., one of the “Omni” paired beam pattern or the “Hemi” paired beam pattern described above) is scheduled for the beams of the satellite's antenna during the defined time period.
At step 1300, a beam score is calculated for each beam of the antenna based, at least in part, on the expected gain of the beam during the defined time period. In some implementations, the beam score for a beam may be calculated by subdividing the time period into multiple sub-periods and calculating the sum or average of the expected gain of the beam across the sub-periods. Additionally or alternatively, in some implementations, beam scores may take into account desired coverage areas. For example, in some implementations, if the area covered by an individual beam during the defined time period is not an area for which coverage is desired, the beam score for the beam for the defined time period may be set to zero (or some other value to reflect that coverage is not desired for the area covered by the beam during the defined timer period).
At step 1320, the number of beams of the antenna having non-zero beam scores during the defined time period is determined. Thereafter, at step 1330, the number of beams of the antenna having non-zero beam scores during the defined time period is compared to a threshold value, and, at step 1340, it is determined that the number of beams of the antenna having non-zero beam scores during the defined time period is less than the threshold value.
At step 1350, as a consequence of having determined that the number of beams of the antenna having non-zero beam scores during the defined time period is less than the threshold value, a set of beam weights for each of multiple different candidate beam patterns, each of which has a weight corresponding to each of the antenna's beams, is accessed. Thereafter, at step 1360, for each set of weights, the individual beam weights are multiplied by the corresponding beam scores for each of the beams of the antenna during the defined time period, and a candidate beam pattern score is generated by calculating a sum of the products of the beam weights and corresponding beam scores.
The candidate beam pattern scores for the different candidate beam patterns then are compared at step 1370, and, at step 1380, a particular one of the candidate beam patterns is selected based on the candidate beam pattern scores. For example, in some implementations, the candidate beam pattern having the highest candidate beam pattern score may be selected. Finally, at step 1390, the selected beam pattern is scheduled for the beams of the antenna for the defined time period.
As described above, implementing a spaced-based ADS-B system, such as, for example, system 100 of
For terrestrial ADS-B receivers, the physical channel may be assumed to exhibit the characteristics of an interference channel, where interference and/or noise may result from interference or noise in the physical channel itself as well as interference or noise in the antenna or receiver. Interference and/or noise in the physical channel may result from multiple aircraft within range of a terrestrial ADS-B receiver broadcasting ADS-B messages in a fashion that is uncoordinated in time. As a result, ADS-B messages that arrive at the terrestrial receiver may interfere and/or overlap with one another. ADS-B messages that interfere and/or overlap with a desired ADS-B message may be referred to as (or may be one component of) false replies unsynchronized with interrogator transmissions or, alternatively, false replies unsynchronized in time (“FRUIT”).
Other communications protocols that share the 1090 MHz band with ADS-B also may contribute interference and be a source of FRUIT. For example, aircraft implementing secondary surveillance radar (“SSR”) like Mode A, Mode C, or Mode S, may respond to interrogating SSR messages in the 1090 MHz band, potentially creating interference for ADS-B messages. Other transmitters within range of a terrestrial ADS-B receiver transmitting in neighboring or nearby frequency bands also may generate interference or contribute to noise in the physical channel. Appropriately dealing with FRUIT and other interference/noise, particularly for airspaces with a high density of air traffic, may be one challenge faced by a terrestrial ADS-B receiver.
Another challenge faced by a terrestrial ADS-B receiver may be the so-called near-far problem where a signal received at the ADS-B receiver from a relatively nearby aircraft is significantly stronger than a signal received at the ADS-B receiver at the same time from an aircraft that is relatively far from the ADS-B receiver.
A space-based ADS-B receiver may face the same challenges as a terrestrial ADS-B receiver. In addition, as discussed above, a space-based ADS-B receiver may face additional challenges that may be even more imposing than those faced by a terrestrial ADS-B receiver due to, for example, but not limited to, the significantly greater propagation distance between aircraft broadcasting ADS-B messages and the space-based ADS-B receiver, significant Doppler shifts due to the orbital velocity of a satellite, and/or the significantly greater volume of ADS-B messages within the coverage area of a space-based ADS-B receiver relative to a terrestrial ADS-B receiver. Different from the physical channel for a terrestrial ADS-B receiver, the physical channel for a space-based ADS-B receiver may be dominated by noise. Consequently, for a space-based ADS-B receiver, the physical channel may be assumed to exhibit the characteristics of an additive white Gaussian noise (“AWGN”) channel with additional interference channel characteristics. Because of this additional noise, the signal-to-noise ratio (“SNR”) for an ADS-B message received by a space-based ADS-B receiver typically will be much lower than the SNR for an ADS-B message received by a terrestrial ADS-B receiver. Existing terrestrial ADS-B receivers have been shown to be incapable of achieving satisfactory performance for space-based operation due to the lower SNR of ADS-B messages to be received in space. In fact, existing terrestrial ADS-B receivers are believed to require an SNR that is ˜7-10 dB greater than the SNR of an ADS-B message to be received in low-Earth orbit in order to achieve satisfactory performance. For example, a space-based ADS-B receiver in low-Earth orbit may be designed to achieve performance of not worse than 10% bit (or message) error rate at an energy per bit to noise power spectral density ratio (“Eb/No”) no more than or equal to 10 dB, whereas existing terrestrial ADS-B receivers typically achieve 10% bit error rate at Eb/No greater than or equal to approximately 18 dB.
The teachings of the present disclosure present receiver designs and techniques for receiving ABS-B messages transmitted by aircraft, particularly 1090 MHz Mode S ES ADS-B messages, from space, for example, on one or more low-Earth orbit satellites. As described in greater detail below, the expected pulse pattern of the preamble and the first few bit periods of the data block for a 1090 MHz Mode S ES ADS-B message may be used to process a signal received by a space-based ADS-B receiver to determine if it is likely to include an ADS-B message. A signal that is determined to be likely to include an ADS-B message then is subjected to further screening, for example, to confirm the presence of an ADS-B message, demodulate the ADS-B message from the received signal, and/or perform error detection and correction of the bits of the demodulated message.
The structure and format of a 1090 MHz Mode S ES ADS-B message is defined in the Radio Technical Commission for Aeronautics' (“RTCA”) “DO-260B Minimum Operational Performance Standards for 1090 MHz Extended Squitter Automatic Dependent Surveillance—Broadcast (ADS-B) and Traffic Information Services—Broadcast (TIS-B).” 1090 MHz Mode S ES ADS-B messages are pulse position modulated and have 1 μsec bit periods. A pulse transmitted in the first half of the bit period represents the value of the bit as a “1,” while a pulse transmitted in the second half of the bit period represents the value of the bit as a “0.” All 1090 MHz Mode S ES ADS-B messages have a specific 8 μsec preamble that identifies such messages as 1090 MHz Mode S ES ADS-B messages followed by a 112 μsec (or 112 bit) data block. The preamble that identifies a message as a 1090 MHz Mode S ES ADS-B message includes a first pulse from 0.0-0.5 μsec, a second pulse from 1.0-1.5 μsec, a third pulse from 3.5-4.0 μsec, and a fourth pulse from 4.5-5.0 μsec.
While detecting the presence of pulses corresponding to the pattern for the preamble for a 1090 MHz Mode S ES ADS-B message may be helpful in identifying the potential presence of an ADS-B message in the received signal, it may be difficult to detect the preamble pulse pattern, which only includes four pulses over the course of 8 bit periods (or 8 μsec), in the presence of noise, particularly for a space-based ADS-B receiver where the pulses may have very little energy and the SNR is very low due to the propagation distance between an aircraft and the space-based ADS-B receiver. Fortunately, however, subsequent bits of a 1090 MHz Mode S ES ADS-B message also may have an expected pulse pattern and be considered in an effort to detect the potential presence of a Mode S 1090 ES ADS-B message in a received signal. Specifically, for a Mode S 1090 ES ADS-B message, the first five bits of the data block following the preamble identify the downlink format (“DF”) for the ADS-B message, and, in some implementations of a space-based ADS-B receiver, only ADS-B messages having specific downlink formats may be relevant. For example, in some implementations, only ADS-B messages having downlink formats DF=17, DF=18, or DF=19, which share three bits, may be relevant. Consequently, in addition to the preamble, the first 5 bits of a received signal also may be helpful in identifying the potential presence of an ADS-B message within a received signal, which may improve accuracy in the presence of noise relative to only using the preamble, particularly in the case of a space-based ADS-B receiver where the pulses have very little energy and the SNR is very low due to the propagation distance between an aircraft and the space-based ADS-B receiver.
In some implementations, the cross-correlation between samples of a portion of a received signal (e.g., 13 μsec (or bit periods) of a received signal) and a reference signal representing a first portion (e.g., the first 13 μsec (or bit periods)) of an ADS-B signal may be calculated to determine a measure of the likelihood that the received signal includes an ADS-B message. If the result of calculating the cross-correlation of the samples of the portion of the received signal and the reference signal exceeds a defined threshold value, then additional screening may be performed to determine if the received signal does, in fact, include an ADS-B message.
For instance, constant false alarm rate (“CFAR”) detection processing may be applied to a portion of the received signal to further assess the likelihood that the received signal includes an ADS-B message, for example, by determining if the power in the received signal exceeds a threshold level above which the received signal may be considered likely to include an ADS-B message. In some implementations, the threshold may be set in an effort to achieve a desired probability of false alarm (or false alarm rate or time between false alarms), hence the name constant false alarm rate detection. In some implementations, the background against which ADS-B messages are to be detected may be assumed to be constant with time and space, such that a fixed threshold level may be chosen to achieve the desired probability of false alarm, which will be a function of the probability density function of the noise and/or signal-to-noise ratio. In alternative implementations, noise levels may be assumed to change both spatially and temporally, in which case a changing threshold may be used, where the threshold level is raised and lowered to maintain a desired probability of false alarm. Various different algorithms may be used to adaptively select the threshold level, for example, based on the statistics of the background in which the ADS-B messages are to be detected.
If the result of CFAR detection processing suggests that the received signal includes an ADS-B message, a minimum mean square error (MMSE) estimator may be used to generate an estimate of the ADS-B message, or a portion thereof, and various screening techniques may be employed on the ADS-B message estimate to further assess the likelihood that the received signal includes an ADS-B message. In some implementations, a feature vector representing some number n different features of the ADS-B message estimate may be projected into an n-dimensional feature space and the distance between the projection and a region (e.g., a cluster) or a position in the n-dimensional feature space where ADS-B messages would be expected to appear may be calculated. If the distance is less than some defined threshold value, a determination may be made that the received signal is likely to include an ADS-B message. For example, in some implementations, a three-dimensional feature vector representing three features of the ADS-B message estimate may be generated and projected into a three-dimensional feature space. In such implementations, the three features may represent (1) a measure of the consistency of the pulse amplitude across the ADS-B message estimate, (2) a measure of phase consistency across the ADS-B message, and (3) a measure of the residual phase error of the ADS-B message estimate. If the projection of the feature vector in the 3-dimensional feature space is within a defined threshold distance of a region or position in the three-dimensional feature space where ADS-B messages would be expected to appear, a determination may be made that the received signal includes an ADS-B message. Thereafter, in some implementations, the received signal then may be input to a non-coherent matched filter, such as, for example described below in the subsection under the heading ADS-B Receiver Designs—Non-Coherent Receivers, to recover the ADS-B message from the received signal. Additionally or alternatively, in some implementations, such as, for example described below in the subsection under the heading ADS-B Receiver Designs—Coherent Receivers, the received signal may be input to a carrier refinement module that may estimate the frequency of carrier pulses in the received signal, and, if appropriate, shift the frequency of carrier pulses in the received signal toward a desired frequency and/or align the phase of carrier pulses in the received signal with a desired phase before the received signal is input to a coherent matched filter that is phase-matched to the desired phase to recover the ADS-B message from the received signal.
With reference to
For the purposes of the present disclosure, the method 18200 illustrated in
Referring now to
At step 18220, the digital representation of the received signal may be processed to determine if a 1090 MHz spectral component is present. For example, block 19304 of receiver 19300 of
Referring again to
At step 18230, the cross-correlation between the digital representation of the received signal (or a portion thereof) and a reference signal representing an expected pulse pattern is calculated. For example, block 19308 of receiver 19300 of
Thereafter, at 18240, a determination may be made as to whether it is likely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message based on the calculated cross-correlation. For example, block 19308 of receiver 19300 of
In some implementations, additional information may be taken into account at step 18240 when determining the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. For example, in some implementations, block 19310 of receiver 19300 of
Referring again to
At step 18250, additional multi-layer screening of the digital representation of the received signal is performed to further assess the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. For example, multi-layer signal screening test block 19312 of receiver 19300 of
In some implementations, and as illustrated in steps 18255, 18260, 18265, and 18270 of the example process 18200 of
Referring specifically to step 18255, in some implementations, an estimate of a 1090 MHz Mode S ES ADS-B message (or a portion thereof (e.g., the preamble or the first 13 bit periods) potentially included in the digital representation of the received signal may be generated from the digital representation of the received signal using a minimum mean square error (“MMSE”) estimator. For example, in some implementations, an MMSE estimator may be used to generate an estimate of an 8 μsec portion of a 1090 MHz Mode S ES ADS-B message potentially included in the digital representation of the received signal for the purpose of comparing certain features of the estimate to expected or representative features of the preamble of a 1090 MHz Mode S ES ADS-B message. Alternatively, in other implementations, an MMSE estimator may be used to generate an estimate of a 13 μsec portion of a 1090 MHz Mode S ES ADS-B message potentially included in the digital representation of the received signal for the purpose of comparing certain features of the estimate to expected or representative features of the preamble and the first 5 bit periods of a 1090 MHz Mode S ES ADS-B message.
Referring now to
Referring again to
Referring again to
At step 18280, another determination is made as to the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message, this time based on the results of the multi-layer screening of the digital representation of the received signal (or portion thereof). In the particular example illustrated in
For example, the comparison of the projection of the feature vector to the cluster of samples may involve calculating some measure of the distance between the projection of the feature vector and the cluster of samples in the feature space, and the determination of the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message may be based on the calculated distance. For example, if the distance is less than some predefined threshold value, it may be determined that it is likely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. In contrast, if the distance is greater than the predefined threshold value, it may be determined that it is unlikely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. In some particular implementations where the comparison of the projection of the feature vector to the cluster of samples involves calculating a measure of the distance between the projection of the feature vector and the cluster of samples in the feature space, the measure of the distance may be calculated by calculating the Mahalanobis distance between the projection of the feature vector and a distribution of the samples in the feature space.
Referring now to
In some implementations, pattern recognition module 21508 may be implemented in circuitry that performs processing that is functionally equivalent (or functionally similar) to the functions of generating the feature vector, projecting the feature vector into the feature space, and calculating the distance between the projection of the feature vector and the cluster of samples. Additionally or alternatively, in some implementations, pattern recognition module 21508 may perform the functions (or functional equivalents) of generating the feature vector, projecting the feature vector into the feature space, and calculating the distance between the projection of the feature vector and the cluster of samples in one dimension in a manner that approximates performing such functions in n dimensions.
In some implementations, based on the estimate of the 1090 MHz Mode S ES ADS-B message (or portion thereof) generated by multi-layer signal screening test block 19312, multi-layer signal screening test block 19312 may generate, among other output, an indication of a coarse estimate of the frequency of carrier pulses in the digital representation of the received signal, a bit_sync output that provides timing information about the digital representation of the received signal (e.g., suggesting where bit transitions occur in the digital representation of the received signal to facilitate the later sampling of bits from the output of the coherent matched filter), and/or a msg_sync output that provides an indication of the offset to the first data bit in the digital representation of the received signal (e.g., to facilitate subsequent processing of the actual message and not the preamble).
In some implementations, re-triggering testing may be performed while the digital representation of the received signal (or portion thereof) is being processed by multi-layer signal screening test block 19312. For example, re-triggering test module 19316 of receiver 19300 of
Referring again to
For example, non-coherent matched filter module 19314 of receiver 19300 of
Non-coherent receiver designs such as the implementations described herein may have various advantages and/or differences relative to coherent designs. For example, a non-coherent receiver may handle signal variations, including phase variations, better than a coherent receiver. Additionally or alternatively, a non-coherent receiver that does not attempt to shift the frequency of carrier pulses in a received signal and/or that does not attempt to align the phase of carrier pulses in the received signal with a desired phase may be simpler, and, thus, potentially easier, cheaper, and/or smaller to implement than a coherent filter that does attempt to shift the frequency of carrier pulses in a received signal and/or that does attempt to align the phase of carrier pulses in the received signal.
In implementations in which multi-layer signal screening test block 19312 generates a bit_sync output that provides timing information about the digital representation of the received signal, non-coherent matched filter module 19314 may receive the bit_sync output from the multi-layer signal screening test block 19312 as input and use the bit_sync input to coordinate the timing of the sampling of the output of the non-coherent matched filter.
After the 1090 MHz Mode S ES ADS-B message has been recovered from the received signal, the actual bits of the message still need to be demodulated. For example, determinations need to be made as to whether samples of the recovered message correspond to 1s or 0s. Therefore, the recovered 1090 MHz Mode S ES ADS-B message output by non-coherent matched filter module 19314 may be processed by one or more of both soft-decision decoder 19318 and hard-decision decoder 19320 to demodulate the actual bits of the message. Additionally or alternatively, in some implementations, after the bits of the ADS-B message have been demodulated, the bits of the ADS-B message may be processed by an error detection and correction module 19322 in an effort to detect and correct any errors in the decoded bits (e.g., due to noise or other impairments during the transmission or processing of the received signal).
Thereafter, the recovered ADS-B message may be output by the receiver 19300, for example, for transmission to elsewhere in the system. For example, in implementations where receiver 19300 is hosted on a satellite, the recovered ADS-B message may be output by the receiver 19300 for transmission by the satellite to a terrestrial Earth terminal, either by the satellite directly or through a network of satellites, such as, for example, the network 20 of satellites illustrated in
With reference to
For the purposes of the present disclosure, the method 29200 illustrated in
Referring now to
At step 29220, the digital representation of the received signal may be processed to determine if a 1090 MHz spectral component is present. For example, block 30304 of receiver 30300 of
Referring again to
At step 29230, the cross-correlation between the digital representation of the received signal (or a portion thereof) and a reference signal representing an expected pulse pattern is calculated. For example, block 30308 of receiver 30300 of
Thereafter, at 29240, a determination may be made as to whether it is likely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message based on the calculated cross-correlation. For example, block 30308 of receiver 30300 of
In some implementations, additional information may be taken into account at step 29240 when determining the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. For example, in some implementations, block 30310 of receiver 30300 of
Referring again to
At step 29250, additional multi-layer screening of the digital representation of the received signal is performed to further assess the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. For example, multi-layer signal screening test block 30312 of receiver 30300 of
In some implementations, and as illustrated in steps 29255, 29260, 29265, and 29270 of the example process 29200 of
Referring specifically to step 29255, in some implementations, an estimate of a 1090 MHz Mode S ES ADS-B message (or a portion thereof (e.g., the preamble or the first 13 bit periods) potentially included in the digital representation of the received signal may be generated from the digital representation of the received signal using a minimum mean square error (“MMSE”) estimator. For example, in some implementations, an MMSE estimator may be used to generate an estimate of an 8 μsec portion of a 1090 MHz Mode S ES ADS-B message potentially included in the digital representation of the received signal for the purpose of comparing certain features of the estimate to expected or representative features of the preamble of a 1090 MHz Mode S ES ADS-B message. Alternatively, in other implementations, an MMSE estimator may be used to generate an estimate of a 13 μsec portion of a 1090 MHz Mode S ES ADS-B message potentially included in the digital representation of the received signal for the purpose of comparing certain features of the estimate to expected or representative features of the preamble and the first 5 bit periods of a 1090 MHz Mode S ES ADS-B message.
Referring now to
Referring again to
Referring again to
At step 29280, another determination is made as to the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message, this time based on the results of the multi-layer screening of the digital representation of the received signal (or portion thereof). In the particular example illustrated in
For example, the comparison of the projection of the feature vector to the cluster of samples may involve calculating some measure of the distance between the projection of the feature vector and the cluster of samples in the feature space, and the determination of the likelihood that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message may be based on the calculated distance. For example, if the distance is less than some predefined threshold value, it may be determined that it is likely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. In contrast, if the distance is greater than the predefined threshold value, it may be determined that it is unlikely that the digital representation of the received signal includes a 1090 MHz Mode S ES ADS-B message. In some particular implementations where the comparison of the projection of the feature vector to the cluster of samples involves calculating a measure of the distance between the projection of the feature vector and the cluster of samples in the feature space, the measure of the distance may be calculated by calculating the Mahalanobis distance between the projection of the feature vector and a distribution of the samples in the feature space.
Referring now to
In some implementations, pattern recognition module 32508 may be implemented in circuitry that performs processing that is functionally equivalent (or functionally similar) to the functions of generating the feature vector, projecting the feature vector into the feature space, and calculating the distance between the projection of the feature vector and the cluster of samples. Additionally or alternatively, in some implementations, pattern recognition module 32508 may perform the functions (or functional equivalents) of generating the feature vector, projecting the feature vector into the feature space, and calculating the distance between the projection of the feature vector and the cluster of samples in one dimension in a manner that approximates performing such functions in n dimensions.
In some implementations, re-triggering testing may be performed while the digital representation of the received signal (or portion thereof) is being processed by multi-layer signal screening test block 30312. For example, re-triggering test module 30316 of receiver 30300 of
Referring again to
In some implementations, based on the estimate of the 1090 MHz Mode S ES ADS-B message (or portion thereof) generated by multi-layer signal screening test block 30312, multi-layer signal screening test block 30312 may generate, among other output, an indication of a coarse estimate of the frequency of carrier pulses in the digital representation of the received signal, a bit_sync output that provides timing information about the digital representation of the received signal (e.g., suggesting where bit transitions occur in the digital representation of the received signal to facilitate the later sampling of bits from the output of the coherent matched filter), and/or a msg_sync output that provides an indication of the offset to the first data bit in the digital representation of the received signal (e.g., to facilitate subsequent processing of the actual message and not the preamble).
In implementations in which multi-layer signal screening test block 30312 generates an indication of a coarse estimate of the frequency of carrier pulses in the digital representation of the received signal, carrier refinement module 30313 may receive the indication of the coarse estimate of the frequency of carrier pulses in the digital representation of the received signal and use the coarse estimate of the frequency of carrier pulses in the digital representation of the received signal in connection with more finely estimating the frequency of carrier pulses in the digital representation of the received signal, shifting the frequency of carrier pulses in the received signal to a desired frequency, and/or aligning the phase of carrier pulses in the digital representation of the received signal with a desired phase. For example, in some implementations, carrier refinement module 30313 may determine the offset between the desired frequency and the coarse estimate of the frequency of carrier pulses in the digital representation of the received signal and attempt to shift the frequency of the carrier pulses in the digital representation of the received signal by the determined offset in order to shift the frequency of the carrier pulses in the digital representation of the received signal toward the desired frequency. Thereafter, the carrier refinement module 30313 may use a fast Fourier transform (FFT) algorithm to compute the discrete-time Fourier transform (DTFT) of the digital representation of the received signal (or a portion thereof) and use the DTFT of the digital representation of the received signal (or portion thereof) to determine the frequency of the peak energy in the digital representation of the received signal (or portion thereof). The carrier refinement module 30313 then may determine the offset between the desired frequency and the frequency of the peak energy in the digital representation of the received signal (or portion thereof) and attempt to shift the frequency of the carrier pulses in the digital representation of the received signal by the determined offset in order to shift the frequency of the carrier pulses in the digital representation of the received signal toward the desired frequency. In some implementations, the carrier refinement module 30313 may iteratively repeat this process some defined number of times (e.g., 3 or 4 times) or until the offset between the desired frequency and the frequency of the peak energy in the digital representation of the received signal falls below a defined threshold value.
Referring again to
In implementations in which multi-layer signal screening test block 30312 generates a bit_sync output that provides timing information about the digital representation of the received signal, coherent matched filter module 30314 may receive the bit_sync output from the multi-layer signal screening test block 30312 as input and use the bit_sync input to coordinate the timing of the sampling of the output of the coherent matched filter.
After the 1090 MHz Mode S ES ADS-B message has been recovered from the received signal, the actual bits of the message still need to be demodulated. For example, determinations need to be made as to whether samples of the recovered message correspond to 1s or 0s. Therefore, the recovered 1090 MHz Mode S ES ADS-B message output by coherent matched filter module 30314 may be processed by one or more of both soft-decision decoder 30318 and hard-decision decoder 30320 to demodulate the actual bits of the message. Additionally or alternatively, in some implementations, after the bits of the ADS-B message have been demodulated, the bits of the ADS-B message may be processed by an error detection and correction module 30322 in an effort to detect and correct any errors in the decoded bits (e.g., due to noise or other impairments during the transmission or processing of the received signal).
Thereafter, the recovered ADS-B message may be output by the receiver 30300, for example, for transmission to elsewhere in the system. For example, in implementations where receiver 30300 is hosted on a satellite, the recovered ADS-B message may be output by the receiver 30300 for transmission by the satellite to a terrestrial Earth terminal, either by the satellite directly or through a network of satellites, such as, for example, the network 20 of satellites illustrated in
Satellites 42155a-42155z may include ADS-B receivers or otherwise be configured to receive ADS-B messages broadcast by aircraft. As such, satellites 42155a-42155z may include antennas that provide multiple beams for receiving ADS-B messages.
Network 42145 may facilitate wireless communications of information and provisioning of satellites 42155a-42155z. For example, the ground control system 42120 may communicate with satellites 42155a-42155z via the network 42145. As such, network 42145 may include wireless (e.g., radio frequency (RF”) uplinks and downlinks for communicating with satellites 42155a-42155z. Communications sent by the ground control system 42120 to satellites 42155a-42155z via network 42145 may include resource management instructions, for example, as described in greater detail above in the section under the Intelligent Resource Management heading, and/or beam selection schedules, for example, as described in greater above in the section under the Beam Scheduling heading. Similarly, satellites 42155a-42155z may relay received ADS-B messages through network 42145 for terrestrial processing.
The ground control system 42120 may also include or have access to a database 42150 which may include, for example, additional servers, data storage, and resources. Ground control system 42120 may receive additional data from database 42150, such as, for example, expected antenna beam gain patterns, information about desired or required coverage areas, available beam patterns, and power budgets available to individual satellites 42155.
In some implementations, the ground control system 42120 may be configured to perform, among other functions, resource management processes for satellites 42155a-42155z, for example, as described above in the section under the Intelligent Resource Management heading, and/or beam selection and scheduling processes for satellites 42155a-42155z, for example, as described above in the section under the Beam Scheduling heading.
Aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in combinations of software and hardware that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more machine-readable media having machine-readable program code embodied thereon.
Any combination of one or more machine-readable media may be utilized. The machine-readable media may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of such a machine-readable storage medium include the following: a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a machine-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device, such as, for example, a microprocessor.
A machine-readable signal medium may include a propagated data signal with machine-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A machine-readable signal medium may be any machine-readable medium that is not a machine-readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a machine-readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF signals, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including object oriented programming languages, dynamic programming languages, and/or procedural programming languages.
The flowcharts and block diagrams in the figures illustrate examples of the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and machine-readable instructions.
The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of any means or step plus function elements in the claims below are intended to include any disclosed structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The aspects of the disclosure herein were chosen and described in order to explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure with various modifications as are suited to the particular use contemplated.
This application is a continuation of U.S. patent application Ser. No. 15/923,396 filed on Mar. 16, 2018, which claims the benefit of U.S. Provisional Patent Application No. 62/473,065 filed on Mar. 17, 2017, the disclosures of each of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62473065 | Mar 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15923396 | Mar 2018 | US |
Child | 17488585 | US |