Satellite measurement and control signal generation method and system

The satellite measurement and control signal generation method using the collaborative work of CPU and GPU solves the problems of long development cycle, high cost and insufficient real-time performance in the existing technology, and realizes high-speed real-time generation and convenient maintenance of satellite measurement and control signals.

CN120601944APending Publication Date: 2025-09-05CHINA ACADEMY OF SPACE TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510824817.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-19
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

The existing satellite simulator measurement and control signal processing solutions have the disadvantages of long development cycle, high cost, and difficulty in upgrading and maintenance. In addition, the use of CPU alone cannot meet the real-time requirements of satellite measurement and control signal generation.

Method used

The system adopts an architecture in which the CPU and GPU work together, with the GPU used to generate telemetry signals and demodulate remote control signals. The specific steps include polynomial fitting A/D conversion of telemetry data, signal modulation and Hilbert transform. The CPU is responsible for telemetry data framing and remote control command parsing, realizing signal generation and remote control command execution within the telemetry frame period.

Benefits of technology

It realizes high-speed real-time generation of satellite measurement and control signals, meets the needs of signal generation and remote control command simulation within the telemetry frame period, and improves the convenience of development and maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120601944A_ABST
    Figure CN120601944A_ABST
Patent Text Reader

Abstract

The invention provides a satellite measurement and control signal generation method, which is cooperatively executed by a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), and comprises the following steps of: in a telemetry signal generation stage, performing A / D (Analog to Digital) conversion on analog quantity in telemetry data at a GPU end by adopting polynomial fitting operation; framing the analog quantity subjected to A / D conversion and digital quantity telemetry data in the telemetry data at a CPU (Central Processing Unit) end to obtain a telemetry data frame; performing signal modulation on the telemetry data frame at the GPU end to generate a telemetry data signal; in the remote control signal demodulation and execution stage, Hilbert transformation is carried out on the received remote control signal by utilizing the GPU; performing phase demodulation and de-surround on the data subjected to the Hilbert transform, and extracting a net phase; eliminating high-frequency noise at the GPU end through FIR filtering, and extracting a remote control instruction; and executing the remote control instruction at the CPU end and updating the telemetering parameters based on the simulation effect of instruction execution so as to form closed-loop feedback. Therefore, the technical problem that the prior art is difficult to process high-speed telemetering data or is difficult to upgrade and maintain is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite simulation technology, and in particular to a satellite measurement and control signal generation method and system. Background Art

[0002] Before a satellite launch, its TT&C equipment must undergo interface compatibility testing with that of the ground station's TT&C equipment. Using the satellite's TT&C equipment directly for this testing is costly. Therefore, in engineering practice, a satellite simulator is often used to perform this testing on behalf of the satellite's TT&C equipment. The simulator generates downlink telemetry signals consistent with those of the satellite's TT&C equipment and can demodulate uplink telemetry signals from the ground station's TT&C equipment.

[0003] In the prior art, satellite simulator measurement and control signal processing is implemented through a CPU+FPGA hardware architecture, where the CPU (Central Processing Unit) is used to simulate the A / D conversion of telemetry data, telemetry framing, and the parsing and execution of remote control commands, while the FPGA (Field Programmable Gate Array) is responsible for the modulation of telemetry data signals and the demodulation of remote control data signals. FPGA-based measurement and control signal modulation and demodulation solutions have technical problems such as long development cycles, high costs, and difficult upgrades and maintenance. If a CPU is used alone to complete all of the above tasks, the CPU's processing speed is insufficient for high-speed data processing, and its real-time performance does not meet the requirements for satellite measurement and control signal generation. Summary of the Invention

[0004] In response to the above-mentioned defects, the purpose of the present invention is to provide a satellite measurement and control signal generation method and system to solve the technical problems in the existing technology that the CPU+FPGA solution is difficult to upgrade and maintain, and that a single CPU cannot meet real-time requirements.

[0005] To achieve the above technical effects, the present invention provides a method for generating satellite tracking and control signals, which is collaboratively executed by a CPU and a GPU (Graphics Processing Unit), and includes a telemetry signal generation phase and a remote control signal demodulation and execution phase, wherein:

[0006] The telemetry signal generation stage includes:

[0007] On the GPU side, polynomial fitting is used to perform A / D conversion on the analog quantities in the telemetry data, with each GPU thread processing one telemetry parameter.

[0008] On the CPU side, the analog quantity after A / D conversion is framed with the digital quantity telemetry data in the telemetry data to obtain a telemetry data frame;

[0009] Performing signal modulation on the telemetry data frame on the GPU to generate a telemetry data signal;

[0010] The remote control signal demodulation and execution stage includes:

[0011] Use GPU to perform Hilbert transform on the received remote control signal;

[0012] Perform phase demodulation and de-wrapping on the Hilbert transformed data to extract the net phase;

[0013] On the GPU side, high-frequency noise is eliminated through FIR filtering to extract remote control commands;

[0014] The remote control instruction is executed on the CPU side and the telemetry parameters are updated based on the simulation effect of the instruction execution to form a closed-loop feedback.

[0015] Optionally, the A / D conversion of the analog quantity in the telemetry data using a polynomial fitting operation on the GPU side, with each GPU thread processing one telemetry parameter, includes:

[0016] Copy the polynomial coefficients of satellite telemetry parameter A / D conversion from internal memory to video memory;

[0017] Allocating first computing nodes of the GPU, where the number of the first computing nodes is not less than the number of telemetry parameters, and each first computing node processes one telemetry parameter;

[0018] In each telemetry frame period, the value of the analog telemetry parameter is copied from the memory to the video memory, the first computing node is started to parallelly calculate the value after A / D conversion, and the result is copied back to the memory after the calculation is completed.

