Remote measurement error code reference frame path selection method and system
By obtaining telemetry task parameter information in satellite measurement and control tasks and performing byte-level and bit-level comparison and matching, the problem of insufficient accuracy and incompatibility of real-time and post-data processing in satellite telemetry systems is solved, and a high-precision and compatibility of error reference frame routing method is realized.
Patent Information
- Application Number
- CN202411610570.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-02-25
AI Technical Summary
When obtaining telemetry error reference frames in satellite telemetry systems, there are problems such as insufficient accuracy and incompatibility with real-time and post-event data processing systems, and manual selection of comparison areas is likely to lead to a dead loop.
By obtaining telemetry task parameter information in satellite measurement and control tasks, receiving PCM demodulated data, and selecting the telemetry error reference frame by incrementing layer by layer through byte-level and bit-level comparison and matching. This method is compatible with real-time and post-event data processing systems and avoids the dead loop caused by manual checking.
It improves the accuracy of telemetry error reference frame selection, is compatible with real-time and post-event data processing systems, solves the problem of dead loop caused by manual checking, and does not increase excessive system resource usage.
Smart Images

Figure CN119519810A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of satellite measurement and control telemetry data processing, and in particular to a method for selecting a path for a telemetry error code reference frame. Background Art
[0002] Telemetry data is an important way to monitor the status of satellite payloads, operating status and environmental parameters. The data processing speed and quality will directly affect the analysis and identification of flight results, especially providing a basis for the evaluation of weapon system performance and fault analysis. Bit error rate is an important performance indicator of the telemetry signal transmission link. As one of the satellite ground test items, telemetry bit error rate test is used to test the quality of telemetry signals and the demodulation performance of ground equipment. The test of telemetry bit error rate usually requires the use of a reference frame, because the reference frame provides a standard for comparison with the received signal to detect and count bit errors. The reference frame is a known, error-free or known error reference data. By comparing the received signal with it, errors that may occur in the signal transmission process can be detected.
[0003] In a satellite telemetry system, a reference frame can be predefined or a data frame correctly received at a certain time before. During the test, the system will continuously receive multiple data frames and compare them with the reference frame. If the received data frame is completely consistent with the reference frame at the bit level, the data frame is considered to have no bit errors. If there is an inconsistency, the ratio of the number of these inconsistent bits to the total number of bits is defined as the bit error rate. For example, the Chinese invention patent satellite telemetry bit error rate test system and test method with publication number CN113791433A provides a satellite telemetry bit error rate test method and system, in which the reference frame is obtained by manual or automatic methods. However, the acquisition of the above-mentioned reference frame is carried out under the premise that the satellite is set to the bit error rate test mode, which is incompatible with real-time and post-data processing systems. At the same time, there is a problem that the reference frame selection process falls into an infinite loop due to manually checking the comparison area with errors. Summary of the invention
[0004] The technical problem to be solved by the present invention is to improve the accuracy of telemetry error reference frame routing and to be compatible with post-data systems and real-time data systems.
[0005] The present invention solves the above technical problems through the following technical means:
[0006] The present invention provides a method for selecting a path for a telemetry error bit reference frame, comprising the following steps:
[0007] S1. Obtain telemetry mission parameter information according to satellite measurement and control mission requirements;
[0008] S2, receiving the PCM demodulated data, and refreshing the displayed data information according to the channel;
[0009] S3. Obtain the total number of channels N and the channel sequence number Seq by telemetry of the frame synchronization code group position and the frame synchronization code group length, or by manual selection;
[0010] S4, according to the total number of channels N and the channel sequence number Seq obtained in step S3, the frame data of the corresponding channel is selected from the received PCM demodulated data for byte-level comparison and matching; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, continue to step S5;
[0011] S5. Expand the bytes that have not been successfully matched in step S4 into bit representation, perform bit-level matching and matching, and return the bytes after the matching is completed to replace the bytes that have not been successfully matched in step S4, so as to obtain a telemetry error comparison reference frame.
[0012] Furthermore, the sources of the PCM demodulated data in step S2 include:
[0013] (1) Real-time data refers to the real-time reception of telemetry data transmitted by satellites, aircraft, etc.
[0014] (2) Post-event data refers to data saved in telemetry storage files and played back locally.
[0015] The data information in step S2 includes: a channel number and corresponding data.
[0016] The step S4 comprises the following steps:
[0017] S41, creating two independent cache spaces, which are respectively recorded as cache space A and cache space B;
[0018] S42, according to the total number of channels N and the corresponding channel sequence number Seq, select the frame data of the corresponding channel sequence number from the telemetry data stream and save it to the cache space B;
[0019] S43, performing a round of comparison and matching operation on the current frame data in the cache space B and the corresponding node of the previous frame data, and storing the successfully matched byte data pattern in the corresponding node in the cache space A;
[0020] S44, compare and match the corresponding nodes of multiple frames of data in turn. If all node data in cache space B are matched successfully, the frame data in cache space A is the obtained telemetry error comparison reference frame; if there is still node data in cache space B that has not been matched successfully, continue to execute step S5.
[0021] Furthermore, the step S41 is specifically as follows:
[0022] The cache space A is used to store the frame data that has been successfully matched. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as the matching pattern Pattern. Set A x .Pattern is the matching pattern of the xth node.
[0023] The cache space B is used to store frame data corresponding to the channel number selected from the telemetry data stream. Its data structure is a two-dimensional one-way dynamic linked list. The horizontal axis is the node number, which is consistent with the node number of the cache space A, and the vertical axis is the frame number. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as a matching pattern. Set B xy .Pattern is the data of the xth node of the yth frame data, where the initial values of x and y are 1; and a matching mark B is set for each node number of the horizontal axis x .MatchFlag, where B x .When MatchFlag = 1, it means that the x node has been matched successfully; B x When .MatchFlag=0, it means that the x node is not matched successfully.
[0024] The step S42 is specifically as follows:
[0025] According to the total number of channels N and the corresponding channel sequence number Seq, the yth frame data of the corresponding channel sequence number is selected from the telemetry data stream and saved to the corresponding nodes with the frame sequence number y in the buffer space B, and it is determined whether y is equal to 1;
[0026] If it is established, it means that the first frame is stored, then the matching marks of all N nodes in the cache space B are initialized to 0, and y is updated with y=y+1, and then the process returns to step S42 to continue execution;
[0027] If not, continue to execute step S43.
[0028] The step S43 is specifically as follows:
[0029] First, determine whether the node value x is greater than the total number of channels N;
[0030] If it is established, the comparison of each node of a frame of data is completed, y is updated using y=y+1, and S44 is continued;
[0031] If it is not true, then determine the B in the cache space B. x .Whether MatchFlag is equal to 1;
[0032] If B x .MatchFlag=1, it means that the data of the node has been matched successfully, and x is updated using x=x+1, and the process returns to step S43;
[0033] If B x .MatchFlag=0, then compare B xy .Pattern is equal to B x(y-1) .Pattern; if they are equal, it means the match is successful, and B xy .Pattern stores the matching pattern A of the x node in the cache space A x .Pattern; at the same time, B x .MatchFlag is set to 1, and x is updated using x=x+1; if they are not equal, it means that the match is unsuccessful, and x is updated using x=x+1, and the process returns to step S43.
[0034] The step S44 is specifically as follows:
[0035] Set the maximum number of frames y that can be stored in cache space B to y max , where y max Set according to the buffer space and the accuracy requirements of the error reference frame. The default value is y max The value of is an odd number.
[0036] First, traverse the B in cache space B x .Are all MatchFlags equal to 1?
[0037] If it is established, it means that all node data in cache space B are matched successfully, then the frame data in cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0038] If it is not true, it means that there are nodes in cache space B that have not been matched successfully. The data of these nodes is always changing. Determine whether y is less than or equal to y max ; If y is less than or equal to y max , then return to step S42 to perform the next frame data comparison and matching until the B in the cache space B is satisfied. x .MatchFlag is all equal to 1, obtain the telemetry error comparison reference frame, and exit the process; if y is greater than y max , it means that the byte-level data matching fails, and the process continues with step S5.
[0039] Furthermore, the step S5 includes the following steps:
[0040] S51, create a cache space C, used to expand the node byte data that has not been successfully matched in the cache space B into 8-bit bit form for storage, set each bit counter to Count[i], used to count the cumulative value of the same bit in the cache space C with a value of 1, set DataRlt[i] to the value of the i-th bit in the cache space C. Where i represents the bit, i=0,1...,7, initialize the node value x to 1;
[0041] S52, judging whether x is greater than the total number of channels N;
[0042] If established, it means that the traversal of the matching mark is completed, the bit-level matching is completed, the frame data in the cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0043] If not, then judge B x .MatchFlag is equal to 1; if B x .MatchFlag=1, use x=x+1 to update x, and return to step S52; if B x .MatchFlag=0, then continue to execute S53;
[0044] S53, counting the number of bits with the same value of 1 in all frames of the current failed node in step S52, determining the value of the current bit; then recombining the determined values of the 8 bits into a byte and storing it in the corresponding node matching pattern in cache A. The step S53 is specifically as follows:
[0045] First, the y stored in the cache space B is max The x-th node of the frame data is expanded into 8 bits in turn and saved in the cache space C; then the cumulative counter Count[i] with the value of 1 in the i-th bit is obtained by counting, and the Count[i] corresponding to the 0-7 bits is compared with When Count[i] is greater than Then set DataRlt[i] = 1; when Count[i] is less than Then set DataRlt[i] = 0; finally, reassemble DataRlt[0], DataRlt[1], ..., DataRlt[7] into one byte and store it in cache space A x .Pattern; at the same time, use x=x+1 to update x and return to step S52.
[0046] The present invention also provides a routing system for telemetry error bit reference frames, the system comprising:
[0047] The parameter collection module is used to obtain telemetry mission parameter information according to the satellite measurement and control mission requirements;
[0048] Data preprocessing module, used to receive the PCM demodulated data and refresh the displayed data information according to the channel;
[0049] The channel acquisition module is used to obtain the total number of channels N and the channel sequence number Seq by telemetry of the frame synchronization code group position and frame synchronization code group length, or by manual selection;
[0050] The byte matching module is used to select the frame data of the corresponding channel from the received PCM demodulated data for byte-level comparison and matching according to the total number of channels N and the channel sequence number Seq obtained by the channel acquisition module; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, the bit matching module is continued to be executed;
[0051] The bit matching module is used to expand the bytes that have not been successfully matched in the byte matching module into bit representations, perform bit-level matching, and return bytes after the matching is completed to replace the bytes that have not been successfully matched in the byte matching module to obtain the telemetry error comparison reference frame.
[0052] The present invention has the following beneficial effects:
[0053] (1) This method improves the accuracy of telemetry error reference frame selection by gradually increasing the byte-level matching to the bit-level matching without increasing the system resource usage. At the same time, it solves the problem that the reference frame selection process falls into an infinite loop due to the error in the manually selected comparison area.
[0054] (2) The method for selecting the telemetry error reference frame is compatible with the real-time data processing system and the post-processing data processing system.
[0055] (3) The selection of telemetry error reference frames can be done manually or automatically, which improves the flexibility of module application. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 A schematic diagram of a method for automatically acquiring a telemetry error reference frame according to an embodiment of the present invention;
[0057] Figure 2 This is a flow chart of step S5 of a method for automatically acquiring a telemetry error reference frame according to an embodiment of the present invention;
[0058] Figure 3 This is a schematic diagram of channel selection and corresponding data in a post-telemetry data processing system applied to Embodiment 1 of the present invention;
[0059] Figure 4 This is a schematic diagram of channel selection and corresponding data in a real-time telemetry data processing system applied to Embodiment 2 of the present invention;
[0060] Figure 5 This is a schematic diagram of cache space B according to embodiment 1 of the present invention;
[0061] Figure 6 This is a schematic diagram of cache space A according to embodiment 1 of the present invention;
[0062] Figure 7 This is a schematic diagram of cache space B according to embodiment 2 of the present invention;
[0063] Figure 8 This is a schematic diagram of cache space A according to embodiment 2 of the present invention;
[0064] Fig. 9 Schematic diagram of cache space C in embodiment 2 of the present invention; DETAILED DESCRIPTION
[0065] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in combination with the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0066] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings.
[0067] Example 1
[0068] This embodiment is applied to the telemetry post-data processing system, and automatically obtains the reference frame pattern according to the telemetry frame synchronization code group position and code group length. Figure 1 As shown, the specific implementation steps are as follows:
[0069] S1. Obtain telemetry mission parameter information according to satellite measurement and control mission requirements;
[0070] In this embodiment, the telemetry task parameter information is manually input, including: telemetry frame synchronization code group position (frame header) and frame synchronization code group length (4Byte);
[0071] S2, receiving the PCM demodulated data, and refreshing the displayed data information according to the channel;
[0072] The PCM demodulated data is as follows: setting the telemetry data file path, reading the file and playing back the local data according to the specified format without passing through the demodulation and decoding module, and refreshing and displaying each frame of telemetry data by channel. The displayed information includes: channel number and corresponding data.
[0073] S3, by telemetering the frame synchronization code group position and frame synchronization code group length, the total number of channels N and the channel sequence number Seq are obtained;
[0074] In this embodiment, the channel number of the reference frame is automatically obtained as 1-4 through the frame synchronization code group length (4Byte) and the code group position information (frame header). Figure 3 (a) shown.
[0075] S4. According to the total number of channels N and the channel sequence number Seq obtained in step S3, the frame data of the corresponding channel is selected from the received PCM demodulated data for byte-level comparison and matching; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, continue to execute step S5.
[0076] The step S4 comprises the following steps:
[0077] S41, creating two independent cache spaces, which are respectively recorded as cache space A and cache space B;
[0078] The cache space A is used to store the frame data that has been successfully matched. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as the matching pattern Pattern. Set A x .Pattern is the matching pattern of the x-th node.
[0079] The cache space B is used to store frame data corresponding to the channel number selected from the telemetry data stream. Its data structure is a two-dimensional one-way dynamic linked list. The horizontal axis is the node number, which is consistent with the node number of the cache space A, and the vertical axis is the frame number. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as a matching pattern. Set B xy .Pattern is the data of the xth node of the yth frame data, where the initial values of x and y are 1; and a matching mark B is set for each node number of the horizontal axis x .MatchFlag, where B x .When MatchFlag = 1, it means that the x node has been matched successfully; B x When .MatchFlag=0, it means that the x node is not matched successfully.
[0080] S42, according to the total number of channels N and the corresponding channel sequence number Seq, select the frame data of the corresponding channel sequence number from the telemetry data stream and save it to the cache space B. The step S42 is specifically as follows:
[0081] According to the total number of channels N and the corresponding channel sequence number Seq, the yth frame data of the corresponding channel sequence number is selected from the telemetry data stream and saved to the corresponding nodes with the frame sequence number y in the buffer space B, and it is determined whether y is equal to 1;
[0082] If it is established, it means that the first frame is stored, then the matching marks of all N nodes in the cache space B are initialized to 0, and y is updated with y=y+1, and then the process returns to step S42 to continue execution.
[0083] like Figure 3 As shown in (a), according to the total number of channels 4 and channel numbers 1-4 obtained in step S3, the first frame data selected from the telemetry data stream is 0x1A, 0xCF, 0xFC, 0x1D; the first frame data is saved in the matching pattern Pattern of node 1-4 with frame number 1 in cache space B, that is, the first frame data is B 11 .Pattern = 0x1A, B 21 .Pattern = 0xCF, B 31 .Pattern=0xFC,B 41 .Pattern=0x1D;Since y=1, the matching marks of all 4 nodes in cache space B are initialized to 0, that is, B 1 .MatchFlag=0、...、B 4 .MatchFlag=0; at the same time, update y=2, and save the second frame data in the matching pattern Pattern of node 1-4 with frame number 2 in cache space B, such as Figure 3 As shown in (b), according to the total number of channels 4 and channel numbers 1-4 obtained in step S3, the second frame data selected from the telemetry data stream is 0x2C, 0xCF, 0xFC, 0x1D; that is, the second frame data is B 12 .Pattern = 0x2C, B 22 .Pattern = 0xCF, B 32 .Pattern=0xFC,B 42 .Pattern=0x1D, such as Figure 5 shown.
[0084] If not, then continue to execute step S43. In this example, at this time, y=2, then continue to execute step S43.
[0085] S43, performing a round of comparison and matching operation on the current frame data in the cache space B and the corresponding node of the previous frame data, and storing the successfully matched byte data pattern in the corresponding node in the cache space A. The step S43 is specifically as follows:
[0086] First, determine whether the node value x is greater than the total number of channels N;
[0087] If it is established, the comparison of each node of a frame of data is completed, y is updated using y=y+1, and S44 is continued;
[0088] If not, determine whether Bx.MatchFlag in cache space B is equal to 1;
[0089] If Bx.MatchFlag = 1, it means that the data of the node has been matched successfully, and x is updated using x = x + 1, and the process returns to step S43;
[0090] If Bx.MatchFlag=0, check whether Bxy.Pattern is equal to Bx(y-1).Pattern; if they are equal, it means the match is successful, and Bxy.Pattern is stored in the matching pattern Ax.Pattern of the x node in the cache space A; at the same time, Bx.MatchFlag is set to 1, and x is updated using x=x+1; if they are not equal, it means the match is unsuccessful, and x is updated using x=x+1, and return to step S43.
[0091] like Figure 5 , Figure 6 As shown, in this embodiment, the above comparison method is used to compare the nodes 1-4 of the second frame with the first frame in the cache space B one by one. When x=5, it means that the comparison of nodes 1-4 has been completed, and the comparison of one frame is completed, as shown in FIG. Figure 3 As shown in (a) and 3(b), nodes 2, 3, and 4 in cache space B are matched successfully, and the corresponding matching flags are set to 1. Node 1 is not matched successfully, and the matching flag is 0.
[0092] S44, compare and match the corresponding nodes of multiple frames of data in sequence. If all the node data in cache space B are successfully matched, the frame data in cache space A is the obtained telemetry error comparison reference frame; if there is still node data in cache space B that has not been successfully matched, continue to step S5. The specific step S44 is:
[0093] Set the maximum number of frames y that can be stored in cache space B to y max , where ymax is set according to the buffer space and the accuracy requirement of the error reference frame. The default value is y max The value of is an odd number; without considering the size of the hardware memory space, increasing y max , the accuracy of the reference frame is higher.
[0094] First, traverse the B in cache space B x .Are all MatchFlags equal to 1?
[0095] If it is established, it means that all node data in cache space B are matched successfully, then the frame data in cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0096] If it is not true, it means that there are nodes in cache space B that have not been matched successfully. The data of these nodes is always changing. Determine whether y is less than or equal to y max ; If y is less than or equal to y max , then return to step S42 to perform the next frame data comparison and matching until the B in the cache space B is satisfied. x .MatchFlag is all equal to 1, obtain the telemetry error comparison reference frame, and exit the process; if y is greater than y max , it means that the byte-level data matching fails, and the process continues with step S5.
[0097] In order to simplify the operation description of the embodiment, Figure 5 , Figure 6 As shown, this embodiment sets y max =3. Through the above method, after the frame comparison of this embodiment is completed, the node 1 matching mark is 0, and y=3; then return to step S42, the third frame data selected from the telemetry data stream is 0x2C, 0xCF, 0xFD, 0x1D; that is, the third frame data is B 13 .Pattern = 0x2C, B 23 .Pattern = 0xCF, B 33 .Pattern=0xFD,B 43 .Pattern=0x1D, such as Figure 3 (c) shows that the corresponding node data of the third frame is then compared and matched with the corresponding node data of the second frame. After the comparison, node 1 is successfully matched, that is, B 1 .MatchFlag=1、B 2 .MatchFlag=1、B 3 .MatchFlag=1、B 4 .MatchFlag = 1; it means that all nodes in cache space B are matched successfully, then the frame data in cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0098] Example 2
[0099] This embodiment is applied to the satellite telemetry real-time data processing system, and the reference frame pattern is automatically obtained after manually selecting the comparison area. Figure 1 As shown, the specific implementation steps are as follows:
[0100] S1. Obtain telemetry mission parameter information according to satellite measurement and control mission requirements;
[0101] In this embodiment, when the comparison area is manually selected, step 1 is allowed to be skipped and step S2 is directly entered.
[0102] S2, receiving the PCM demodulated data, and refreshing the displayed data information according to the channel;
[0103] The PCM demodulated data is: in the telemetry real-time data processing system, the telemetry data transmitted by satellites, aircraft, etc. are received in real time, and the telemetry frames are refreshed in the channel selection module according to the channel display at a certain frequency. The displayed information includes: channel number and corresponding data.
[0104] S3, manually select to obtain the total number of channels N and the channel sequence number Seq;
[0105] In this embodiment, the comparison area is manually selected, the total number of channels N is 7, and the channel numbers Seq are 3, 4, 6, 7, 11, 12, and 17 respectively. Figure 4 (a) shown.
[0106] S4. According to the total number of channels N and the channel sequence number Seq obtained in step S3, the frame data of the corresponding channel is selected from the received PCM demodulated data for byte-level comparison and matching; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, continue to execute step S5.
[0107] The step S4 comprises the following steps:
[0108] S41, creating two independent cache spaces, which are respectively recorded as cache space A and cache space B;
[0109] The cache space A is used to store the frame data that has been successfully matched. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as the matching pattern Pattern. Set A x .Pattern is the matching pattern of the xth node.
[0110] The cache space B is used to store frame data corresponding to the channel number selected from the telemetry data stream. Its data structure is a two-dimensional one-way dynamic linked list. The horizontal axis is the node number, which is consistent with the node number of the cache space A, and the vertical axis is the frame number. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as a matching pattern. Set B xy .Pattern is the data of the xth node of the yth frame data, where the initial values of x and y are 1; and a matching mark B is set for each node number of the horizontal axis x .MatchFlag, where B x .When MatchFlag = 1, it means that the x node has been matched successfully; B x When .MatchFlag=0, it means that the x node is not matched successfully.
[0111] S42, according to the total number of channels N and the corresponding channel sequence number Seq, select the frame data of the corresponding channel sequence number from the telemetry data stream and save it to the cache space B. The step S42 is specifically as follows:
[0112] According to the total number of channels N and the corresponding channel sequence number Seq, the yth frame data of the corresponding channel sequence number is selected from the telemetry data stream and saved to the corresponding nodes with the frame sequence number y in the buffer space B, and it is determined whether y is equal to 1;
[0113] If it is established, it means that the first frame is stored, then the matching marks of all N nodes in the cache space B are initialized to 0, and y is updated with y=y+1, and then the process returns to step S42 to continue execution.
[0114] like Figure 4 As shown in (a), according to the total number of channels 7 and channel numbers 3, 4, 6, 7, 11, 12, 17 obtained in step S3, the first frame data selected from the telemetry data stream is 0x67, 0x45, 0x6B, 0x69, 0x51, 0xDC, 0xEC; the first frame data is saved in the matching pattern Pattern of node 1-7 with frame number 1 in cache space B, that is, the first frame data is B 11 .Pattern=0x67,B 21 .Pattern=0x45,B 31 .Pattern = 0x6B, B 41 .Pattern=0x69,B 51 .Pattern=0x51,B 61 .Pattern=0xDC,B 71 .Pattern=0xEC;Since y=1, the matching marks of all 7 nodes in cache space B are initialized to 0, that is, B 1 .MatchFlag=0、...、B 7 .MatchFlag=0; at the same time, update y=2, and save the second frame data in the matching pattern Pattern of nodes 1-7 with frame number 2 in cache space B, such as Figure 4 As shown in (b), according to the total number of channels 7 and channel numbers 3, 4, 6, 7, 11, 12, 17 obtained in step S3, the second frame data selected from the telemetry data stream is 0xBA, 0x45, 0x6B, 0xFF, 0x51, 0xDC, 0x7C; that is, the second frame data is B 12 .Pattern = 0xBA, B 22 .Pattern=0x45,B 32 .Pattern = 0x6B, B 42 .Pattern=0xFF,B 52.Pattern=0x51,B 62 .Pattern=0xDC,B 72 .Pattern=0x7C, such as Figure 7 shown.
[0115] If not, then continue to execute step S43. In this example, at this time y=2, then continue to execute step S43.
[0116] S43, performing a round of comparison and matching operation on the current frame data in the cache space B and the corresponding node of the previous frame data, and storing the successfully matched byte data pattern in the corresponding node in the cache space A. The step S43 is specifically as follows:
[0117] First, determine whether the node value x is greater than the total number of channels N;
[0118] If it is established, the comparison of each node of a frame of data is completed, y is updated using y=y+1, and S44 is continued;
[0119] If not, determine whether Bx.MatchFlag in cache space B is equal to 1;
[0120] If Bx.MatchFlag = 1, it means that the data of the node has been matched successfully, and x is updated using x = x + 1, and the process returns to step S43;
[0121] If Bx.MatchFlag=0, check whether Bxy.Pattern is equal to Bx(y-1).Pattern; if they are equal, it means the match is successful, and Bxy.Pattern is stored in the matching pattern Ax.Pattern of the x node in the cache space A; at the same time, Bx.MatchFlag is set to 1, and x is updated using x=x+1; if they are not equal, it means the match is unsuccessful, and x is updated using x=x+1, and return to step S43.
[0122] like Figure 7 , Figure 8 As shown, in this embodiment, the above comparison method is used to compare the nodes 1-7 of the second frame with the first frame in the cache space B one by one. When x=8, it means that the comparison of nodes 1-7 has been completed, and the comparison of one frame is completed, as shown in FIG. Figure 4 As shown in (a) and 4(b), nodes 2, 3, 5, and 6 in cache space B are matched successfully, and the corresponding matching marks are set to 1, while the matching marks of other nodes 1, 4, and 7 are set to 0.
[0123] S44, compare and match the corresponding nodes of multiple frames of data in sequence. If all the node data in cache space B are successfully matched, the frame data in cache space A is the obtained telemetry error comparison reference frame; if there is still node data in cache space B that has not been successfully matched, continue to step S5. The specific step S44 is:
[0124] Set the maximum number of frames y that can be stored in cache space B to y max , where ymax is set according to the buffer space and the accuracy requirement of the error reference frame. The default value is y max The value of is an odd number; without considering the size of the hardware memory space, increasing y max , the accuracy of the reference frame is higher.
[0125] First, traverse the B in cache space B x .Are all MatchFlags equal to 1?
[0126] If it is established, it means that all node data in cache space B are matched successfully, then the frame data in cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0127] If it is not true, it means that there are nodes in cache space B that have not been matched successfully. The data of these nodes is always changing. Determine whether y is less than or equal to y max ; If y is less than or equal to y max , then return to step S42 to perform the next frame data comparison and matching until the B in the cache space B is satisfied. x .MatchFlag is all equal to 1, obtain the telemetry error comparison reference frame, and exit the process; if y is greater than y max , it means that the byte-level data matching fails, and the process continues with step S5.
[0128] In order to simplify the operation description of the embodiment, Figure 7 , Figure 8 As shown, this embodiment sets y max =3. Through the above method, after the frame comparison of this embodiment is completed, the matching mark of nodes 1, 4, and 7 is 0, and y=3; then return to step S42, and the third frame data selected from the telemetry data stream is 0xBA, 0x45, 0x6B, 0xFF, 0x51, 0xDC, and 0xEC; that is, the third frame data is B 13 .Pattern = 0xBA, B 23 .Pattern=0x45,B 33 .Pattern = 0x6B, B 43 .Pattern=0xFF,B 53 .Pattern=0x51,B 63.Pattern=0xDC,B 73 .Pattern=0xEC, such as Figure 4 (c) shows that the third frame is then compared with the corresponding node data of the second frame. After the comparison, node 7 in cache space B still fails to match successfully. At this time, y=4, which is greater than 3, indicating that the byte-level data match fails, and step S5 is continued.
[0129] S5. Expand the bytes that have not been successfully matched in step S4 into bit representation, perform bit-level matching and matching, and return the bytes after the matching is completed to replace the bytes that have not been successfully matched in step S4, so as to obtain a telemetry error comparison reference frame.
[0130] The step S5 is specifically as follows:
[0131] S51. Create a cache space C for expanding the unmatched node byte data in the cache space B into 8-bit form for storage, set each bit counter to Count[i] for counting the accumulated value of the same bit in the cache space C with a value of 1, and set DataRlt[i] to the value of the i-th bit in the cache space C. Where i represents the bit, i=0,1...,7, and initialize the node value x to 1.
[0132] S52, judging whether x is greater than the total number of channels N;
[0133] If established, it means that the traversal of the matching mark is completed, the bit-level matching is completed, the frame data in the cache space A is the obtained telemetry error comparison reference frame, and the process is exited.
[0134] If not, then judge B x .MatchFlag is equal to 1; if B x .MatchFlag=1, use x=x+1 to update x, and return to step S52; if B x .MatchFlag=0, then continue to execute S53.
[0135] S53, counting the number of bits with the same value of 1 in all frames of the current failed node in step S52, determining the value of the current bit; then recombining the determined values of the 8 bits into a byte and storing it in the corresponding node matching pattern in cache A. The step S53 is specifically as follows:
[0136] First, the y stored in the cache space B is max The x-th node of the frame data is expanded into 8 bits in turn and saved in the cache space C; then the cumulative counter Count[i] with the value of 1 in the i-th bit is obtained by counting, and the Count[i] corresponding to the 0-7 bits is compared with When Count[i] is greater than Then set DataRlt[i] = 1; when Count[i] is less than Then set DataRlt[i] = 0; finally, reassemble DataRlt[0], DataRlt[1], ..., DataRlt[7] into one byte and store it in cache space A x .Pattern; at the same time, use x=x+1 to update x and return to step S52.
[0137] like Figure 7 , Figure 8 , Fig. 9 As shown, in this embodiment, after the traversal is completed, when x=7, the matching mark of node 7 is 0, then all byte data corresponding to node 7 in frames 1-3 are expanded into 8-bit bit form and stored in cache space C. As shown in the figure, Count[i] is 2, 0, 2, 0, 3, 3, 1, 2 respectively. According to the above judgment conditions, DataRlt[i] is 1, 0, 1, 0, 1, 1, 0, 1 respectively; DataRlt[i] is reassembled into a byte and stored in node 7 in cache space A. At the same time, x=7+1=8, and return to S52. At this time, x is greater than the total number of channels 7, which means that the traversal matching mark is completed, the bit-level comparison matching is completed, and the data in cache space A is the obtained telemetry error reference frame.
[0138] Example 3
[0139] It should be further explained that, based on the same inventive concept, this embodiment also provides a path selection system for telemetry error reference frames, and the system executes the above method when running, and the system includes:
[0140] The parameter collection module is used to obtain telemetry mission parameter information according to the satellite measurement and control mission requirements;
[0141] Data preprocessing module, used to receive the PCM demodulated data and refresh the displayed data information according to the channel;
[0142] The channel acquisition module is used to obtain the total number of channels N and the channel sequence number Seq by telemetry of the frame synchronization code group position and frame synchronization code group length, or by manual selection;
[0143] The byte matching module is used to select the frame data of the corresponding channel from the received PCM demodulated data for byte-level comparison and matching according to the total number of channels N and the channel sequence number Seq obtained by the channel acquisition module; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, the bit matching module is continued to be executed;
[0144] The bit matching module is used to expand the bytes that have not been successfully matched in the byte matching module into bit representations, perform bit-level matching, and return bytes after the matching is completed to replace the bytes that have not been successfully matched in the byte matching module to obtain the telemetry error comparison reference frame.
[0145] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for selecting a path for a telemetry error reference frame, characterized in that: The following steps are involved: S1. Obtain telemetry mission parameter information according to satellite measurement and control mission requirements; S2, receiving the PCM demodulated data, and refreshing the displayed data information according to the channel; S3. Obtain the total number of channels N and the channel sequence number Seq by telemetry of the frame synchronization code group position and the frame synchronization code group length, or by manual selection; S4, according to the total number of channels N and the channel sequence number Seq obtained in step S3, the frame data of the corresponding channel is selected from the received PCM demodulated data for byte-level comparison and matching; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, continue to step S5; S5. Expand the bytes that have not been successfully matched in step S4 into bit representation, perform bit-level matching and matching, and return the bytes after the matching is completed to replace the bytes that have not been successfully matched in step S4, so as to obtain a telemetry error comparison reference frame.
2. A method for selecting a path for a telemetry error reference frame according to claim 1, characterized in that: The sources of the PCM demodulated data in step S2 include: (1) Real-time data refers to the real-time reception of telemetry data transmitted by satellites, aircraft, etc. (2) Post-event data refers to data saved in telemetry storage files and played back locally.
3. The method for selecting a path for a telemetry error reference frame according to claim 1, characterized in that: The data information in step S2 includes: a channel number and corresponding data.
4. The method for selecting a path for a telemetry error reference frame according to claim 1, characterized in that: The step S4 comprises the following steps: S41, creating two independent cache spaces, which are respectively recorded as cache space A and cache space B; S42, according to the total number of channels N and the corresponding channel sequence number Seq, select the frame data of the corresponding channel sequence number from the telemetry data stream and save it to the cache space B; S43, performing a round of comparison and matching operation on the current frame data in the cache space B and the corresponding node of the previous frame data, and storing the successfully matched byte data pattern in the corresponding node in the cache space A; S44, compare and match the corresponding nodes of multiple frames of data in turn. If all node data in cache space B are matched successfully, the frame data in cache space A is the obtained telemetry error comparison reference frame; if there is still node data in cache space B that has not been matched successfully, continue to execute step S5.
5. A method for selecting a path for a telemetry error reference frame according to claim 4, characterized in that: The step S41 is specifically as follows: The cache space A is used to store the frame data that has been successfully matched. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as the matching pattern Pattern. Set A x .Pattern is the matching pattern of the xth node; The cache space B is used to store frame data corresponding to the channel number selected from the telemetry data stream. Its data structure is a two-dimensional one-way dynamic linked list. The horizontal axis is the node number, which is consistent with the node number of the cache space A, and the vertical axis is the frame number. The data structure of each data node is consistent with the single-byte data structure corresponding to the channel, which is recorded as a matching pattern. Set B xy .Pattern is the data of the xth node of the yth frame data, where the initial values of x and y are 1; and a matching mark B is set for each node number of the horizontal axis x .MatchFlag, where B x .When MatchFlag = 1, it means that the x node has been matched successfully; B x When .MatchFlag=0, it means that the x node is not matched successfully.
6. A method for selecting a path for a telemetry error reference frame according to claim 4, characterized in that: The step S42 is specifically as follows: According to the total number of channels N and the corresponding channel sequence number Seq, the yth frame data of the corresponding channel sequence number is selected from the telemetry data stream and saved to the corresponding nodes with the frame sequence number y in the buffer space B, and it is determined whether y is equal to 1; If it is established, it means that the first frame is stored, then the matching marks of all N nodes in the cache space B are initialized to 0, and y is updated with y=y+1, and then the process returns to step S42 to continue execution; If not, continue to execute step S43.
7. A method for selecting a path for a telemetry error reference frame according to claim 4, characterized in that: The step S43 is specifically as follows: First, determine whether the node value x is greater than the total number of channels N; If it is established, the comparison of each node of a frame of data is completed, y is updated using y=y+1, and S44 is continued; If not, determine whether Bx.MatchFlag in cache space B is equal to 1; If Bx.MatchFlag = 1, it means that the data of the node has been matched successfully, and x is updated using x = x + 1, and the process returns to step S43; If Bx.MatchFlag = 0, then compare whether Bxy.Pattern is equal to Bx(y-1).Pattern; If they are equal, it means the match is successful, and Bxy.Pattern is stored in the matching pattern Ax.Pattern of node x in cache space A; at the same time, Bx.MatchFlag is set to 1, and x is updated using x=x+1; if they are not equal, it means the match is unsuccessful, and x is updated using x=x+1, and the process returns to step S43.
8. A method for selecting a path for a telemetry error reference frame according to claim 4, characterized in that: The step S44 is specifically as follows: Set the maximum number of frames y that can be stored in cache space B to y max , where ymax is set according to the buffer space and the accuracy requirement of the error reference frame. The default value is y max The value of is an odd number; First, traverse the B in cache space B x .Are all MatchFlags equal to 1? If it is established, it means that all node data in cache space B are matched successfully, and the frame data in cache space A is the obtained telemetry error comparison reference frame, and the process is exited; If it is not true, it means that there are nodes in cache space B that have not been matched successfully. The data of these nodes is always changing. Determine whether y is less than or equal to y max ; If y is less than or equal to y max , then return to step S42 to perform the next frame data comparison and matching until the B in the cache space B is satisfied. x .MatchFlag is all equal to 1, obtain the telemetry error comparison reference frame, and exit the process; if y is greater than y max , it means that the byte-level data matching fails, and the process continues with step S5.
9. A method for selecting a path for a telemetry error reference frame according to claims 1, 4 and 8, characterized in that: The step S5 comprises the following steps: S51, create a cache space C, used to expand the node byte data that has not been successfully matched in the cache space B into 8-bit bit form for storage, set each bit counter to Count[i], used to count the cumulative value of the same bit in the cache space C with a value of 1, set DataRlt[i] to the value of the i-th bit in the cache space C; where i represents the bit, i=0,1...,7, and initialize the node value x to 1; S52, judging whether x is greater than the total number of channels N; If it is established, it means that the traversal of the matching mark is completed, the bit-level matching is completed, and the frame data in the cache space A is the obtained telemetry error comparison reference frame, and the process is exited; If not, then judge B x .MatchFlag is equal to 1; if B x .MatchFlag=1, use x=x+1 to update x, and return to step S52; if B x .MatchFlag=0, then continue to execute S53; S53, counting the number of bits with the same bit value of 1 in all frames of the current failed node in step S52, and determining the value of the current bit; then recombining the determined values of the 8 bits into one byte and storing it in the corresponding node matching pattern in cache A; the step S53 is specifically as follows: First, the y stored in the cache space B is max The x-th node of the frame data is expanded into 8 bits in turn and saved in the cache space C; then the cumulative counter Count[i] with the value of 1 in the i-th bit is obtained by counting, and the Count[i] corresponding to the 0-7 bits is compared with The size of; when Count[i] is greater than Then set DataRlt[i] = 1; when Count[i] is less than Then set DataRlt[i] = 0; finally, reassemble DataRlt[0], DataRlt[1], ..., DataRlt[7] into one byte and store it in cache space A x .Pattern; at the same time, use x=x+1 to update x and return to step S52.
10. A routing system for telemetry error reference frames, characterized in that: The system comprises: The parameter collection module is used to obtain telemetry mission parameter information according to the satellite measurement and control mission requirements; Data preprocessing module, used to receive the PCM demodulated data and refresh the displayed data information according to the channel; The channel acquisition module is used to obtain the total number of channels N and the channel sequence number Seq by telemetry of the frame synchronization code group position and frame synchronization code group length, or by manual selection; The byte matching module is used to select the frame data of the corresponding channel from the received PCM demodulated data for byte-level comparison and matching according to the total number of channels N and the channel sequence number Seq obtained by the channel acquisition module; if all bytes in the frame data are successfully compared and matched, the telemetry error comparison reference frame is directly obtained; otherwise, the bit matching module is continued to be executed; The bit matching module is used to expand the bytes that have not been successfully matched in the byte matching module into bit representations, perform bit-level matching, and return bytes after the matching is completed to replace the bytes that have not been successfully matched in the byte matching module to obtain the telemetry error comparison reference frame.
Citation Information
Patent Citations
Satellite telemetering bit error rate testing method and system
CN113791433A