A method and system for merging and splicing satellite multiple downlink transmission frame data
Through the multi-downlink transmission of satellite frame data merging and splicing processing method, the on-demand, retransmission and orbital inversion problems in satellite terrestrial data processing are solved, and efficient and reliable frame data sorting and merging are achieved, adapting to abnormal situations such as missing data on the satellite and unstable links.
Patent Information
- Application Number
- CN202410818396.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-24
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2044-06-24
AI Technical Summary
The prior art is difficult to effectively solve on-demand problems, retransmission problems and orbital reversal problems in satellite terrestrial data processing, resulting in errors in data frame sorting and inaccurate processing.
The satellite multiple downlink transmission frame data merging and splicing processing method is adopted. Through the recording and query of configuration information and received data information, the frame data is intelligently sorted and merged to solve the problems of on-demand, retransmission and orbital reversal.
It realizes efficient and reliable frame data merging and splicing in satellite ground data processing, ensures the correctness of data sorting, and adapts to abnormal situations such as missing data on the satellite, unstable satellite-ground links and reverse orbits.
Smart Images

Figure CN120034901B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of satellite data transmission and processing technology, and specifically relates to a method and system for merging and splicing satellite multiple downlink transmission frame data. Background Art
[0002] Frame sorting technology is crucial for ground-based data processing on scientific satellites. This technology ensures that data frames from a single orbit and across multiple orbits are correctly sequenced, ensuring the accuracy and effectiveness of subsequent data processing and analysis. Frame sorting typically uses timestamp information or frame sequence numbers in the frame header to sort data frames.
[0003] However, ordinary frame sorting technology may encounter difficulties when facing a series of problems. First, when on-board data is missing, ground operation and control will use on-demand callback of on-board data. If the on-board storage of the scientific satellite adopts the transmission frame storage method, the on-demand downlink data will not be able to be spliced with other downlink data through ordinary frame sorting technology. Secondly, general ground stations will use multiple backups of received data. When the quality of the satellite-to-ground link is poor, the backup data will be processed. Ordinary frame sorting technology cannot correctly solve the transmission frame sorting in this case. Finally, the track reversal problem may cause the arrival order of data frames to be inconsistent with expectations. Additional measures need to be taken to handle this abnormal situation to avoid errors in the data processing process. Summary of the Invention
[0004] The purpose of this application is to overcome the defects of the existing technology in that it is difficult to solve the on-demand problem, retransmission problem and track reversal problem in satellite ground data processing.
[0005] To achieve the above objectives, the present application proposes a method for merging and splicing satellite multiple downlink transmission frame data, comprising:
[0006] Step 1: Wait for receiving transmission frame data. If transmission frame data is received, go to step 2.
[0007] Step 2: Based on the received transmission frame data, query the current track number and antenna number in the configuration information; if the antenna number for the current track number is not found, add the record of the current track number and antenna number to the configuration information, record the current transmission frame data in the received data information, merge and splice the transmission frame data, and go to step 1; if the current track number is found, use the antenna number of the previous track of the current track as the information to be searched, search in the configuration information, and go to step 3;
[0008] Step 3: If the information to be searched is not found in the configuration information, it is determined that the previous track has not arrived. The antenna number of the current track is recorded as the antenna number starting with the set symbol, and the transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced. Go to step 1; if the data to be searched is found, go to step 4;
[0009] Step 4: If the antenna number in the information to be searched is an antenna number that begins with a set symbol, it is determined that the current track has not been spliced. The data frame tail of the transmission frame of the information to be searched is spliced with the frame header of the transmission frame of the current track, and the transmission frames are sorted. Then, the process goes to step 1. If there is at least one antenna number in the information to be searched, or it does not begin with a set symbol, the process goes to step 5.
[0010] Step 5: Select the antenna number with the most recent update time, and query the previous track virtual channel end frame count in the received data information based on the track number, antenna number, and virtual channel number of the information to be searched, and set the forward search count to 0;
[0011] By judging the end frame count of the virtual channel of the previous track, obtaining the different virtual channels of the data from the transmission frame data, and obtaining the start frame count of the current virtual channel from the virtual channel data, if the start frame count of the current channel = the end frame count of the previous track + 1, it is determined that no valid callback has been performed, and the process goes to step 6; if the end frame count of the previous track >= the start frame count of the current track >= the end frame count of the previous track - the number of callback frames, it is determined that a valid callback has been performed, and the process goes to step 7; if neither of the above two conditions is met, the previous track data is determined to be on-demand data, and the process goes to step 8;
[0012] Step 6: Search for the cached data of the previous track according to the current track number and antenna number, read the callback frame number data, splice it with the callback frame of the previous track, record the current transmission frame data in the received data information, merge and splice the transmission frame data, and go to step 1;
[0013] Step 7: Record the current transmission frame data in the received data information and perform transmission frame data merging and splicing processing, and go to step 1;
[0014] Step 8: Set the forward search count to increase by 1. If the forward search count is less than the set threshold, use the antenna number of the previous track of the previous track data as the information to be searched, search from the configuration information, and go to step 3; if the forward search count is greater than or equal to the set threshold, record the current transmission frame data in the received data information and merge and splice the transmission frame data, and go to step 1.
[0015] As an improvement to the above method, the configuration information includes the track number, antenna number, previous track number, previous track antenna number, storage time and update time; the received data information includes the track number, antenna number, virtual channel number and channel end frame count.
[0016] As an improvement to the above method, recording the current transmission frame data in the received data information includes:
[0017] Add the track number and antenna number of the transmitted frame data in the received data information. If the antenna number is set to an antenna number starting with a setting symbol before recording, the newly set antenna number will be used as the antenna number of the newly added data;
[0018] When the current transmission frame data contains multiple virtual channel data, each virtual channel data records one piece of data, and the track number and antenna number in each piece of data are the same.
[0019] As an improvement to the above method, the configuration information is updated accordingly when the satellite data plan is updated.
[0020] As an improvement to the above method, the number of callback frames is a preset fixed value.
[0021] As an improvement to the above method, the threshold is set to 5.
[0022] The present application also provides a satellite multiple downlink transmission frame data merging and splicing processing system, which is implemented based on the above method, and the system includes:
[0023] The data receiving module is used to wait for receiving transmission frame data. If the transmission frame data is received, go to step 2.
[0024] The configuration information retrieval module is used to query the current track number and antenna number in the configuration information based on the received transmission frame data; if the antenna number of the current track number is not found, the record of the current track number and antenna number is added to the configuration information, and the current transmission frame data is recorded in the received data information and the transmission frame data is merged and spliced; if the current track number is found, the antenna number of the previous track of the current track is used as the information to be searched, and the search is performed in the configuration information, and the module for determining whether the previous track has not arrived is called;
[0025] The module for judging whether the previous track has not arrived is used to judge based on the search results. If the information to be found is not found in the configuration information, it is judged that the previous track has not arrived, and the antenna number of the current track is recorded as the antenna number starting with the set symbol. The transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced. If the data to be found is found, the antenna number judgment module is called;
[0026] The antenna number identification module is used to identify the antenna number. If the antenna number in the information to be searched is an antenna number that begins with a set symbol, it is determined that the current track has not been spliced. The transmission frame data tail of the information to be searched is spliced with the transmission frame header of the current track, and then the transmission frames are sorted. If there is at least one antenna number in the information to be searched, or if it does not begin with a set symbol, the frame count identification module is called.
[0027] The frame count determination module is used to select the antenna number with the most recent update time, query the previous track virtual channel end frame count in the received data information according to the track number, antenna number and virtual channel number of the information to be searched, and set the forward search count to 0; by determining the previous track virtual channel end frame count, obtain the different virtual channels of the data from the transmission frame data, and obtain the start frame count of the current virtual channel from the virtual channel data; if the current channel start frame count = the previous track end frame count + 1, it is determined that no valid callback has been performed, and the previous track callback frame splicing module is called; if the previous track end frame count > = the current track start frame count > = the previous track end frame count - the number of callback frames, it is determined that a valid callback has been performed, and the update reception data information module is called; if neither of the above two conditions is met, the previous track data is determined to be on-demand data, and the search count determination module is called;
[0028] The previous track callback frame splicing module is used to search the cached data of the previous track according to the current track number and antenna number, read the callback frame number data, splice it with the callback frame of the previous track, record the current transmission frame data in the received data information, and merge and splice the transmission frame data;
[0029] Update the receiving data information module to record the current transmission frame data in the receiving data information and perform transmission frame data merging and splicing processing;
[0030] The search count determination module is used to set the forward search count to increase by 1. If the forward search count is less than the set threshold, the antenna number of the previous track of the previous track data is used as the information to be searched, and the search is performed from the configuration information, and the process goes to step 3. If the forward search count is greater than or equal to the set threshold, the transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced.
[0031] Compared with the prior art, the advantages of this application are:
[0032] 1. This method solves the problem of frame data merging and splicing in satellite ground data processing through innovations in intelligent processing of multiple downlink transmission frames from satellites, solving on-demand, retransmission, and track reversal problems, and provides an efficient and reliable solution for scientific satellite data processing.
[0033] 2. The method of the present application realizes the intelligent sorting and merging of multiple downlink transmission frames of the satellite, and realizes the intelligent processing of on-demand problems, retransmission problems and track reversal problems without affecting other algorithm logic between the satellite data virtual channel separation and editing-level data processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 Shown are configuration information and received data information;
[0035] Figure 2 The figure shows a flow chart of a method for merging and splicing data of multiple downlink transmission frames from a satellite. DETAILED DESCRIPTION
[0036] The technical solution of this application is described in detail below with reference to the accompanying drawings.
[0037] This application proposes a method and system for merging and splicing satellite multiple downlink transmission frame data. The input of the method is the original data of the downlink transmission frame, the current track number, the virtual channel number, and the virtual channel number start count.
[0038] The execution process of the method involves the storage and modification of configuration information and received data information. The configuration information includes the track number, antenna number, previous track number, previous track number antenna number, storage time, and update time. The received data information includes the track number, antenna number, virtual channel number, and channel end frame count. In one embodiment, a splicing database can be used to store configuration information and new received data information. The splicing database contains two tables, a splicing database table (configuration information) and a track information table (received data information), such as Figure 1 The columns in the splicing database table include track number, antenna number, previous track number, previous track number antenna number, storage time, and update time; the columns in the track information table include track number, antenna number, virtual channel number, and channel end frame count.
[0039] The track number in the splicing database table represents the orbital number of the raw data during downlink; the antenna number represents the receiving antenna number for the current raw data; the previous track number represents the actual previous downlink track number; the previous track number antenna number represents the actual receiving antenna number for the raw data from the previous downlink; the entry time represents the time the current record was first entered; and the update time represents the last update time of the current record, which is modified with each update. The splicing database table is updated when the public information database receives the data plan, updating the track number and previous track number records according to the plan. The splicing database table may also be updated after receiving new raw data, depending on the data. The track number and antenna number in the track information table are linked to those in the splicing database table, uniquely identifying the raw data. The virtual channel number and channel end frame count in the track information table record all virtual channel numbers and end frame counts in the raw data. The track information table is updated only after the raw data is processed, and the corresponding database table records are filled in according to the actual data.
[0040] The downlink process for raw satellite data is as follows: The operations control center develops a future data transmission plan based on the receiving station's resources, satellite orbit, onboard storage availability, and the needs of scientific application systems. It then uploads a data transmission ephemeris to the satellite and updates the reception schedule in the public information database. The satellite downlinks data based on the ephemeris at the corresponding orbital cycle and time. The receiving station receives the downlinked raw data. The current orbital cycle corresponds to the orbital cycle of the raw data. Generally, only one downlink occurs for each orbital cycle. To ensure data quality, the receiving station uses multiple antennas to receive the downlinked data and stores it as separate raw data files. Therefore, a single downlink contains multiple raw data files with the same orbital cycle and different antenna numbers. While theoretically, these raw data files should contain identical data content, the instability of the satellite-to-ground link can lead to discrepancies. A single downlink consists of multiple virtual channels.
[0041] The two database tables are linked by orbit number and antenna number. Simultaneously, the stitching database needs to be updated with relevant information from the satellite's reception plan, typically provided by the ground control center. If the ground control center provides a public information database for the satellite, relevant information can be obtained from the reception plan table in the public information database. When the reception plan is updated, the orbit number information and the previous orbit number information in the stitching database table are also updated synchronously.
[0042] Example 1
[0043] When the satellite downlink data starts to be processed, the method of this application starts to process the transmission frame data. The method flow is as follows: Figure 2 The process of this method includes:
[0044] Receive the transmission frame data of different virtual channels after virtual channel separation, obtain the track number, virtual channel number and virtual channel start count of the current downlink data, and query the current track number in the splicing database table.
[0045] If the splicing database table does not have the antenna number of the current track number, then update the corresponding record in the splicing database table, the antenna number is the antenna number of the current file, and the update time is the time of this update; update the track information table, insert the record of the current track number and antenna number, the track number in the record is the file track number, and the antenna number is the current antenna number. When the data contains data of multiple virtual channels, a record is inserted for each virtual channel, and the track number and antenna number in each record are the same. Record each virtual channel number and the end frame count of the corresponding virtual channel, perform regular transmission frame data merging and splicing processing, and then start subsequent data processing.
[0046] If the splicing database table contains the current track, the antenna number of the previous track of the current track is used as the information to be searched and queried from the splicing database table. If there is no antenna number of the previous track, it is determined that the previous track has not arrived. The antenna number of this track is recorded as 999 + antenna number, and the current track antenna number and the channel information of the current track are updated to the track information table. A record of the current track number and antenna number is inserted into the track information table. The track number in the record is the file track number, and the antenna number is the current antenna number. When the data contains data for multiple virtual channels, a record is inserted for each virtual channel. The track number and antenna number of each record are the same. Each virtual channel number and the end frame count of the corresponding virtual channel are recorded. After regular transmission frame data merging and splicing, subsequent data processing begins.
[0047] If the antenna number of the previous track starts with 999, it is determined that the current track has not been spliced, and the previous track splicing is triggered. The transmission frame data tail of the previous track is spliced with the transmission frame header of the current track, and then the subsequent data processing process is started after the normal transmission frame sorting is performed.
[0048] If there is at least one antenna number in the previous track, or the antenna number of the previous track does not start with 999, then select the antenna number with the most recent update time. Based on the previous track number, the previous track antenna number, and the previous track virtual channel number, query the previous track virtual channel end frame count through the track information table, and at the same time establish the variable find_count to 0, that is, establish a forward search count.
[0049] By judging the end frame count of the virtual channel of the previous track, obtaining different virtual channels of the data from the original data, and obtaining the start frame count of the current virtual channel from the virtual channel data, if the start frame count of the current channel = the end frame count of the previous track + 1, it is judged that no effective callback has been performed; if the end frame count of the previous track >= the start frame count of the current track >= the end frame count of the previous track - the number of callback frames (the number of callback frames is a preset fixed value set on the satellite), it is judged that an effective callback has been performed; if neither of the above two conditions is met, the previous track data is judged to be on-demand data.
[0050] When it is determined that no effective callback is performed, the cached data of the previous track is searched according to the current track number and the current track antenna number, the number of callback frames is read, and it is spliced with the callback frame of the previous track, and the current track antenna number and the channel information of the current track are updated to the track information table. A record of the current track number and antenna number is inserted into the track information table. The track number in the record is the file track number, and the antenna number is the current antenna number. When the data contains data of multiple virtual channels, a record is inserted for each virtual channel. The track number and antenna number in each record are the same. Each virtual channel number and the end frame count of the corresponding virtual channel are recorded, and subsequent data processing is started after regular transmission frame data merging and splicing.
[0051] When it is determined that a valid callback has been performed, no other processing is required. The current track antenna number and the current track channel information are updated to the track information table, and a record of the current track number and antenna number is inserted into the track information table. The track number in the record is the file track number, and the antenna number is the current antenna number. When the data contains data for multiple virtual channels, a record is inserted for each virtual channel. The track number and antenna number are the same in each record. Each virtual channel number and the end frame count of the corresponding virtual channel are recorded, and subsequent data processing is started after regular transmission frame data merging and splicing.
[0052] When it is determined that the previous track data is on-demand data, the previous track data of the previous track data is searched, find_count (forward search count) is increased by one, and it is determined whether the current search count is greater than or equal to 5. If the current search count is less than 5, the transmission frame data of the previous track data is used as the information to be searched, and the process of this method is repeated; if the current search count is greater than or equal to 5, the search is abandoned, the current track antenna number and the current track channel information are updated to the track information table, and a record of the current track number and antenna number is inserted into the track information table. The track number in the record is the file track number, and the antenna number is the current antenna number. When the data contains data of multiple virtual channels, a record is inserted for each virtual channel. The track number and antenna number in each record are the same. Each virtual channel number and the end frame count of the corresponding virtual channel are recorded, and conventional transmission frame data merging and splicing are performed before subsequent data processing begins.
[0053] This method analyzes the transmission frame difference between the previous and next tracks to determine whether the current track or the previous track is on-demand data. It also uses the last transmitted data backup to select the highest-quality backup data from the retransmitted data. When a track reversal occurs, i.e., when the last track arrives first, only the splicing of the first-arriving second track is affected, not the splicing of the last-arriving first track. The data from the first-arriving second track can be re-triggered for splicing. Therefore, this method automatically handles on-demand, retransmission, and track reversal issues that arise during the merging and splicing of multiple downlink satellite transmission frames.
[0054] Taking the Einstein Probe (EP) project as an example, the EP satellite contains different virtual channels, including satellite platform real-time data, satellite platform playback data, GNSS playback data, FXT follow-up, target of opportunity, ToOMM observation playback data, WXT playback data, FXT survey, other observation playback data, and FXT Alert playback data (abnormal, critical, ToOMM, image, energy spectrum, light variation, status), a total of 7 virtual channels. The number of callback transmission frames designed in the EP satellite is 192 frames. During the satellite's in-orbit process, there may be situations where the transmission frame callback is not performed. At the same time, since the EP satellite is an international cooperation satellite, it receives data through domestic and foreign stations, and there may be problems with track reversal during the in-orbit process. Therefore, the on-demand problem, retransmission problem, and track reversal problem involved in the method of this application will all appear in the process of merging and splicing the transmission frame data of the EP satellite. Using the method of this application, consider setting the number of callback transmission frames in this method to 192, the default forward search number to 5 times, and using Java to encode and implement this method. During the actual coding process, the above logical process needs to be implemented and modularized to facilitate subsequent testing and maintenance. At the same time, it is necessary to design a suitable database structure, including data tables, indexes, and relationships, to store scientific satellite ground data and related information. A database management system, such as MySQL or SQLite, should be built to manage and store scientific satellite ground data and provide fast data query and retrieval capabilities. Based on the algorithm design, data query and processing code should be written to query and analyze data such as the antenna number and channel information of the previous orbit. Appropriate data query and data processing interfaces should be designed to interact with the database management system to read, process, and update data. A rich set of exception handling mechanisms should be designed and implemented, including error logging, automatic retries, and backup data queries, to ensure the system's ability to handle abnormal situations. Performance optimization should be carried out, using efficient data structures and algorithms to accelerate data query and matching processes and optimize data merging and processing efficiency.
[0055] The effectiveness of the method of the present application has been verified by merging and splicing multiple downlink transmission frame data of the EP satellite, ensuring the correctness of the EP satellite transmission frame sequencing.
[0056] Example 2
[0057] The present application also provides a satellite multiple downlink transmission frame data merging and splicing processing system, which is implemented based on the above method, and the system includes:
[0058] The data receiving module is used to wait for receiving transmission frame data. If the transmission frame data is received, go to step 2.
[0059] The configuration information retrieval module is used to query the current track number and antenna number in the configuration information based on the received transmission frame data; if the antenna number of the current track number is not found, the record of the current track number and antenna number is added to the configuration information, and the current transmission frame data is recorded in the received data information and the transmission frame data is merged and spliced; if the current track number is found, the antenna number of the previous track of the current track is used as the information to be searched, and the search is performed in the configuration information, and the module for determining whether the previous track has not arrived is called;
[0060] The module for judging whether the previous track has not arrived is used to judge based on the search results. If the information to be found is not found in the configuration information, it is judged that the previous track has not arrived, and the antenna number of the current track is recorded as the antenna number starting with the set symbol. The transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced. If the data to be found is found, the antenna number judgment module is called;
[0061] The antenna number identification module is used to identify the antenna number. If the antenna number in the information to be searched is an antenna number that begins with a set symbol, it is determined that the current track has not been spliced. The transmission frame data tail of the information to be searched is spliced with the transmission frame header of the current track, and then the transmission frames are sorted. If there is at least one antenna number in the information to be searched, or if it does not begin with a set symbol, the frame count identification module is called.
[0062] The frame count determination module is used to select the antenna number with the most recent update time, query the previous track virtual channel end frame count in the received data information according to the track number, antenna number and virtual channel number of the information to be searched, and set the forward search count to 0; by determining the previous track virtual channel end frame count, obtain the different virtual channels of the data from the transmission frame data, and obtain the start frame count of the current virtual channel from the virtual channel data; if the current channel start frame count = the previous track end frame count + 1, it is determined that no valid callback has been performed, and the previous track callback frame splicing module is called; if the previous track end frame count > = the current track start frame count > = the previous track end frame count - the number of callback frames, it is determined that a valid callback has been performed, and the update reception data information module is called; if neither of the above two conditions is met, the previous track data is determined to be on-demand data, and the search count determination module is called;
[0063] The previous track callback frame splicing module is used to search the cached data of the previous track according to the current track number and antenna number, read the callback frame number data, splice it with the callback frame of the previous track, record the current transmission frame data in the received data information, and merge and splice the transmission frame data;
[0064] Update the receiving data information module to record the current transmission frame data in the receiving data information and perform transmission frame data merging and splicing processing;
[0065] The search count determination module is used to set the forward search count to increase by 1. If the forward search count is less than the set threshold, the antenna number of the previous track of the previous track data is used as the information to be searched, and the search is performed from the configuration information, and the process goes to step 3. If the forward search count is greater than or equal to the set threshold, the transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced.
[0066] The present application may also provide a computer device comprising: at least one processor, memory, at least one network interface, and a user interface. The various components in the device are coupled together via a bus system. It will be understood that the bus system is used to enable communication between these components. In addition to a data bus, the bus system also includes a power bus, a control bus, and a status signal bus.
[0067] The user interface may include a display, a keyboard, or a pointing device, such as a mouse, a trackball, a touchpad, or a touch screen.
[0068] It is understood that the memory in the embodiments disclosed in the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DRRAM). The memories described herein are intended to include, but are not limited to, these and any other suitable types of memory.
[0069] In some embodiments, the memory stores the following elements, executable modules or data structures, or a subset or an extension thereof: an operating system and applications.
[0070] The operating system includes various system programs, such as the framework layer, core library layer, and driver layer, which are used to implement various basic services and handle hardware-based tasks. Application programs include various application programs, such as media players and browsers, which are used to implement various application services. The program that implements the method of the embodiment of the present disclosure can be included in the application program.
[0071] In the above embodiment, the processor may also call a program or instruction stored in the memory, specifically, a program or instruction stored in the application program, to:
[0072] Perform the steps of the above method.
[0073] The above method can be applied to or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor or by software instructions. The above processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The above-disclosed methods, steps, and logic block diagrams can be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the above-disclosed method can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0074] It is understood that the embodiments described herein may be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, or other electronic units or combinations thereof for performing the functions described herein.
[0075] For software implementation, the technology of the present application can be implemented by executing the functional modules (e.g., procedures, functions, etc.) of the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
[0076] The present application may also provide a non-volatile storage medium for storing a computer program. When the computer program is executed by a processor, each step in the above method embodiment can be implemented.
[0077] Finally, it should be noted that the above embodiments are intended only to illustrate the technical solutions of this application and are not intended to limit the scope of the present invention. Although this application has been described in detail with reference to the embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions to the technical solutions of this application do not depart from the spirit and scope of the technical solutions of this application and should be encompassed by the claims of this application.
Claims
1. A method for merging and splicing satellite multiple downlink transmission frame data, comprising: Step 1: Wait for receiving transmission frame data. If transmission frame data is received, go to step 2. Step 2: Based on the received transmission frame data, query the current track number and antenna number in the configuration information; If the antenna number of the current track number is not found, the record of the current track number and antenna number is added to the configuration information, and the transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced, and then go to step 1; If the current track number is found, the antenna number of the previous track number of the current track number is used as the information to be searched, and is searched from the configuration information, and then go to step 3; Step 3: If the information to be searched is not found in the configuration information, it is determined that the previous track has not arrived, and the antenna number of the current track is recorded as the antenna number starting with the set symbol. The transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced, and then go to step 1; If the data to be searched is found, go to step 4; Step 4: If the antenna number in the information to be searched is an antenna number that begins with a set symbol, it is determined that the current track has not been spliced. The data frame tail of the transmission frame of the information to be searched is spliced with the frame header of the transmission frame of the current track, and the transmission frames are sorted. Then, the process goes to step 1. If there is at least one antenna number in the information to be searched, or it does not begin with a set symbol, the process goes to step 5. Step 5: Select the antenna number with the most recent update time, and query the previous track virtual channel end frame count in the received data information based on the track number, antenna number, and virtual channel number of the information to be searched, and set the forward search count to 0; By judging the end frame count of the virtual channel of the previous track, obtaining the different virtual channels of the data from the transmission frame data, and obtaining the start frame count of the current virtual channel from the virtual channel data, if the start frame count of the current channel = the end frame count of the previous track + 1, it is determined that no valid callback has been performed, and the process goes to step 6; if the end frame count of the previous track >= the start frame count of the current track >= the end frame count of the previous track - the number of callback frames, it is determined that a valid callback has been performed, and the process goes to step 7; if neither of the above two conditions is met, the previous track data is determined to be on-demand data, and the process goes to step 8; Step 6: Search for the cached data of the previous track according to the current track number and antenna number, read the callback frame number data, splice it with the callback frame of the previous track, record the current transmission frame data in the received data information, merge and splice the transmission frame data, and go to step 1; Step 7: Record the current transmission frame data in the received data information and perform transmission frame data merging and splicing processing, and go to step 1; Step 8: Set the forward search count to increase by 1. If the forward search count is less than the set threshold, use the antenna number of the previous track of the previous track as the information to be searched, search from the configuration information, and go to step 3. If the forward search count is greater than or equal to the set threshold, the current transmission frame data is recorded in the received data information and the transmission frame data is merged and spliced, and then go to step 1.
2. The method for merging and splicing satellite multiple downlink transmission frame data according to claim 1, characterized in that: The configuration information includes the track number, antenna number, previous track number, previous track antenna number, storage time and update time; the received data information includes the track number, antenna number, virtual channel number and channel end frame count.
3. The method for merging and splicing satellite multiple downlink transmission frame data according to claim 1, characterized in that: The step of recording the current transmission frame data in the received data information includes: Add the track number and antenna number of the transmitted frame data in the received data information. If the antenna number is set to an antenna number starting with a setting symbol before recording, the newly set antenna number will be used as the antenna number of the newly added data; When the current transmission frame data contains multiple virtual channel data, each virtual channel data records one piece of data, and the track number and antenna number in each piece of data are the same.
4. The method for merging and splicing satellite multiple downlink transmission frame data according to claim 1, characterized in that: The configuration information is updated accordingly when the satellite data plan is updated.
5. The method for merging and splicing satellite multiple downlink transmission frame data according to claim 1, characterized in that: The number of callback frames is a preset fixed value.
6. The method for merging and splicing satellite multiple downlink transmission frame data according to claim 1, characterized in that: The set threshold is 5.
7. A satellite multiple downlink transmission frame data merging and splicing processing system, based on the method of any one of claims 1 to 6, characterized in that: The system comprises: The data receiving module is used to wait for receiving transmission frame data. If the transmission frame data is received, go to step 2. The configuration information retrieval module is used to query the current track number and antenna number in the configuration information based on the received transmission frame data; if the antenna number of the current track number is not found, the record of the current track number and antenna number is added to the configuration information, and the current transmission frame data is recorded in the received data information and the transmission frame data is merged and spliced; if the current track number is found, the antenna number of the previous track of the current track is used as the information to be searched, and the search is performed in the configuration information, and the module for determining whether the previous track has not arrived is called; The module for judging whether the previous track has not arrived is used to judge based on the search results. If the information to be found is not found in the configuration information, it is judged that the previous track has not arrived, and the antenna number of the current track is recorded as the antenna number starting with the set symbol. The transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced. If the data to be found is found, the antenna number judgment module is called; The antenna number identification module is used to identify the antenna number. If the antenna number in the information to be searched is an antenna number that begins with a set symbol, it is determined that the current track has not been spliced. The transmission frame data tail of the information to be searched is spliced with the transmission frame header of the current track, and then the transmission frames are sorted. If there is at least one antenna number in the information to be searched, or if it does not begin with a set symbol, the frame count identification module is called. The frame count determination module is used to select the antenna number with the most recent update time, query the previous track virtual channel end frame count in the received data information according to the track number, antenna number and virtual channel number of the information to be searched, and set the forward search count to 0; by determining the previous track virtual channel end frame count, obtain the different virtual channels of the data from the transmission frame data, and obtain the start frame count of the current virtual channel from the virtual channel data; if the current channel start frame count = the previous track end frame count + 1, it is determined that no valid callback has been performed, and the previous track callback frame splicing module is called; if the previous track end frame count > = the current track start frame count > = the previous track end frame count - the number of callback frames, it is determined that a valid callback has been performed, and the update reception data information module is called; if neither of the above two conditions is met, the previous track data is determined to be on-demand data, and the search count determination module is called; The previous track callback frame splicing module is used to search the cached data of the previous track according to the current track number and antenna number, read the callback frame number data, splice it with the callback frame of the previous track, record the current transmission frame data in the received data information, and merge and splice the transmission frame data; Update the receiving data information module, which is used to record the current transmission frame data in the receiving data information and perform transmission frame data merging and splicing processing; and The search count determination module is used to set the forward search count to increase by 1. If the forward search count is less than the set threshold, the antenna number of the previous track of the previous track data is used as the information to be searched, and the search is performed from the configuration information, and the process goes to step 3. If the forward search count is greater than or equal to the set threshold, the transmission frame data of this time is recorded in the received data information and the transmission frame data is merged and spliced.
Citation Information
Patent Citations
X-band measurement and control communication integrated system based on data system fusion
CN111092650A
Variable coded modulation fractional frame processing method for satellite communication
CN113965244A