[0019] Optionally, performing signal modulation on the telemetry data frame on the GPU to generate a telemetry data signal includes:

[0020] The telemetry data frame is modulated by BPSK (Binary Phase Shift Keying) on ​​the GPU side, with each GPU thread processing one data bit;

[0021] Perform raised cosine roll-off filtering on the BPSK modulated signal;

[0022] The filtered signal is PM modulated to generate a telemetry data signal.

[0023] Optionally, performing BPSK modulation on the telemetry data frame on the GPU side, with each GPU thread processing one data bit, includes:

[0024] The telemetry data frame is copied to the video memory, and a second computing node of the GPU is allocated according to the strategy of processing one data bit by a single thread; each data bit of the telemetry data frame is BPSK modulated by the second computing node, and the data is upsampled after modulation.

[0025] Optionally, performing raised cosine roll-off filtering on the BPSK modulated signal includes:

[0026] Allocating a third computing node of the GPU, where the number of nodes of the third computing node is the number of data bits of the telemetry after upsampling;

[0027] In each of the third computing nodes, the length of the raised cosine roll-off filter is traversed, and the data in the neighborhood of the telemetry data bit corresponding to the current node is convolved with the impulse response sequence of the raised cosine roll-off filter to obtain filtered data; wherein the convolution calculation formula is:

[0028] Wherein, len is the length of the raised cosine roll-off filter, h is the impulse response sequence of the raised cosine roll-off filter, Output is the output signal after filtering, and input is the input signal before filtering.

[0029] Optionally, performing Hilbert transform on the received remote control signal by using a GPU includes:

[0030] Call the FFT library function on the GPU side to perform FFT transformation on the received remote control signal;

[0031] Configuring a fourth computing node whose number matches the number of FFT transformation points, and performing segmented processing on the FFT transformed data through the fourth computing node;

[0032] The IFFT library function on the GPU side is called to perform IFFT transformation on the segmented data to generate the remote control signal after Hilbert transformation.

[0033] Optionally, performing phase demodulation and de-wrapping on the data after Hilbert transformation to extract the net phase includes:

[0034] Extracting the instantaneous phase of the remote control signal after Hilbert transformation through the fourth computing node, and copying the calculation result to the memory;

[0035] The GPU is configured with a fifth computing node according to a block parallel strategy, where the number of the fifth computing node is equal to A*B, where A is the number of computing blocks and B is the number of nodes in the computing block; the step of performing unwrapping through the fifth computing node comprises: traversing the fifth computing node, searching for a target computing node whose phase difference between adjacent computing nodes is greater than π and performing a ±2π compensation operation to obtain a first phase; copying the first phase to the memory, and calculating the phase offset sequence between the computing blocks; copying the phase offset sequence to the video memory, and calculating a corresponding second phase through the fifth computing node, where the second phase is equal to the sum of the first phase and the phase offset sequence;

[0036] The fifth calculation node subtracts the carrier phase at the corresponding time point from the corresponding second phase to obtain a net phase of the remote control signal.

[0037] Optionally, eliminating high-frequency noise by FIR filtering on the GPU side and extracting remote control instructions includes:

[0038] Generate FIR filter parameters in the memory of the CPU, and copy the FIR filter parameters from the memory to the video memory;

[0039] Using the fourth computing node or the fifth computing node to start GPU computing, so that each computing node processes a convolution filtering task of phase data;

[0040] Copying the FIR filter parameters in the video memory to the shared memory of the GPU;

[0041] Wait for all GPU threads to complete the phase data convolution filter calculation to ensure time synchronization to avoid subsequent shared memory access conflicts;

[0042] A convolution operation is performed on the net phase of the remote control signal and the FIR filter parameters in the shared memory to obtain a filtered remote control instruction.

[0043] Optionally, the timing control of the collaborative execution satisfies:

[0044] Perform telemetry data signal generation at the start of a telemetry frame period;

[0045] After the telemetry data signal is generated, the remote control data buffer is cyclically queried at a preset first time interval; if the remote control data buffer contains the remote control data, the remote control signal is demodulated and executed;

[0046] If the remaining time of the telemetry frame period is less than the second time interval, the query of the remote control data buffer is terminated.

[0047] On the other hand, the present invention also provides a satellite tracking and control signal generation system for implementing the above method, comprising:

[0048] GPU processing module, used to perform parallel A / D conversion of telemetry parameters; BPSK modulation, raised cosine filtering and PM modulation of telemetry signals; Hilbert transform, phase demodulation and FIR filtering of remote control signals;

[0049] CPU processing module, used to perform telemetry data framing; remote control command parsing, execution and telemetry parameter update;

[0050] The collaborative control module is used to schedule the task execution timing of the GPU and CPU according to the telemetry frame period.

[0051] The satellite tracking and control signal generation method and system described in the present invention adopts a processing scheme in which the GPU and CPU work together for A / D simulation, telemetry framing, remote control command execution, and tracking and control signal modulation and demodulation of satellite telemetry data, splitting and reorganizing data processing tasks to give full play to the different advantages of both. In this way, the present invention realizes satellite telemetry signal generation with the collaborative work of the CPU and GPU, solving the technical problems that the existing technology is unable to cope with high-speed telemetry data processing or difficult to upgrade and maintain. It realizes telemetry signal generation, remote control signal demodulation, and simulation execution of remote control commands within the telemetry frame period, meeting the closed-loop satellite tracking and control signal generation requirements. In addition, high-speed signal and data processing of the GPU is realized through strategies such as polynomial fitting, discrete point data parallelism, block parallelism, and one thread processing one data. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 A flowchart of the steps of the satellite tracking and control signal generation method provided in one embodiment of the present invention;

