Satellite visibility simulation method and apparatus
By performing parallel simulations of ground stations and satellites in groups and combining them with a large-span search method, the problem of low efficiency in the interference simulation between non-geostationary orbit satellite communication systems and geostationary orbit satellite communication systems was solved, and efficient visibility simulation was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GALAXY AEROSPACE (BEIJING) NETWORK TECH CO LTD
- Filing Date
- 2023-01-13
- Publication Date
- 2026-05-29
AI Technical Summary
Existing technologies suffer from low simulation efficiency and difficulty in achieving both high accuracy in interference simulations between non-geostationary orbit satellite communication systems and geostationary orbit satellite communication systems, especially when the computational load decreases significantly during large-scale constellation calculations.
We employ parallel computing methods to group ground stations and satellites, construct simulation object groups, and perform visibility simulations in parallel. By combining a grouping strategy and a large-span search method, we optimize the visibility calculation algorithm.
This improves simulation efficiency, ensuring a significant increase in simulation speed and resource utilization without compromising accuracy.
Smart Images

Figure CN115983035B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of non-geostationary orbit satellite communication technology, and in particular to a satellite visibility simulation method. This application also relates to a satellite visibility simulation device, a computing device, and a computer-readable storage medium. Background Technology
[0002] With the development of satellite communication technology, satellite communication has gained worldwide attention in the field of communication due to its wide coverage, high mobility, large transmission capacity, flexible networking methods, and lack of geographical limitations. In recent years, major companies have planned to deploy non-geostationary orbit (NGSO) satellite communication systems to provide high-speed broadband internet services. In the future, in scenarios where NGSO and geostationary orbit (GSO) satellite communication systems coexist on the same frequency, the large scale of NGSO satellites, their continuous global coverage, and the ubiquitous presence of user terminals can easily cause harmful interference to geostationary orbit satellite communication systems.
[0003] Therefore, efficiently analyzing the interference between non-geostationary orbit satellite communication systems and geostationary orbit satellite communication systems is a current challenge. Rapidly calculating the visibility of satellites to ground stations in non-geostationary orbit satellite communication systems is fundamental for interference simulation. Current technologies often use relatively general-purpose software tools to simulate satellite visibility to ground stations one by one. However, as the computational load increases with constellation size, simulation efficiency drops significantly; otherwise, simulation accuracy must be sacrificed. Summary of the Invention
[0004] In view of this, embodiments of this application provide a satellite visibility simulation method. This application also relates to a satellite visibility simulation apparatus, a computing device, and a computer-readable storage medium, to address the technical deficiencies existing in the prior art.
[0005] According to a first aspect of the embodiments of this application, a satellite visibility simulation method is provided, comprising:
[0006] A set of simulation time points is generated based on the preset simulation duration and preset simulation steps;
[0007] Based on the set grouping strategy, the ground station to be simulated and the satellite to be simulated are grouped to construct at least two simulation object groups, wherein the at least two simulation object groups perform visibility simulation in parallel, and each simulation object group includes at least one ground station to be simulated and at least one satellite to be simulated;
[0008] Select a target satellite and a target ground station from the target simulation object group, perform visibility simulation on the target satellite and the target ground station based on the simulation time point set, and determine the visibility simulation result of the target satellite relative to the target ground station. The target simulation object group is any one of at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
[0009] According to a second aspect of the embodiments of this application, a satellite visibility simulation device is provided, comprising:
[0010] The generation module is configured to generate a set of simulation time points based on a preset simulation duration and a preset simulation step.
[0011] The grouping module is configured to group the ground station and satellite to be simulated based on a set grouping strategy, and construct at least two simulation object groups, wherein the at least two simulation object groups perform visibility simulation in parallel, and each simulation object group includes at least one ground station and at least one satellite to be simulated;
[0012] The simulation module is configured to select a target satellite and a target ground station from a target simulation object group, perform visibility simulation on the target satellite and the target ground station based on the set of simulation time points, and determine the visibility simulation result of the target satellite relative to the target ground station. The target simulation object group is any one of at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
[0013] According to a third aspect of the embodiments of this application, a computing device is provided, comprising:
[0014] Memory and processor;
[0015] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the satellite visibility simulation method described above.
[0016] According to a fourth aspect of the present application, a computer-readable storage medium is provided that stores computer-executable instructions, which, when executed by a processor, implement the steps of the satellite visibility simulation method described above.
[0017] The satellite visibility simulation method provided in this application generates a set of simulation time points based on a preset simulation duration and a preset simulation step. Based on a set grouping strategy, it groups the ground station and satellite to be simulated, constructing at least two simulation object groups. The visibility simulation is performed in parallel on each of these at least two simulation object groups, and each simulation object group includes at least one ground station and at least one satellite to be simulated. A target satellite and a target ground station are selected from the target simulation object group, and visibility simulation is performed on the target satellite and target ground station based on the set of simulation time points. The visibility simulation result of the target satellite relative to the target ground station is determined. The target simulation object group is any one of the at least two constructed simulation object groups, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group. In this case, a custom grouping strategy can be defined to group the ground stations and satellites to be simulated, constructing at least two simulation object groups. Visibility simulation is performed in parallel for each group of at least two simulation object groups. Parallel processing is adopted to maximize the use of computer resources and perform visibility simulation quickly. This greatly improves the efficiency of visibility simulation without reducing simulation accuracy. Attached Figure Description
[0018] Figure 1 This is a flowchart of a satellite visibility simulation method provided in one embodiment of this application;
[0019] Figure 2a This is a communication schematic diagram of a satellite communication system provided in one embodiment of this application;
[0020] Figure 2b This is a schematic diagram of a parallel simulation computing process provided in an embodiment of this application;
[0021] Figure 3 This is a flowchart illustrating a method for simulating the visibility of a target satellite and a target ground station according to an embodiment of this application.
[0022] Figure 4 This is a schematic diagram of the structure of a satellite visibility simulation device provided in one embodiment of this application;
[0023] Figure 5 This is a structural block diagram of a computing device provided in one embodiment of this application. Detailed Implementation
[0024] Many specific details are set forth in the following description to provide a full understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this application; therefore, this application is not limited to the specific embodiments disclosed below.
[0025] The terminology used in one or more embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this application. The singular forms “a” and “the” as used in one or more embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this application refers to and includes any or all possible combinations of one or more associated listed items.
[0026] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this application, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."
[0027] First, the terms and concepts involved in one or more embodiments of this application will be explained.
[0028] Geostationary orbit satellite (GSO) refers to a satellite whose orbital plane coincides with the equatorial plane, whose orbital period is equal to and in the same direction as the Earth's rotation period in inertial space, and whose position relative to the ground remains unchanged.
[0029] Non-geostationary or bit satellite: NGSO satellite. NGSO means satellite other than GSO satellite. The biggest difference between NGSO satellite and GSO satellite is the dynamic nature of their position relative to the ground.
[0030] It should be noted that in recent years, major companies have been planning to deploy NGSO communication systems to provide high-speed broadband internet services. In future scenarios where NGSO and GSO communication systems coexist on the same frequency, the sheer size of the NGSO satellite constellation, its continuous global coverage, and the ubiquitous presence of user terminals can easily cause harmful interference to GSO communication. Efficiently analyzing this interference between large-scale NGSO and GSO communication systems is a current challenge, and rapidly calculating the visibility relationships between large-scale NGSO constellations and ground stations, or between massive numbers of ground stations and the NGSO constellation, is fundamental to interference simulation analysis.
[0031] Currently, the widely used software tool STK (Systems Tool Kit) suffers from operational complexity and excessively long simulation times when calculating large-scale NGSO communication systems. Furthermore, conventional software employs a point-by-point calculation method followed by trimming based on elevation angle constraints when calculating the tracking arc (and tracking visibility) of ground stations and low-Earth orbit satellites, resulting in low computational efficiency.
[0032] As can be seen from the above, the simulation task in the above scheme needs to adopt the fixed operation mode provided by the simulation software, and all factors of the simulation scene need to be fully modeled, which is highly complex and lacks flexibility. In addition, the simulation process is uncontrollable, and it is not easy to locate problems such as incorrect settings of the simulation scene or unexpected exit. Furthermore, the simulation scale is limited. When using the above software for simulation, the simulation efficiency drops significantly as the computational load increases, such as the constellation size, otherwise the simulation accuracy must be sacrificed.
[0033] This application addresses the issue of slow orbit prediction and visibility calculation in current general-purpose software for interference simulation analysis of NGSO and GSO communication systems. Specifically, it reduces computation time by employing parallel computing in the orbit prediction and visibility calculation stages. Furthermore, it fully considers the visibility characteristics of satellites to ground stations (i.e., transit characteristics) and innovates the visibility tracking calculation method, using a large-span search approach to improve the efficiency of single-station satellite visibility calculation. In other words, to address the long simulation analysis time for interference between NGSO and GSO communication systems, a parallel simulation strategy is adopted, and the visibility calculation algorithm is optimized to improve simulation efficiency.
[0034] This application provides a satellite visibility simulation method, and also relates to a satellite visibility simulation device, a computing device, and a computer-readable storage medium, which will be described in detail in the following embodiments.
[0035] Figure 1 A flowchart of a satellite visibility simulation method according to an embodiment of this application is shown, specifically including the following steps 102-106:
[0036] Step 102: Generate a set of simulation time points based on the preset simulation duration and preset simulation steps.
[0037] Specifically, simulation uses a project model to translate uncertainties at a specific level into their impact on a target. This impact is represented at the level of the overall simulated project. Project simulation utilizes computer models and risk estimates at a specific level. In the embodiments of this application, the project model may include satellites and ground stations to simulate the visibility of satellites to ground stations.
[0038] It should be noted that simulations typically include a simulation duration and a simulation step size. Specifically, the simulation duration can be determined based on actual needs. For example, the preset simulation duration could be the time it takes for a non-geostationary satellite to complete one orbit, or the time it takes for the Earth to complete one revolution, or other durations such as 30 days or 365 days. This application does not impose any restrictions on this. It's important to note that the simulation duration is different from real time; it is merely a representation of time in computer simulation.
[0039] In addition, the simulation step size can be determined according to actual needs. The preset simulation step size specifically refers to the length of one simulation session in each simulation. The smaller the simulation step size, the higher the simulation accuracy, the more sampling steps, and the longer it takes to complete one simulation. For example, the preset simulation step size can be 1 second, 1 minute, 1 hour, or other durations, and this application does not impose any restrictions on this.
[0040] In practical applications, a simulation time point specifically refers to the time point in the simulation where calculations need to be performed. After determining the preset simulation duration and preset simulation step, the set of simulation time points can be determined based on these two factors. Specifically, the preset simulation duration can be divided according to the preset simulation step. That is, starting from the beginning of the preset simulation duration, the preset simulation duration is divided according to the preset simulation step, generating at least two simulation time points. These generated simulation time points are then combined to form the set of simulation time points.
[0041] For example, if the preset simulation duration is 24 hours (from 0:00 to 23:00) and the simulation step is 1 hour, then the generated simulation time points are 0:00, 1:00, 2:00, ..., 23:00, etc., with a set of 24 time points; or if the preset simulation duration is 1440 minutes and the preset simulation step is 1 minute, then the generated simulation time points are 1 minute, 2 minutes, 3 minutes, ..., 1440 minutes, etc., with a set of 1440 time points.
[0042] Step 104: Based on the set grouping strategy, group the ground station to be simulated and the satellite to be simulated to construct at least two simulation object groups. The visibility simulation is performed in parallel by the at least two simulation object groups. Each simulation object group includes at least one ground station to be simulated and at least one satellite to be simulated.
[0043] It should be noted that a satellite communication system refers to a system that uses satellites as relay stations to forward radio signals, enabling the transmission of user information on the ground and in space. For satellite communication systems, without considering inter-satellite links, uplink and downlink communication is required between a gateway station, user terminals, and the satellite. See [link to relevant documentation]. Figure 2a , Figure 2a This application illustrates a communication schematic diagram of a satellite communication system according to an embodiment of the present application, such as... Figure 2aAs shown, the user terminal communicates with the gateway station via satellite. The link between the gateway station and the satellite, and between the user terminal and the satellite, is called the uplink. The link between the satellite and the gateway station, and between the satellite and the user terminal, is called the downlink. The gateway station sends data to the satellite, the satellite forwards the data to the user terminal, the user terminal processes it, and then sends feedback data back to the satellite. The satellite then sends this feedback data back to the gateway station, thus completing one communication cycle between the gateway station, the satellite, and the user terminal.
[0044] In this context, "satellite" refers to a communication satellite, the space segment of a satellite communication system, enabling simultaneous communication between any ground, sea, or air communication station within its visibility range. A gateway station is an essential component of a satellite communication system. For users to access satellite data, in addition to connecting their terminals to the satellite, a device is needed to relay the satellite data to the terrestrial public network; this device is the gateway station. Like base stations in traditional communication networks, gateway stations have a visibility range of thousands of kilometers. As the data center node of a satellite communication system, the gateway station is responsible for the distribution and collection of satellite communication service data. It can perform data exchange within the satellite communication system and data routing to the external network, while also possessing network management and operation control functions, responsible for overall network resource scheduling, system equipment management, and user service management.
[0045] It should be noted that, in the embodiments of this application, the ground station refers to a component of the satellite communication system, that is, ground equipment set up on Earth to realize satellite communication, ground equipment that inputs programs and data to a computer or receives the computer's output processing results via communication facilities. For example, the ground station may mainly include gateway stations, user terminals that communicate via satellite, telemetry and control stations, etc. User terminals may include fixed terminals, mobile terminals, and mobile terminals. Fixed terminals include Very Small Aperture Terminals (VSAT) used in private networks, terminals installed on rooftops for receiving satellite broadcast signals, etc. Mobile terminals have a certain degree of flexibility compared to fixed terminals, such as news gathering vehicles, mobile boats, etc. Mobile terminals usually refer to handheld terminals, such as satellite phones.
[0046] As can be seen from the above, in this application embodiment, ground equipment such as gateway stations, user terminals, and telemetry and control stations located on Earth are collectively referred to as ground stations. In this application embodiment, the satellite visibility simulation is performed on ground stations. That is, the satellite visibility simulation method provided in this application embodiment can be used to perform visibility simulation on ground equipment such as gateway stations, user terminals, and telemetry and control stations located on Earth.
[0047] Specifically, the satellites used for visibility simulation can refer to non-geostationary orbit satellites, i.e., NGSO satellites. Generally, satellites with an orbital altitude below 35,789 km and an orbital period of less than 24 hours around the Earth are collectively referred to as non-geostationary orbit satellites. In actual NGSO satellite systems, circular orbits are most common. NGSO satellites are characterized by low orbital altitude, low link propagation loss, and low transmission delay; therefore, the application of NGSO satellites is becoming increasingly widespread.
[0048] In practical applications, when analyzing the visibility of the simulated satellite to the simulated ground station, the simulated ground station and the simulated satellite can be grouped based on a predefined grouping strategy, creating at least two simulation object groups. These at least two simulation object groups can then perform visibility simulations in parallel, employing a parallel strategy to improve simulation effectiveness. The predefined grouping strategy can refer to pre-set grouping rules, which can classify satellites based on the type of disrupted links or on the attributes of individual satellites within the same constellation.
[0049] Since interference simulation analysis of NGSO communication systems on GSO communication systems is an essential task in all stages of the demonstration, construction, and operation of low-Earth orbit communication constellations, the system simulation analysis of large constellations in this application embodiment can adopt process-level parallel processing. Because satellites do not need to consider interactions, they can be processed in batches at the process level. As an example, considering the processing power of an 8-core CPU, the satellites can be divided into 8 groups for separate processing. For a constellation of 10,000 satellites, each group needs to process approximately 1250 satellites. (For server cores, the number would be even higher; 16 / 32 cores could be considered, with each group processing approximately 630 / 320 satellites).
[0050] Therefore, compared with the traditional serial simulation method, in this embodiment, the ground station to be simulated and the satellite to be simulated are grouped, and the software background uses multi-threaded call to the calculation program to realize process-level parallel simulation processing. This parallelizes the time-consuming tasks such as orbit calculation and visibility calculation, optimizes the algorithm, makes full use of the computer system resources, and ensures that the simulation capability of the system can be improved after subsequent resource upgrades.
[0051] In one optional implementation of this embodiment, different grouping methods can be adopted for different link types. That is, the grouping strategy is set to classify based on the link type of the disturbed link. In this case, based on the set grouping strategy, the ground station to be simulated and the satellite to be simulated are grouped to construct at least two simulation object groups. The specific implementation process can be as follows:
[0052] To address uplink interference, a simulation object group is formed by combining the first ground station and each satellite to be simulated. The first ground station is any ground station to be simulated, and each simulation object group includes one ground station to be simulated and each satellite to be simulated. The number of simulation object groups is equal to the number of ground stations to be simulated.
[0053] To address downlink interference, the first ground station and each satellite to be simulated are grouped into a corresponding number of simulation object groups. Each simulation object group includes one ground station to be simulated and one satellite to be simulated. The number of simulation object groups is the product of the number of satellites to be simulated and the number of ground stations to be simulated.
[0054] It should be noted that when analyzing downlink interference of NGSO to GSO satellites, since the affected ground station is unique, it can be grouped according to the satellite and parallel computing can be performed. From orbit prediction and visibility analysis, each thread is responsible for the data processing of one satellite (Sat1, Sat2, Sat3, ..., SatN). When analyzing uplink interference of the NGSO network to GSO satellites, there is a large number of ground stations to perform visibility calculations for NGSO satellites, and it is necessary to consider different tracking strategies for comparison and output. Therefore, the ephemeris calculations are performed in parallel and then merged. At this time, the ground station can be used as the analysis object for parallel computing. That is, each thread is responsible for the tracking visibility analysis and calculation output of one ground station (Sta1, Sta2, Sta3, ..., StaN), and each ground station traverses all satellites.
[0055] In practical applications, to address uplink interference, a simulation object group can be formed by the first ground station and each satellite to be simulated. Each ground station to be simulated can act as the first ground station, forming a simulation object group with each satellite to be simulated. In this case, one ground station to be simulated and each satellite to be simulated form a simulation object group, and the number of simulation object groups is the same as the number of ground stations to be simulated. To address downlink interference, the first ground station can be formed into a corresponding number of simulation object groups with each satellite to be simulated. In this case, one ground station to be simulated and one satellite to be simulated form a simulation object group, and each ground station to be simulated can act as the first ground station, forming a simulation object group with each satellite to be simulated. In this case, the number of simulation object groups is the product of the number of satellites to be simulated and the number of ground stations to be simulated.
[0056] Example, Figure 2b This is a schematic diagram of a parallel simulation computing process provided in an embodiment of this application, such as... Figure 2bAs shown, the scenario configuration parameters are loaded, including the number of NGSO orbits, the number of satellites in each orbit, and ground station parameters. For uplink interference, ground station 1 and satellites 1-N form one simulation object group; ground station 2 and satellites 1-N form another; ...; ground station N and satellites 1-N form yet another. Each simulation object group performs visibility simulation in parallel through its corresponding thread, outputting the visibility simulation results. Based on the visibility simulation results of each simulation object group, visibility analysis is performed in parallel according to the set analysis strategy to determine the relevant parameters of the visible area of the satellites corresponding to the ground stations in each simulation object group. Visibility analysis can be performed in parallel for each simulation object group.
[0057] For downlink interference, ground station 1 and satellite 1 form one simulation object group; ground station 1 and satellite 2 form another; ...; ground station 1 and satellite N form another; ...; ground station N and satellite 1 form another; ground station N and satellite 2 form another; ...; ground station N and satellite N form another. Each simulation object group performs visibility simulation in parallel using its corresponding thread, and outputs the visibility simulation results for each group.
[0058] Furthermore, in practical implementation, the grouping strategy can be set not only based on the link type of the disrupted link, but also according to other grouping rules. For example, it can be based on satellites, grouped according to information such as satellite controller, orbit type, and frequency characteristics; or it can be based on ground stations, grouped according to service satellites, distribution areas, etc. Moreover, grouping allows for the batch definition of various attributes of objects within a group, facilitating object management and improving simulation efficiency.
[0059] In this embodiment, the ground station and satellite to be simulated can be customized into groups. The software background uses multi-threaded calls to the calculation program to achieve process-level parallel simulation processing. This parallelizes and optimizes time-consuming tasks such as orbit calculation and visibility calculation, making full use of the computer system's resources and ensuring that subsequent resource upgrades can enhance the system's simulation capabilities and meet the system's upgrade potential requirements.
[0060] Step 106: Select the target satellite and target ground station from the target simulation object group, perform visibility simulation on the target satellite and target ground station based on the simulation time point set, and determine the visibility simulation results of the target satellite relative to the target ground station.
[0061] Among them, the target simulation object group is any one of the at least two simulation objects constructed, that is, each of the constructed simulation object groups can be used as the target simulation object group for subsequent visibility simulation; the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
[0062] It should be noted that for each simulation object group, visibility simulation can be performed on the target ground station and the target satellite, that is, visibility simulation of a single station to a single satellite. After the visibility simulation of the target ground station and the target satellite is completed, other satellites and the target ground station can be selected for visibility simulation, until the simulation of each satellite in the target simulation object group against the target ground station is completed. If there are no other ground stations, the visibility simulation of the target simulation object group ends. If there are other ground stations, they are selected as target ground stations, and the above process continues to perform visibility simulation.
[0063] In one optional implementation of this embodiment, visibility simulation can be performed by combining the current visibility identifier and the current simulation time point. That is, visibility simulation is performed on the target satellite and the target ground station based on the set of simulation time points to determine the visibility simulation result of the target satellite relative to the target ground station. The specific implementation process can be as follows:
[0064] Select the current simulation time point from the set of simulation time points. If there is no end marker at the current simulation time point, determine the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point.
[0065] Obtain the current visibility identifier, perform visibility simulation based on the first satellite elevation angle and the current visibility identifier, update the current simulation time point, return to execute the operation step of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, until the current simulation time point has an end identifier.
[0066] It should be noted that the end marker indicates that the current simulation time point is the last simulation time point in the set of simulation time points, meaning that this round of simulation has reached the preset simulation duration and should end. Secondly, when the line of sight is above the local horizontal plane, the angle between the line of sight and the horizontal plane in the vertical plane of the line of sight is called the elevation angle. The satellite elevation angle is the angle between the line connecting the ground station and the satellite and the horizontal plane. The first satellite elevation angle refers to the angle between the line connecting the target satellite's location and the target ground station at the current simulation time point and the horizontal line. Additionally, the visibility marker indicates whether the target satellite is within the visible area of the target ground station (i.e., the arc segment of the satellite's orbit that the target ground station can see). This current visibility marker is based on the previous visibility simulation time point and is a marker used during the visibility simulation to indicate whether the target satellite was within the visible area of the target ground station at the previous simulation time point.
[0067] In practical applications, initially, the smallest simulation time point (i.e., the first simulation time point) can be selected from the set of simulation time points as the current simulation time point. This current simulation time point does not have an end marker. For this current simulation time point, the first satellite elevation angle of the target satellite and the target ground station can be determined, and the current visibility marker can be obtained. The first satellite elevation angle can indicate whether the target satellite is within the visible area of the target ground station at the current simulation time point. The current visibility marker can indicate whether the target satellite was within the visible area of the target ground station at the previous visibility simulation time point. Therefore, based on the first satellite elevation angle and the current visibility marker, visibility simulation can be performed, and the current simulation time point can be updated. It is then determined whether the updated current simulation time point has an end marker. If not, the first satellite elevation angle of the target satellite and the target ground station is determined for the current simulation time point, and visibility simulation continues until the current simulation time point has an end marker, at which point this round of simulation ends.
[0068] In this embodiment, the current visibility identifier indicates whether the target satellite was within the visible area of the target ground station at the previous simulation time point when visibility simulation was performed. Based on the first satellite elevation angle, it can be determined whether the target satellite was within the visible area of the target ground station at the current simulation time point. Therefore, by combining the first satellite elevation angle and the current visibility identifier, the change in the area where the target satellite is located from the previous simulation time point to the current simulation time point can be determined, thereby determining the relevant parameters for the target satellite entering and leaving the visible area, and realizing visibility simulation.
[0069] In an optional implementation of this embodiment, before determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, the method further includes:
[0070] Determine whether the current simulation time point is the last simulation time point in the set of simulation time points;
[0071] If it is the last simulation time point, then set an end flag for the current simulation time point.
[0072] In practical applications, if there is no end marker at the current simulation time point, it can be further determined whether the current simulation time point is the last simulation time point in the set of simulation time points. If it is the last simulation time point, it means that after the calculation at this current simulation time point is completed, this round of simulation has reached the preset simulation duration and should end. Therefore, an end marker can be set for the current simulation time point, and then the operation steps of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point are executed. Visibility simulation calculation is performed on the last simulation time point in the set of simulation time points. After the calculation is completed, since the current simulation time point is the last simulation time point in the set of simulation time points, the current simulation time point is the same before and after the update. Since the current simulation time point has an end marker, the simulation can be ended at this time. If it is not the last simulation time point, the operation steps of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point can be directly executed, and visibility simulation is performed on the current simulation time point.
[0073] It should be noted that the simulation can be terminated by adding an end marker to the last simulation time point in the set of simulation time points, without the need for real-time monitoring of the simulation time points, making the operation simple.
[0074] In one optional implementation of this embodiment, visibility simulation is performed based on the first satellite elevation angle and the current visibility identifier, and the current simulation time point is updated. The specific implementation process can be as follows:
[0075] If the current visibility indicator is visible, based on the first satellite elevation angle, determine whether the current simulation time point has left the visible area, obtain a first determination result, perform visibility simulation based on the first determination result, and update the current simulation time point;
[0076] If the current visibility indicator is not visible, based on the first satellite elevation angle, determine whether the current simulation time point has entered the visible area, obtain a second determination result, perform visibility simulation based on the second determination result, and update the current simulation time point.
[0077] It should be noted that when the current visibility indicator is visible, it means that at the previous simulation time point when visibility simulation was performed, the target satellite was within the visible area of the target ground station. At this time, based on the first satellite elevation angle, it can be determined whether the target satellite has left the visible area of the target ground station at the current simulation time point, and a first determination result can be obtained. This first determination result can indicate whether the target satellite has moved from the visible area to the non-visible area from the previous simulation time point when visibility simulation was performed to the current simulation time point. Thus, based on the first determination result, visibility simulation can be performed and the current simulation time point can be updated to determine the relevant parameters of the target satellite leaving the visible area of the target ground station.
[0078] In practical applications, when determining whether the current simulation time point has left the visible area based on the first satellite elevation angle, it can be determined whether the first satellite elevation angle is lower than the minimum tracking elevation angle. If it is lower, it means that the satellite has left the visible area; if it is not lower, it means that the satellite has not left the visible area.
[0079] Furthermore, if the current visibility indicator is not visible, it means that at the previous simulation time point when visibility simulation was performed, the target satellite was not within the visible area of the target ground station. In this case, based on the first satellite elevation angle, it can be determined whether the target satellite has entered the visible area of the target ground station at the current simulation time point, thus obtaining a second determination result. This second determination result can indicate whether the target satellite has moved from the non-visible area into the visible area from the previous simulation time point to the current simulation time point. Based on the second determination result, visibility simulation can be performed, and the current simulation time point can be updated to determine the relevant parameters for the target satellite entering the visible area of the target ground station.
[0080] In practical applications, when determining whether the current simulation time point has entered the visible region based on the first satellite elevation angle, it can be determined whether the first satellite elevation angle is higher than the minimum tracking elevation angle. If it is higher, it means that the visible region has been entered; if it is not higher, it means that the visible region has not been entered.
[0081] In this embodiment, by combining the first satellite elevation angle and the current visibility indicator, the change in the area where the target satellite is located from the previous simulation time point to the current simulation time point can be determined, thereby determining the relevant parameters for the target satellite entering and leaving the visible area, and realizing visibility simulation.
[0082] It should be noted that when performing visibility simulation for target satellites and target ground stations, visibility simulation can be performed by combining the first satellite elevation angle and the current visibility marker. Moreover, it is not necessary to perform simulation calculations for every simulation time point in the simulation time point set. Instead, when the first satellite elevation angle and the current visibility marker meet the set conditions, a set number of simulation time points after the current simulation time in the simulation time point set can be skipped, and visibility simulation can continue for the simulation time points after that set number of simulation time points.
[0083] In one optional implementation of this embodiment, visibility simulation is performed based on the first determination result, and the current simulation time point is updated. The specific implementation process can be as follows:
[0084] If the first determination result is leaving the visible area, then the time of leaving the visible area is determined based on the current simulation time point, and the current visibility flag is updated to invisible. Based on the set simulation time span, the next simulation time point is selected from the set of simulation time points to update the current simulation time point.
[0085] If the first determination result is that the visible area has not been left, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated.
[0086] In practical applications, if the first determined result is leaving the visible area, it means that from the previous simulation time point for visibility simulation to the current simulation time point, the target satellite has moved from the visible area to the invisible area. That is, at the current simulation time point, the target satellite has already left the visible area of the target ground station. The time of leaving the visible area falls between the previous simulation time point and the current simulation time point. In this case, the time of leaving the visible area can be determined based on the current simulation time point, and the current visibility flag can be updated to invisible to indicate that the target satellite has left the visible area of the target ground station. Since it has already left the visible area, there is still a certain amount of time before it re-enters the visible area. Therefore, the set conditions are met at this time, and there is no need to perform visibility simulation calculations for each simulation time point. Instead, based on the set simulation time span, the next simulation time point is selected from the set of simulation time points to update the current simulation time point. In other words, the set simulation time span is skipped after the current simulation time point in the set of simulation time points, and the subsequent simulation time point is used as the updated current simulation time point.
[0087] The simulation time span is set to the pre-defined number of simulation time points to be skipped, i.e., how many simulation time points can be skipped at once to avoid visibility simulation. Considering that the satellite will only enter the visible area of the target ground station once per orbit, and the change in the first satellite elevation angle is initially large and then small, the characteristics of the first satellite elevation angle change can be fully considered to achieve a large-span rapid search of the visible area for the LEO orbit, for example, 1 / 3 of the orbital period. Here, the LEO orbit refers to the low Earth orbit, i.e., the satellite orbit in which the satellite visibility analysis is performed in this embodiment of the application; that is, considering that the time difference between the two times the target satellite enters the visible area of the target ground station will be greater than 1 / 3 of the orbital period, the simulation time span can be set to 1 / 3 of the orbital period.
[0088] In practice, when determining the time to leave the visible area, i.e. the departure time, based on the current simulation time, interpolation can be performed from the current simulation time to the previous simulation time when visibility was simulated, until the time corresponding to the lowest tracking elevation angle is determined, which is then used as the time to leave the visible area.
[0089] In addition, if the first determination result is that the target satellite has not left the visible area, it means that from the previous simulation time point for visibility simulation to the current simulation time point, the target satellite is still within the visible area. At this time, visibility simulation can be performed based on the satellite elevation angle corresponding to consecutive simulation time points in the simulation time point set, and the current simulation time point can be updated. That is, visibility simulation calculation is performed one simulation time point after the current simulation time point in the simulation time point set.
[0090] In this embodiment, a large-span visible area search method can be used to quickly calculate the relevant parameters of the visible area where the target satellite leaves the target ground station. A calculation method with a coarser time span is used, and subsequent interpolation is used to approximate and determine the time of departure from the visible area. Compared with the traditional visibility calculation method of point-by-point calculation and clipping, the efficiency of single-station satellite visibility calculation can be improved by more than 2 times.
[0091] In one optional implementation of this embodiment, visibility simulation is performed based on the second determination result, and the current simulation time point is updated. The specific implementation process can be as follows:
[0092] If the second determination result is entering the visible area, then the time of entering the visible area is determined based on the current simulation time point, and the current visibility identifier is updated to visible. The next simulation time point of the current simulation time point is selected from the set of simulation time points to update the current simulation time point.
[0093] If the second determination result is that the visible area has not been entered, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated.
[0094] In practical applications, if the second determination result is "entering the visible area," it means that from the previous simulation time point for visibility simulation to the current simulation time point, the target satellite has moved from the non-visible area into the visible area. That is, at the current simulation time point, the target satellite has already entered the visible area of the target ground station. The time of entering the visible area is between the previous simulation time point for visibility simulation and the current simulation time point. At this time, the time of entering the visible area, i.e., the entry time, can be determined based on the current simulation time point, and the current visibility flag can be updated to visible to indicate that the target satellite has entered the visible area of the target ground station. Then, the next simulation time point from the set of simulation time points is selected as the updated current simulation time point, and visibility simulation is continued for the next simulation time point.
[0095] If the second determination result is that the target satellite has not entered the visible area, it means that from the previous simulation time point for visibility simulation to the current simulation time point, the target satellite is still located in the non-visible area. At this time, visibility simulation can be performed based on the satellite elevation angle corresponding to a series of consecutive simulation time points in the simulation time point set, and the current simulation time point is updated. That is, visibility simulation calculation is performed one simulation time point after the current simulation time point in the simulation time point set.
[0096] In practice, when determining the time to enter the visible region based on the current simulation time, interpolation can be performed from the current simulation time to the previous simulation time when visibility was simulated, until the time corresponding to the lowest tracking elevation angle is determined, which is then used as the time to enter the visible region.
[0097] In this embodiment, a large-span visible area search method can be used to quickly calculate the relevant parameters of the target satellite entering the visible area of the target ground station. A calculation method with a coarser time span is used, and subsequent interpolation is used to approximate and determine the time of entry into the visible area. Compared with the traditional visibility calculation method of point-by-point calculation and clipping, the efficiency of single-station satellite visibility calculation can be improved by more than 2 times.
[0098] In one optional implementation of this embodiment, the visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated. The specific implementation process can be as follows:
[0099] Based on a series of consecutive set simulation time points, determine whether the current simulation time point has passed the peak;
[0100] If the current simulation time point has not passed the top, then obtain the next simulation time point from the set of simulation time points and update the current simulation time point;
[0101] If the current simulation time point is overhead, then visibility simulation is performed based on the first satellite elevation angle, the current visibility flag, and the lowest tracking elevation angle, and the current simulation time point is updated.
[0102] It should be noted that, based on a series of consecutive simulated time points with set values, it can be determined whether the current simulated time point has passed overhead, i.e., whether the first satellite elevation angle of the target satellite and the target ground station is at its maximum at the current simulated time point. Specifically, the set value can be 3. The second satellite elevation angle of the target satellite and the target ground station is obtained at the previous simulated time point, and the third satellite elevation angle of the target satellite and the target ground station is calculated at the next simulated time point. If the first satellite elevation angle is greater than the second satellite elevation angle and also greater than the third satellite elevation angle, then the first satellite elevation angle of the target satellite and the target ground station is at its maximum at the current simulated time point, and the current simulated time point has passed overhead. If the first satellite elevation angle is not greater than the second satellite elevation angle or not greater than the third satellite elevation angle, then the first satellite elevation angle of the target satellite and the target ground station is not at its maximum at the current simulated time point, and the current simulated time point has not passed overhead.
[0103] In practical applications, if the current simulation time point has not yet passed the top, the next simulation time point is obtained from the set of simulable time points as the updated current simulation time point, and visibility simulation continues for the next simulation time point. If the current simulation time point has passed the top, it means that the first satellite elevation angle between the target satellite and the target ground station is the largest at the current simulation time point. At this time, based on the first satellite elevation angle, the current visibility indicator, and the lowest tracking elevation angle, it can be further determined whether the largest first satellite elevation angle is located within the visible area, so as to perform visibility simulation and update the current simulation time point.
[0104] In this embodiment, based on a series of consecutive set simulation time points, it can be determined whether the current simulation time point has passed the top. If it has not passed the top, the next simulation time point is obtained and visibility simulation continues. If it has passed the top, based on the first satellite elevation angle, the current visibility indicator, and the lowest tracking elevation angle, it is further determined whether the largest first satellite elevation angle is within the visible area. This avoids the current satellite elevation angle being the largest but not within the visible area of the target ground station, thereby avoiding misjudgment and improving the accuracy of visibility simulation.
[0105] In one optional implementation of this embodiment, visibility simulation is performed based on the first satellite elevation angle, the current visibility indicator, and the lowest tracking elevation angle, and the current simulation time point is updated. The specific implementation process can be as follows:
[0106] Determine whether the elevation angle of the first satellite exceeds the minimum tracking elevation angle;
[0107] If the minimum tracking elevation angle is not exceeded, the next simulation time point is selected from the set of simulation time points based on the set simulation time span to update the current simulation time point;
[0108] If the minimum tracking elevation angle is exceeded, visibility simulation is performed based on the first satellite elevation angle and the current visibility flag, and the current simulation time point is updated.
[0109] It should be noted that we can first determine whether the first satellite elevation angle exceeds the minimum tracking elevation angle. If it does not exceed the minimum tracking elevation angle, it means that although the current satellite elevation angle is at its maximum, it is not within the visible area of the target ground station, and it will take some time to reach the visible area. Therefore, we can determine that the set conditions are met. Based on the set simulation time span, we select the next simulation time point from the set of simulation time points to update the current simulation time point. That is, we skip the set simulation time span after the current simulation time point in the set of simulation time points and use the subsequent simulation time point as the updated current simulation time point. If it exceeds the minimum tracking elevation angle, it means that the current satellite elevation angle is at its maximum and is within the visible area of the target ground station. At this time, we can further determine whether it has left the visible area based on the first satellite elevation angle and the current visibility indicator, perform visibility simulation, and update the current simulation time point. In this way, we avoid the situation where the current satellite elevation angle is at its maximum but it is not within the visible area of the target ground station, thereby avoiding misjudgment and improving the accuracy of visibility simulation.
[0110] In one optional implementation of this embodiment, the visibility simulation based on the first satellite elevation angle and the current visibility identifier, and the updating of the current simulation time point, can be implemented as follows:
[0111] If the current visibility flag is invisible, calculate the time to enter the visible region based on the current simulation time point, set the current visibility flag to visible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point;
[0112] If the current visibility flag is visible, determine whether the current simulation time point is located in the visible area, perform visibility simulation based on the determination result, and update the current simulation time point.
[0113] It should be noted that if the current visibility flag is invisible, it means that at the previous simulation time point when visibility simulation was performed, the target satellite was not within the visible area of the target ground station. However, at the current simulation time point, the target satellite is already within the visible area of the target ground station and has its maximum elevation angle. In this case, the time to enter the visible area can be calculated based on the current simulation time point, and the current visibility flag can be set to visible. Then, the next simulation time point from the set of simulation time points can be obtained as the updated current simulation time point, and visibility simulation can continue for the next simulation time point.
[0114] If the current visibility indicator is visible, it means that at the previous simulation time point when visibility simulation was performed, the target satellite was within the visible area of the target ground station. At the current simulation time point, the target satellite is still within the visible area of the target ground station and has the maximum elevation angle. Therefore, it is possible to further determine whether the current simulation time point is within the visible area. Based on the determination result, it is possible to determine whether the target satellite has left the visible area of the target ground station at the current simulation time point, so as to perform visibility simulation and update the current simulation time point.
[0115] In one optional implementation of this embodiment, the process of performing visibility simulation based on the judgment result and updating the current simulation time point can be as follows:
[0116] If not located in the visible area, calculate the time of leaving the visible area based on the current simulation time point, set the current visibility flag to invisible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point;
[0117] If it is located in the visible area, then the next simulation time point of the current simulation time point is obtained from the set of simulation time points to update the current simulation time point.
[0118] In practical applications, if the satellite is not located in the visible area, it means that from the previous simulation time point for visibility simulation to the current simulation time point, the target satellite has moved from the visible area to the invisible area. That is, at the current simulation time point, the target satellite has already left the visible area of the target ground station. The time of leaving the visible area is between the previous simulation time point for visibility simulation and the current simulation time point. At this time, the time of leaving the visible area can be determined based on the current simulation time point, and the current visibility flag can be updated to invisible to indicate that the target satellite has left the visible area of the target ground station. The next simulation time point of the current simulation time point is obtained from the set of simulation time points as the updated current simulation time point, and visibility simulation is continued for the next simulation time point.
[0119] Additionally, if the target satellite is located within the visible area, it means that from the previous simulation time point to the current simulation time point, the target satellite is still within the visible area. In this case, the next simulation time point can be obtained directly from the set of simulation time points as the updated current simulation time point, and visibility simulation can continue for the next simulation time point.
[0120] It should be noted that in the above visibility simulation process, after calculating the entry time and exit time of the visible area, the relevant parameters of the visible area can be determined based on the entry time and exit time, such as the relative distance between the satellite and the ground station, the rate of change of distance, azimuth angle, and elevation angle. Based on the above parameters and combined with link attenuation, interference assessment can be performed on various satellite communication systems and link-level indicators, and the interference simulation of NGSO to GSO can be realized.
[0121] In actual implementation, due to the relatively static geometric relationship of GSO satellites, the visibility analysis of NGSO satellites faces a large number of highly dynamic problems. Therefore, in order to improve the efficiency of visibility simulation, a parallel computing method is adopted to quickly perform orbit prediction and visibility analysis. Furthermore, when calculating the visible area of ground stations and low-orbit satellites, a large-span fast search method is used to calculate visibility. Compared with the traditional method of calculating and clipping the visible area point by point, this method improves the computational efficiency by more than 2 times.
[0122] In addition, the embodiments of this application can customize the grouping strategy and the visibility simulation strategy for each simulation time point. The simulation task does not need to adopt a fixed process mode, and it is not necessary to fully model all factors of the simulation scene, which reduces the complexity of visibility simulation and improves flexibility. Moreover, the simulation files of each simulation time point can be stored, and the visibility simulation process is controllable, which makes it easy to quickly locate the specific problems when there are problems such as incorrect settings of the simulation scene or unexpected exit.
[0123] The satellite visibility simulation method provided in this application generates a set of simulation time points based on a preset simulation duration and a preset simulation step. Based on a set grouping strategy, it groups the ground station and satellite to be simulated, constructing at least two simulation object groups. The at least two simulation object groups perform visibility simulations in parallel, and each simulation object group includes at least one ground station and at least one satellite to be simulated. A target satellite and a target ground station are selected from the target simulation object group, and visibility simulations are performed on the target satellite and target ground station based on the set of simulation time points. The visibility simulation result of the target satellite relative to the target ground station is determined. The target simulation object group is any one of the at least two constructed simulation object groups, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group. In this case, a custom grouping strategy can be defined to group the ground stations and satellites to be simulated, constructing at least two simulation object groups. Visibility simulation is performed in parallel for each group of at least two simulation object groups. Parallel processing is adopted to maximize the use of computer resources and perform visibility simulation quickly. This greatly improves the efficiency of visibility simulation without reducing simulation accuracy.
[0124] Figure 3 This application provides a flowchart illustrating a visibility simulation method for a target satellite and a target ground station according to an embodiment of the present application, which specifically includes:
[0125] Step 1: Generate a set of simulation time points based on the preset simulation duration and preset simulation steps.
[0126] Step 2: Select the first simulation time point from the set of simulation time points as the current simulation time point.
[0127] Step 3: Determine if there is an end marker at the current simulation time point. If there is an end marker, end the simulation. If there is no end marker, proceed to step 4.
[0128] Step 4: Determine whether the current simulation time point is the last simulation time point in the set of simulation time points. If yes, set an end flag for the current simulation time point and proceed to step 5; otherwise, proceed directly to step 5.
[0129] Step 5: At the current simulation time point, determine the first satellite elevation angle for the target satellite and the target ground station.
[0130] Step 6: Obtain the current visibility indicator. If the current visibility indicator is visible, proceed to step 7; if the current visibility indicator is not visible, proceed to step 8.
[0131] Step 7: Determine whether the current simulation time point has left the visible area. If it has, calculate the time it left the visible area based on the current simulation time point, set the current visibility flag to invisible, skip the set number of simulation time points after the current simulation time point in the simulation time point set, determine the next simulation time point, use the next simulation time point as the current simulation time point to update the current simulation time point, and return to step 3; if the current simulation time point has not left the visible area, proceed to step 9.
[0132] Step 8: Determine whether the current simulation time point has entered the visible region. If it has, calculate the time of entering the visible region based on the current simulation time point, set the current visibility flag to visible, obtain the next simulation time point from the simulation time point set, and use the next simulation time point as the current simulation time point. That is, update the current simulation time point based on the next simulation time point, and return to step 3. If the current simulation time point has not entered the visible region, proceed to step 9.
[0133] Step 9: Determine the second satellite elevation angle of the previous simulation time point and the third satellite elevation angle of the next simulation time point. Based on the first, second, and third satellite elevation angles, store three consecutive satellite elevation angles. Based on these three consecutive satellite elevation angles, determine whether the current simulation time point has passed the zenith. If it has not passed the zenith, obtain the next simulation time point from the set of simulation time points and use the next simulation time point as the current simulation time point. That is, update the current simulation time point based on the next simulation time point and return to step 3. If it has passed the zenith, proceed to step 10.
[0134] Step 10: Determine whether the first satellite elevation angle at the current simulation time point exceeds the minimum tracking elevation angle. If it does not exceed the minimum tracking elevation angle, skip the set number of simulation time points after the current simulation time point in the simulation time point set, determine the next simulation time point, use the next simulation time point as the current simulation time point to update the current simulation time point, and return to step 3; if it exceeds the minimum tracking elevation angle, proceed to step 11.
[0135] Step 11: Determine if the current visibility flag is invisible. If the current visibility flag is invisible, proceed to step 12; if the current visibility flag is visible, proceed to step 13.
[0136] Step 12: Calculate the entry time based on the current simulation time point, set the current visibility flag to visible, obtain the next simulation time point from the simulation time point set, and use the next simulation time point as the current simulation time point. That is, update the current simulation time point based on the next simulation time point, and return to step 3.
[0137] Step 13: If the current visibility flag is visible, determine whether the current simulation time point has left the visible area. If it has left the visible area, calculate the time of leaving the visible area based on the current simulation time point, set the current visibility flag to invisible, obtain the next simulation time point from the simulation time point set, and use the next simulation time point as the current simulation time point, i.e., update the current simulation time point based on the next simulation time point, and return to Step 3; if it has not left the visible area, directly obtain the next simulation time point from the simulation time point set, use the next simulation time point as the current simulation time point, i.e., update the current simulation time point based on the next simulation time point, and return to Step 3.
[0138] The satellite visibility simulation method provided in this application generates a set of simulation time points based on a preset simulation duration and a preset simulation step. Based on a set grouping strategy, it groups the ground station and satellite to be simulated, constructing at least two simulation object groups. The at least two simulation object groups perform visibility simulations in parallel, and each simulation object group includes at least one ground station and at least one satellite to be simulated. A target satellite and a target ground station are selected from the target simulation object group, and visibility simulations are performed on the target satellite and target ground station based on the set of simulation time points. The visibility simulation result of the target satellite relative to the target ground station is determined. The target simulation object group is any one of the at least two constructed simulation object groups, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group. In this scenario, a custom grouping strategy can be defined to group the ground stations and satellites to be simulated, creating at least two simulation object groups. Visibility simulation is then performed in parallel for each of these at least two groups. This parallel processing maximizes the use of computer resources and enables rapid visibility simulation, significantly improving efficiency without compromising accuracy. Furthermore, when calculating the visible regions of the ground stations and NGSO satellites, a large-span, fast search method is employed, further enhancing simulation efficiency.
[0139] Corresponding to the above method embodiments, this application also provides embodiments of a satellite visibility simulation device. Figure 4 A schematic diagram of a satellite visibility simulation device according to an embodiment of this application is shown. Figure 4 As shown, the device includes:
[0140] The generation module 402 is configured to generate a set of simulation time points based on a preset simulation duration and a preset simulation step.
[0141] Grouping module 404 is configured to group ground stations and satellites to be simulated based on a set grouping strategy, and construct at least two simulation object groups, wherein the at least two simulation object groups perform visibility simulation in parallel, and each simulation object group includes at least one ground station to be simulated and at least one satellite to be simulated.
[0142] The simulation module 406 is configured to select a target satellite and a target ground station from the target simulation object group, perform visibility simulation on the target satellite and the target ground station based on the simulation time point set, and determine the visibility simulation result of the target satellite relative to the target ground station. The target simulation object group is any one of at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
[0143] Optionally, the grouping strategy is set to classify based on the link type of the disturbed link; the grouping module 404 is further configured to:
[0144] To address uplink interference, a simulation object group is formed by combining the first ground station and each satellite to be simulated. The first ground station is any ground station to be simulated, and each simulation object group includes one ground station to be simulated and each satellite to be simulated. The number of simulation object groups is equal to the number of ground stations to be simulated.
[0145] To address downlink interference, the first ground station and each satellite to be simulated are grouped into a corresponding number of simulation object groups. Each simulation object group includes one ground station to be simulated and one satellite to be simulated. The number of simulation object groups is the product of the number of satellites to be simulated and the number of ground stations to be simulated.
[0146] Optionally, simulation module 406 is further configured as follows:
[0147] Select the current simulation time point from the set of simulation time points. If there is no end marker at the current simulation time point, determine the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point.
[0148] Obtain the current visibility identifier, perform visibility simulation based on the first satellite elevation angle and the current visibility identifier, update the current simulation time point, return to execute the operation step of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, until the current simulation time point has an end identifier.
[0149] Optionally, simulation module 406 is further configured as follows:
[0150] If the current visibility indicator is visible, based on the first satellite elevation angle, determine whether the current simulation time point has left the visible area, obtain a first determination result, perform visibility simulation based on the first determination result, and update the current simulation time point;
[0151] If the current visibility indicator is not visible, based on the first satellite elevation angle, determine whether the current simulation time point has entered the visible area, obtain a second determination result, perform visibility simulation based on the second determination result, and update the current simulation time point.
[0152] Optionally, simulation module 406 is further configured as follows:
[0153] If the first determination result is leaving the visible area, then the time of leaving the visible area is determined based on the current simulation time point, and the current visibility flag is updated to invisible. Based on the set simulation time span, the next simulation time point is selected from the set of simulation time points to update the current simulation time point.
[0154] If the first determination result is that the visible area has not been left, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated.
[0155] Optionally, simulation module 406 is further configured as follows:
[0156] If the second determination result is entering the visible area, then the time of entering the visible area is determined based on the current simulation time point, and the current visibility identifier is updated to visible. The next simulation time point of the current simulation time point is selected from the set of simulation time points to update the current simulation time point.
[0157] If the second determination result is that the visible area has not been entered, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated.
[0158] Optionally, simulation module 406 is further configured as follows:
[0159] The visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated, including:
[0160] Based on a series of consecutive set simulation time points, determine whether the current simulation time point has passed the peak;
[0161] If the current simulation time point has not passed the top, then obtain the next simulation time point from the set of simulation time points and update the current simulation time point;
[0162] If the current simulation time point is overhead, then visibility simulation is performed based on the first satellite elevation angle, the current visibility flag, and the lowest tracking elevation angle, and the current simulation time point is updated.
[0163] Optionally, simulation module 406 is further configured as follows:
[0164] The visibility simulation based on the first satellite elevation angle, the current visibility flag, and the lowest tracking elevation angle, and the updating of the current simulation time point, includes:
[0165] Determine whether the elevation angle of the first satellite exceeds the minimum tracking elevation angle;
[0166] If the minimum tracking elevation angle is not exceeded, the next simulation time point is selected from the set of simulation time points based on the set simulation time span to update the current simulation time point;
[0167] If the minimum tracking elevation angle is exceeded, visibility simulation is performed based on the first satellite elevation angle and the current visibility flag, and the current simulation time point is updated.
[0168] Optionally, simulation module 406 is further configured as follows:
[0169] If the current visibility flag is invisible, calculate the time to enter the visible region based on the current simulation time point, set the current visibility flag to visible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point;
[0170] If the current visibility flag is visible, determine whether the current simulation time point is located in the visible area, perform visibility simulation based on the determination result, and update the current simulation time point.
[0171] Optionally, simulation module 406 is further configured as follows:
[0172] The process of performing visibility simulation based on the judgment result and updating the current simulation time point includes:
[0173] If not located in the visible area, calculate the time of leaving the visible area based on the current simulation time point, set the current visibility flag to invisible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point;
[0174] If it is located in the visible area, then the next simulation time point of the current simulation time point is obtained from the set of simulation time points to update the current simulation time point.
[0175] Optionally, simulation module 406 is further configured as follows:
[0176] Determine whether the current simulation time point is the last simulation time point in the set of simulation time points;
[0177] If it is the last simulation time point, then set an end flag for the current simulation time point.
[0178] The satellite visibility simulation device provided in this application generates a set of simulation time points according to a preset simulation duration and a preset simulation step; based on a set grouping strategy, it groups the ground station to be simulated and the satellite to be simulated to construct at least two simulation object groups, wherein the at least two simulation object groups perform visibility simulation in parallel, and each simulation object group includes at least one ground station to be simulated and at least one satellite to be simulated; it selects a target satellite and a target ground station from the target simulation object group, performs visibility simulation on the target satellite and the target ground station based on the set of simulation time points, and determines the visibility simulation result of the target satellite relative to the target ground station, wherein the target simulation object group is any one of the at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group. In this case, a custom grouping strategy can be defined to group the ground stations and satellites to be simulated, constructing at least two simulation object groups. Visibility simulation is performed in parallel for each group of at least two simulation object groups. Parallel processing is adopted to maximize the use of computer resources and perform visibility simulation quickly. This greatly improves the efficiency of visibility simulation without reducing simulation accuracy.
[0179] The above is a schematic scheme of a satellite visibility simulation device according to this embodiment. It should be noted that the technical solution of this satellite visibility simulation device and the technical solution of the satellite visibility simulation method described above belong to the same concept. For details not described in detail in the technical solution of the satellite visibility simulation device, please refer to the description of the technical solution of the satellite visibility simulation method described above.
[0180] Figure 5 A structural block diagram of a computing device according to an embodiment of this application is shown. The components of the computing device 500 include, but are not limited to, a memory 510 and a processor 520. The processor 520 is connected to the memory 510 via a bus 530, and a database 550 is used to store data.
[0181] The computing device 500 also includes an access device 540, which enables the computing device 500 to communicate via one or more networks 540. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 540 may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Controller (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0182] In one embodiment of this application, the aforementioned components of the computing device 500 and Figure 5 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 5 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this application. Those skilled in the art can add or replace other components as needed.
[0183] The computing device 500 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or PCs. The computing device 500 can also be a mobile or stationary server.
[0184] The processor 520 is configured to execute the following computer-executable instructions to implement the steps of any of the above-mentioned satellite visibility simulation methods.
[0185] The above is a schematic representation of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the satellite visibility simulation method described above belong to the same concept. Details not described in detail in the technical solution of the computing device can be found in the description of the technical solution of the satellite visibility simulation method described above.
[0186] An embodiment of this application also provides a computer-readable storage medium storing computer instructions that, when executed by a processor, are used to implement the steps of the satellite visibility simulation method described above.
[0187] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium belongs to the same concept as the technical solution of the satellite visibility simulation method described above. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the satellite visibility simulation method described above.
[0188] The foregoing has described specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0189] Computer instructions include computer program code, which can be in the form of source code, object code, executable files, or some intermediate form. Computer-readable media can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0190] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0191] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0192] The preferred embodiments disclosed above are merely illustrative of this application. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to specific implementations. Clearly, many modifications and variations can be made based on the content of this application. These embodiments are selected and specifically described in this application to better explain the principles and practical applications of this application, thereby enabling those skilled in the art to better understand and utilize this application. This application is limited only by the claims and their full scope and equivalents.
Claims
1. A satellite visibility simulation method, characterized in that, The method includes: A set of simulation time points is generated based on the preset simulation duration and preset simulation steps; Based on the set grouping strategy, the ground station to be simulated and the satellite to be simulated are grouped to construct at least two simulation object groups, wherein the visibility simulation is performed in parallel by the at least two simulation object groups, and each simulation object group includes at least one ground station to be simulated and at least one satellite to be simulated; Select a target satellite and a target ground station from the target simulation object group; select the current simulation time point from the simulation time point set; if there is no end marker at the current simulation time point, determine the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point; obtain the current visibility marker, and perform visibility simulation based on the first satellite elevation angle and the current visibility marker, and update the current simulation time point; return to execute the operation step of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, until there is an end marker at the current simulation time point. Here, the target simulation object group is any one of at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
2. The satellite visibility simulation method according to claim 1, characterized in that, The grouping strategy is set based on the link type of the disturbed link; Based on a set grouping strategy, the ground station and satellite to be simulated are grouped to construct at least two simulation object groups, including: To address uplink interference, a simulation object group is formed by combining the first ground station and each satellite to be simulated. The first ground station is any ground station to be simulated, and each simulation object group includes one ground station to be simulated and each satellite to be simulated. The number of simulation object groups is equal to the number of ground stations to be simulated. To address downlink interference, the first ground station and each satellite to be simulated are grouped into a corresponding number of simulation object groups. Each simulation object group includes one ground station to be simulated and one satellite to be simulated. The number of simulation object groups is the product of the number of satellites to be simulated and the number of ground stations to be simulated.
3. The satellite visibility simulation method according to claim 1, characterized in that, The visibility simulation based on the first satellite elevation angle and the current visibility identifier, and the updating of the current simulation time point, includes: If the current visibility indicator is visible, based on the first satellite elevation angle, determine whether the current simulation time point has left the visible area, obtain a first determination result, perform visibility simulation based on the first determination result, and update the current simulation time point; If the current visibility flag is not visible, based on the first satellite elevation angle, determine whether the current simulation time point has entered the visible area, obtain a second determination result, perform visibility simulation based on the second determination result, and update the current simulation time point; The step of performing visibility simulation based on the first determination result and updating the current simulation time point includes: If the first determination result is leaving the visible area, then the time of leaving the visible area is determined based on the current simulation time point, and the current visibility flag is updated to invisible. Based on the set simulation time span, the next simulation time point is selected from the set of simulation time points to update the current simulation time point. If the first determination result is that the visible area has not been left, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of set simulation time points, and the current simulation time point is updated. The step of performing visibility simulation based on the second determination result and updating the current simulation time point includes: If the second determination result is entering the visible area, then the time of entering the visible area is determined based on the current simulation time point, and the current visibility identifier is updated to visible. The next simulation time point of the current simulation time point is selected from the set of simulation time points to update the current simulation time point. If the second determination result is that the visible area has not been entered, then visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated.
4. The satellite visibility simulation method according to claim 3, characterized in that, The visibility simulation is performed based on the satellite elevation angle corresponding to a series of consecutive set numerical simulation time points, and the current simulation time point is updated, including: Based on a series of consecutive set simulation time points, determine whether the current simulation time point has passed the peak; If the current simulation time point has not passed the top, then obtain the next simulation time point from the set of simulation time points and update the current simulation time point; If the current simulation time point is overhead, then visibility simulation is performed based on the first satellite elevation angle, the current visibility flag, and the lowest tracking elevation angle, and the current simulation time point is updated; wherein, The visibility simulation based on the first satellite elevation angle, the current visibility flag, and the lowest tracking elevation angle, and the updating of the current simulation time point, includes: Determine whether the elevation angle of the first satellite exceeds the minimum tracking elevation angle; If the minimum tracking elevation angle is not exceeded, the next simulation time point is selected from the set of simulation time points based on the set simulation time span to update the current simulation time point; If the minimum tracking elevation angle is exceeded, a visibility simulation is performed based on the first satellite elevation angle and the current visibility flag, and the current simulation time point is updated; wherein, The visibility simulation based on the first satellite elevation angle and the current visibility identifier, and the updating of the current simulation time point, includes: If the current visibility flag is invisible, calculate the time to enter the visible region based on the current simulation time point, set the current visibility flag to visible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point; If the current visibility flag is visible, determine whether the current simulation time point is located in the visible area, perform visibility simulation based on the determination result, and update the current simulation time point.
5. The satellite visibility simulation method according to claim 4, characterized in that, The process of performing visibility simulation based on the judgment result and updating the current simulation time point includes: If not located in the visible area, calculate the time of leaving the visible area based on the current simulation time point, set the current visibility flag to invisible, and obtain the next simulation time point from the set of simulation time points to update the current simulation time point; If it is located in the visible area, then the next simulation time point of the current simulation time point is obtained from the set of simulation time points to update the current simulation time point.
6. The satellite visibility simulation method according to claim 1, characterized in that, Before determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, the method further includes: Determine whether the current simulation time point is the last simulation time point in the set of simulation time points; If it is the last simulation time point, then set an end flag for the current simulation time point.
7. A satellite visibility simulation device, characterized in that, The device includes: The generation module is configured to generate a set of simulation time points based on a preset simulation duration and a preset simulation step. The grouping module is configured to group the ground station and satellite to be simulated based on a set grouping strategy, and construct at least two simulation object groups, wherein the at least two simulation object groups perform visibility simulation in parallel, and each simulation object group includes at least one ground station and at least one satellite to be simulated; The simulation module is configured to select a target satellite and a target ground station from a target simulation object group, select the current simulation time point from the simulation time point set, and, if the current simulation time point does not have an end marker, determine the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point; obtain the current visibility marker, perform visibility simulation based on the first satellite elevation angle and the current visibility marker, update the current simulation time point, and return to execute the operation step of determining the first satellite elevation angle of the target satellite and the target ground station for the current simulation time point, until the current simulation time point has an end marker. Here, the target simulation object group is any one of at least two constructed simulation objects, the target satellite is any one of the simulation objects in the target simulation object group, and the target ground station is any one of the ground stations in the target simulation object group.
8. A computing device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the satellite visibility simulation method according to any one of claims 1-6.
9. A computer-readable storage medium storing computer instructions that, when executed by a processor, implement the steps of the satellite visibility simulation method according to any one of claims 1-6.