A method and apparatus for observability computation for LEO sky survey space telescope
By employing a unified geocentric ecliptic coordinate system and a GPU parallel computing architecture in the LEO survey telescope, the problems of low observability computation efficiency and high storage overhead under multiple constraint couplings were solved, achieving efficient full-time and full-space domain observability computation and storage, and providing high-precision support for observation mission planning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TECH & ENG CENT FOR SPACE UTILIZATION CHINESE ACAD OF SCI
- Filing Date
- 2026-01-23
- Publication Date
- 2026-06-05
AI Technical Summary
The observation process of the LEO survey telescope is subject to multiple constraints. Traditional observability calculation methods suffer from incomplete constraints and low computational efficiency, resulting in huge storage overhead and significant disk I/O latency. They cannot achieve synergistic optimization of observability calculation efficiency and storage overhead in the context of multi-constraint coupling across the entire spatiotemporal domain.
A complete verification system for three types of constraints—optical avoidance angle, energy balance, and communication assurance—is constructed using a unified geocentric ecliptic coordinate system. Combined with a GPU parallel computing architecture with a three-level thread structure (Thread-Block-Grid), the constraints of optical avoidance angle, energy balance, and communication assurance are verified in parallel. A lossless compression algorithm is used to transform a TB-level sky area observability Boolean array into compressed data of index information. With the help of time block index-related storage and a precise target time series reading mechanism, efficient computation and storage are achieved.
It enables efficient computation, storage, and retrieval of the LEO survey telescope's observability across all time and space domains, avoids the risk of constraint omissions, breaks through the efficiency bottleneck of traditional serial computation, significantly reduces memory usage, and provides a high-precision basis for observation mission planning.
Smart Images