[0053] Figure 2 A flowchart of the steps of performing A / D conversion in an optional implementation of the satellite tracking and control signal generation method provided in one embodiment of the present invention;

[0054] Figure 3 A flowchart of the steps of performing signal modulation on a telemetry data frame in an optional implementation manner of the satellite measurement and control signal generation method provided in one embodiment of the present invention;

[0055] Figure 4 This is a schematic diagram of data after upsampling of telemetry data obtained by the satellite measurement and control signal generation method according to an embodiment of the present invention;

[0056] Figure 5 This is a schematic diagram of data after raised cosine roll-off filtering is performed on telemetry data using the satellite tracking and control signal generation method according to an embodiment of the present invention;

[0057] Figure 6 This is a schematic diagram of PM modulation of telemetry data using the satellite tracking and control signal generation method according to an embodiment of the present invention;

[0058] Figure 7 A flowchart of the steps of performing Hilbert transform in an optional implementation of the satellite tracking and control signal generation method provided in one embodiment of the present invention;

[0059] Figure 8 A flowchart of the steps of performing phase demodulation and de-spinning in an optional implementation manner of the satellite tracking and control signal generation method provided in one embodiment of the present invention;

[0060] Figure 9 This is a schematic diagram of remote control command data after extracting the net phase using the satellite measurement and control signal generation method according to an embodiment of the present invention;

[0061] Figure 10 A flowchart of the steps of performing FIR filtering to eliminate high-frequency noise in an optional implementation manner of the satellite tracking and control signal generation method provided in one embodiment of the present invention;

[0062] Figure 11 This is a schematic diagram of remote control command data after FIR filtering using the satellite measurement and control signal generation method according to an embodiment of the present invention;

[0063] Figure 12 A schematic diagram of a remote control instruction execution data flow of the satellite measurement and control signal generation method provided in one embodiment of the present invention;

[0064] Figure 13 A schematic structural diagram of a satellite tracking and control signal generation system provided in another embodiment of the present invention. DETAILED DESCRIPTION

[0065] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0066] It should be noted that references to "one embodiment," "an embodiment," "an example embodiment," etc., in this specification indicate that the described embodiment may include specific features, structures, or characteristics, but not every embodiment must include these specific features, structures, or characteristics. Furthermore, such references do not necessarily refer to the same embodiment. Furthermore, when specific features, structures, or characteristics are described in conjunction with an embodiment, whether or not explicitly described, it is understood that incorporating such features, structures, or characteristics into other embodiments is within the knowledge of those skilled in the art.

[0067] In addition, certain words are used in the specification and subsequent claims to refer to specific components or parts. It should be understood by those with ordinary knowledge in the relevant field that manufacturers may use different nouns or terms to refer to the same component or part. This specification and subsequent claims do not use differences in names as a way to distinguish components or parts, but rather use differences in the functions of components or parts as the criteria for distinction. The words "including" and "comprising" mentioned throughout the specification and subsequent claims are open-ended terms and should be interpreted as "including but not limited to". In addition, the word "connect" here includes any direct and indirect electrical connection means. Indirect electrical connection means include connection through other devices.

[0068] Before describing the embodiments of the present application in detail, the technical concept of the present application is first briefly described: satellite telemetry data contains digital and analog quantities, wherein the digital quantities are directly transmitted to the satellite ground station after framing and signal modulation, and the analog quantities need to undergo A / D conversion, and then be framed and signal modulated. If the CPU is used to complete all the above steps, it is difficult to complete all the work within a fixed frame period. To this end, the present invention proposes a collaborative working architecture of GPU and CPU. Data-intensive telemetry A / D conversion, signal modulation and demodulation tasks are assigned to the GPU for parallel processing, while the CPU is responsible for logically complex telemetry framing, instruction execution, etc., and the advantages of both are brought into play through task splitting and reorganization. The two work together to complete the generation of satellite telemetry signals, thereby meeting the real-time nature of satellite measurement and control signal generation; achieving high-speed and real-time satellite measurement and control signal generation and closed-loop processing, and improving the convenience of development and maintenance.

[0069] Compared with FPGA solutions, GPU data signal processing programs are easy to develop and deploy, do not rely on specific hardware platforms, and are easy to upgrade and maintain.

[0070] In terms of GPU data processing, the present invention provides a technical method for processing one data thread, which breaks down the technical problem of satellite measurement and control signal generation into a single data processing problem. It is easy to implement and expand, and convenient to upgrade and maintain.

[0071] The specific principles of the satellite tracking and control signal generation method of the present application are described below with reference to specific embodiments.

[0072] Figure 1 A method for generating satellite tracking and control signals according to an embodiment of the present invention is shown. The method is executed collaboratively by a CPU and a GPU, and includes a telemetry signal generation phase and a remote control signal demodulation and execution phase, wherein:

[0073] The telemetry signal generation stage includes:

[0074] S101: On the GPU side, analog quantities in the telemetry data are subjected to A / D conversion using polynomial fitting operations, with each GPU thread processing one telemetry parameter.

[0075] Analog quantities in telemetry data generally include voltage, battery, temperature, pressure, etc. Different types of analog quantities and different types of A / D chips have corresponding A / D conversion mechanisms. The calculation methods include polynomials, quadratic roots, logarithmic functions, point-to-point mapping, etc.

