A GPU-based spacecraft system efficient simulation method, storage medium and computer
By adopting parallel GPU-based computing methods in the spacecraft system, the problem of efficient simulation needs of giant constellations is solved, and real-time analysis and rapid decision-making of spacecraft system performance are realized.
Patent Information
- Application Number
- CN202311801926.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2043-12-25
AI Technical Summary
The existing technology is difficult to meet the efficient simulation needs of giant constellations, and traditional CPU-based simulation platforms are difficult to achieve synchronous simulation analysis when processing a large number of satellites.
Using the efficient simulation method of spacecraft system based on GPU, a CPU simulation framework for spacecraft system functional model is established, and a GPU is used for parallel computing, and a GPU parallel computing model for orbital dynamics, communication payload and navigation payload is established, and the simulation results are integrated for performance analysis.
It significantly improves simulation computing efficiency, can handle large-scale constellations more easily, meet the simulation needs of complex systems, realize real-time analysis of spacecraft system performance, and support rapid decision-making and system parameter adjustment.
Smart Images

Figure CN117786848B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of aerospace, and in particular to a GPU-based efficient simulation method for a spacecraft system. Background Art
[0002] With the development of the aerospace industry, the number of spacecraft in orbit continues to increase. At the same time, microsatellite technology continues to develop, and the number of satellites included in the constellation network continues to increase. The Starlink satellite network deployed by SpaceX has launched more than 3,000 satellites and plans to deploy approximately 42,000 satellites. For giant constellations with tens of thousands of satellites, traditional CPU-based simulation platforms such as STK will find it difficult to perform synchronous simulation analysis for such a large number of satellites. In addition, since the CPU processor can only support serial operations, relying solely on CPU performance improvement cannot meet the simulation requirements of giant constellations.
[0003] Graphics processors were originally used to accelerate computer rendering of images. As their performance became increasingly powerful, they gradually developed into today's GPUs. Due to their excellent floating-point computing capabilities, good storage bandwidth, and high concurrency, GPUs were applied to the computing field after programmable functions were added. The computing acceleration performance of GPUs is very impressive. If GPU acceleration technology can be applied to spacecraft system simulation, it will significantly improve computing efficiency and shorten the design cycle.
[0004] At present, there is a certain research foundation for algorithms that use GPU parallel computing to improve simulation efficiency, such as using GPUs for satellite orbit recursion and constellation coverage performance calculations. However, there is still little research on efficient simulation methods for GPU-based spacecraft systems, and the high-efficiency simulation needs of giant constellations cannot be met. Summary of the invention
[0005] In view of the fact that there are few studies on efficient simulation methods of spacecraft systems based on GPUs and the high-efficiency simulation requirements of giant constellations cannot be met, the present invention proposes an efficient simulation method of spacecraft systems based on GPUs. The specific solution is:
[0006] A GPU-based efficient simulation method for a spacecraft system, the method comprising:
[0007] Establish a CPU simulation framework for the spacecraft system functional model;
[0008] Establishing an orbital dynamics GPU parallel computing model, and obtaining spacecraft dynamics simulation results according to the orbital dynamics GPU parallel computing model;
[0009] Establishing a satellite communication payload GPU parallel computing model, and obtaining a communication payload simulation result according to the satellite communication payload GPU parallel computing model;
[0010] Establishing a satellite navigation payload GPU parallel computing model, and obtaining navigation payload simulation results according to the satellite navigation payload GPU parallel computing model;
[0011] The dynamics simulation results, communication payload simulation results and navigation payload simulation results are integrated to analyze the performance of the spacecraft in different missions and environments.
[0012] Furthermore, a preferred embodiment is provided, wherein the CPU simulation framework for establishing the spacecraft system function model is specifically:
[0013] Create functional models of orbital dynamics and control model, attitude dynamics and control model, satellite communication payload model, satellite navigation payload model, satellite remote sensing payload model, and spacecraft payload pointing and coverage calculation model;
[0014] Dividing the functional model into satellite system, satellite subsystem and other systems according to the functions of the functional model;
[0015] The simulation order of the model is set to complete the construction of the CPU simulation framework.
[0016] Furthermore, a preferred embodiment is provided, in which the simulation order of the model is set as follows: the satellite system, the satellite subsystem and other systems are constructed in sequence.
[0017] Furthermore, a preferred method is provided, wherein the orbital dynamics GPU parallel computing model is established, and the spacecraft dynamics simulation results are obtained according to the orbital dynamics GPU parallel computing model, specifically:
[0018] Preprocessing of orbit input parameters on the CPU, including: solving satellite double-line metafiles and orbit parameter conversion;
[0019] Apply for storage space for satellite orbit determination data in GPU memory, and transfer the satellite orbit determination data to GPU memory;
[0020] Apply for storage space for satellite orbit position and velocity data in GPU memory, and transfer the satellite orbit position and velocity data to GPU memory;
[0021] Utilize the multi-core parallel computing capability of GPU to complete the calculation of orbital dynamics by calling the orbital calculation kernel function;
[0022] After the GPU calculation is completed, the calculation results are copied from the GPU video memory to the CPU to complete the parallel calculation.
[0023] Furthermore, a preferred method is provided, wherein applying for storage space for satellite orbit determination data in the GPU memory and transferring the satellite orbit determination data to the GPU memory is specifically as follows:
[0024] Apply for storage space in GPU memory for satellite orbit determination data;
[0025] Store the satellite's orbit determination data into the GPU memory space;
[0026] Allocate the number of threads according to the data size and hardware limitations, and call the track model initialization function;
[0027] The initialization results are stored in GPU memory, waiting for parallel computing calls.
[0028] Furthermore, a preferred method is also provided, wherein applying for storage space for the satellite orbit position speed data in the GPU memory and transferring the satellite orbit position speed data to the GPU memory is specifically as follows:
[0029] Apply for storage space in the GPU memory for the satellite's orbital position and velocity data;
[0030] Store the satellite orbit position and velocity in GPU space;
[0031] Allocate the number of threads and call the track calculation kernel function according to the number of threads;
[0032] Copy the orbit calculation results from the GPU memory space to the CPU; release all memory requested in the GPU space.
[0033] Furthermore, a preferred method is also provided, wherein the establishing of a satellite communication payload GPU parallel computing model and obtaining a communication payload simulation result according to the satellite communication payload GPU parallel computing model include:
[0034] Using GPU parallel algorithms, the multi-beam coverage calculation and grid point signal-to-interference ratio calculation are decomposed into independent parts and executed on the GPU;
[0035] The CPU initializes the azimuth and elevation information of each beam and passes the position and attitude information of the satellite platform to the GPU;
[0036] The GPU kernel function performs parallel multi-beam pointing and coverage calculations and transmits the calculation results back to the CPU;
[0037] The CPU generates grid information and then transmits the information back to the GPU. The GPU performs the same-frequency signal-to-interference ratio calculation on each grid point and finally transmits the same-frequency signal-to-interference ratio calculation result back to the CPU.
[0038] Furthermore, a preferred method is provided, wherein the satellite navigation payload GPU parallel computing model is established, and the navigation payload simulation result is obtained according to the satellite navigation payload GPU parallel computing model, specifically:
[0039] The grid division method is used to divide the world into grid points according to longitude and latitude, and the navigation precision factor value of each grid point is calculated independently;
[0040] The CPU transmits the location information of the navigation constellation satellites and the grid point location information to the GPU;
[0041] The GPU receives the information and performs parallel calculation of navigation dilution of precision values of the grid points, and transmits the navigation dilution of precision values back to the CPU to obtain the global navigation dilution of precision.
[0042] Based on the same inventive concept, the present invention also proposes a computer-readable storage medium, which is used to store a computer program, and the computer program executes any one of the above-mentioned efficient simulation methods of a GPU-based spacecraft system.
[0043] Based on the same inventive concept, the present invention also proposes a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor runs the computer program stored in the memory, the processor executes a GPU-based efficient spacecraft system simulation method described in any one of the above items.
[0044] The present invention is beneficial in that:
[0045] The present invention solves the problem that there is little research on efficient simulation methods of spacecraft systems based on GPUs, and the high-efficiency simulation requirements of giant constellations cannot be met.
[0046] The present invention discloses a method for efficiently simulating a spacecraft system based on a GPU, which uses the GPU for parallel computing, fully utilizes the parallel computing capability of the GPU, accelerates the simulation calculation of orbital dynamics, communication payloads, and navigation payloads, and improves the efficiency of the entire simulation process. In view of the efficient simulation requirements of giant constellations, the parallel processing capability of the GPU enables the system to more easily handle large-scale constellations and meet the simulation requirements of complex systems. Due to the high computing speed of the GPU, the method can provide real-time analysis of the performance of the spacecraft in different missions and environments in a relatively short period of time, which helps to make quick decisions and adjust system parameters. By modeling different functional modules separately and calculating them in parallel on the GPU, flexible simulation of different aspects of the system is achieved, making it easier to make fine-grained adjustments and optimizations to the spacecraft system.
[0047] The present invention discloses a method for efficiently simulating a spacecraft system based on a GPU, which uses a CPU to establish a functional model and simulate an overall framework, ensuring that the overall structure and function of the system are correctly modeled and driven. The orbital dynamics, satellite communication payload, and satellite navigation payload are calculated respectively using a GPU parallel computing model. The parallel nature of the GPU is suitable for large-scale matrix calculations and data parallel tasks, thereby improving computing efficiency. The simulation results of each part are integrated at the CPU level and performance analysis is performed. The integration process needs to ensure the correct transmission of data and the consistency of the overall simulation results. Using a GPU for parallel computing can significantly improve simulation efficiency compared to traditional serial CPU computing methods. Through the high-speed computing power of the GPU, real-time analysis of spacecraft system performance is achieved, which helps to respond quickly and make decisions. This method is suitable for efficient simulation of complex systems such as large-scale constellations, meeting the needs of modern spacecraft system design and optimization.
[0048] The present invention is applied to the field of efficient simulation of complex aerospace systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 This is a flow chart of a method for efficient simulation of a spacecraft system based on a GPU according to the first embodiment;
[0050] Figure 2 The spacecraft simulation system CPU simulation framework described in the second implementation mode;
[0051] Figure 3 This is the GPU parallel computing development process described in implementation mode 4. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments.
[0053] Implementation method 1, see Figure 1 This embodiment describes a method for efficiently simulating a spacecraft system based on a GPU, the method comprising:
[0054] Establish a CPU simulation framework for the spacecraft system functional model;
[0055] Establishing an orbital dynamics GPU parallel computing model, and obtaining spacecraft dynamics simulation results according to the orbital dynamics GPU parallel computing model;
[0056] Establishing a satellite communication payload GPU parallel computing model, and obtaining a communication payload simulation result according to the satellite communication payload GPU parallel computing model;
[0057] Establishing a satellite navigation payload GPU parallel computing model, and obtaining navigation payload simulation results according to the satellite navigation payload GPU parallel computing model;
[0058] The dynamics simulation results, communication payload simulation results and navigation payload simulation results are integrated to analyze the performance of the spacecraft in different missions and environments.
[0059] This implementation uses the GPU for parallel computing, making full use of the parallel computing capabilities of the GPU to accelerate the simulation calculations of orbital dynamics, communication payloads, and navigation payloads, and improve the efficiency of the entire simulation process. Facing the efficient simulation requirements of giant constellations, the parallel processing capabilities of the GPU enable the system to more easily handle large-scale constellations and meet the simulation requirements of complex systems. Due to the high computing speed of the GPU, this method can provide real-time analysis of the performance of spacecraft in different missions and environments in a relatively short period of time, which helps to make quick decisions and adjust system parameters. By modeling different functional modules separately and calculating them in parallel on the GPU, flexible simulation of different aspects of the system is achieved, making it easier to make fine-grained adjustments and optimizations to the spacecraft system.
[0060] This implementation method uses the CPU to establish the functional model and simulate the overall framework to ensure that the overall structure and function of the system are correctly modeled and driven. The GPU parallel computing model is used to calculate the orbital dynamics, satellite communication payload and satellite navigation payload respectively. The parallel nature of the GPU is suitable for large-scale matrix calculations and data parallel tasks, thereby improving computing efficiency. The simulation results of each part are integrated at the CPU level and performance analysis is performed. The integration process needs to ensure the correct transmission of data and the consistency of the overall simulation results. Using GPU for parallel computing can significantly improve simulation efficiency compared to traditional serial CPU computing methods. Through the high-speed computing power of the GPU, real-time analysis of spacecraft system performance can be achieved, which helps to respond quickly and make decisions. This method is suitable for efficient simulation of complex systems such as large-scale constellations, meeting the needs of modern spacecraft system design and optimization.
[0061] Implementation Method 2: See Figure 2 This embodiment further defines the efficient simulation method of a spacecraft system based on a GPU described in Embodiment 1. The CPU simulation framework for establishing a functional model of a spacecraft system is specifically:
[0062] Create functional models of orbital dynamics and control model, attitude dynamics and control model, satellite communication payload model, satellite navigation payload model, satellite remote sensing payload model, and spacecraft payload pointing and coverage calculation model;
[0063] Dividing the functional model into satellite system, satellite subsystem and other systems according to the functions of the functional model;
[0064] The simulation order of the model is set to complete the construction of the CPU simulation framework.
[0065] In this embodiment, the satellite system includes an orbital dynamics and control model, an attitude dynamics and control model, a satellite communication payload model, a satellite navigation payload model, a satellite remote sensing payload model, and a spacecraft payload pointing and coverage calculation model, wherein the orbital dynamics and control model includes a description of the satellite orbital motion and a corresponding control system, which is used to simulate and analyze the motion of the satellite in orbit; the attitude dynamics and control model describes the attitude changes of the satellite and the corresponding control system, which is used to simulate the orientation and control of the satellite; the satellite communication payload model includes the payload equipment on the satellite used for communication, which is used to simulate and evaluate the performance of the satellite communication system; the satellite navigation payload model includes the payload equipment on the satellite used for navigation and positioning, which is used to simulate and analyze the performance of the satellite navigation system; the satellite remote sensing payload model includes the payload equipment on the satellite used for remote sensing and observation, which is used to simulate and evaluate the performance of the satellite remote sensing system; the spacecraft payload pointing and coverage calculation model: describes the payload pointing and coverage calculation on the satellite, which is used to evaluate the coverage range and pointing accuracy of the payload in space.
[0066] The calculation sequence of the satellite system is multi-mode thruster calculation, attitude orbit calculation, orbit dynamics recursion and orbit propulsion calculation, attitude control calculation, longitude and latitude high environment calculation and attitude orbit control calculation.
[0067] The satellite subsystem includes: antenna pointing control module, transmitter, receiver, sensor, carrier-to-interference ratio and multi-beam antenna calculation module; the above modules perform calculations and solutions in sequence.
[0068] Other system calculations include: multi-satellite combination simulation mission analysis module, routing module, drawing module, rocket navigation module, mission planning module, and ground coverage module; the above modules are calculated and solved in sequence.
[0069] This implementation method realizes a comprehensive simulation of the entire spacecraft system by establishing multiple models such as orbital dynamics, attitude dynamics, communication, navigation, and remote sensing. This helps to have a more comprehensive understanding of the performance and mutual influence of the system. The functional model is divided into satellite systems, satellite subsystems, and other systems, making the entire simulation framework more hierarchical and manageable. This division helps to test and optimize different parts separately, improving the flexibility of the simulation. By setting the simulation sequence, it helps to ensure the correct information flow between models, and at the same time, simulation can be performed according to the actual operation process of the system. Such a sequence setting helps to improve the accuracy and efficiency of the simulation. Although this method is a limitation of the efficient simulation method of spacecraft systems based on GPU, the use of a CPU simulation framework has wide applicability because most computers are equipped with CPUs. This makes this simulation framework easier to use on various hardware platforms.
[0070] In this embodiment, each functional model represents an important aspect of the spacecraft system, such as orbital motion, attitude control, communication, navigation, etc. The models are divided into systems and subsystems according to their functions, reflecting the hierarchical structure of the spacecraft system. The system-level model represents the entire spacecraft system, while the subsystem model focuses on specific functional units in the system, such as the orbital control subsystem, the communication subsystem, etc. The simulation sequence is set based on the interrelationships and dependencies between the models. For example, the output of the attitude dynamics and control model is the input of the satellite navigation payload model. The appropriate simulation sequence helps to simulate the timing behavior of the entire system. By integrating multiple key functional models, this approach makes the simulation of the spacecraft system more comprehensive and comprehensive. This has significant advantages for system design, performance evaluation, and problem diagnosis. Dividing the system into systems and subsystems and organizing them according to their functions makes the simulation process easier to manage and understand. This helps to better allocate tasks and optimize each subsystem during the development process. Although the CPU simulation framework is used, this also makes the simulation method more versatile and does not rely on high-performance computing devices. This improves the usability and portability of the simulation framework.
[0071] Implementation method three: This implementation method is a further limitation of the GPU-based efficient simulation method for spacecraft systems described in implementation method two, and the simulation order of setting the model is: the satellite system, satellite subsystem and other systems are constructed in sequence.
[0072] In this embodiment, the simulation sequence is set to be constructed in the order of satellite systems, satellite subsystems and other systems, so that the simulation process is logically clear and easy to manage. This hierarchical construction sequence helps to ensure that each subsystem is fully considered in the simulation, reducing the possibility of errors and omissions. The model is gradually constructed according to the system level, and verification and testing can be carried out step by step. This step-by-step approach makes it easier to find and solve problems during the development and testing process of different levels of the system. Dividing the simulation process into the construction phase of satellite systems, satellite subsystems and other systems is conducive to modular design. Each stage can be carried out independently, which is convenient for team collaboration and parallel development, and improves the efficiency of the entire simulation process.
[0073] The setting of the simulation order in this embodiment is based on the principle of system hierarchy. The satellite system contains satellite subsystems, and the satellite subsystems contain more detailed models and components. By gradually building according to this hierarchy, the hierarchical nature of the real system is reflected. The setting of the simulation order is usually based on the dependencies and information flows between models. The overall performance of the satellite system may be affected by the satellite subsystems, and the performance of the satellite subsystems may depend on the lower-level components. Building according to dependencies helps to accurately simulate the flow and influence of information. By gradually building according to the system hierarchy, the complexity of the simulation can be better controlled and the efficiency of the simulation can be improved. The simulation of each stage can focus on a specific system level, reducing the complexity of the overall simulation. The process of gradual construction makes it easier to locate the system level where the problem is when a problem occurs. This helps to more accurately locate and solve potential design or performance problems and improves the reliability of system development. Dividing the simulation into different construction stages allows the team to develop different system levels in parallel. This helps to improve development efficiency, especially in large projects, where the development of each subsystem can be carried out independently and the work between different teams can be better coordinated.
[0074] Implementation method 4: See Figure 3 This embodiment further defines the efficient simulation method of a spacecraft system based on a GPU described in Embodiment 1, wherein the orbital dynamics GPU parallel computing model is established, and the spacecraft dynamics simulation results are obtained according to the orbital dynamics GPU parallel computing model, specifically:
[0075] Preprocessing of orbit input parameters on the CPU, including: solving satellite double-line metafiles and orbit parameter conversion;
[0076] Apply for storage space for satellite orbit determination data in GPU memory, and transfer the satellite orbit determination data to GPU memory;
[0077] Apply for storage space for satellite orbit position and velocity data in GPU memory, and transfer the satellite orbit position and velocity data to GPU memory;
[0078] Utilize the multi-core parallel computing capability of GPU to complete the calculation of orbital dynamics by calling the orbital calculation kernel function;
[0079] After the GPU calculation is completed, the calculation results are copied from the GPU video memory to the CPU to complete the parallel calculation.
[0080] In this embodiment, the GPU has more parallel computing cores than the CPU and can process a large amount of data at the same time. The multi-core parallel computing capability of the GPU can greatly accelerate the calculation process of orbital dynamics and improve the simulation efficiency. Storing satellite orbit determination data and orbital position velocity data in the GPU video memory reduces the frequent transmission of data between the CPU and the GPU, and improves the data processing speed and efficiency. The parallel computing capability of the GPU allows the orbit calculation kernel function to process multiple data blocks at the same time, realizes distributed computing and load balancing of tasks, and speeds up the completion speed of the simulation.
[0081] This implementation method first preprocesses the orbit input parameters on the CPU, including solving the satellite double-line metafile and orbit parameter conversion. The processed data is then transferred to the GPU video memory, which helps to prepare for GPU calculation and minimize data transfer time. Storage space is applied in the GPU memory to store satellite orbit determination data and orbit position velocity data. By using the parallel computing capability of the GPU, orbital dynamics calculations are performed on these data by calling the orbit calculation kernel function. The parallel architecture of the GPU enables large-scale calculations to be completed in a more efficient manner. After the calculation is completed, the calculation results are copied from the GPU video memory to the CPU for further processing or output on the CPU. This step ensures the integrity and availability of the calculation results. Using the parallel computing capability of the GPU, the calculation speed of the orbital dynamics simulation is greatly improved, so that complex computing tasks can be completed faster. GPU parallel computing can effectively utilize hardware resources and improve the utilization efficiency of computing resources, thereby completing more computing tasks in the same time. Storing data in the GPU video memory reduces the number of data transmissions between the CPU and the GPU, reduces latency, and improves the overall simulation efficiency and response speed.
[0082] Implementation mode 5: This implementation mode further limits the efficient simulation method of a spacecraft system based on a GPU described in Implementation mode 4. The storage space is applied for the satellite orbit determination data in the GPU video memory, and the satellite orbit determination data is transferred to the GPU memory. Specifically,
[0083] Apply for storage space in GPU memory for satellite orbit determination data;
[0084] Store the satellite's orbit determination data into the GPU memory space;
[0085] Allocate the number of threads according to the data size and hardware limitations, and call the track model initialization function;
[0086] The initialization results are stored in GPU memory, waiting for parallel computing calls.
[0087] This implementation method stores satellite orbit determination data directly in the GPU memory, avoiding repeated CPU-GPU data transfer, saving a lot of transmission time, and improving processing efficiency. According to the data size and hardware limitations, the number of threads is reasonably allocated, and the orbit model initialization function is called on the GPU. This allows the initialization process to be completed quickly under the parallel computing power of the GPU, accelerating the startup and preparation phase of the entire simulation system.
[0088] This implementation method utilizes the characteristics of high-speed parallel access to the GPU video memory by applying for storage space for satellite orbit determination data in the GPU video memory and storing the data directly in the GPU memory. The advantage of this is that the data can be processed inside the GPU, avoiding frequent data transmission between the CPU. According to the data size and hardware limitations, the number of threads is reasonably allocated to ensure that each thread can fully utilize the computing power of the GPU. When calling the orbit model initialization function, these threads can perform initialization operations in parallel, which speeds up the entire process. Storing satellite orbit determination data in the GPU memory avoids frequent data transmission and saves a lot of time. Such optimization can significantly improve the overall efficiency of the simulation system. By utilizing the parallel processing capabilities of the GPU and reasonably allocating the number of threads, hardware resources are utilized to the maximum extent, improving the performance and efficiency of the system. By completing the initialization process on the GPU, the system can be completed faster in the startup and preparation stages, thereby entering the parallel computing stage faster, saving the overall simulation time.
[0089] Implementation 6: This implementation is a further limitation of the GPU-based efficient spacecraft system simulation method described in Implementation 4. The method of applying for storage space for satellite orbit position and velocity data in the GPU video memory and transferring the satellite orbit position and velocity data to the GPU memory is as follows:
[0090] Apply for storage space in the GPU memory for the satellite's orbital position and velocity data;
[0091] Store the satellite orbit position and velocity in GPU space;
[0092] Allocate the number of threads and call the track calculation kernel function according to the number of threads;
[0093] Copy the orbit calculation results from the GPU memory space to the CPU; release all memory requested in the GPU space.
[0094] This implementation method stores the satellite orbital position and velocity data in the GPU video memory, which can give full play to the advantages of GPU parallel computing. The GPU can process multiple data at the same time, so it can perform orbital calculations efficiently, especially in the case of large-scale data. Processing data directly in the GPU video memory avoids frequent CPU-GPU data transmission and improves overall efficiency. Transmission time is usually a bottleneck in the entire calculation process. By performing data operations in the GPU memory, the overhead in this regard can be effectively reduced. By applying for storage space for satellite orbital position and velocity data in the GPU video memory, memory can be managed more flexibly, avoiding excessive occupation of system memory and improving memory utilization. Releasing the memory applied in the GPU space ensures that system resources can be released in time after the simulation process ends, preventing memory leaks, and improving the stability and reliability of the system.
[0095] The present implementation method applies for storage space in the GPU video memory for the satellite orbit position and velocity data, and transfers the data to the GPU memory. This takes advantage of the efficient reading and writing speed of the GPU video memory for large-scale data, and accelerates the data processing process. According to the data size and hardware limitations, the number of threads is allocated, and the orbit calculation kernel function is called according to the number of threads. This makes full use of the parallel computing capability of the GPU, and improves the calculation speed by processing multiple data at the same time. The orbit calculation results are copied from the GPU video memory space to the CPU, so that the calculation results can be obtained after the simulation is completed and subsequent analysis and processing can be carried out. The memory applied for in the GPU space is released to ensure that there will be no memory leaks in the system during use, and the stability of the system is maintained. The parallel computing capability of the GPU is used to accelerate the orbit calculation process, so that the simulation system can process more data in the same time, and the overall calculation speed is improved. By managing data and memory in the GPU video memory, the system's resource utilization efficiency is improved and unnecessary resource waste is reduced. By reducing the CPU-GPU data transmission time, the data processing process is optimized, making the entire simulation system more efficient
[0096] Implementation 7: This implementation is a further limitation of the GPU-based efficient simulation method for a spacecraft system described in Implementation 1. The establishment of a satellite communication payload GPU parallel computing model and obtaining a communication payload simulation result according to the satellite communication payload GPU parallel computing model include:
[0097] Using GPU parallel algorithms, the multi-beam coverage calculation and grid point signal-to-interference ratio calculation are decomposed into independent parts and executed on the GPU;
[0098] The CPU initializes the azimuth and elevation information of each beam and passes the position and attitude information of the satellite platform to the GPU;
[0099] The GPU kernel function performs parallel multi-beam pointing and coverage calculations and transmits the calculation results back to the CPU;
[0100] The CPU generates grid information and then transmits the information back to the GPU. The GPU performs the same-frequency signal-to-interference ratio calculation on each grid point and finally transmits the same-frequency signal-to-interference ratio calculation result back to the CPU.
[0101] This implementation method uses the GPU parallel algorithm to decompose the multi-beam coverage calculation and grid point signal-to-interference ratio calculation into independent parts, and executes them in parallel on the GPU, thereby improving the computing efficiency. The parallel computing capability of the GPU can handle multiple computing tasks at the same time, which significantly improves the calculation speed of the communication load simulation. Data transmission between the CPU and the GPU is only performed when necessary, such as in the initialization and result transfer stages, which reduces the number of data transmissions between the CPU and the GPU, reduces communication overhead, and improves overall efficiency. By decomposing tasks into independent parts and executing them on the GPU, distributed computing of tasks is achieved, giving full play to the parallelism of the GPU, so that the system can better cope with large-scale data and complex computing requirements. After the GPU kernel function executes the parallel multi-beam pointing and coverage calculation work, the calculation results are immediately transmitted back to the CPU, so that the pointing and coverage calculation results of the communication load can be obtained in real time during the simulation process, which is convenient for real-time monitoring and adjustment of system parameters.
[0102] This implementation method uses the GPU parallel algorithm to decompose the entire communication load simulation process into independent parts, such as the coverage calculation of multiple beams and the signal-to-interference ratio calculation of grid points. These independent parts can be executed in parallel on the GPU, making full use of the multi-core parallel computing capabilities of the GPU. The CPU is responsible for initializing the azimuth and pitch angle information of each beam, and passing the position and attitude information of the satellite platform to the GPU. This information is used when the GPU performs calculations. The calculation results are returned to the CPU through data transmission, which is convenient for subsequent processing and analysis. The GPU performs the same-frequency signal-to-interference ratio calculation on each grid point, and uses the parallelism of the GPU to process the calculation of multiple grid points at the same time, thereby improving the calculation efficiency. The calculation results are also processed inside the GPU, reducing the data transmission between the CPU and the CPU. Through the decomposition of tasks and parallel execution on the GPU, a distributed computing strategy is implemented. This helps to better utilize system resources and improve the parallelism and computing efficiency of the entire simulation system. Using the parallel computing capabilities of the GPU, complex communication load simulation tasks are decomposed into independent parts and executed in parallel on the GPU, significantly improving the computing efficiency. The application of the GPU parallel computing model greatly shortens the calculation time of the communication load simulation, which helps to improve real-time performance and operability. By giving full play to the computing power of GPU, resources are more fully utilized, enabling the system to better handle large-scale data and complex computing tasks. The real-time calculation result transmission strategy enables the system to obtain relevant calculation results of communication load in real time during the simulation process, enhancing the real-time and responsiveness of the system.
[0103] Implementation 8. This implementation is a further limitation of the GPU-based efficient simulation method for a spacecraft system described in Implementation 1. The establishment of a satellite navigation payload GPU parallel computing model and the acquisition of navigation payload simulation results according to the satellite navigation payload GPU parallel computing model are specifically as follows:
[0104] The grid division method is used to divide the world into grid points according to longitude and latitude, and the navigation precision factor value of each grid point is calculated independently;
[0105] The CPU transmits the location information of the navigation constellation satellites and the grid point location information to the GPU;
[0106] The GPU receives the information and performs parallel calculation of navigation dilution of precision values of the grid points, and transmits the navigation dilution of precision values back to the CPU to obtain the global navigation dilution of precision.
[0107] This embodiment adopts the GPU parallel computing model, which can process the navigation precision factor calculation tasks of multiple grid points at the same time, significantly improving the computing efficiency. The multi-core architecture of the GPU enables large-scale data to be processed in parallel. By independently calculating the navigation precision factor value of each grid point, the computational coupling between the grid points is reduced, making the model more flexible and convenient for distributed computing and optimization. The method of dividing the longitude and latitude into grid points can more accurately describe the navigation accuracy of various locations around the world, improve the spatial resolution of the simulation, and make the simulation results more realistic and credible. After parallel computing, the GPU immediately transmits the navigation precision factor value back to the CPU, so that the model can obtain the relevant calculation results of the navigation load in real time during the simulation process, enhancing the real-time and responsiveness of the model.
[0108] This implementation method divides the world into grid points according to longitude and latitude, so that the calculation of the navigation precision factor value is performed independently for each grid point. This grid division method can better capture the changes in navigation loads on a global scale. The CPU is responsible for transmitting the location information of the navigation constellation satellite and the location information of the grid points to the GPU. This information is used when the GPU performs calculations. The calculation results are transmitted back to the CPU by data transmission, which is convenient for subsequent processing and analysis. After receiving the location information of the navigation constellation satellite and the location information of the grid points, the GPU performs parallel calculations on the navigation precision factor values of the grid points. Through the parallel computing capability of the GPU, the calculation tasks of multiple grid points are processed at the same time, which improves the calculation efficiency. The GPU immediately transmits the calculated navigation precision factor value back to the CPU, achieving the purpose of obtaining simulation results in real time, which helps to monitor and adjust system parameters in real time. By adopting the GPU parallel computing model and grid division method, efficient calculation of navigation precision factor values on a global scale is achieved, making the simulation results more accurate. Independently calculating the navigation precision factor value of each grid point increases the flexibility of the system and the possibility of distributed computing, and adapts to different simulation requirements and system architectures. The GPU immediately transmits the calculation results back to the CPU, which improves the real-time performance of the simulation, and can respond to changes and make corresponding adjustments more promptly.
[0109] Implementation method nine: A computer-readable storage medium described in this implementation method is used to store a computer program, and the computer program executes a GPU-based spacecraft system efficient simulation method described in any one of implementation methods one to eight.
[0110] Embodiment 10. A computer device described in this embodiment includes a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes a GPU-based spacecraft system efficient simulation method described in any one of embodiments 1 to 8.
[0111] Implementation 11: This implementation provides a specific example for Implementation 1 and is also used to explain Implementation 2 to Implementation 8. Specifically:
[0112] 1. Establish the spacecraft system CPU simulation framework:
[0113] The CPU is used to implement the serial simulation framework of the main functional modules of the spacecraft system simulation, and the orbital dynamics and control model, attitude dynamics and control model, satellite communication payload model, satellite navigation payload model, satellite remote sensing payload model, spacecraft payload pointing and coverage calculation model, etc. are built. These functional models are divided into satellite systems, satellite subsystems and other systems, and the CPU solution order between each module is determined. Figure 1 shown.
[0114] 2. Establishing a GPU parallel computing model for orbital dynamics:
[0115] In order to achieve high-efficiency simulation for giant constellations, based on the system serial implementation process, part of the process needs to be changed to parallel computing. By rewriting the orbit recursion algorithm into a kernel function, the orbit dynamics model is transferred to the GPU and implemented through multi-core parallel computing. The specific process is as follows:
[0116] 1) Orbital input parameter CPU preprocessing: including the solution of satellite double-line metafile; orbit parameter conversion; variable initialization, including the declaration and assignment of parameters for interaction with GPU.
[0117] 2) GPU parallel computing initialization: Apply for storage space for satellite orbit determination data in the GPU video memory; store the satellite orbit determination data in the GPU memory space; allocate the number of threads according to the data size and hardware limitations, and call the orbit model initialization function; store the initialization result in the GPU memory and wait for the parallel computing call.
[0118] 3) GPU parallel computing: Apply for storage space for the satellite's orbital position and velocity data in the GPU memory; store the satellite's orbital position and velocity in the GPU space; allocate the number of threads and call the orbit calculation kernel function according to the number of threads; copy the orbit calculation results from the GPU memory space to the CPU; release all memory applied in the GPU space.
[0119] 4) CPU result acquisition: After the GPU parallel computing track ends, the CPU acquires the computing results and completes the parallel computing.
[0120] The satellite orbit recursive model is established based on GPU / CUDA. The execution process is as follows:
[0121] 1) Apply for storage space for satellite orbit position and velocity data in GPU memory through cudaMalloc function, and store the first address of this part of GPU memory space as a pointer in CPU;
[0122] 2) Use the cudaMemcpy function to store the satellite orbit position and velocity into the GPU memory space applied in the previous step;
[0123] 3) Allocate the number of threads and call the track calculation kernel function according to the number of threads;
[0124] 4) Use the cudaMemcpy function to copy the orbit calculation results from the GPU memory space to the CPU;
[0125] 5) Release all memory applied in GPU space.
[0126] 3. Establish a GPU parallel computing model for satellite communication payloads:
[0127] The calculation of multi-beam coverage area and the calculation of grid point signal-to-interference ratio can be decomposed into a large number of independent parts and executed simultaneously. In the calculation of multi-beam co-frequency interference signal-to-interference ratio, the calculation of multi-beam coverage is independent of each other, and the calculation of grid point signal-to-interference ratio in coverage area is also independent of each other. In theory, as long as there are enough computing units, it can support the simultaneous calculation of signal-to-interference ratio of any number of beams and grid points with any precision. This feature makes it easy to design GPU parallel algorithm for multi-beam co-frequency interference signal-to-interference ratio calculation.
[0128] The multi-beam pointing coverage calculation and grid point signal-to-interference ratio calculation are performed on the GPU device. The CPU is responsible for initializing the azimuth and elevation angle information of each beam from a document. At the same time, the satellite platform's position information and attitude information are passed to the GPU through the CPU, and the parallel multi-beam pointing coverage calculation work is performed on the GPU kernel function. The multi-beam pointing and ground coverage area information is returned to the CPU for storage, completing the multi-beam pointing coverage calculation task. The CPU generates grid information configured with a certain accuracy, and then the CPU returns the satellite platform position, attitude information, grid point information and updated multi-beam pointing information to the GPU, and calculates the same-frequency signal-to-interference ratio at each grid point in parallel, and then returns it to the CPU to complete a multi-beam coverage same-frequency signal-to-interference ratio calculation.
[0129] 4. Establish a GPU parallel computing model for satellite navigation payload:
[0130] For the generation of the global dilution of precision cloud map of space-based navigation, the idea of grid division and value assignment is used to divide the world into several grid points according to longitude and latitude, and the positioning accuracy calculation of each grid point can be performed independently. Therefore, a GPU parallel algorithm for the global dilution of precision cloud map of space-based navigation is designed. The CPU transmits the position information of the navigation constellation satellites and the position information of the grid points to the GPU, and the navigation dilution of precision values of the grid points are calculated in parallel on the GPU and transmitted back to the CPU to obtain the global navigation dilution of precision.
[0131] In this implementation, in order to meet the needs of efficient simulation of giant constellation systems, considering the excellent floating-point computing capability of GPU, the independently computable models in the spacecraft system functional modules are transferred to the GPU / CUDA framework for parallel computing, and a GPU-based efficient simulation method for spacecraft systems is proposed, which includes a GPU parallel computing method for orbital dynamics, a GPU parallel computing method for satellite communication payloads, and a GPU parallel computing method for satellite navigation payloads. Under the same device, the orbit recursion time of 10,000 satellites using GPU parallel computing is reduced by more than 9 times compared with single CPU serial computing. The simulation time of communication payloads and navigation payloads can also meet the requirements of real-time simulation of spacecraft systems, achieving a high efficiency. The specific data are shown in Table 1.
[0132] Table 1 Comparison of CPU / GPU computing efficiency
[0133]
[0134] The above further describes in detail the technical solution provided by the present invention in conjunction with the accompanying drawings in order to highlight the advantages and benefits, and is not intended to be a limitation of the present invention. Any modification, combination of implementation modes, improvement and equivalent substitution of the present invention within the spirit and scope of the present invention shall be included in the protection scope of the present invention.
Claims
1. A GPU-based efficient simulation method for spacecraft systems, characterized in that: The method comprises: Establish a CPU simulation framework for the spacecraft system functional model; Establishing an orbital dynamics GPU parallel computing model, and obtaining spacecraft dynamics simulation results according to the orbital dynamics GPU parallel computing model; Establishing a satellite communication payload GPU parallel computing model, and obtaining a communication payload simulation result according to the satellite communication payload GPU parallel computing model; Establishing a satellite navigation payload GPU parallel computing model, and obtaining navigation payload simulation results according to the satellite navigation payload GPU parallel computing model; Integrate the dynamics simulation results, communication payload simulation results and navigation payload simulation results to analyze the performance of the spacecraft in different missions and environments; The step of establishing an orbital dynamics GPU parallel computing model and obtaining a spacecraft dynamics simulation result according to the orbital dynamics GPU parallel computing model is specifically as follows: Preprocessing of orbit input parameters on the CPU, including: solving satellite double-line metafiles and orbit parameter conversion; Apply for storage space for satellite orbit determination data in GPU memory, and transfer the satellite orbit determination data to GPU memory; Apply for storage space for satellite orbit position and velocity data in GPU memory, and transfer the satellite orbit position and velocity data to GPU memory; Utilize the multi-core parallel computing capability of GPU to complete the calculation of orbital dynamics by calling the orbital calculation kernel function; After the GPU calculation is completed, the calculation results are copied from the GPU memory to the CPU to complete the parallel calculation; The establishing of the satellite communication payload GPU parallel computing model and obtaining the communication payload simulation result according to the satellite communication payload GPU parallel computing model include: Using GPU parallel algorithms, the multi-beam coverage calculation and grid point signal-to-interference ratio calculation are decomposed into independent parts and executed on the GPU; The CPU initializes the azimuth and elevation information of each beam and passes the position and attitude information of the satellite platform to the GPU; The GPU kernel performs parallel multi-beam pointing and coverage calculations and transmits the calculation results back to the CPU; The CPU generates grid information and then transmits the information back to the GPU. The GPU performs the same-frequency signal-to-interference ratio calculation on each grid point and finally transmits the same-frequency signal-to-interference ratio calculation result back to the CPU. The establishing of the satellite navigation payload GPU parallel computing model and obtaining the navigation payload simulation result according to the satellite navigation payload GPU parallel computing model are specifically as follows: The grid division method is used to divide the world into grid points according to longitude and latitude, and the navigation precision factor value of each grid point is calculated independently; The CPU transmits the location information of the navigation constellation satellites and the grid point location information to the GPU; The GPU receives the information and performs parallel calculation of navigation dilution of precision values of the grid points, and transmits the navigation dilution of precision values back to the CPU to obtain the global navigation dilution of precision.
2. The method for efficient simulation of a spacecraft system based on a GPU according to claim 1, characterized in that: The CPU simulation framework for establishing the spacecraft system function model is specifically: Create functional models of orbital dynamics and control model, attitude dynamics and control model, satellite communication payload model, satellite navigation payload model, satellite remote sensing payload model, and spacecraft payload pointing and coverage calculation model; According to the functions of the functional model, it is divided into satellite system, satellite subsystem and other systems; The simulation order of the model is set to complete the construction of the CPU simulation framework.
3. The method for efficient simulation of a spacecraft system based on GPU according to claim 2, characterized in that: The simulation order of setting the model is: the satellite system, satellite subsystem and other systems are constructed in sequence.
4. The method for efficient simulation of a spacecraft system based on a GPU according to claim 1, characterized in that: The step of applying for storage space for the satellite orbit determination data in the GPU memory and transferring the satellite orbit determination data to the GPU memory is as follows: Apply for storage space in GPU memory for satellite orbit determination data; Store the satellite's orbit determination data into the GPU memory space; Allocate the number of threads according to the data size and hardware limitations, and call the track model initialization function; The initialization results are stored in GPU memory, waiting for parallel computing calls.
5. The method for efficient simulation of a spacecraft system based on GPU according to claim 1, characterized in that: The step of applying for storage space for the satellite orbit position and velocity data in the GPU memory and transferring the satellite orbit position and velocity data to the GPU memory is as follows: Apply for storage space in the GPU memory for the satellite's orbital position and velocity data; Store the satellite orbit position and velocity data in GPU space; Allocate the number of threads and call the track calculation kernel function according to the number of threads; Copy the orbit calculation results from the GPU memory space to the CPU; release all memory requested in the GPU space.
6. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and the computer program executes the GPU-based efficient simulation method of a spacecraft system as described in any one of claims 1-5.
7. A computer device, characterized in that: It comprises a memory and a processor, wherein the memory stores a computer program, and when the processor runs the computer program stored in the memory, the processor executes a GPU-based efficient spacecraft system simulation method according to any one of claims 1-5.