Figure CN122152497A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of space astronomical observation and spacecraft mission planning technology, and in particular to a method and apparatus for calculating the observability of the LEO survey telescope. Background Technology
[0002] With the rapid development of space astronomy technology, low Earth orbit (LEO) survey telescopes have become core equipment for capturing wide-area celestial targets and meeting the scientific goals of long-term observation. They need to achieve full sky coverage of ecliptic longitude 0°~360° and ecliptic latitude −90°~90°, and support continuous observations for up to 10 years. However, the observation process of LEO survey telescopes is affected by the coupling of multiple constraints, such as optical avoidance angles (solar, lunar, and terrestrial atmospheric light), energy balance, and communication support. How to accurately calculate the observability of the sky under multiple constraints in the entire spatiotemporal domain has become a key prerequisite for supporting the effectiveness of subsequent observation mission planning.
[0003] The observation process of the LEO survey telescope is subject to multiple constraints, such as optical avoidance angle constraints, energy balance constraints, and communication assurance constraints. Furthermore, the amount of data across the entire spatiotemporal domain is enormous. Traditional observability calculation methods suffer from incomplete constraints and low computational efficiency. Moreover, they fail to effectively process the terabyte-scale Boolean arrays generated by constraint calculations, resulting in huge storage overhead and significant disk I / O latency. Ultimately, this leads to the core technical deficiency of synergistically optimizing the observability calculation efficiency and storage overhead in the context of multi-constraint coupling across the entire spatiotemporal domain. Summary of the Invention
[0004] This invention provides a method and apparatus for calculating the observability of the LEO survey telescope, which enables efficient calculation, storage and retrieval of the observability of the LEO survey telescope in all time and space domains, providing core technical support for the planning of wide-area, long-term space astronomical observation missions.
[0005] To achieve the above objectives, the embodiments of the present invention adopt the following technical solutions: Firstly, a method for observability calculation using the LEO survey telescope is provided, applied to a computing device including a central processing unit (CPU), a graphics processing unit (GPU), and a memory. The method includes: the CPU acquiring and preprocessing basic input data to obtain a standardized constraint calculation dataset; the basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds; the constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple subsets of calculation tasks divided according to the observation time sequence; each subset of calculation tasks corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the LEO survey telescope's observation period according to a preset time interval; each subset of calculation tasks includes constraint calculation tasks for all times and all sky regions within the corresponding time block; based on a parallel architecture of CPU and GPU collaboration, the CPU transmits the constraint calculation dataset to the GPU, which then divides the multiple subsets of calculation tasks to obtain multiple calculation tasks corresponding to each subset. Each task corresponds to one time point and one sky region. The optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint of each computational task are verified in parallel. After all computational tasks within the subset of computational tasks corresponding to any time block are completed, a Boolean array of sky region observability corresponding to that time block is obtained. One row of the Boolean array corresponds to one time point within the time block, and one column corresponds to one sky region. The value of a single element is used to identify whether the combination of the corresponding time point and sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint. The graphics processor sends the Boolean array back to the central processing unit (CPU), which performs lossless compression based on the continuity characteristics of the observable sky region to obtain compressed constraint calculation result data. The compression process involves extracting the start and end indices corresponding to the elements that continuously satisfy the constraints in the Boolean array, forming a compressed array containing only the information of that index. The memory stores the compressed constraint calculation result data in association according to the time block index, forming a full-temporal and spatial domain observability calculation result covering the entire sky region and the entire observation cycle. The calculation result is used for efficient sky region selection and retrieval in the planning of LEO survey telescope observation missions.
[0006] In one possible implementation of the first aspect, the ephemeris data in the basic input data includes the solar position vector, lunar position vector, LEO survey telescope position vector, and relay satellite position vector; the constraint safety thresholds include optical avoidance angle threshold, energy balance threshold, and communication assurance threshold; and the sky region division parameters include ecliptic longitude λ and ecliptic latitude β. The preprocessing process of the central processing unit on the basic input data includes: uniformly transforming the solar position vector, lunar position vector, LEO survey telescope position vector, and relay satellite position vector to the geocentric mean ecliptic coordinate system to obtain a standardized position vector; the standardized position vector includes the LEO survey telescope position vector. Sun position vector Lunar position vector The direction vector of the target sky region is determined based on ecliptic longitude λ and ecliptic latitude β. The formula for determining it is: ); The observation period of the LEO survey telescope is divided according to a preset time interval to generate multiple continuous and non-overlapping time blocks. For each time block, a corresponding standardized position vector, target sky area direction vector and constraint safety threshold are matched to form a subset of computational tasks corresponding to each time block.
[0007] In one possible implementation of the first aspect, for any computational task, the process by which the graphics processor verifies the optical avoidance angle constraint is as follows: obtaining the standardized position vector and the target sky direction vector corresponding to the computational task. Solar avoidance angle threshold θ S Lunar avoidance angle threshold Sunlight avoidance angle threshold in sunny areas Threshold for avoiding ground-to-air-light angle in the shadow area and the Earth's radius parameter R E ; Calculate the angle θ between the sun and the target sky region. S The angle θ between the sun and the target sky region S Greater than or equal to the solar avoidance angle safety threshold Under these conditions, the computation task satisfies the solar avoidance angle constraint, within the angle θ of the target sky region. S Less than the solar avoidance angle safety threshold In this case, the computational task does not meet the solar avoidance angle constraint; The angle θ between the sun and the target sky region S The formula for determining it is: ; Calculate the angle θ between the Moon and the target sky region. M ; The angle θ between the moon and the target sky region M Greater than or equal to the lunar avoidance angle safety threshold Under these conditions, the calculation task satisfies the lunar avoidance angle constraint, at the angle θ between the Moon and the target sky region. M Less than the lunar avoidance angle safety threshold In this case, the computational task does not meet the lunar avoidance angle constraint; The angle between the Moon and the target sky region The formula for determining it is: ; Calculate the angle between the geocentric direction vector and the solar direction vector. and region determination threshold : like If the LEO telescope is in the sunlit region, then it is in the shadow region; otherwise, it is in the ground shadow region.
[0008] Calculate the angle between the target sky region and the tangent direction of the Earth. ; If the LEO telescope is located in a sunlit area, Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; When the LEO survey telescope is located in the Earth's shadow, if Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; The angle between the geocentric direction vector and the solar direction vector The formula for determining it is: ; Region determination threshold The formula for determining it is: ; The angle between the target sky region and the tangent direction of the Earth The formula for determining it is: .
[0009] In one possible implementation of the first aspect, for any computational task, the process by which the graphics processor verifies the energy balance constraint is as follows: obtaining the target sky area direction vector corresponding to the computational task. The angle of rotation of the telescope around the principal optical axis And the energy balance threshold, which includes the range of the windshield's rotation angle. Threshold for effective solar power generation Fixed reference direction vector If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; based on the telescope's rotation angle around the principal optical axis. Calculate the first rotation matrix Using the first rotation matrix With auxiliary vector Perform the calculation to obtain the initial normal vector of the windsurfing board. Construct a rotation axis based on the range of the sail's rotation angle. Combined with the rotating axis Angle of rotation of the windsurfing board Calculate the second rotation matrix Using the second rotation matrix With the initial normal vector Perform the calculation to obtain the normal vector of the windshield. Rotate the windsurfing board at different angles. Take values respectively and The extreme values of the normal direction vector of the solar panel generating surface were calculated respectively. and ;based on and Calculate the normal vector of the plane OAB spanned by the two. Obtain the sun's position vector. Calculate the projection vector of the solar direction vector onto plane OAB. If the projection vector If the magnitude is 0, the computational task does not satisfy the energy balance constraint; if the projection vector If the modulus is not zero, then Normalization yields vectors ; Calculate the minimum angle between sunlight and the effective power generation range. If vector Within ∠AOB, then based on the solar direction vector and Dot product and modulus ratio calculation If vector Outside ∠AOB, the solar direction vector is taken to be respectively... and The smaller value of the included angle is taken as ;exist Less than or equal to the solar panel power generation effectiveness threshold Under these circumstances, the computational task satisfies the energy balance constraint; Greater than the effective threshold of solar panel power generation In this case, the computational task does not meet the energy balance constraint; First rotation matrix The formula for determining it is: ; ; Initial normal vector of the windsurfing board The formula for determining it is: ; Rotation axis The formula for determining it is: ; Second rotation matrix The formula for determining it is: ; ; ; Sailboard normal vector The formula for determining it is: ; Normal vector of plane OAB The formula for determining it is: ; The projection vector of the solar direction vector onto plane OAB The formula for determining it is: ; exist Within, the minimum angle between sunlight and the effective power generation range. The formula for determining it is: ; exist In addition, the minimum angle between sunlight and the effective power generation range. The formula for determining it is: .
[0010] In one possible implementation of the first aspect, for any computational task, the process by which the graphics processor verifies the communication guarantee constraints is as follows: obtaining the target sky area direction vector corresponding to the computational task. The angle of rotation of the telescope around the principal optical axis Relay satellite position vector And communication assurance thresholds, which include the range of antenna rotation angles around the x-axis. Antenna rotation angle range around the z-axis Fixed reference direction vector If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; based on the telescope's rotation angle around the principal optical axis. Calculate the rotation matrix Using rotation matrix With auxiliary vector Perform the calculation to obtain the antenna normal direction vector. Based on the target sky area direction vector With antenna normal direction vector The cross product result and the modulus are used to determine the perpendicularity to and vector ; Target sky area direction vector Directly as parallel to vector ; Calculate the relay satellite position vector respectively Angle with plane OO'F , Angle with plane OO'G ,as well as With antenna normal direction vector The included angle ;exist It is an acute angle, and Less than or equal to the antenna rotation angle threshold around the x-axis ,and Less than or equal to the antenna rotation angle threshold around the z-axis Under the condition that the computation task satisfies the communication guarantee constraint, otherwise the communication guarantee constraint is not satisfied. The formula for determining the auxiliary vector t is: ; Antenna normal direction vector The formula for determining it is: ; vector The formula for determining it is: ; vector The formula for determining it is: ; Relay satellite position vector Angle with plane OO'F The formula for determining it is: ; Relay satellite position vector Angle with plane OO'G The formula for determining it is: ; Relay satellite position vector With antenna normal direction vector The formula for determining the included angle ∠O'OR is: .
[0011] In one possible implementation of the first aspect, the graphics processor is based on Thread-Block. The Grid three-level thread structure splits computational tasks and verifies them in parallel, including: the graphics processor constructs a two-dimensional Grid and a one-dimensional Block. The Grid's gridDim.x is used to map time IDs within the time block, and gridDim.y is used to map sky zone IDs, with the value being the ratio of the total number of sky zones to the maximum number of threads in the Block, rounded up. The Block's blockDim.x is set to the maximum number of threads supported by the computing device. The graphics processor establishes a mapping between threads and computational tasks. A single thread's time ID is blockIdx.x, and its sky zone ID is blockIdx.y × blockDim.x + threadIdx.x. A single thread is used to verify the optical avoidance angle constraints, energy balance constraints, and communication assurance constraints of the corresponding computational task. The graphics processor reads the standardized position vector and constraint safety threshold of the current time into shared memory through a thread within the Block, and then reuses it for threads within the Block after calling thread synchronization instructions. After all threads within the same time block complete constraint verification, the graphics processor summarizes the verification results in order of time as primary and sky zone as secondary, generating a Boolean array of sky zone observability corresponding to that time block.
[0012] In one possible implementation of the first aspect, the lossless compression process of the Boolean array by the central processing unit includes: converting the Boolean array into a one-dimensional Boolean array in the order of time as primary and day as secondary, the length of the one-dimensional Boolean array being equal to the product of the number of time points in the time block and the total number of day areas; traversing the one-dimensional Boolean array, extracting all consecutive segments that satisfy the constraints, recording the start index and end index of each segment to form multiple sets of index pairs; and concatenating the multiple sets of index pairs in the traversal order to generate an N×2-dimensional compressed array containing only index information, thus completing the lossless compression of the Boolean array, where N is the number of consecutive segments that satisfy the constraints.
[0013] In one possible implementation of the first aspect, the parallel architecture of the central processing unit (CPU) and the graphics processing unit (GPU) also includes a CPU multi-threaded flow control mechanism, specifically: the CPU sets up three task queues, namely Queue_CPU which stores a subset of tasks preprocessed by the CPU, Queue_GPU which stores a subset of tasks to be computed by the GPU, and Queue_Compress which stores a boolean array after the GPU has completed its computation; the CPU monitors the length of the three task queues in real time, and when the length of Queue_CPU is greater than or equal to a preset upper limit, it pauses data preprocessing; when the length of Queue_GPU is less than or equal to a preset lower limit, it replenishes the Queue_GPU with a subset of computation tasks; when the length of Queue_Compress is greater than or equal to a preset upper limit, it notifies the GPU to pause the return of the boolean array.
[0014] In one possible implementation of the first aspect, the memory stores compressed constraint calculation results data in association with time block indices. The process includes: assigning a unique time block index to each time block, with each time block index corresponding to a specific observation time series and increasing sequentially according to the observation period; allocating an independent storage path to the compressed constraint calculation results data corresponding to each time block, with the storage path associated with and bound to the time block index to form a mapping relationship between the index and the path; synchronously storing metadata corresponding to the time block when storing the compressed array, the metadata including at least the observation start and end times, the total number of days, and the constraint safety threshold version of the time block; and responding to a user's data retrieval request to read compressed data within a target time series range, locating the corresponding storage path through the time block index to complete the reading of compressed data within the target time series range.
[0015] The beneficial effects of this invention are as follows: The method provided by this invention achieves significant technical advantages through multi-dimensional technological innovation: First, based on a unified geocentric ecliptic coordinate system, it constructs a complete verification system for three types of constraints: optical avoidance angle, energy balance, and communication assurance. This avoids the risk of observation task failure caused by constraint omissions or inconsistencies in coordinate systems, providing a high-precision observability basis for observation task planning. Second, relying on a GPU parallel computing architecture with a Thread-Block-Grid three-level thread structure, combined with a shared memory data reuse design within a Block, it decomposes the constraint calculation tasks for the entire observation cycle and the entire sky area into fine-grained thread tasks, significantly shortening the computation time and breaking through the limitations of traditional methods. Third, by using a lossless compression algorithm that continuously satisfies the constraint fragment index extraction, the TB-level sky area observability Boolean array is transformed into compressed data containing only index information, significantly reducing memory usage. Fourth, by leveraging the time block index-associated storage and target time series precise reading mechanism, combined with CPU multi-threaded flow control to achieve pipelined operation of preprocessing, calculation, and storage, it avoids CPU and GPU idle waste and reduces data IO latency during subsequent observation mission planning. Ultimately, it achieves efficient calculation, storage, and retrieval of LEO survey telescope's all-time and spatial domain observability, providing core technical support for the planning of wide-area, long-time-series space astronomical observation missions.
[0016] Secondly, this invention provides an observability computing device for the LEO survey telescope. The computing device includes a central processing unit (CPU), a graphics processing unit (GPU), and a memory. The CPU acquires basic input data and preprocesses it to obtain a standardized constraint calculation dataset. The basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds. The constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple subsets of calculation tasks divided according to the observation time sequence. Each subset of calculation tasks corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the LEO survey telescope's observation period according to a preset time interval. Each subset of calculation tasks includes constraint calculation tasks for all times and all sky regions within the corresponding time block. Based on a parallel architecture where the CPU and GPU work together, the CPU is used to: transmit the constraint calculation dataset to the GPU; the GPU is used to: divide the multiple subsets of calculation tasks to obtain multiple calculation tasks corresponding to each subset, with each calculation task corresponding to one memory. The system consists of a time block and a sky region. Each computational task is validated in parallel for optical avoidance angle constraints, energy balance constraints, and communication assurance constraints. After all computational tasks within a subset of tasks corresponding to any given time block are completed, a Boolean array of sky region observability for that time block is obtained. Each row of the Boolean array corresponds to a single time point within the time block, and each column corresponds to a single sky region. The value of a single element indicates whether the combination of the corresponding time point and sky region satisfies the optical avoidance angle constraints, energy balance constraints, and communication assurance constraints. The graphics processing unit (GPU) is used to send the Boolean array back to the central processing unit (CPU). The CPU is used to perform lossless compression based on the continuity characteristics of the observable sky region, obtaining compressed constraint calculation results. The compression process involves extracting the start and end indices of consecutively satisfied constraints from the Boolean array, forming a compressed array containing only that index information. A memory is used to store the compressed constraint calculation results data in association with the time block index, forming a full-temporal and spatial observability calculation result covering the entire sky region and the entire observation cycle. The calculation results are used for efficient sky region selection and retrieval in the LEO survey telescope observation mission planning.
[0017] Thirdly, a computer-readable storage medium is provided, including computer instructions that, when executed on a computing device, cause the computing device to perform a method as described in any implementation of the first aspect.
[0018] Fourthly, a computer program product is provided that, when run on a computer, causes the computer to execute the method in any implementation of the first aspect.
[0019] Understandably, the beneficial effects achieved by the system of the second aspect, the computing device of the third aspect, the computer-readable storage medium of the fourth aspect, and the computer program product of the fifth aspect provided above can be referred to with reference to the beneficial effects of the first aspect and any of its possible design embodiments, which will not be repeated here. Attached Figure Description
[0020] Figure 1 A schematic diagram of the structure of a computing device provided in an embodiment of the present invention; Figure 2 A flowchart illustrating a method for calculating the observability of the LEO space telescope, provided as an embodiment of the present invention; Figure 3 A schematic diagram of an optical avoidance angle provided for an embodiment of the present invention; Figure 4 This is a schematic diagram of a solar avoidance angle constraint provided in an embodiment of the present invention; Figure 5 This is a schematic diagram of a lunar avoidance angle constraint provided in an embodiment of the present invention; Figure 6 A schematic diagram of a ground-atmosphere-light avoidance angle constraint provided in an embodiment of the present invention; Figure 7 This is a schematic diagram of the coordinate system of a sky survey telescope provided in an embodiment of the present invention; Figure 8 A schematic diagram of energy balance constraint related vectors provided in an embodiment of the present invention; Figure 9 A schematic diagram of communication guarantee constraints provided in an embodiment of the present invention; Figure 10 This is a schematic diagram of a communication guarantee constraint related vector provided in an embodiment of the present invention; Figure 11 This is a schematic diagram of constraint calculation results provided in an embodiment of the present invention; Figure 12 A flowchart of parallel computing using a central processing unit and a graphics processing unit is provided for an embodiment of the present invention. Detailed Implementation
[0021] The technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings. In the description of the present invention, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. The "or" in the present invention is merely a description of the relationship between the related objects, indicating that three relationships can exist. For example, A or B can represent: A alone, A and B simultaneously, and B alone. A and B can be singular or plural. Furthermore, in the description of the present invention, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.
[0022] Furthermore, to facilitate a clear description of the technical solutions of the embodiments of the present invention, the terms "first" and "second" are used in the embodiments of the present invention to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" are not necessarily different.
[0023] In this embodiment of the invention, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this embodiment of the invention should not be construed as superior or more advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner for ease of understanding.
[0024] With the rapid development of space astronomy technology, low Earth orbit (LEO) survey telescopes have become core equipment for capturing wide-area celestial targets and meeting the scientific goals of long-term observation. They need to achieve full sky coverage of ecliptic longitude 0°~360° and ecliptic latitude −90°~90°, and support continuous observations for up to 10 years. However, the observation process of LEO survey telescopes is affected by the coupling of multiple constraints, such as optical avoidance angles (solar, lunar, and terrestrial atmospheric light), energy balance, and communication support. How to accurately calculate the observability of the sky under multiple constraints in the entire spatiotemporal domain has become a key prerequisite for supporting the effectiveness of subsequent observation mission planning.
[0025] The observation process of the LEO survey telescope is subject to multiple constraints, such as optical avoidance angle constraints, energy balance constraints, and communication assurance constraints. Furthermore, the amount of data across the entire spatiotemporal domain is enormous. Traditional observability calculation methods suffer from incomplete constraints and low computational efficiency. Moreover, they fail to effectively process the terabyte-scale Boolean arrays generated by constraint calculations, resulting in huge storage overhead and significant disk I / O latency. Ultimately, this leads to the core technical deficiency of synergistically optimizing the observability calculation efficiency and storage overhead in the context of multi-constraint coupling across the entire spatiotemporal domain.
[0026] In view of this, embodiments of the present invention provide a method and system for observability calculation using the LEO survey telescope. The method is applied to a computing device, which includes a central processing unit (CPU), a graphics processing unit (GPU), and a memory. The method includes: the CPU acquiring basic input data and preprocessing it to obtain a standardized constraint calculation dataset; the basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds; the constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple subsets of calculation tasks divided according to the observation time sequence; each subset of calculation tasks corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the observation period of the LEO survey telescope according to a preset time interval; each subset of calculation tasks includes constraint calculation tasks for all times and all sky regions within the corresponding time block; based on a parallel architecture of CPU and GPU working together, the CPU transmits the constraint calculation dataset to the GPU, and the GPU divides the multiple subsets of calculation tasks to obtain multiple calculation tasks corresponding to each subset. Each computational task corresponds to one time point and one sky region. The optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint of each computational task are verified in parallel. After all computational tasks within the subset corresponding to any time block are completed, a Boolean array of sky region observability corresponding to that time block is obtained. One row of the Boolean array corresponds to one time point within the time block, and one column corresponds to one sky region. The value of a single element is used to identify whether the combination of the corresponding time point and sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint. The graphics processor sends the Boolean array back to the central processing unit (CPU), which performs lossless compression based on the continuity characteristics of the observable sky region to obtain compressed constraint calculation results. The compression process involves extracting the start and end indices corresponding to consecutively satisfied elements in the Boolean array, forming a compressed array containing only that index information. The memory stores the compressed constraint calculation results data in association with the time block indices, forming a full-temporal and spatial observability calculation result covering the entire sky region and the entire observation cycle. The calculation results are used for efficient sky region selection and retrieval in the LEO survey telescope observation mission planning.
[0027] The method provided by this invention achieves significant technical advantages through multi-dimensional technological innovation: First, based on a unified geocentric ecliptic coordinate system, it constructs a complete verification system for three types of constraints: optical avoidance angle, energy balance, and communication assurance. This avoids the risk of observation task failure caused by constraint omissions or coordinate system inconsistencies in traditional methods, providing a high-precision observability basis for observation task planning. Second, relying on a GPU parallel computing architecture with a Thread-Block-Grid three-level thread structure, combined with a shared memory data reuse design within blocks, it decomposes the constraint calculation tasks for the entire observation cycle and the entire sky area into fine-grained thread tasks, significantly shortening the computation time and breaking through the limitations of traditional serial methods. The computational efficiency bottleneck is addressed. Thirdly, a lossless compression algorithm that continuously satisfies constraint fragment index extraction transforms the TB-level sky observability Boolean array into compressed data containing only index information, significantly reducing memory usage. Fourthly, by leveraging the time block index-associated storage and target time series precise reading mechanism, combined with CPU multi-threaded flow control to achieve pipelined operation of preprocessing, computation, and storage, both CPU and GPU idle waste are avoided, and data IO latency during subsequent observation mission planning is reduced. Ultimately, efficient computation, storage, and retrieval of LEO survey telescope's all-time and spatial domain observability are achieved, providing core technical support for the planning of wide-area, long-time-series space astronomical observation missions.
[0028] In some embodiments, the observability calculation method for the LEO survey space telescope provided in this invention can be executed by an observability calculation device 100 (hereinafter referred to as calculation device 100) for the LEO survey space telescope.
[0029] As an example, computing device 100 can be any device with data processing capabilities, such as a general-purpose computer, personal computer, laptop computer, switch, or tablet computer. The specific implementation of computing device 100 is not limited here.
[0030] Figure 1 A schematic diagram of the hardware structure of a computing device provided in an embodiment of the present invention is shown. The computing device 100 includes a central processing unit 110, a graphics processing unit 120, and a memory 130. The central processing unit 110 acquires basic input data and performs preprocessing to obtain a standardized constraint calculation dataset. The basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds. The constraint calculation dataset consists of position vectors and target sky region direction vectors in a unified geocentric ecliptic coordinate system, as well as multiple calculation task subsets divided according to the observation time sequence. Each calculation task subset corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the observation period of the LEO survey telescope according to a preset time interval. Each calculation task subset includes constraint calculation tasks for all times and all sky regions within the corresponding time block. Based on the parallel architecture of the central processing unit 110 and the graphics processing unit 120, the central processing unit 110 is used to: transmit the constraint calculation dataset to the graphics processing unit 120; the graphics processing unit 120 is used to: split multiple subsets of calculation tasks to obtain multiple calculation tasks corresponding to each subset, each calculation task corresponding to one time point and one sky region; verify the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint of each calculation task in parallel; after all calculation tasks in the subset of calculation tasks corresponding to any time block are completed, obtain the observability Boolean array of the sky region corresponding to the time block; one row of the Boolean array corresponds to one time point in the time block, one column corresponds to one sky region, and the value of a single element is used to identify whether the combination of the corresponding one time point and one sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint; The graphics processor 120 is used to: send the Boolean array back to the central processing unit 110. The central processing unit 110 is used to: perform lossless compression on the array based on the continuity characteristics of the observable sky area to obtain the compressed constraint calculation result data. The compression process involves extracting the start and end indices of the elements that continuously satisfy the constraints in the Boolean array to form a compressed array containing only the information of that index. The memory 130 is used to store the compressed constraint calculation results data in association according to the time block index, forming a full-time and full-space domain observability calculation result covering the entire sky area and the entire observation cycle. The calculation result is used for efficient sky area selection and retrieval in the LEO survey telescope observation mission planning.
[0031] In physical implementation, the aforementioned devices (such as the central processing unit 110, the graphics processing unit 120, and the memory 130) can each be devices within the same device (such as a laptop computer). Alternatively, at least two of these devices can be housed within the same device, i.e., as different devices within a single device, similar to the deployment of devices or components in a distributed system.
[0032] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the computing device 100. In other embodiments of the present invention, the computing device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0033] The following description, in conjunction with the accompanying drawings, illustrates an observability calculation method for the LEO space telescope provided by an embodiment of the present invention.
[0034] Figure 2 This is a flowchart illustrating a method for calculating the observability of the LEO space telescope, provided as an embodiment of the present invention. Optionally, this method can be... Figure 1The computing device 100 shown performs this operation. The method may include the following steps: S1. The central processing unit acquires basic input data and performs preprocessing to obtain a standardized constraint calculation dataset.
[0035] Specifically, the basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds. The constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple calculation task subsets divided according to the observation time sequence. Each calculation task subset corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the observation period of the LEO survey telescope according to a preset time interval. Each calculation task subset includes constraint calculation tasks for all times and all sky regions within the corresponding time block.
[0036] In some embodiments, the ephemeris data in the basic input data includes the solar position vector, the lunar position vector, the LEO survey telescope position vector, and the relay satellite position vector; the constraint safety thresholds include the optical avoidance angle threshold, the energy balance threshold, and the communication guarantee threshold; and the sky region division parameters include ecliptic longitude λ and ecliptic latitude β. Furthermore, the preprocessing of the basic input data by the central processing unit includes: The position vectors of the Sun, Moon, LEO survey telescope, and relay satellite were uniformly transformed to the geocentric ecliptic coordinate system to obtain standardized position vectors; the standardized position vectors include the LEO survey telescope position vector. Sun position vector Lunar position vector ; Determine the direction vector of the target sky region based on ecliptic longitude λ and ecliptic latitude β; Target sky area direction vector The formula for determining it is: ); The observation period of the LEO survey telescope is divided according to a preset time interval to generate multiple continuous and non-overlapping time blocks. For each time block, a corresponding standardized position vector, target sky area direction vector and constraint safety threshold are matched to form a subset of computational tasks corresponding to each time block.
[0037] S2. Based on a parallel architecture where the central processing unit (CPU) and graphics processing unit (GPU) work together, the CPU transfers the constraint calculation dataset to the GPU.
[0038] S3. The graphics processor splits multiple subsets of computing tasks to obtain multiple computing tasks corresponding to each subset of computing tasks. Each computing task corresponds to one time period and one sky region.
[0039] S4. Parallel verification of the optical avoidance angle constraints, energy balance constraints, and communication guarantee constraints for each computation task. After all computation tasks in the subset of computation tasks corresponding to any time block are completed, the Boolean array of sky observability corresponding to the time block is obtained.
[0040] In this array, one row corresponds to one moment in the time block, one column corresponds to one sky region, and the value of a single element is used to identify whether the combination of the corresponding moment and sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint. In some embodiments, such as Figure 3 As shown, the core purpose of optical avoidance angle constraints is to avoid strong light interference from the sun, moon, and Earth's atmospheric light. The optical avoidance angle is the minimum safe angle between the strong light source target and the sky region of the target to be observed.
[0041] For any computational task, the process by which the graphics processor verifies the optical avoidance angle constraint is as follows: Obtain the standardized position vector and target sky area orientation vector corresponding to the computation task. Solar avoidance angle threshold θ S Lunar avoidance angle threshold Sunlight avoidance angle threshold in sunny areas Threshold for avoiding ground-to-air-light angle in the shadow area and the Earth's radius parameter R E ; Calculate the angle θ between the sun and the target sky region. S ; The angle θ between the sun and the target sky region S Greater than or equal to the solar avoidance angle safety threshold Under these conditions, the computation task satisfies the solar avoidance angle constraint, within the angle θ of the target sky region. S Less than the solar avoidance angle safety threshold In this case, the computational task does not meet the solar avoidance angle constraint; The angle θ between the sun and the target sky region S The formula for determining it is: ; Calculate the angle θ between the Moon and the target sky region. M ; The angle θ between the moon and the target sky region M Greater than or equal to the lunar avoidance angle safety threshold Under these conditions, the computational task satisfies the lunar avoidance angle constraint, at the angle θ between the Moon and the target sky region. M Less than the lunar avoidance angle safety threshold In this case, the computational task does not meet the lunar avoidance angle constraint; For example, see Figure 4 , Figure 4 This is a schematic diagram illustrating a solar avoidance angle constraint provided in an embodiment of the present invention. The method provided by the present invention uses input parameters (telescope position vector) Sun position vector Target sky area direction vector and solar avoidance angle safety threshold Calculate the angle between the sun and the target sky region. ,like If the solar avoidance angle constraint is satisfied, then the constraint is not satisfied.
[0042] The angle between the Moon and the target sky region The formula for determining it is: ; Calculate the angle between the geocentric direction vector and the solar direction vector. and region determination threshold : like If the LEO telescope is in the sunlit region, then it is in the shadow region; otherwise, it is in the ground shadow region.
[0043] Calculate the angle between the target sky region and the tangent direction of the Earth. ; If the LEO telescope is located in a sunlit area, Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; When the LEO survey telescope is located in the Earth's shadow, if Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; For example, see Figure 5 , Figure 5 This is a schematic diagram of a lunar avoidance angle constraint provided in an embodiment of the present invention. It should be noted that the calculation logic for the lunar avoidance angle constraint is the same as that for the solar avoidance angle constraint; only the light source parameters need to be replaced. Furthermore, the input parameter is: telescope position vector. Lunar position vector Target sky area direction vector Lunar avoidance angle safety threshold Calculate the angle between the Moon and the target sky region. ,like The lunar avoidance angle constraint must be met; otherwise, it will not be met.
[0044] The angle between the geocentric direction vector and the solar direction vector The formula for determining it is: ; Region determination threshold The formula for determining it is: ; The angle between the target sky region and the tangent direction of the Earth The formula for determining it is: .
[0045] For example, see Figure 6 , Figure 6 This is a schematic diagram illustrating the ground-atmosphere light avoidance angle constraint provided in an embodiment of the present invention. Ground-atmosphere light interference is related to whether the telescope is located in the sunlit or shadowed area, and needs to be determined on a scene-by-scene basis. The input parameter is: telescope position vector. Sun position vector Target sky area direction vector Earth's radius Safety threshold for ground-atmosphere-light avoidance angle in sunny areas Safety threshold for avoiding ground-to-air-light angle in the shadow area First, determine the area where the telescope is located (sunlit area / shadow area), then calculate the angle between the geocentric direction vector and the solar direction vector. and region determination threshold ,like The telescope is located in the sunlit area if it is in direct sunlight, and in the shadow area otherwise. Next, calculate the angle between the target sky region and the tangent direction of the Earth. In the case of sunny areas, if The ground-atmosphere light avoidance angle constraint must be met; otherwise, it is not. In the case of the ground shadow area, if... It must satisfy the ground-atmosphere-light avoidance angle constraint; otherwise, it will not be satisfied.
[0046] In other embodiments, for any given computational task, the process by which the graphics processor verifies the energy balance constraints is as follows: Obtain the target sky area direction vector corresponding to the computation task. The angle of rotation of the telescope around the principal optical axis And the energy balance threshold, which includes the range of the windshield's rotation angle. Threshold for effective solar power generation Fixed reference direction vector ; If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; Based on the telescope's rotation angle around the principal optical axis Calculate the first rotation matrix Using the first rotation matrix With auxiliary vector Perform the calculation to obtain the initial normal vector of the windsurfing board. ; A rotation axis is constructed based on the range of the windsurfing's rotation angle. Combined with the rotating axis Angle of rotation of the windsurfing board Calculate the second rotation matrix ; Using the second rotation matrix With the initial normal vector Perform the calculation to obtain the normal vector of the windshield. Rotate the windsurfing board at different angles. Take values respectively and The extreme values of the normal direction vector of the solar panel generating surface were calculated respectively. and ; based on and Calculate the normal vector of the plane OAB spanned by the two. ; Obtain the sun's position vector Calculate the projection vector of the solar direction vector onto plane OAB. If the projection vector If the modulus is 0, then the computation task does not satisfy the energy balance constraint; If the projection vector If the modulus is not zero, then Normalization yields vectors ; Calculate the minimum angle between sunlight and the effective power generation range. If vector Within ∠AOB, then based on the solar direction vector and Dot product and modulus ratio calculation If vector Outside of ∠AOB, the solar direction vector is taken to be respectively... and The smaller value of the included angle is taken as ;exist Less than or equal to the solar panel power generation effectiveness threshold Under these circumstances, the computational task satisfies the energy balance constraint; Greater than the effective threshold of solar panel power generation In this case, the computational task does not meet the energy balance constraint; First rotation matrix The formula for determining it is: ; ; Initial normal vector of the windsurfing board The formula for determining it is: ; Rotation axis The formula for determining it is: ; Second rotation matrix The formula for determining it is: ; ; ; ; Sailboard normal vector The formula for determining it is: ; Normal vector of plane OAB The formula for determining it is: ; The projection vector of the solar direction vector onto plane OAB The formula for determining it is: ; exist Within, the minimum angle between sunlight and the effective power generation range. The formula for determining it is: ; exist In addition, the minimum angle between sunlight and the effective power generation range. The formula for determining it is: .
[0047] It's important to note that the core of the energy balance constraint is ensuring that the solar panels generate enough power to meet the load's power consumption when the LEO telescope is in a sunlit area. The energy balance constraint can be simplified as follows: when the LEO telescope is in a sunlit area, its solar panels must be in an attitude that allows for effective power generation. The basic settings are: telescope body coordinate system: The axis is the principal optical axis of the telescope. The shaft is the rotating shaft for solar panels. The positive axis direction is the normal direction of the solar panel's power generation surface (see [reference]). Figure 7 (Schematic diagram of the LEO survey telescope's body coordinate system); Sail motion characteristics: only around... The axis rotates, and the rotation angle range is... Default state and Axis parallelism; Power generation effectiveness threshold: The angle between the solar vector and the opposite direction of the normal to the solar panel's power generation surface must be less than or equal to... .
[0048] Furthermore, the essence of energy balance constraints is determining whether the solar radiation vector falls within the effective power generation range that the solar panel can cover. This requires calculating the extreme value of the solar panel normal through two rotations, and then analyzing the projected position of the solar radiation vector. See also Figure 8 A schematic diagram of energy balance constraint related vectors. When the solar panel rotates at an angle of... At that time, let the normal direction vector of the current solar panel generating surface be... When the solar panel rotates at an angle of... At that time, let the normal direction vector of the current solar panel generating surface be... When the telescope's attitude remains constant, as the solar panel rotates, the vector of the normal direction of the solar panel's power-generating surface can only be... and Zhang Cheng's Plane In the middle, and can only fall on and In the middle. Therefore, the energy balance constraint is transformed into the following mathematical problem: if the solar vector is in the plane The projection falls on and In the middle, it is only necessary to calculate the relationship between the solar vector and the plane. The included angle ,Compare and The size; if the sunlight vector is on the plane The projection falls on and Outside, the solar vector and... and The angle between the two sides is compared, and the smaller value of the angle is compared with the smaller value of the angle. Size.
[0049] For example, the input parameter is: target sky area target vector. PA angle (the angle at which the telescope rotates around its principal optical axis) The calculation process is as follows: First, calculate the auxiliary vector, assuming a fixed reference direction. auxiliary vector Then, the first rotation (rotation around the principal optical axis) is performed. ),set up Its oblique symmetric matrix for: Then the rotation matrix for: The initial normal vector is obtained after rotation. : Then perform a second rotation (rotation around the windsurfing axis). ,and ), Rotation axis : set up Its oblique symmetric matrix for: Then the rotation matrix for: Final normal vector for: Next, we perform extreme values of the windsurf normal and plane calculations: extreme values and Substituting into the formula, we can obtain the extreme value of the normal direction vector of the solar panel's power generation surface. and .but and Zhang Cheng's Plane normal vector : Then, the projection of the sunlight vector and the included angle are calculated: The direction of the sun on the plane Projection vector on : like That is, the solar direction vector and the plane Vertical, then This clearly does not meet the energy balance constraint; like Then normalized projection Then, calculate the minimum angle between sunlight and the effective power generation range for each scenario. : when exist within, that is : when exist Outside, Pick and Minimum value: Finally, constraint determination is performed: like If the energy balance constraint is met, then the energy balance constraint is satisfied; otherwise, it is not.
[0050] In some other embodiments, for any computational task, the process by which the graphics processor verifies communication guarantee constraints is as follows: Obtain the target sky area direction vector corresponding to the computation task. The angle of rotation of the telescope around the principal optical axis Relay satellite position vector And communication assurance thresholds, which include the range of antenna rotation angles around the x-axis. Antenna rotation angle range around the z-axis Fixed reference direction vector ; If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; Based on the telescope's rotation angle around the principal optical axis Calculate the rotation matrix Using rotation matrix With auxiliary vector Perform the calculation to obtain the antenna normal direction vector. ; Based on the direction vector of the target sky area With antenna normal direction vector The cross product result and the modulus are used to determine the perpendicularity to and vector ; Target sky area direction vector Directly as parallel to vector ; Calculate the relay satellite position vector respectively Angle with plane OO'F , Angle with plane OO'G ,as well as With antenna normal direction vector The included angle ; exist It is an acute angle, and Less than or equal to the antenna rotation angle threshold around the x-axis ,and Less than or equal to the antenna rotation angle threshold around the z-axis Under the condition that the computation task satisfies the communication guarantee constraint, otherwise the communication guarantee constraint is not satisfied. The formula for determining the auxiliary vector t is: ; Antenna normal direction vector The formula for determining it is: ; vector The formula for determining it is: ; vector The formula for determining it is: ; Relay satellite position vector Angle with plane OO'F The formula for determining it is: ; Relay satellite position vector Angle with plane OO'G The formula for determining it is: ; Relay satellite position vector With antenna normal direction vector The formula for determining the included angle ∠O'OR is: .
[0051] It should be noted that the LEO survey telescope generates a large amount of observational data daily, therefore, timely downlink data transmission is necessary. During the downlink period, the LEO survey telescope must maintain the correct antenna and relay satellite attitude for link establishment. The basic settings are as follows: the LEO survey telescope's antenna arrangement is as follows... Figure 9 As shown, the rotatable area of the antenna is a square pyramid, and its orientation in its natural state is relative to the LEO survey telescope's body coordinate system. Positive axis direction. Antenna rotation. The range of axis rotation angles is , around The range of rotation angles of the axis is In other words, the area where the antenna can rotate is a "square pyramid" shape. If the relay star's direction vector falls within the "square pyramid" area where the antenna rotates, then the current attitude is considered to satisfy the communication guarantee constraint. Therefore, the calculation of the communication guarantee constraint is transformed into calculating the angle between the relay star's direction vector and the XOY and YOZ planes. The input parameter is: the target vector of the target sky area. PA angle (the angle at which the telescope rotates around its principal optical axis) The position vector of the relay star is .
[0052] The specific calculation process is as follows: Let the fixed reference direction be ,like Figure 10 As shown, let the body coordinate system be... The positive direction of the axis is The midpoints of the four edges of the base of the "square pyramid" in the antenna rotation area are... , , and .
[0053] Auxiliary vector : Antenna normal direction (body coordinate system) Rotation of the axis around the principal optical axis (The direction after) set up Its oblique symmetric matrix for: Then the rotation matrix for: After rotation, the result is Direction vector : Calculation of key vectors for the quadrangular pyramid region: vector (perpendicular to) and ): vector (parallel to) ): Angle calculation and constraint determination: The antenna's rotation area is a "square pyramid" shape, thus transforming into the following mathematical problem: vector With plane The included angle is less than or equal to ; vector With plane The included angle is less than or equal to ; vector with vector The included angle is an acute angle.
[0054] The specific calculations are as follows: Let vector With plane The included angle is ,vector With plane The included angle is ,but and The calculation is as follows: vector with vector The included angle : Judgment rule: If both conditions are met simultaneously , and If the condition is met, the communication guarantee constraint is satisfied; otherwise, it is not.
[0055] In one possible implementation, the graphics processor (GPU) splits computational tasks and performs parallel verification based on a three-tiered thread-Block-Grid structure, including: The graphics processor constructs a two-dimensional Grid and a one-dimensional Block. The grid's gridDim.x is used to map the time ID within the time block, and the gridDim.y is used to map the sky area ID and is taken as the ratio of the total number of sky areas to the maximum number of threads in the Block, rounded up. The block's blockDim.x is set to the maximum number of threads supported by the computing device. The graphics processor establishes a mapping between threads and computing tasks. The time ID of a single thread is blockIdx.x, and the sky zone ID is blockIdx.y×blockDim.x + threadIdx.x. A single thread is used to verify the optical avoidance angle constraints, energy balance constraints, and communication guarantee constraints of the corresponding computing task. The graphics processor reads the standardized position vector and constraint safety threshold at the current moment into shared memory through the bootstrap thread within the block, and then makes them available for reuse by threads within the block after calling thread synchronization instructions; After all threads of the graphics processor complete constraint verification within the same time block, the verification results are summarized in order of time as primary and sky region as secondary, and a Boolean array of sky region observability corresponding to that time block is generated.
[0056] In one possible implementation, the parallel architecture of the central processing unit and the graphics processing unit (GPU) also includes a CPU multi-threaded flow control mechanism, specifically including: The central processing unit (CPU) sets up three task queues: Queue_CPU, which stores a subset of tasks preprocessed by the CPU; Queue_GPU, which stores a subset of tasks to be computed by the GPU; and Queue_Compress, which stores a boolean array after the GPU has completed its computations. The CPU monitors the lengths of the three task queues in real time. When the length of Queue_CPU is greater than or equal to a preset upper limit, data preprocessing is paused. When the length of Queue_GPU is less than or equal to a preset lower limit, a subset of computation tasks is added to Queue_GPU. When the length of Queue_Compress is greater than or equal to a preset upper limit, the GPU is notified to pause the transmission of the boolean array.
[0057] S5. The graphics processor sends the Boolean array back to the central processing unit (CPU), which performs lossless compression based on the continuity characteristics of the observable sky area to obtain the compressed constraint calculation results data.
[0058] Specifically, the compression process involves extracting the start and end indices of consecutive elements that satisfy the constraints in a Boolean array, forming a compressed array that contains only the information of those indices. In some embodiments, the lossless compression process of a Boolean array by a central processing unit includes: The Boolean array is converted into a one-dimensional Boolean array in the order of time as primary and day as secondary. The length of the one-dimensional Boolean array is equal to the product of the number of time points in the time block and the total number of day areas. The one-dimensional Boolean array is traversed to extract all consecutive segments that satisfy the constraints. The start index and end index of each segment are recorded to form multiple sets of index pairs. The multiple sets of index pairs are concatenated in the traversal order to generate an N×2-dimensional compressed array containing only index information, thus completing the lossless compression of the Boolean array, where N is the number of consecutive segments that satisfy the constraints.
[0059] To facilitate understanding of this solution, the following example further explains the lossless compression process of Boolean arrays by the central processing unit provided in this embodiment of the invention.
[0060] For example, for large-scale Boolean arrays (used to identify the visibility status of the sky area) generated in complex constraint calculations, this invention first achieves lossless data compression through interval coding technology to reduce storage occupation and data transmission overhead; then, it quickly recovers the original data through a parallel decompression algorithm.
[0061] The results of constraint calculations are several large-scale two-dimensional Boolean arrays. Each row of the array corresponds to the observability state of the entire sky region at a given moment, with the corresponding moments in each row distributed at equal intervals. Each column corresponds to the observability state of a complete time series for a specific small sky region. In a typical application scenario, a single constraint calculation on a LEO survey telescope generates a Boolean array with dimensions of 20,000 rows × 600,000 columns, containing 20,000 moments and 600,000 small sky regions. A single Boolean value occupies 1 byte in memory by default, resulting in a single Boolean array occupying approximately 11.18 GB of memory. When stored on disk, a single Boolean value occupies 1 bit, resulting in a single Boolean array occupying approximately 1.40 GB of disk space. Since a single constraint calculation needs to cover different time spans, hundreds to thousands of Boolean arrays of this size will be generated, with the total disk file size reaching terabytes. This will lead to excessively long write times when writing the calculation results to disk and significant delays when reading data for subsequent observation missions. Therefore, efficient compression and decompression algorithms are urgently needed to address the storage and I / O bottlenecks.
[0062] See Figure 11 , Figure 11 This diagram illustrates a constraint calculation result provided in an embodiment of this application. The yellow area represents the observable sky region at the current moment, and the white area represents the unobservable sky region at the current moment. It can be seen that the True values (indicating observability) in the Boolean array are mostly continuously distributed, and the proportion of False values (indicating unobservability) is much higher than that of True values. Based on this characteristic, this invention only stores the "start and end indexes of continuous True values" in a single array, which can greatly reduce the disk space occupied by the constraint calculation result file; during decompression, it is only necessary to first initialize the all-False array, and then restore the True values by locating them through the indexes, thus quickly restoring the original data.
[0063] Furthermore, the lossless compression algorithm for Boolean arrays provided in this embodiment of the invention is as follows: for a two-dimensional Boolean array generated by constraint calculation (with dimension set to...) OK, (Column), data compression is achieved by extracting continuous True value intervals. The specific steps are as follows: Convert the two-dimensional Boolean array into a one-dimensional Boolean array arr in time-day order. The length of the resulting one-dimensional Boolean array is... Iterate through the one-dimensional array `arr`, recording the start and end indices of all consecutive True values, forming interval start and end index pairs [start, end]; concatenate multiple start and end index pairs in traversal order to form... two-dimensional compressed array ranges ( (This represents the number of consecutive True intervals), with each row storing the start and end indexes of a single consecutive interval.
[0064] Optionally, the method provided in this embodiment of the invention further includes a lossless decompression algorithm for the Boolean array, specifically: reading an N×2 compressed array `ranges` from a specified file path; creating a one-dimensional Boolean array `arr` of length `rows×cols`, initially setting all values to False; starting multiple threads to traverse the N intervals in `ranges` in parallel, with each thread processing one interval, extracting [start, end], and then batch setting the elements in the corresponding index range of the one-dimensional array `arr` to True; reshaping the processed one-dimensional array `arr` into a two-dimensional array with `rows` rows and `cols` columns, obtaining a Boolean array consistent with the original constraint calculation result. Alternatively, it can be understood as: performing the decompression operation on the constraint calculation result data obtained after lossless compression of the sky region observability Boolean array as described above, following the reverse steps, to obtain the sky region observability Boolean array.
[0065] S6. The memory stores the compressed constraint calculation results data in association according to the time block index, forming a full-time and full-space domain observability calculation result covering the entire sky area and the entire observation cycle. The calculation result is used for efficient sky area selection and retrieval in the LEO survey telescope observation mission planning.
[0066] In some embodiments, the memory stores compressed constraint calculation result data in association with time block indices. The process includes: assigning a unique time block index to each time block, with each time block index corresponding to a specific observation time series and increasing sequentially according to the observation period; allocating an independent storage path to the compressed constraint calculation result data corresponding to each time block, with the storage path associated with and bound to the time block index to form a mapping relationship between the index and the path; synchronously storing metadata corresponding to the time block when storing the compressed array, the metadata including at least the observation start and end times, the total number of days, and the constraint safety threshold version of the time block; and responding to a user's data retrieval request to read compressed data within a target time series range, locating the corresponding storage path through the time block index to complete the reading of compressed data within the target time series range.
[0067] As shown in S1-S6, the method provided by this invention achieves significant technical advantages through multi-dimensional technological innovation: First, based on a unified geocentric ecliptic coordinate system, it constructs a complete verification system for three types of constraints: optical avoidance angle, energy balance, and communication assurance. This avoids the risk of observation task failure caused by constraint omissions or inconsistencies in coordinate systems, providing a high-precision observability basis for observation task planning. Second, relying on a GPU parallel computing architecture with a three-level thread structure (Thread-Block-Grid) and combined with a shared memory data reuse design within blocks, it decomposes the constraint calculation tasks for the entire observation cycle and the entire sky area into fine-grained thread tasks, significantly reducing computation time. Third, by using a lossless compression algorithm that continuously satisfies the constraint fragment index extraction, the TB-level sky area observability Boolean array is transformed into compressed data containing only index information, significantly reducing memory usage. Fourth, by leveraging the time block index-associated storage and target time series precise reading mechanism, combined with CPU multi-threaded flow control to achieve pipelined operation of preprocessing, calculation, and storage, it avoids CPU and GPU idle waste and reduces data IO latency during subsequent observation mission planning. Ultimately, it achieves efficient calculation, storage, and retrieval of LEO survey telescope's all-time and spatial domain observability, providing core technical support for the planning of wide-area, long-time-series space astronomical observation missions.
[0068] For a better understanding of this solution, please refer to [link / reference]. Figure 12The following example illustrates the parallel architecture of the Central Processing Unit (hereinafter referred to as CPU) and Graphics Processing Unit (hereinafter referred to as GPU) provided by this invention. First, the CPU uses three core threads to handle I / O-intensive tasks, preventing the GPU from being idle while waiting for data or storing results. Specifically: Data Loading and Preprocessing Thread: Employing a buffer preloading mechanism, the CPU preloads the required solar system ephemeris, relay star ephemeris, and other file data and configuration parameters for the next time block from the hard disk into memory, avoiding GPU waiting for data. Simultaneously, it pre-calculates vectors such as T in sub-blocks, reusing them for constraint calculations across all time blocks, reducing redundant calculations. After preprocessing, the data block is added to the queue Queue_CPU. Constraint Calculation Result Compression Thread: Reads the original boolean array from the queue Queue_GPU (the queue where the GPU transfers calculation results to the CPU), calls a data compression algorithm to compress the data, and adds the compressed array to the queue Queue_compressed, awaiting storage. The compression result file storage thread allocates unique storage paths based on time block indices, distributing compressed data in the Queue_compressed queue across multiple disks to avoid I / O bottlenecks on a single disk. Flow control mechanism: Real-time monitoring of the lengths of the Queue_CPU, Queue_GPU, and Queue_compressed queues prevents memory overflow. When the queue length exceeds a threshold, constraint calculations or data I / O are paused to prevent CPU / memory overflow; when the queue length falls below the threshold, data transmission resumes, ensuring continuous pipeline operation.
[0069] Secondly, regarding the GPU constraint parallel computing process, it is implemented based on the CUDA architecture. Through underlying CUDA thread optimization, memory hierarchical utilization, and asynchronous execution mechanisms, it efficiently utilizes GPU hardware resources to complete parallel constraint computing tasks. The core process is as follows: the GPU reads data blocks from the queue Queue_CPU and copies them to the GPU's global memory. The constraint calculation is then processed in batches by the CUDA core (a single thread is responsible for the constraint determination of one "time-day zone"). After the calculation is completed, the results are transmitted to the queue Queue_GPU.
[0070] The following details the underlying aspects of CUDA: First, the core of GPU parallelism is to decompose the constraint calculations over long time spans and massive sky regions into fine-grained thread tasks. A one-to-one mapping is achieved through a three-level structure of Thread-Block-Grid, ensuring that each thread is responsible for only one type of constraint calculation for a single "time-sky region," avoiding resource waste and task conflicts. Based on CUDA hardware limitations, considering that a single time block contains 20,000 time points, and each time point contains 600,000 small sky regions, a two-dimensional Grid and a one-dimensional Block are designed. The specific design is as follows: Computation Task: A single thread only processes the five types of constraint calculations corresponding to (time_id, sky_region_id), outputting a boolean result for one constraint calculation. Thread: The unique identifier of a single thread is determined by threadIdx.x, blockIdx.x, and blockIdx.y. Block: A one-dimensional structure Block(x), corresponding to a subset of sky regions at a single time point: Block.x maps to the ID of the thread within the sky region. The maximum number of threads in a single Block is 1024, therefore the value range is [0, 1023]. Grid: A two-dimensional structure Grid(x, y) corresponds to the following macroscopic breakdown of the computation task: Grid.x maps to time points, with a value range of [0, 19999], totaling 20000 time points; Grid.y maps to sky region IDs. The total number of sky regions is 600000, which needs to be divided into ceil(600000 / 1024) = 586 Blocks, hence the value range of Grid.y is [0, 585]. Sky region global ID: sky_region_id = blockIdx.y * blockDim.x + threadIdx.x. blockDim.x = 1024, meaning each Block corresponding to Grid.y is responsible for 1024 sky regions, ultimately covering 600000 sky regions from 0 to 599999; Time point ID: time_id = blockIdx.x. Directly mapping to the Grid.x dimension, covering 20000 time points from 0 to 19999; Secondly, the access speeds at different CUDA memory levels vary significantly. Storage strategies need to be designed for different data reuse frequencies to reduce high-latency global memory accesses. The core optimizations are as follows: GPU Global Memory (VRAM): Global memory is the core of data interaction between the GPU and CPU. Its data is shared with all Stream Processors (SMs), and access latency needs to be reduced through "preloading + alignment". Data Preloading: The CPU preloads the solar system ephemeris (solar position vector S, lunar position vector M), telescope position vector O, and relay star position vector R into time blocks via a buffer queue (Queue_CPU), and asynchronously transmits them to the GPU global memory via a CUDA stream (cudaStream_t). When the current stream computes the current time block, the next stream has already loaded the data for the next time block into global memory, achieving overlap between data transmission and computation. Memory Alignment: All vector data is stored as float4 type, totaling 16 bytes, to avoid bandwidth waste caused by unaligned access. For example, the telescope position vector O(x,y,z) is padded with zeros to float4(Ox, Oy, Oz, 0), ensuring that complete vector data is obtained with each global memory read. Shared Memory: Shared memory resides within the SM (Search Engine Controller) and is a private resource of that SM. All celestial regions at the same point in time share the same time-related parameters (such as S, M, O, and Earth radius RE at that time). This type of data is reused within a block through shared memory, reducing redundant reads from global memory. When each block starts, the bootstrap thread with threadIdx.x = 0 reads the S, M, O, and RE corresponding to the current time_id from global memory and writes them into the block's shared memory array. After the bootstrap thread finishes loading, it calls __syncthreads() to synchronize all threads within the block, ensuring that data is ready when other threads read shared memory, thus avoiding data races. Registers: Registers are thread-private. Intermediate results generated when a single thread calculates the five types of constraints are directly cached in registers, avoiding memory interactions. The determination results of the five types of constraints are all stored in registers. Finally, a logical AND operation is used to obtain the constraint calculation result of the current thread. Only the final result is written to global memory, reducing the number of memory writes.
[0071] Furthermore, combining the above thread definition and memory optimization, the GPU constraint calculation process for a single time block is divided into four steps, implemented entirely through CUDA kernel functions: Step 1: Kernel function startup and thread index initialization. The CPU side starts the kernel function through dim3gridDim(20000, 586) and dim3 blockDim(1024, 1) (Block dimension). The thread first calculates its own corresponding time_id and sky_region_id, where time_id = blockIdx.x; sky_region_id = blockIdx.y * blockDim.x + threadIdx.x. Step 2: Shared memory loading and synchronization. The thread within the Block loads the shared data for the current time point, and after synchronization, it is reused by all threads. Step 3: Calculation of five types of constraints for a single thread. The GPU memory is based on registers and shared memory data, and the five types of constraints are calculated serially. Because the computational load of a single thread is small, serial processing is more efficient than parallel processing. Key calculations are accelerated using CUDA built-in functions: Optical avoidance angle calculation: a custom dotf4 function calculates the dot product, __acosf calculates the inverse cosine, and __fdividef calculates the modulus ratio; the results are stored in registers. Energy balance constraint calculation: the rotation matrix is calculated using the PA angle θPA pre-stored in shared memory; the plane normal vector nAB of the extreme values OA / OB of the solar panel normal vector is calculated using __crossf (a custom cross-product function); the projection vector Sproj is stored in registers. Communication assurance constraint calculation: the relay star direction vector R is read from global memory, and __asin is used to calculate the included angles ∠R1 and ∠R2; the Boolean results are stored in registers. Step 4: Result summarization and global memory writing: the thread performs a logical AND operation on the five Boolean values to obtain the final observability results, which are then written to the global memory result array in "time-sky region" order.
[0072] Furthermore, the method provided by this invention achieves multi-stream parallelism and task overlap: CUDA multi-stream processing is used for different time blocks, with each stream corresponding to a complete process of data transmission (CPU→GPU) - constraint calculation - GPU→CPU result transmission. The time consumption of each stage is overlapped through asynchronous execution of the streams. For example, stream 0: transmits data for time block 0 → calculates time block 0 → transmits the result to the CPU; stream 1: while stream 0 is being calculated, data for time block 1 is transmitted. This ultimately achieves parallelism between data transmission and calculation. Built-in functions and branch elimination are used: CUDA built-in functions are used for acceleration; for problems such as determining the sunlit / shadowed areas in atmospheric-light constraints, branches are converted into Boolean operations to avoid branch divergence in GPU thread bundles causing some threads to wait and reducing efficiency. Global memory optimization: The constraint result array is designed for row-major storage, and the indices (time_id×600000 + sky_region_id) when threads write are continuous, ensuring that threads within the same warp access contiguous addresses in global memory.
[0073] Finally, during GPU computation, flow control is achieved through the linkage between CUDA events and CPU queues: the CPU queries the GPU computation progress through cudaEventQuery(event_compute_done), and continues to transmit the next batch of data to the GPU when the length of Queue_GPU (GPU→CPU result queue) is less than or equal to 5; when the GPU global memory utilization is greater than or equal to 80%, the CPU pauses data transmission to avoid memory overflow; ensuring that the GPU is always in a state of full-load computation with no idle resources wasted.
[0074] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing at least one computer instruction, which is loaded and executed by a processor to implement the methods of the various embodiments described above. Explanations of the relevant content and descriptions of the beneficial effects of any of the computer-readable storage media provided above can be found in the corresponding embodiments described above, and will not be repeated here.
[0075] This invention also provides a chip. This chip integrates a control circuit for implementing the functions of the aforementioned computing device 100 and one or more ports. Optionally, the functions supported by this chip are as described above and will not be repeated here.
[0076] Those skilled in the art will understand that the program for implementing all or part of the steps of the above embodiments, which can be executed by a program instructing related hardware, can be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a random access memory, etc. The processing unit or processor mentioned above can be a central processing unit, a general-purpose processor, an application-specific integrated circuit (ASIC), a microprocessor (DSP), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.
[0077] This invention also provides a computer program product containing instructions that, when executed on a computer, cause the computer to perform any of the methods described in the above embodiments. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this invention is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., SSD), etc.
[0078] It should be noted that the devices for storing computer instructions or computer programs provided in the embodiments of the present invention, such as, but not limited to, the aforementioned memory, computer-readable storage medium, and communication chip, are all non-transitory. Those skilled in the art should recognize that the functions described in the embodiments of the present invention in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable storage medium or transmitted as one or more instructions or code on a computer-readable storage medium. Computer-readable storage media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of computer programs from one place to another. Storage media can be any available medium accessible to general-purpose or special-purpose computers.
[0079] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A method for calculating the observability of the LEO space telescope, characterized in that, Applied to a computing device, the computing device including a central processing unit, a graphics processing unit, and memory, the method includes: The central processing unit acquires basic input data and preprocesses it to obtain a standardized constraint calculation dataset. The basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds. The constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple subsets of calculation tasks divided according to the observation time sequence. Each subset of calculation tasks corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the observation period of the LEO survey telescope according to a preset time interval. Each subset of calculation tasks includes constraint calculation tasks for all times and all sky regions within the corresponding time block. Based on the parallel architecture of the central processing unit (CPU) and the graphics processing unit (GPU), the CPU transmits the constraint calculation dataset to the GPU. The GPU splits the multiple subsets of computational tasks to obtain multiple computational tasks corresponding to each subset. Each computational task corresponds to one time point and one sky region. The optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint of each computational task are verified in parallel. After all computational tasks in the subset of computational tasks corresponding to any time block are completed, a Boolean array of sky region observability corresponding to the time block is obtained. One row of the Boolean array corresponds to one time point in the time block, and one column corresponds to one sky region. The value of a single element is used to identify whether the combination of the corresponding time point and sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint. The graphics processor sends the Boolean array back to the central processing unit (CPU), which performs lossless compression based on the continuity characteristics of the observable sky area to obtain compressed constraint calculation result data. The compression process involves extracting the start and end indices of the elements in the Boolean array that continuously satisfy the constraints, forming a compressed array that contains only the information of those indices. The memory stores the compressed constraint calculation results data in association with time block indexes, forming full-time and full-space domain observability calculation results covering the entire sky area and the entire observation cycle. The calculation results are used for efficient sky area selection and retrieval in the LEO survey telescope observation mission planning.
2. The method according to claim 1, characterized in that, The ephemeris data in the basic input data includes the solar position vector, the lunar position vector, the LEO survey telescope position vector, and the relay satellite position vector. The constraint safety thresholds include the optical avoidance angle threshold, the energy balance threshold, and the communication guarantee threshold. The sky region division parameters include ecliptic longitude λ and ecliptic latitude β. The preprocessing process of the central processing unit for the basic input data includes: The position vectors of the Sun, Moon, LEO Survey Telescope, and relay satellite are uniformly transformed to the geocentric ecliptic coordinate system to obtain standardized position vectors; these standardized position vectors include the LEO Survey Telescope position vector. Sun position vector Lunar position vector ; Determine the direction vector of the target sky region based on ecliptic longitude λ and ecliptic latitude β; The target sky area direction vector The formula for determining it is: ); The observation period of the LEO survey telescope is divided according to a preset time interval to generate multiple continuous and non-overlapping time blocks. For each time block, a corresponding standardized position vector, target sky area direction vector and constraint safety threshold are matched to form a subset of computational tasks corresponding to each time block.
3. The method according to claim 2, characterized in that, For any of the aforementioned computational tasks, the process by which the graphics processor verifies the optical avoidance angle constraints is as follows: Obtain the standardized position vector and target sky area direction vector corresponding to the computation task. Solar avoidance angle threshold θ S Lunar avoidance angle threshold Sunlight avoidance angle threshold in sunny areas Threshold for avoiding ground-to-air-light angle in the shadow area and the Earth's radius parameter R E ; Calculate the angle θ between the sun and the target sky region. S ; The angle θ between the sun and the target sky region S Greater than or equal to the solar avoidance angle safety threshold In this case, the computation task satisfies the solar avoidance angle constraint, within the target sky region at an angle θ. S Less than the solar avoidance angle safety threshold In this case, the computational task does not meet the solar avoidance angle constraint; The angle θ between the sun and the target sky region S The formula for determining it is: ; Calculate the angle θ between the Moon and the target sky region. M ; The angle θ between the moon and the target sky region M Greater than or equal to the lunar avoidance angle safety threshold In this case, the computational task satisfies the lunar avoidance angle constraint, where the angle θ between the moon and the target sky region... M Less than the lunar avoidance angle safety threshold In this case, the computational task does not meet the lunar avoidance angle constraint; The angle between the moon and the target sky region The formula for determining it is: ; Calculate the angle between the geocentric direction vector and the solar direction vector. and region determination threshold : like If the LEO telescope is in the sunlit region, then it is in the shadow region; otherwise, it is in the earth's shadow region. Calculate the angle between the target sky region and the tangent direction of the Earth. ; If the LEO telescope is located in a sunlit area, Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; When the LEO survey telescope is located in the Earth's shadow, if Then the ground-atmosphere light avoidance angle constraint is satisfied, if If so, the ground-atmosphere-light avoidance angle constraint is not satisfied; The angle between the geocentric direction vector and the solar direction vector The formula for determining it is: ; Region determination threshold The formula for determining it is: ; The angle between the target sky region and the tangent direction of the Earth The formula for determining it is: 。 4. The method according to claim 3, characterized in that, For any of the aforementioned computational tasks, the process by which the graphics processor verifies the energy balance constraints is as follows: Obtain the target sky area direction vector corresponding to the computation task. The angle of rotation of the telescope around the principal optical axis And the energy balance threshold, which includes the range of the windshield's rotation angle. Threshold for effective solar power generation Fixed reference direction vector ; If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; Based on the telescope's rotation angle around the principal optical axis Calculate the first rotation matrix Using the first rotation matrix With auxiliary vector Perform the calculation to obtain the initial normal vector of the windsurfing board. ; A rotation axis is constructed based on the range of the windsurfing's rotation angle. Combined with the rotating axis Angle of rotation of the windsurfing board Calculate the second rotation matrix ; Using the second rotation matrix With the initial normal vector Perform the calculation to obtain the normal vector of the windshield. ; Rotate the windsurfing angle Take values respectively and The extreme values of the normal direction vector of the solar panel generating surface were calculated respectively. and ; based on and Calculate the normal vector of the plane OAB spanned by the two. ; Obtain the sun's position vector Calculate the projection vector of the solar direction vector onto plane OAB. If the projection vector If the modulus is 0, then the computational task does not satisfy the energy balance constraint; If the projection vector If the modulus is not zero, then Normalization yields vectors ; Calculate the minimum angle between sunlight and the effective power generation range. If vector Within ∠AOB, then based on the solar direction vector and Dot product and modulus ratio calculation ; If vector Outside of ∠AOB, the solar direction vector is taken to be respectively... and The smaller value of the included angle is taken as ;exist Less than or equal to the solar panel power generation effectiveness threshold Under these circumstances, the computational task satisfies the energy balance constraint; Greater than the effective threshold of solar panel power generation In this case, the computational task does not meet the energy balance constraint; The first rotation matrix The formula for determining it is: ; ; The initial normal vector of the sail The formula for determining it is: ; The rotating shaft The formula for determining it is: ; The second rotation matrix The formula for determining it is: ; ; ; ; The normal vector of the sail The formula for determining it is: ; The normal vector of the plane OAB The formula for determining it is: ; The projection vector of the solar direction vector onto plane OAB The formula for determining it is: ; exist Within, the minimum angle between the sunlight and the effective power generation range. The formula for determining it is: ; exist In addition, the minimum angle between the sunlight and the effective power generation range. The formula for determining it is: 。 5. The method according to claim 4, characterized in that, For any of the aforementioned computational tasks, the process by which the graphics processor verifies the communication guarantee constraints is as follows: Obtain the target sky area direction vector corresponding to the computation task. The angle of rotation of the telescope around the principal optical axis Relay satellite position vector and a communication assurance threshold, wherein the communication assurance threshold includes the range of antenna rotation angles around the x-axis. Antenna rotation angle range around the z-axis Fixed reference direction vector ; If the reference direction vector Direction vector of the target sky area If the cross product is not zero, then the auxiliary vector is determined based on the ratio of the cross product to the magnitude. If the reference direction vector Direction vector of the target sky area If the cross product of the two vectors is 0, then the auxiliary vector will be... Set as a preset unit vector; Based on the telescope's rotation angle around the principal optical axis Calculate the rotation matrix Using rotation matrix With auxiliary vector Perform the calculation to obtain the antenna normal direction vector. ; Based on the direction vector of the target sky area With antenna normal direction vector The cross product result and the modulus are used to determine the perpendicularity to and vector ; Target sky area direction vector Directly as parallel to vector ; Calculate the relay satellite position vector respectively Angle with plane OO'F , Angle with plane OO'G ,as well as With antenna normal direction vector The included angle ; exist It is an acute angle, and Less than or equal to the antenna rotation angle threshold around the x-axis ,and Less than or equal to the antenna rotation angle threshold around the z-axis Under the condition that the computation task satisfies the communication guarantee constraint, otherwise the communication guarantee constraint is not satisfied. The formula for determining the auxiliary vector t is: ; The antenna normal direction vector The formula for determining it is: ; The vector The formula for determining it is: ; The vector The formula for determining it is: ; The relay star position vector Angle with plane OO'F The formula for determining it is: ; The relay star position vector Angle with plane OO'G The formula for determining it is: ; The relay star position vector With antenna normal direction vector The formula for determining the included angle ∠O'OR is: 。 6. The method according to claim 5, characterized in that, The graphics processor is based on a three-level thread structure (Thread-Block-Grid) to split computational tasks and perform parallel verification, including: The graphics processor constructs a two-dimensional Grid and a one-dimensional Block. The grid's gridDim.x is used to map the time ID within the time block, and the gridDim.y is used to map the sky zone ID and is taken as the ratio of the total number of sky zones to the maximum number of threads in the Block, rounded up. The block's blockDim.x is set to the maximum number of threads supported by the computing device. The graphics processor establishes a mapping between threads and computing tasks. The time ID of a single thread is blockIdx.x, and the sky zone ID is blockIdx.y×blockDim.x + threadIdx.x. A single thread is used to verify the optical avoidance angle constraints, energy balance constraints, and communication guarantee constraints of the corresponding computing task. The graphics processor reads the standardized position vector and constraint safety threshold at the current moment into shared memory through the guide thread within the Block, and then makes them available for reuse by the threads within the Block after calling the thread synchronization instruction. After all threads of the graphics processor complete constraint verification within the same time block, the verification results are summarized in order of time as primary and sky region as secondary, and a Boolean array of sky region observability corresponding to that time block is generated.
7. The method according to claim 6, characterized in that, The lossless compression process of the Boolean array by the central processing unit includes: The Boolean array is converted into a one-dimensional Boolean array in the order of time as primary and day as secondary. The length of the one-dimensional Boolean array is equal to the product of the number of time points in the time block and the total number of day areas. Traverse the one-dimensional Boolean array, extract all consecutive segments that satisfy the constraints, record the start index and end index of each segment, and form multiple sets of index pairs; The multiple sets of index pairs are concatenated in traversal order to generate an N×2 dimensional compressed array containing only index information, thus completing the lossless compression of the Boolean array, where N is the number of consecutive segments that satisfy the constraints.
8. The method according to claim 7, characterized in that, The parallel architecture, in which the central processing unit and the graphics processing unit work together, also includes a CPU multi-threaded flow control mechanism, specifically including: The central processing unit is configured with three task queues: Queue_CPU, which stores a subset of tasks preprocessed by the CPU; Queue_GPU, which stores a subset of tasks to be computed by the GPU; and Queue_Compress, which stores a boolean array of tasks completed by the GPU. The central processing unit monitors the lengths of the three task queues in real time. When the length of Queue_CPU is greater than or equal to the preset upper limit, data preprocessing is paused. When the length of Queue_GPU is less than or equal to the preset lower limit, a subset of computation tasks is added to Queue_GPU. When the length of Queue_Compress is greater than or equal to the preset upper limit, the GPU is notified to pause the return of the boolean array.
9. The method according to claim 8, characterized in that, The memory stores the compressed constraint calculation results data in association with time block indexes, and the process includes: A unique time block index is assigned to each time block. The time block index corresponds one-to-one with the observation time sequence of the time block and increases in chronological order according to the observation period. An independent storage path is allocated to the compressed constraint calculation result data corresponding to each time block. The storage path is associated and bound with the time block index to form a mapping relationship between the index and the path. When storing the compressed array, the metadata corresponding to the time block is stored synchronously. The metadata includes at least the observation start and end time of the time block, the total number of sky areas, and the version of the constraint safety threshold. In response to a user's data retrieval request to read compressed data within a target time frame, the corresponding storage path is located using the time block index to complete the reading of compressed data within the target time frame.
10. An observability calculation device for the LEO space telescope, characterized in that, The computing device includes a central processing unit, a graphics processing unit, and memory: The central processing unit acquires basic input data and preprocesses it to obtain a standardized constraint calculation dataset. The basic input data includes at least ephemeris data, sky region division parameters, and constraint safety thresholds. The constraint calculation dataset consists of position vectors in a unified geocentric ecliptic coordinate system, target sky region direction vectors, and multiple subsets of calculation tasks divided according to the observation time sequence. Each subset of calculation tasks corresponds to a time block, which is a continuous and non-overlapping short time segment formed by dividing the observation period of the LEO survey telescope according to a preset time interval. Each subset of calculation tasks includes constraint calculation tasks for all times and all sky regions within the corresponding time block. Based on the parallel architecture of the central processing unit (CPU) and the graphics processing unit (GPU), the CPU is used to: transmit the constraint calculation dataset to the GPU; the GPU is used to: split the multiple subsets of calculation tasks to obtain multiple calculation tasks corresponding to each subset, each calculation task corresponding to one time point and one sky region; verify the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint of each calculation task in parallel; after all calculation tasks in the subset of calculation tasks corresponding to any time block are completed, obtain the observability Boolean array of the sky region corresponding to the time block; one row of the Boolean array corresponds to one time point in the time block, one column corresponds to one sky region, and the value of a single element is used to identify whether the combination of the corresponding one time point and one sky region satisfies the optical avoidance angle constraint, energy balance constraint, and communication guarantee constraint; The graphics processor is used to: send the Boolean array back to the central processing unit, and the central processing unit is used to: perform lossless compression on it based on the continuity characteristics of the observable sky area to obtain compressed constraint calculation result data; the compression process is to extract the start and end indices corresponding to the elements that continuously satisfy the constraints in the Boolean array to form a compressed array containing only the index information; The memory is used to store the compressed constraint calculation results data in association with time block indexes, forming full-time and full-space domain observability calculation results covering the entire sky area and the entire observation cycle. The calculation results are used for efficient sky area selection and retrieval in the LEO survey telescope observation mission planning.