[0076] Generally speaking, the number of satellite analog telemetry measurements is between 1000 and 2000. If executed on the CPU, it would require traversing each telemetry parameter, which consumes a considerable amount of time. Using a GPU for telemetry processing can achieve dozens of times the acceleration, saving CPU time. Because the GPU uses a SIMD (Single Instruction Multiple Data) architecture, the computational steps for the A / D conversion of all telemetry parameters must use exactly the same processing. For heterogeneous operations such as polynomials, quadratic roots, logarithmic functions, and point-to-point mappings, this embodiment fits all operations into polynomial operations.

[0077] In a specific example, the number of bits of A / D sampling is 8, and the number of times the fitting polynomial is used is 5. After experimental verification, the maximum relative error of the fitting is less than 0.5%.

[0078] See also Figure 2 ,In specific implementation, the steps of using GPU for telemetry parameter A / D conversion are as follows:

[0079] S1011: Copy the polynomial coefficients for the satellite telemetry parameter A / D conversion from the internal memory to the video memory. For example, if the polynomial is fitted to 5 degrees and the number of A / D telemetry parameters to be converted is 1000, a 1000*6 storage area needs to be allocated in the video memory, which logically represents a 1000*6 matrix.

[0080] S1012: Allocate the first computing nodes of the GPU, the number of the first computing nodes is not less than the number of telemetry parameters, and each of the first computing nodes processes one telemetry parameter. In GPU computing, each first computing node runs one thread, and the node can be multi-dimensional data. Exemplarily, each telemetry parameter is calculated by one thread, so the number of first computing nodes is not less than the number of telemetry parameters. For example, the number of telemetry parameters is 1000, and the number of first computing nodes is set to 1024, or 512*2 (multi-dimensional nodes, easy to distribute GPU hardware), so that each first computing node processes one telemetry parameter.

[0081] The first computing node may be a logical node defined in a GPU operation model, such as a Grid or a Block in a CUDA (Compute Unified Device Architecture) model, wherein Grid and Block may be nested to implement multi-dimensional computing nodes.

[0082] It should be noted that while a typical CPU has 4-8 cores, a GPU typically has hundreds of cores. These hundreds of cores load computational loads on logical nodes, achieving processing speeds up to dozens of times faster than a CPU. Although this embodiment defines tens of thousands of logical nodes, each node performs a relatively small computational task, and hundreds of GPU cores perform computations in parallel. This allows for efficient computational acceleration, thereby improving the real-time performance of satellite tracking and control signal generation.

[0083] S1013: During each telemetry frame period, the values ​​of the analog telemetry parameters are copied from the internal memory to the video memory, the first computing nodes are activated to parallelly calculate the values ​​after A / D conversion, and the results are copied back to the internal memory after completion. Specifically, during each telemetry frame period, the values ​​of all analog telemetry parameters are copied from the internal memory to the video memory, the first computing nodes defined in step S1012 are activated to calculate the values ​​after A / D conversion of the telemetry parameters, and after all computing nodes have completed the calculations, the results are copied back to the internal memory. The source of the analog telemetry data in the memory can be acquired through a computer bus, with various types of devices connected to the bus, and acquired through timed acquisition.

[0084] It should be noted that the first computing node will be distributed to the physical computing nodes of the GPU during actual computing. Generally, a GPU has hundreds of physical computing nodes that can run simultaneously, thereby achieving highly parallel computing.

[0085] S102: The CPU frames the analog quantity after A / D conversion with the digital telemetry data in the telemetry data to generate a telemetry data frame. Specifically, after completing the A / D conversion of the analog telemetry in this embodiment, the analog telemetry is combined with the digital telemetry to form a telemetry frame in computer memory according to a satellite telemetry format. For example, this can be formed according to the CCSDS protocol. The telemetry framing step is not a data-intensive operation and does not involve numerous repetitive steps. It primarily organizes data according to the protocol, making it suitable for execution in the CPU. Furthermore, the telemetry frame count and telemetry timestamp in each frame of telemetry data are accumulated during the framing process. These operations are performed only once per frame of telemetry data, and the relevant data processing is also performed in the CPU.

[0086] It's important to note that the telemetry frame format consists of a fixed portion and a variable portion. The fixed portion transmits fixed telemetry parameters, while the variable portion transmits different telemetry parameters depending on satellite status and remote control commands. Furthermore, the values ​​of telemetry parameters can also change with remote control commands, satellite status, and other factors. Therefore, analog A / D conversion of the telemetry parameters and reframing of the telemetry frame are required every frame period to meet the requirements of real-time simulation.

[0087] S103: The GPU performs signal modulation on the telemetry data frame to generate a telemetry data signal. Telemetry data frames require signal modulation before they can be transmitted over a wireless channel. In this embodiment, the satellite telemetry data frame is first subjected to BPSK modulation, followed by raised cosine filtering and PM modulation.

[0088] like Figure 3 Step S103 specifically includes:

[0089] S1031: Perform BPSK modulation on the telemetry data frame on the GPU side, with each GPU thread processing one data bit.

[0090] In specific implementations, step S1031 specifically includes: copying the telemetry data frame to the video memory, allocating a second compute node on the GPU based on a strategy where a single thread processes one data bit; performing BPSK modulation on each data bit of the telemetry data frame via the second compute node, and then performing data upsampling after modulation. The second compute node is also a logical compute node for GPU computing, and its number is determined by the number of data bits in the telemetry frame. For example, if the telemetry frame length is 256 bytes, or 4096 bits, the frame length is 256 bytes.

[0091] PSK modulation can use complex numbers to represent the phase, and BPSK can also use +1 and -1 to represent the two phases. After each bit of telemetry data is BPSK modulated, the data is upsampled, for example, with 100 samples per symbol.

