A method for storing and downloading satellite telemetry data
Through time-address mapping, the telemetry data is stored and uploaded on demand is solved, and the telemetry data storage and downloading in satellite formations is realized, real-time storage and efficient downloading of telemetry data are achieved to meet the data needs of specified time periods.
Patent Information
- Application Number
- CN202211351428.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-31
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2042-10-31
AI Technical Summary
In the prior art, ground measurement and control resources are occupied seriously when the satellite formation is flying, and the main satellite has limited storage space, so it is impossible to effectively store telemetry data of multiple satellites, resulting in the telemetry data not being uploaded in real time, making it difficult to meet the data needs of a specified time period.
The telemetry data is stored using time-address mapping, and the telemetry data is retrieved and uploaded according to the specified time of the telemetry data download instruction, and the telemetry data is stored and uploaded through the main star or the secondary star.
Real-time storage and on-demand upload of telemetry data is realized, and the current real-time telemetry data of the main and secondary stars is given priority. The storage of telemetry data is similar to the real-time telemetry data, which is convenient for analysis and ensures the periodic download of even-numbered periodic telemetry data.
Smart Images

Figure CN115765835B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of satellite communication technology, and in particular to a method for storing and downloading satellite telemetry data. Background Art
[0002] Currently, there are numerous groups of small satellites (or satellite constellations) flying in formation in orbit both domestically and internationally. However, ground stations often still rely on individual tracking and control for each satellite, which consumes ground tracking and control resources and hinders the satellite's autonomous on-orbit control. According to research, some satellite formations currently use a one-satellite-multiple-slave system, with telemetry data being downlinked in real time via the primary satellite. However, due to limited storage space on the primary satellite, telemetry data from multiple satellites is not stored on the primary satellite. However, low-orbit satellites have a limited daily transit time, generally around 10 minutes per transit, and are tracked once a day. This means that a satellite may downlink telemetry data to the ground station once a day. However, this downlinked telemetry data may not necessarily be real-time data at the current moment. A downlink may require the transmission of telemetry data for a specified time period or duration, for example, 24 hours of telemetry data. Therefore, downlinking telemetry data based on actual needs has become an urgent issue. Summary of the Invention
[0003] The technical problem solved by the present application is: how to download telemetry data. The present application provides a method for storing and downloading satellite telemetry data. In the solution provided in the embodiment of the present application, the telemetry data on the satellite is stored in a "time-address" mapping manner. When downloading, the telemetry data to be downloaded is retrieved according to the specified time indicated by the telemetry data download instruction, thereby realizing the download of telemetry data by the primary satellite or the secondary satellite.
[0004] In a first aspect, an embodiment of the present application provides a method for storing and downloading satellite telemetry data, the method comprising: acquiring telemetry data in real time, storing the telemetry data in a memory in sequence according to the chronological order of reception time, and recording the mapping relationship between the reception time and the storage address, wherein the data stored in the memory is used as stored telemetry data; in response to receiving a telemetry data download instruction sent by a ground station, determining a read start address based on the specified time indicated by the telemetry data download instruction and the mapping relationship; reading the stored telemetry data to be downloaded from the memory according to the read start address, and acquiring current real-time telemetry data, and downloading the read stored telemetry data and the current real-time telemetry data to the ground station.
[0005] Optionally, the telemetry data is stored in the memory in sequence according to the order of reception time, including: caching each frame of telemetry data received in the cache until the number of frames of the cached telemetry data reaches a specified number of frames, and storing the specified number of frames of telemetry data in the memory at one time, wherein the specified number of frames is the number of frames that can be generated per second.
[0006] Optionally, the method further includes: in response to storing a designated number of frames of telemetry data in the memory, replacing the satellite identification code in each frame of telemetry data with a designated identification code according to the type of each frame of telemetry data.
[0007] Optionally, the telemetry data includes: first telemetry data and / or second telemetry data, wherein the first telemetry data is the telemetry data of the primary satellite, and the second telemetry data is the telemetry data of the secondary satellite in the same constellation.
[0008] Optionally, in response to a frame of telemetry data being first telemetry data, the satellite identification code in the telemetry data is replaced with a first designated identification code, wherein the first designated identification code is used to indicate that the telemetry data is primary satellite stored telemetry data, and the primary satellite stored telemetry data refers to the primary satellite telemetry data stored in the memory; and / or in response to a frame of telemetry data being second telemetry data, the satellite identification code in the telemetry data is replaced with a second designated identification code, wherein the second designated identification code is used to indicate that the telemetry data is secondary satellite stored telemetry data, and the secondary satellite stored telemetry data refers to the secondary satellite telemetry data stored in the memory.
[0009] Optionally, storing the telemetry data of the specified number of frames into the memory at one time includes: determining whether the telemetry data of the specified number of frames are telemetry data generated in the same second; if not, discarding the telemetry data of the specified number of frames.
[0010] Optionally, the read start address is determined based on the specified time indicated by the telemetry data transmission instruction and the mapping relationship, including: determining the storage address indicated by the current memory write pointer, and calculating the read start address according to the storage address and the specified time.
[0011] Optionally, calculating the read start address according to the storage address and the specified time includes: calculating the read start address by the following formula:
[0012] RdAddr=WdAddr-T*a*b
[0013] Where RdAddr represents the read start address; WdAddr represents the storage address indicated by the current memory write pointer; T represents the specified time; a represents the number of telemetry data frames generated per second; and b represents the length of each frame of telemetry data.
[0014] Optionally, the stored telemetry data to be downloaded is read from the memory according to the read start address, including: starting from the position indicated by the read start address, sampling the stored telemetry data corresponding to each second stored in the memory according to a specified sampling rate, and using the sampled stored telemetry data as the stored telemetry data to be downloaded, and storing the stored telemetry data to be downloaded in the stored telemetry data buffer.
[0015] Optionally, if the specified sampling rate is an odd number, the stored telemetry data is sampled based on the sampling rate; or if the specified sampling rate is an even number, the specified sampling rate is added by 1 to obtain an adjusted sampling rate, and the stored telemetry data is sampled based on the adjusted sampling rate.
[0016] Optionally, transmitting the read stored telemetry data and the current real-time telemetry data to the ground station includes: transmitting the read telemetry data and the current real-time telemetry data to the ground station respectively according to a preset priority.
[0017] Optionally, the current real-time telemetry data includes the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data; the preset priorities from high to low are the current primary satellite real-time telemetry data, the current secondary satellite real-time telemetry data, the primary satellite stored telemetry data and the secondary satellite stored telemetry data.
[0018] Optionally, the read telemetry data and the current real-time telemetry data are respectively transmitted to the ground station according to a preset priority, including: transmitting the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground station according to a preset priority; in response to transmitting the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground station, reading the primary satellite stored telemetry data in the storage telemetry data buffer and transmitting it down; and in response to transmitting the primary satellite stored telemetry data in the storage telemetry data buffer, deleting the downloaded primary satellite stored telemetry data; in response to there being no primary satellite stored telemetry data in the storage telemetry data buffer, storing the secondary satellite stored telemetry data in the storage telemetry data buffer, reading the secondary satellite stored telemetry data in the storage telemetry data buffer and transmitting it down; and in response to transmitting the secondary satellite stored telemetry data in the storage telemetry data buffer, deleting the downloaded secondary satellite stored telemetry data; in response to there being no primary satellite stored telemetry data and secondary satellite stored telemetry data in the storage telemetry data buffer, filling the specified frame in the storage telemetry data buffer.
[0019] Optionally, the method further includes: if the number of telemetry data frames corresponding to a certain second of the download is greater than the specified number of frames, downloading it according to the current number of frames; if the number of telemetry data frames corresponding to a certain second of the download is less than the specified number of frames, filling it with the number of frames of the next second.
[0020] In a second aspect, an embodiment of the present application provides a satellite, which includes: acquiring telemetry data in real time, storing the telemetry data in a memory in sequence according to the chronological order of reception time, and recording the mapping relationship between the reception time and the storage address, wherein the data stored in the memory is used as stored telemetry data; in response to receiving a telemetry data downlink instruction sent by a ground station, determining a read start address based on the specified time indicated by the telemetry data downlink instruction and the mapping relationship; reading the stored telemetry data to be downloaded from the memory according to the read start address, and acquiring current real-time telemetry data, and downloading the read stored telemetry data and the current real-time telemetry data to the ground station.
[0021] Compared with the prior art, the solution provided by the embodiments of the present application has at least the following beneficial effects:
[0022] 1. In the solution provided in the embodiment of the present application, the telemetry data on the satellite is stored in a "time-address" mapping manner. When downlinking, the telemetry data to be downlinked is retrieved according to the specified time indicated by the telemetry data downlink instruction, thereby realizing the downlink of telemetry data by the primary satellite or the secondary satellite.
[0023] 2. In the solution provided in the embodiment of the present application, priority is given to ensuring the downlink of the current real-time telemetry data of the primary and secondary satellites, and as much telemetry data as possible is stored underground if the channel permits; and the format of the stored telemetry data and the real-time telemetry data is only different in the satellite identification code, and the rest are exactly the same, which facilitates telemetry analysis by ground personnel.
[0024] 3. In the solution provided in the embodiment of the present application, an "odd second sampling" method is adopted to store telemetry data. When the stored telemetry data is downloaded, the telemetry data corresponding to odd seconds is sampled, thereby ensuring that telemetry data packets of even periods can also be periodically downloaded. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A schematic diagram of the structure of a satellite communication system provided in an embodiment of the present application;
[0026] Figure 2 A schematic flow chart of a method for storing and downloading satellite telemetry data provided in an embodiment of the present application;
[0027] Figure 3 A schematic diagram of a structure for storing telemetry data provided in an embodiment of the present application;
[0028] Figure 4 A schematic diagram of another structure for storing telemetry data provided in an embodiment of the present application;
[0029] Figure 5A schematic diagram of retrieving stored telemetry data to be downloaded from a memory provided in an embodiment of this application
[0030] Figure 6 A schematic diagram of sampling stored telemetry data provided for an implementation example of this application;
[0031] Figure 7 A schematic diagram of downlink telemetry data provided for an implementation example of this application;
[0032] Figure 8 A schematic diagram of another method for downlinking telemetry data provided for an implementation example of this application. DETAILED DESCRIPTION
[0033] The embodiments provided in the embodiments of this application are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0034] In order to better understand the above technical solution, the technical solution of the present application is described in detail below through the accompanying drawings and specific embodiments. It should be understood that the embodiments of the present application and the specific features in the embodiments are detailed descriptions of the technical solution of the present application, rather than limitations on the technical solution of the present application. In the absence of conflict, the embodiments of the present application and the technical features in the embodiments can be combined with each other.
[0035] Figure 1 A schematic structural diagram of a satellite communication system provided in an embodiment of the present application is shown.
[0036] As an example, in Figure 1 The satellite communication system shown includes one or more satellite constellations and ground stations. Each satellite constellation and ground station can exchange data through a satellite-to-ground link. For example, the satellite transmits telemetry data to the ground station or the ground station uploads various instructions to the satellite. Each satellite constellation includes a primary satellite and at least one secondary satellite. In the solution provided in the embodiment of the present application, the telemetry data of the primary satellite and the secondary satellite can be transmitted through the primary satellite. For example, the primary satellite frames the telemetry data of the primary satellite and the telemetry data of the secondary satellite and transmits them down. The telemetry data of the primary satellite itself can also be transmitted through the primary satellite and the telemetry data of the secondary satellite can be transmitted through the secondary satellite. The embodiment of the present application mainly provides a solution for transmitting telemetry data of a satellite constellation to a ground station.
[0037] The following is a detailed description of a satellite telemetry data storage and downloading method provided by the embodiment of the present application in conjunction with the accompanying drawings. Figure 1 The satellite communication system shown in FIG. 1 may include the following steps (the method flow is as follows: Figure 2 shown):
[0038] Step 201, acquire telemetry data in real time, store the telemetry data in a memory in order of receiving time, and record the mapping relationship between the receiving time and the storage address, wherein the data stored in the memory is used as stored telemetry data.
[0039] For example, low-orbit satellites have a limited daily transit time, typically about 10 minutes per transit, and are tracked once a day. This means the satellite may transmit telemetry data to the ground station once a day. However, this telemetry data may not be real-time data at the current moment; it may transmit telemetry data for a specified time period or duration, for example, 24 hours a day. Therefore, even when the satellite is not transmitting telemetry data to the ground station, it is necessary to obtain telemetry data in real time and store it so that the corresponding telemetry data can be found when a telemetry data download is requested.
[0040] As another example, the telemetry data acquired in real time includes telemetry data from the primary satellite and / or telemetry data from the secondary satellite in the same constellation. For example, if the primary satellite transmits telemetry data from both the primary and secondary satellites to a ground station, the primary satellite not only needs to acquire its own telemetry data in real time, but also needs to acquire telemetry data from the secondary satellites in the same constellation in real time via intersatellite links. For another example, the primary satellite transmits its own telemetry data, and the secondary satellite transmits its own telemetry data. If the primary satellite is the entity performing satellite telemetry data storage and download, the telemetry data acquired in real time is that of the primary satellite; if the secondary satellite is the entity performing satellite telemetry data download, the telemetry data acquired in real time is that of the secondary satellite. As another example, if the primary satellite performs its own telemetry data storage and download, the telemetry data acquired in real time by the primary satellite is the primary satellite's telemetry data; and if the secondary satellite performs its own telemetry data storage and download, the telemetry data acquired in real time by the secondary satellite is the secondary satellite's telemetry data. The primary satellite's method of storing and downloading its own telemetry data and the secondary satellite's method of storing and downloading its own telemetry data may be the same or different, and are not limited here.
[0041] As another example, the telemetry data is stored in the memory in the order of reception time, including: caching each frame of telemetry data received in the cache until the number of frames of the cached telemetry data reaches a specified number of frames, and storing the specified number of frames of telemetry data in the memory at one time, wherein the specified number of frames is the number of frames that can be generated per second.
[0042] For example, if the primary satellite performs storage and downloading of its own telemetry data and that of the secondary satellite, the memory for storing the telemetry data may be a memory within the primary satellite, such as a Flash memory within the primary satellite. If the primary satellite performs storage and downloading of its own telemetry data and the secondary satellite performs storage and downloading of its own telemetry data, storage space is allocated in the primary satellite's memory to store the primary satellite's telemetry data, and storage space is allocated in the secondary satellite's memory to store the secondary satellite's telemetry data.
[0043] Figure 3 A structural diagram of storing telemetry data provided by an embodiment of the present application is shown.
[0044] As an example, in Figure 3 In this scenario, if the primary satellite is responsible for storing and downloading its own telemetry data and the telemetry data of the secondary satellite, storage space is allocated in the primary satellite's memory (e.g., Flash) for the primary and secondary satellites. The data is stored in chronological order of receipt. For example, 750MB of storage space can store seven days of telemetry data from both the primary and secondary satellites. The primary satellite's telemetry data is generated by the primary satellite itself. For example, four frames of telemetry data are generated per second, each 128 bytes long, with a frame synchronization word of EB90. The primary satellite acquires its own telemetry data in real time and stores it in memory. When storing real-time telemetry data, the primary satellite uses a "buffer four, store one" technique. This technique caches four frames of telemetry data from the same second and stores them all in memory at once, ensuring continuous storage of telemetry data for the same second. The secondary satellite's telemetry data is generated by the secondary satellite itself. For example, four frames of telemetry data are generated per second, each 128 bytes long, with a frame synchronization word of EB 90. The secondary satellite transmits its own telemetry data to the primary satellite in real time every second. The primary satellite receives the secondary satellite's telemetry data via the intersatellite link and stores it in memory. The secondary satellite's real-time telemetry data also uses a "buffer four, store one" technique, caching four frames of telemetry data from the same second and then storing them all at once, ensuring the continuity of telemetry data for the same second.
[0045] The satellite's telemetry data bit rate is typically 16384 bits per second, generating 16 frames of telemetry data per second. Each frame is 128 bytes long (bytes 0 to 127). Each frame includes a frame synchronization code, fixed telemetry data, a frame count, a first leading header pointer, and a frame data field. Specifically, the telemetry data for each frame is shown in Table 1.
[0046] Table 1
[0047]
[0048] As another example, in response to storing a designated number of frames of telemetry data in the memory, the satellite identification code in each frame of telemetry data is replaced with a designated identification code according to the type of each frame of telemetry data.
[0049] As another example, in response to a frame of telemetry data storing telemetry data for a primary satellite, the satellite identification code in the telemetry data is replaced with a first designated identification code, wherein the first designated identification code is used to indicate that the telemetry data is stored for the primary satellite, and the primary satellite stored telemetry data refers to the primary satellite telemetry data stored in the memory; and / or in response to a frame of telemetry data storing telemetry data for a secondary satellite, the satellite identification code in the telemetry data is replaced with a second designated identification code, wherein the second designated identification code is used to indicate that the telemetry data is stored for the secondary satellite, and the secondary satellite stored telemetry data refers to the secondary satellite telemetry data stored in the memory. For example, when storing the primary satellite's telemetry data, the satellite identification code 0x11 in each frame of telemetry data is replaced with 0xAA; when storing the secondary satellite's telemetry data, the satellite identification code 0x22 in each frame of telemetry data is replaced with 0xBB.
[0050] Figure 4 A schematic diagram of another structure for storing telemetry data provided in an embodiment of the present application is shown.
[0051] Furthermore, as another example, when the primary or secondary satellite stores telemetry data, it determines whether the telemetry data of the specified number of frames to be stored are the telemetry data generated in the same second based on the number of frames of telemetry data generated per second; if not, the telemetry data of the specified number of frames will be discarded. For example, the satellite determines whether four consecutive frames of telemetry data are the data of the same second based on the frame count. If Figure 4 If the telemetry data of the 6th frame in the primary satellite data is discontinuous or the telemetry data of the 5th frame in the secondary satellite data is discontinuous, the telemetry data corresponding to the seconds of the 6th frame in the primary satellite data or the 5th frame in the secondary satellite data will be discarded and not stored.
[0052] Step 202: In response to receiving a telemetry data downlink instruction sent by a ground station, determining a read start address based on a designated time indicated by the telemetry data downlink instruction and a mapping relationship.
[0053] For example, the designated time indicated by the telemetry data download instruction sent by the ground station is the start time for retrieving the telemetry data to be downloaded from the memory. For another example, determining the read start address based on the designated time indicated by the telemetry data download instruction and the mapping relationship includes: determining the memory address indicated by the current memory write pointer, and calculating the read start address based on the memory address and the designated time.
[0054] Furthermore, as another example, the read start address is calculated according to the storage address and the specified time, including: calculating the read start address by the following formula:
[0055] RdAddr=WdAddr-T*a*b
[0056] Where RdAddr represents the read start address; WdAddr represents the storage address indicated by the current memory write pointer; T represents the specified time; a represents the number of telemetry data frames generated per second; and b represents the length of each frame of telemetry data.
[0057] Figure 5 A schematic diagram of retrieving stored telemetry data to be downloaded from a memory provided by an implementation example of the present application is shown.
[0058] For example, since the satellite stores telemetry data in chronological order, the storage address of the corresponding memory can be obtained by reverse calculation based on the relative time relative to the current moment, so as to read the stored telemetry data. Figure 4 As shown, the specified time indicated by the telemetry data download instruction is T, and the current memory write address is WdAddr. If the length of each frame of telemetry data is 128 bytes, the memory read start address (rounded up every 128 bytes) can be obtained based on the specified time T: RdAddr = WdAddr-T*128*4.
[0059] Step 203: read the stored telemetry data to be downloaded from the memory according to the read start address, obtain the current real-time telemetry data, and download the read stored telemetry data and the current real-time telemetry data to the ground station.
[0060] As another example, since low-orbit satellites have limited daily transit time (generally about 10 minutes per transit), and are tracked once per day, 24-hour telemetry data must be downloaded. Therefore, the stored telemetry data must generally be sampled and compressed before being downloaded. Reading the stored telemetry data to be downloaded from the memory according to the read start address includes: starting from the location indicated by the read start address, sampling the stored telemetry data corresponding to each second stored in the memory at a specified sampling rate, using the sampled stored telemetry data as the stored telemetry data to be downloaded, and storing the stored telemetry data to be downloaded in the stored telemetry data buffer.
[0061] Furthermore, as another example, to ensure that telemetry data with an even-numbered second period can also be periodically downloaded, "odd-second sampling" is used to sample the stored telemetry data. For example, if the specified sampling rate is an odd number, the stored telemetry data is sampled based on the sampling rate; or if the specified sampling rate is an even number, the specified sampling rate is added by 1 to obtain the adjusted sampling rate, and the stored telemetry data is sampled based on the adjusted sampling rate.
[0062] In the solution provided in the embodiment of the present application, an "odd second sampling" method is adopted to store telemetry data. When the stored telemetry data is downloaded, the telemetry data corresponding to odd seconds is sampled, thereby ensuring that telemetry data packets of even periods can also be periodically downloaded.
[0063] Figure 6 A schematic diagram of sampling stored telemetry data provided by an implementation example of this application is shown.
[0064] As an example, in Figure 6 In the process, after receiving the telemetry data transmission instruction sent by the ground station, the satellite calculates the starting address of the stored telemetry data to be transmitted according to the specified time T indicated by the telemetry data transmission instruction, and inserts the current real-time telemetry data into the real-time information flow of telemetry data transmission according to the rules. Figure 6 As shown, based on the mapping relationship between reception time and storage address, starting from the specified time T, the stored telemetry data for the retrieval time (T + δ) is extracted in the next second at the sampling rate δ. The stored telemetry data for the next second is extracted at (T + 2 * δ), and so on, until the memory read address exceeds the memory write address. The memory read start address is then recalculated (e.g., rounded up every 128 bytes). If there is no telemetry data at the address mapped by time, the memory read address is quickly shifted downward until valid telemetry data is stored at that address. For another example, the sampling rate δ is set according to the "odd-second sampling" principle to ensure that telemetry data with even-second periods can be periodically transmitted. The satellite verifies the sampling rate δ indicated by the ground station. If the sampling rate is 1, all stored telemetry data is transmitted without sampling. If the indicated sampling rate is even, the sampling rate is automatically increased by 1 to ensure that the actual sampling rate is odd.
[0065] As another example, transmitting the read stored telemetry data and current real-time telemetry data to the ground station includes transmitting the read telemetry data and current real-time telemetry data to the ground station according to preset priorities. For example, the current real-time telemetry data includes current primary satellite real-time telemetry data and current secondary satellite real-time telemetry data; the preset priorities, from high to low, are current primary satellite real-time telemetry data, current secondary satellite real-time telemetry data, primary satellite stored telemetry data, and secondary satellite stored telemetry data.
[0066] As another example, the read telemetry data and the current real-time telemetry data are respectively transmitted to the ground station according to the preset priority, including: transmitting the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground station according to the preset priority; in response to transmitting the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground station, reading the primary satellite stored telemetry data in the storage telemetry data buffer and transmitting it down; and in response to transmitting the primary satellite stored telemetry data in the storage telemetry data buffer, deleting the downloaded primary satellite stored telemetry data; in response to there being no primary satellite stored telemetry data in the storage telemetry data buffer, storing the secondary satellite stored telemetry data in the storage telemetry data buffer, reading the secondary satellite stored telemetry data in the storage telemetry data buffer and transmitting it down; and in response to transmitting the secondary satellite stored telemetry data in the storage telemetry data buffer, deleting the downloaded secondary satellite stored telemetry data; in response to there being no primary satellite stored telemetry data and secondary satellite stored telemetry data in the storage telemetry data buffer, filling the specified frame in the storage telemetry data buffer. For example, the satellite (primary or secondary) performs a priority judgment every time it transmits a frame of telemetry data. The priority sorting judgment method is as follows: Figure 7 shown.
[0067] Figure 8 A schematic diagram of downlink telemetry data provided by an implementation example of this application is shown.
[0068] For example, there are four types of telemetry data that need to be downloaded from the primary satellite: the primary satellite's current real-time telemetry data, the secondary satellite's current real-time telemetry data, the primary satellite's stored telemetry data, and the secondary satellite's stored telemetry data. In order to download the telemetry data to the ground station as quickly as possible, the download priority of the four types of telemetry data is set as follows: primary satellite's current real-time telemetry data > secondary satellite's current real-time telemetry data > primary satellite's stored telemetry data > secondary satellite's stored telemetry data. The typical framing method for telemetry data downloaded from the primary satellite is as follows: Figure 8 As shown, the current real-time telemetry data of the primary and secondary satellites is first downloaded. Then, the stored telemetry data of the primary and secondary satellites in the telemetry data buffer are sequentially downloaded. If the stored telemetry data buffer does not contain the primary satellite's stored telemetry data (e.g., the Flash is cleared), the idle channels are filled with the secondary satellite's stored telemetry data. If the stored telemetry data buffer does not contain the secondary satellite's stored telemetry data, the idle channels are filled with the primary satellite's stored telemetry data. If the stored telemetry data buffer does not contain the primary or secondary satellite's stored telemetry data (the Flash is cleared), the idle channels are filled with filler frames (e.g., EB 90 AA AA AA...), ensuring uninterrupted telemetry data download.
[0069] In the solution provided in the embodiment of the present application, priority is given to ensuring the downlink of the current real-time telemetry data of the primary and secondary satellites, and as much telemetry data as possible is stored underground if the channel permits; and the format of the stored telemetry data and the real-time telemetry data is only different from the satellite identification code, and the rest are exactly the same, which facilitates telemetry analysis by ground personnel.
[0070] For example, due to the asynchronous clocks of various data sources, a given data source may have more or fewer frames in a given second. If the number of telemetry data frames corresponding to a given second exceeds the specified number of frames, the current number of frames will be transmitted. If the number of telemetry data frames corresponding to a given second is less than the specified number of frames, the number of frames from the next second will be used to fill the gaps. For example, if there is one extra frame in a given second, one more frame of telemetry data will be transmitted in that second. If there is one less frame of telemetry data in a given second, the frame will be filled with data of a lower priority.
[0071] In the solution provided in the embodiment of the present application, the telemetry data on the satellite is stored in a "time-address" mapping manner. When downlinking, the telemetry data to be downlinked is retrieved according to the specified time indicated by the telemetry data downlink instruction, thereby realizing the downlink of telemetry data by the primary satellite or the secondary satellite.
[0072] The present application also provides a satellite, which includes: acquiring telemetry data in real time, storing the telemetry data in a memory in order of reception time, and recording the mapping relationship between the reception time and the storage address, wherein the data stored in the memory is used as stored telemetry data; in response to receiving a telemetry data downlink instruction sent by a ground station, determining a read start address based on the specified time indicated by the telemetry data downlink instruction and the mapping relationship; reading the stored telemetry data to be downloaded from the memory according to the read start address, and acquiring current real-time telemetry data, and downloading the read stored telemetry data and the current real-time telemetry data to the ground station.
[0073] As an example, the satellite can be the primary satellite in a constellation or the secondary satellite in a constellation. For specific telemetry data storage and downloading methods, please refer to the above content and will not be elaborated here.
[0074] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A method for storing and downloading satellite telemetry data, characterized in that: include: Acquire telemetry data in real time, store the telemetry data in memory in order of reception time, and record the mapping relationship between reception time and storage address, the telemetry data including first telemetry data and second telemetry data, the first telemetry data is telemetry data of the primary satellite, and the second telemetry data is telemetry data of the secondary satellite in the same constellation, and use the data stored in the memory as stored telemetry data, and the format of the stored telemetry data and the real-time telemetry data differs only in the satellite identification code; In response to a frame of telemetry data being first telemetry data, replacing a satellite identification code in the telemetry data with a first designated identification code, wherein the first designated identification code is used to indicate that the telemetry data is primary satellite stored telemetry data, and the primary satellite stored telemetry data refers to the primary satellite telemetry data stored in the memory; In response to a frame of telemetry data being second telemetry data, replacing a satellite identification code in the telemetry data with a second designated identification code, wherein the second designated identification code is used to indicate that the telemetry data is secondary satellite stored telemetry data, and the secondary satellite stored telemetry data refers to the secondary satellite telemetry data stored in the memory; In response to receiving a telemetry data downlink instruction sent by a ground station, determining a read start address based on a specified time indicated by the telemetry data downlink instruction and a mapping relationship, including: determining a storage address indicated by a current memory write pointer, and calculating a read start address according to the storage address and the specified time: RdAddr=WdAddr-T*a*b, where RdAddr represents the read start address; WdAddr represents the storage address indicated by the current memory write pointer; T represents the specified time; a represents the number of telemetry data frames generated per second; and b represents the length of each frame of telemetry data. Read the stored telemetry data to be downloaded from the memory according to the read start address, and obtain the current real-time telemetry data, and download the read telemetry data and the current real-time telemetry data to the ground station according to the preset priority. The current real-time telemetry data includes the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data. The preset priorities are from high to low as follows: the current primary satellite real-time telemetry data, the current secondary satellite real-time telemetry data, the primary satellite stored telemetry data, and the secondary satellite stored telemetry data, including: downloading the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground station according to the preset priority; in response to downloading the current primary satellite real-time telemetry data and the current secondary satellite real-time telemetry data to the ground After the station is established, the primary satellite storage telemetry data in the storage telemetry data buffer is read and downloaded; and in response to downloading the primary satellite storage telemetry data in the storage telemetry data buffer, the downloaded primary satellite storage telemetry data is deleted; in response to there being no primary satellite storage telemetry data in the storage telemetry data buffer, the secondary satellite storage telemetry data is stored in the storage telemetry data buffer, and the secondary satellite storage telemetry data in the storage telemetry data buffer is read and downloaded; and in response to downloading the secondary satellite storage telemetry data in the storage telemetry data buffer, the downloaded secondary satellite storage telemetry data is deleted; in response to there being no primary satellite storage telemetry data and secondary satellite storage telemetry data in the storage telemetry data buffer, a specified frame is filled in the storage telemetry data buffer.
2. The method according to claim 1, wherein The telemetry data is stored in the memory in the order of reception time, including: Each frame of telemetry data received is cached in the cache until the number of cached telemetry data frames reaches a specified number of frames, and the specified number of frames of telemetry data is stored in the memory at one time, wherein the specified number of frames is the number of frames that can be generated per second.
3. The method according to claim 1, wherein in, Stores a specified number of frames of telemetry data into the memory at one time, including: Determine whether the telemetry data of the specified number of frames are generated in the same second; If not, the telemetry data of the specified number of frames will be discarded.
4. The method according to claim 1, wherein in, Read the stored telemetry data to be downloaded from the memory according to the read start address, including: Starting from the position indicated by the read start address, the storage telemetry data corresponding to each second stored in the memory is sampled according to the specified sampling rate, and the sampled storage telemetry data is used as the storage telemetry data to be read and transmitted, and the storage telemetry data to be read and transmitted is stored in the storage telemetry data buffer.
5. The method according to claim 4, wherein in, If the specified sampling rate is an odd number, the stored telemetry data is sampled based on the sampling rate; or If the specified sampling rate is an even number, the specified sampling rate is increased by 1 to obtain an adjusted sampling rate, and the stored telemetry data is sampled based on the adjusted sampling rate.
6. The method according to claim 1, wherein Also includes: If the number of telemetry data frames corresponding to a certain second of the download is greater than the specified number of frames, the current number of frames will be downloaded; If the number of telemetry data frames corresponding to a certain second is less than the specified number of frames, the number of frames in the next second will be used to fill it.
Citation Information
Patent Citations
Satellite delay telemetry data storing and downloading method
CN104749593A