[0092] For example, if the telemetry data length is 256*8 bits, a data area of ​​256*8*101 data units is pre-allocated in the video memory. All data in this area is initialized to 0, and only the sampling points of the sign bit are updated during each telemetry frame period. Each node performs one sign bit of modulation. Specifically, each second computing node inserts the corresponding symbol into the data area based on its node index, while the sampling points of non-sign bits are always 0. For example, the second computing nodes can be allocated as 4*512, meaning that each second computing node processes one bit of telemetry data.

[0093] Figure 4 This is a diagram of the data after upsampling the telemetry data; Figure 4As shown in Figure 2, 0 and 1 in the telemetry data are modulated to -1 and +1 respectively, and the sampling point of the non-sign bit is configured to 0.

[0094] S1032: Perform a raised cosine roll-off filter on the BPSK modulated signal. Before performing the raised cosine roll-off filter on the telemetry signal, filter coefficients must be generated. First, the filter length is set; for example, it can be 10 times the number of samples per symbol, i.e., 100*10. The filter coefficients are then generated on the CPU and copied to video memory.

[0095] It should be noted that when pulse modulation is performed in the digital modulation field, pulse shaping (inserting 0 for upsampling) followed by convolution with a raised cosine roll-off filter can achieve no inter-symbol interference.

[0096] The raised cosine roll-off filter filters the input signal through a specific frequency response. The roll-off coefficient of the filter ranges from 0 to 1. When the roll-off coefficient is 0, its frequency response is similar to that of an ideal low-pass filter. As the roll-off coefficient increases, the transition band of the filter gradually widens.

[0097] The impulse response of the raised cosine roll-off filter in the time domain is:

[0098]

[0099] Where T is the symbol period and r is the roll-off factor.

[0100] Figure 5 Schematic diagram of the telemetry data after the raised cosine roll-off filter is applied. Figure 5 , a schematic diagram of the effect of data filtering when the roll-off coefficient of the raised cosine roll-off filter is set to 0.25.

[0101] In specific implementation, step S1032 includes: allocating a third computing node of the GPU, where the number of the third computing nodes is the number of telemetry data bits after upsampling; in each third computing node, traversing the length of the raised cosine roll-off filter, and performing a convolution calculation on the data in the neighborhood of the telemetry data bit corresponding to the current node with the impulse response sequence of the raised cosine roll-off filter to obtain filtered data; wherein the convolution calculation formula is: Wherein, len is the length of the raised cosine roll-off filter, h is the impulse response sequence of the raised cosine roll-off filter, Output is the output signal after filtering, and input is the input signal before filtering.

[0102] That is, when performing raised cosine roll-off filtering in the GPU, this embodiment uses a third computing node. The number of nodes in the third computing node is the number of telemetry data bits after upsampling, so that each third computing node processes one data bit. For example, it can be 256*8*101. In each computing node, the length of the filter is traversed, and the data in the neighborhood of the telemetry data bit corresponding to the current node is convolved with the filter, thereby calculating the filtered data of the current node based on the above convolution calculation formula.

[0103] S1033: PM modulate the filtered signal to generate a telemetry data signal. When the satellite telemetry signal is transmitted in the RF channel, it is necessary to further perform PM modulation on the basis of PSK modulation. In PM modulation, the phase offset ψ(t) of the carrier is linearly related to the modulation signal m(t), ψ(t) = K p m(t), where K p is the phase modulation sensitivity. The expression of telemetry signal modulation is: S PM (t) = Acos[ω c t+K p m(t)], where S PM (t) is the modulated signal, A is the carrier amplitude, ω c is the carrier frequency.

[0104] For example, A takes the value of 1, K p The value is 0.5, ω c The value is 50KHz. m(t) is the telemetry signal after step raised cosine roll-off filtering. Figure 6 This is a schematic diagram of PM modulation of telemetry data. Based on the above parameters, the carrier signal frequency of around 50 kHz contains the frequency component of the telemetry data.

[0105] When PM signal modulation is performed in the GPU, a third computing node is used, and each node performs calculations according to the expression of telemetry signal modulation.

[0106] This embodiment uses the GPU and CPU to work together to achieve satellite telemetry signal generation. The speed is compared with the technical solution that only uses the CPU (on the same computer platform). The comparison results are shown in the following table:

[0107]

[0108] For example, the telemetry frame period of a certain type of satellite is 500ms. For signal generation implemented by the CPU, although the requirements can be barely met at a telemetry rate of 2000bit / s (418ms<500ms), the satellite measurement and control signal simulation still needs to perform remote control signal demodulation, remote control command execution simulation and other steps within the telemetry frame period. Therefore, in engineering practice, it is difficult to meet the requirements of satellite measurement and control signal simulation based solely on the CPU. As can be seen from the above table, the embodiment of the present application still has a margin of 305ms (500ms-195ms) at a telemetry rate of 32000bit / s to perform other simulation tasks. Therefore, it is competent for the simulation task of satellite measurement and control signal generation.

[0109] As can be seen from the above table, the CPU+GPU technical solution provided by the present invention can give full play to the data signal processing advantages of the CPU and GPU, thereby meeting the needs of satellite measurement and control signal generation.

[0110] Satellite TT&C signals consist of telemetry data sent by the satellite to the ground station, and telecontrol commands received by the satellite from the ground station. Upon receiving a telecontrol command, the satellite executes the corresponding task, and the results are fed back to the ground station as telemetry parameter values. Therefore, the generation of satellite TT&C signals is a closed-loop process, and as the source of telemetry data changes, demodulation of telecontrol data is a key step.

[0111] The remote control signal demodulation and execution phase provided in this embodiment includes:

[0112] S104: Performing Hilbert transform on the received remote control signal using the GPU; the demodulated remote control signal is also PM modulated data.

[0113] See also Figure 7 In specific implementation, step S104 includes:

[0114] S1041: Calling the FFT library function on the GPU side to perform FFT transformation on the received remote control signal. That is, using the GPU to perform FFT transformation on the received remote control signal, specifically by calling the FFT library function provided by CUDA.

[0115] S1042: Configure a number of fourth computing nodes that matches the number of FFT transformation points, and use the fourth computing nodes to segment the FFT-transformed data. Specifically, the fourth computing nodes are configured, and the number of fourth computing nodes can be the number of FFT transformation points N, so that each fourth computing node processes one data point. Each computing node performs calculations separately and is configured according to its corresponding frequency. When corresponding to a DC component and a Nyquist component, the value remains unchanged; when corresponding to a positive frequency component, the value is doubled; when corresponding to a negative frequency component, the value is set to 0.

[0116] S1043: Calling the IFFT library function on the GPU side to perform IFFT transformation on the segmented data to generate the remote control signal after Hilbert transformation. Specifically, the IFFT transformation of the data in step S1042 can be performed by calling the CUDA-related library to generate the remote control signal after Hilbert transformation.

[0117] It should be noted that the Hilbert transform generates an analytical signal and extracts the instantaneous amplitude, phase and frequency information of the signal, thereby achieving demodulation of the modulated signal.

[0118] S105: Perform phase demodulation and de-wrapping on the data after Hilbert transformation to extract the net phase.

[0119] See also Figure 8 In specific implementation, step S105 includes:

[0120] S1051: Extract the instantaneous phase of the Hilbert-transformed remote control signal using the fourth computing node and copy the calculation result to the memory. That is, in this embodiment, the fourth computing node is used to extract the instantaneous phase of the Hilbert-transformed data. The data after IFFT transformation is still complex, and the instantaneous phase is the inverse tangent function of the ratio of the imaginary part to the real part of the complex number. Each computing node performs the instantaneous phase calculation for the corresponding complex number and copies the calculated data to the memory.

[0121] Due to the calculation of the inverse tangent function in step S1051, the extracted instantaneous phase is not a continuous value. Phase unwrapping is an important step in signal processing. Through phase unwrapping processing, the wrapped phase value is converted into a continuous phase value so that the phase change is continuous in space or time.

[0122] S1052: Configure the GPU's fifth computing node according to the block parallel strategy. The number of the fifth computing node is equal to A*B, where A is the number of computing blocks and B is the number of nodes within a computing block. The step of performing dewrapping using the fifth computing node includes: traversing the fifth computing node, searching for a target computing node whose adjacent computing nodes have a phase difference greater than π and performing a ±2π compensation operation to obtain a first phase; copying the first phase to the memory, calculating the inter-computational phase offset sequence; copying the phase offset sequence to the video memory, and calculating the corresponding second phase using the fifth computing node. The second phase is equal to the sum of the first phase and the phase offset sequence. Based on the computing characteristics of the GPU, this embodiment uses a fifth computing node (A*B), which can be generally understood as having A computing blocks, each of which has B computing nodes. The number of fifth computing nodes, A×B, is greater than or equal to the number of phase points to be dewrapped, so that each fifth computing node processes one phase data point. This embodiment specifically divides the dewrapping calculation into three steps. The first step is to traverse the computation node B, search for a point P within B whose phase differs from the first point within B by more than π, and perform a ±2π operation to calculate the first phase Q1. The second step is to copy the data calculated in the first step to the CPU memory, and calculate the phase offset sequence (offset) between the A computation blocks. The third step is to copy the sequence offset to the video memory, and each computation node in the fifth computation node calculates its corresponding second phase Q2. The second phase Q2 is the sum of the first phase Q1 and the corresponding element in the sequence offset.

[0123] It should be noted that, in order to merge the processing steps, the fourth computing node and the fifth computing node may adopt the same configuration.

[0124] S1053: Using the fifth computing node, subtract the carrier phase at the corresponding time point from the corresponding second phase to obtain a net phase of the remote control signal. Using the fifth computing node, each computing node subtracts the carrier phase at the corresponding time point from the second phase Q2.

[0125] Figure 9 FIG. 1 is a schematic diagram of remote control instruction data after extracting the net phase. For example, the content of the remote control data is a sequence of alternating 01s. Figure 9 It can be seen that the demodulated signal at this time has high-frequency noise. In order to demodulate the remote control data with high quality, noise filtering is required.

[0126] S106: On the GPU side, high-frequency noise is eliminated through FIR filtering to extract remote control commands.

[0127] Generate parameters of an FIR filter in the CPU memory, for example, generate parameters of a low-pass filter using a Hamming window, and copy the FIR filter parameters from the memory to the video memory.

[0128] In order to improve the filtering performance, this embodiment uses CUDA shared memory to achieve fast data indexing.

[0129] See also Figure 10 In an optional embodiment, step S106 includes:

[0130] S1061: Generate FIR filter parameters in the memory of the CPU, and copy the FIR filter parameters from the memory to the video memory.

[0131] S1062: Use the fourth computing node or the fifth computing node to start GPU operation, so that each computing node processes a convolution filtering task of phase data.

[0132] S1063: Copy the FIR filter parameters in the video memory to the shared memory of the GPU.

[0133] S1064: Waiting for all GPU threads to complete the phase data convolution filter calculation to ensure time synchronization to avoid subsequent shared memory access conflicts;

[0134] S1065: Perform a convolution operation on the net phase of the remote control signal and the FIR filter parameters in the shared memory to obtain a filtered remote control command, wherein the convolution formula is the same as that used in the raised cosine roll-off filter in the above embodiment.

[0135] Figure 11 This is a diagram of remote control command data after FIR filtering. Figure 9 It can be seen that high-frequency noise is filtered out, which is beneficial to remote control data extraction.

[0136] Using the same hardware platform as in the above embodiment, this embodiment takes 10 milliseconds to demodulate 1000-bit remote control data.

[0137] Furthermore, the timing control of the CPU and GPU's collaborative execution meets the following conditions:

[0138] At the beginning of the telemetry frame period, telemetry data signal generation is performed (i.e., the period from step S101 to step S103). After the telemetry data signal generation is completed, the remote control data buffer is cyclically queried at a preset first time interval. If the remote control data exists in the remote control data buffer, the remote control signal demodulation and execution are performed. If the remaining time of the telemetry frame period is less than a second time interval, the query of the remote control data buffer is terminated.

[0139] That is, the modulation of telemetry data is performed at the beginning of a telemetry cycle.

[0140] For example, the telemetry frame period is 500ms, and the telemetry signal is generated by using the above embodiment. The fixed task of the telemetry frame period is telemetry signal generation, so its execution is set at the beginning of the frame period.

[0141] After completing the modulation of the telemetry data, the remote control signal data buffer is queried at a preset first time interval. If remote control data exists in the buffer, the remote control data is demodulated and executed according to the above embodiment. The buffer is then queried again at the first time interval for remote control data. If the remaining time of the telemetry frame period is less than a preset second time interval, no further remote control data queries are performed. For example, the first time interval can be 32ms, and the second time interval can be 64ms.

[0142] S107: Execute the remote control instruction on the CPU side and update the telemetry parameters based on the simulation effect of the instruction execution to form a closed-loop feedback.

[0143] Figure 12 This is a diagram of the data flow for executing remote control commands. Figure 12 According to the remote control command data demodulated in the above steps, the command is identified and the function corresponding to the command is executed. For example, the command can turn the device on and off, adjust the gain level, inject parameters, etc. The simulation effect of each command execution is fed back to the telemetry parameters, and each command corresponds to the change of at least one telemetry parameter.

[0144] For example, if the command identified is "transmitter power on," the transmitter power telemetry value will change from 0 V to 4.5 V. The updated transmitter power telemetry value in the computer memory will be generated into the telemetry signal sent to the ground station at the beginning of the next telemetry frame period through the execution of the telemetry data signal generation phase.

[0145] In one telemetry frame period, after the telemetry signal generation stage is completed, the above-mentioned remote control signal demodulation and execution stages are executed cyclically.

[0146] Figure 13 Another embodiment of the present invention provides a satellite tracking and control signal generation system 100 for implementing any of the above embodiments, including a GPU processing module 10, a CPU processing module 20, and a collaborative control module 30, wherein:

[0147] The GPU processing module 10 is used to perform parallel A / D conversion of telemetry parameters; BPSK modulation, raised cosine filtering and PM modulation of telemetry signals; Hilbert transform, phase demodulation and FIR filtering of remote control signals; the CPU processing module 20 is used to perform telemetry data framing; remote control command parsing, execution and telemetry parameter update; and the collaborative control module 30 is used to schedule the task execution timing of the GPU and CPU according to the telemetry frame period.

[0148] The functions and effects performed by the modules of this embodiment are as described in the above embodiments and will not be repeated here.

[0149] In summary, the satellite measurement and control signal generation method and system described in the present invention adopts a processing scheme in which the GPU and CPU work together for the A / D simulation, telemetry framing, remote control command execution, and modulation and demodulation of satellite telemetry data, splits and reorganizes the data processing tasks, and gives full play to the different advantages of the two. In this way, the present invention realizes the satellite telemetry signal generation by the collaborative work of the CPU and GPU, solves the technical problems that the existing technology is unable to cope with high-speed telemetry data processing or upgrade and maintenance difficulties; realizes the simulation execution of telemetry signal generation, remote control signal demodulation and remote control commands within the telemetry frame period, and meets the closed-loop satellite measurement and control signal generation requirements; and realizes GPU high-speed signal and data processing through strategies such as polynomial fitting, discrete point data parallelism, block parallelism, and one thread processing one data.

[0150] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present invention (including related data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present invention can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.

[0151] The present invention can be implemented as a computer-implemented method on a computer, or in dedicated hardware, or a combination thereof. The executable code for the method according to the present invention, or portions thereof, can be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, and the like. Optionally, the computer program product includes non-transitory program code components stored on a computer-readable medium so that when the program product is executed on a computer, the method according to the present invention is executed.

[0152] In an alternative embodiment, the computer program comprises computer program code means adapted to perform all the steps of the method according to the invention when the computer program is run on a computer.Alternatively, the computer program is embodied on a computer readable medium.

[0153] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present invention is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the opposite order according to the functions involved. For example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0154] Of course, the present invention may have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.

Claims

1. A method for generating satellite tracking and control signals, characterized in that: The method is executed collaboratively by the CPU and GPU, and includes a telemetry signal generation phase and a remote control signal demodulation and execution phase, wherein: The telemetry signal generation stage includes: On the GPU side, polynomial fitting is used to perform A / D conversion on the analog quantities in the telemetry data, with each GPU thread processing one telemetry parameter. On the CPU side, the analog quantity after A / D conversion is framed with the digital quantity telemetry data in the telemetry data to obtain a telemetry data frame; Performing signal modulation on the telemetry data frame on the GPU to generate a telemetry data signal; The remote control signal demodulation and execution stage includes: Use GPU to perform Hilbert transform on the received remote control signal; Perform phase demodulation and de-wrapping on the Hilbert transformed data to extract the net phase; On the GPU side, high-frequency noise is eliminated through FIR filtering to extract remote control commands; The remote control instruction is executed on the CPU side and the telemetry parameters are updated based on the simulation effect of the instruction execution to form a closed-loop feedback.

2. The satellite tracking and control signal generation method according to claim 1, wherein: The GPU performs A / D conversion on the analog quantity in the telemetry data using polynomial fitting operations, with each GPU thread processing one telemetry parameter, including: Copy the polynomial coefficients of satellite telemetry parameter A / D conversion from internal memory to video memory; Allocating first computing nodes of the GPU, where the number of the first computing nodes is not less than the number of telemetry parameters, and each first computing node processes one telemetry parameter; In each telemetry frame period, the value of the analog telemetry parameter is copied from the memory to the video memory, the first computing node is started to parallelly calculate the value after A / D conversion, and the result is copied back to the memory after the calculation is completed.

3. The satellite tracking and control signal generation method according to claim 1, wherein: The step of performing signal modulation on the telemetry data frame on the GPU to generate a telemetry data signal includes: Performing BPSK modulation on the telemetry data frame on the GPU side, with each GPU thread processing one data bit; Perform raised cosine roll-off filtering on the BPSK modulated signal; The filtered signal is PM modulated to generate a telemetry data signal.

4. The method for generating satellite tracking and control signals according to claim 3, wherein: The telemetry data frame is subjected to BPSK modulation on the GPU side, with each GPU thread processing one data bit, including: The telemetry data frame is copied to the video memory, and a second computing node of the GPU is allocated according to the strategy of processing one data bit by a single thread; each data bit of the telemetry data frame is BPSK modulated by the second computing node, and the data is upsampled after modulation.

5. The satellite tracking and control signal generation method according to claim 3, wherein: The step of performing raised cosine roll-off filtering on the BPSK modulated signal includes: Allocating a third computing node of the GPU, where the number of nodes of the third computing node is the number of data bits of the telemetry after upsampling; In each of the third computing nodes, the length of the raised cosine roll-off filter is traversed, and the data in the neighborhood of the telemetry data bit corresponding to the current node is convolved with the impulse response sequence of the raised cosine roll-off filter to obtain filtered data; wherein the convolution calculation formula is: Wherein, len is the length of the raised cosine roll-off filter, h is the impulse response sequence of the raised cosine roll-off filter, Output is the output signal after filtering, and input is the input signal before filtering.

6. The satellite tracking and control signal generation method according to claim 1, wherein: The method of performing Hilbert transform on the received remote control signal by using the GPU includes: Call the FFT library function on the GPU side to perform FFT transformation on the received remote control signal; Configuring a fourth computing node whose number matches the number of FFT transformation points, and performing segmented processing on the FFT transformed data through the fourth computing node; The IFFT library function on the GPU side is called to perform IFFT transformation on the segmented data to generate the remote control signal after Hilbert transformation.

7. The method for generating satellite tracking and control signals according to claim 6, wherein: The phase demodulation and de-wrapping of the Hilbert transformed data to extract the net phase includes: Extracting the instantaneous phase of the remote control signal after Hilbert transformation through the fourth computing node, and copying the calculation result to the memory; The GPU is configured with a fifth computing node according to a block parallel strategy, where the number of the fifth computing node is equal to A*B, where A is the number of computing blocks and B is the number of nodes in the computing block; the step of performing unwrapping through the fifth computing node comprises: traversing the fifth computing node, searching for a target computing node whose phase difference between adjacent computing nodes is greater than π and performing a ±2π compensation operation to obtain a first phase; copying the first phase to the memory, and calculating the phase offset sequence between the computing blocks; copying the phase offset sequence to the video memory, and calculating a corresponding second phase through the fifth computing node, where the second phase is equal to the sum of the first phase and the phase offset sequence; The fifth calculation node subtracts the carrier phase at the corresponding time point from the corresponding second phase to obtain a net phase of the remote control signal.

8. The satellite tracking and control signal generation method according to claim 7, wherein: The method of eliminating high-frequency noise by FIR filtering on the GPU side and extracting remote control instructions includes: Generate FIR filter parameters in the memory of the CPU, and copy the FIR filter parameters from the memory to the video memory; Using the fourth computing node or the fifth computing node to start GPU computing, so that each computing node processes a convolution filtering task of phase data; Copying the FIR filter parameters in the video memory to the shared memory of the GPU; Wait for all GPU threads to complete the phase data convolution filter calculation to ensure time synchronization to avoid subsequent shared memory access conflicts; A convolution operation is performed on the net phase of the remote control signal and the FIR filter parameters in the shared memory to obtain a filtered remote control instruction.

9. The satellite tracking and control signal generation method according to claim 1, wherein: The timing control of the collaborative execution satisfies: Perform telemetry data signal generation at the start of a telemetry frame period; After the telemetry data signal is generated, the remote control data buffer is cyclically queried at a preset first time interval; if the remote control data buffer contains the remote control data, the remote control signal is demodulated and executed; If the remaining time of the telemetry frame period is less than the second time interval, the query of the remote control data buffer is terminated.

10. A satellite tracking and control signal generation system for implementing the satellite tracking and control signal generation method according to any one of claims 1 to 9, characterized in that: Includes: GPU processing module, used to perform parallel A / D conversion of telemetry parameters; BPSK modulation, raised cosine filtering and PM modulation of telemetry signals; Hilbert transform, phase demodulation and FIR filtering of remote control signals; CPU processing module, used to perform telemetry data framing; remote control command parsing, execution and telemetry parameter update; The collaborative control module is used to schedule the task execution timing of the GPU and CPU according to the telemetry frame period.