A method, apparatus, and equipment for parsing low-Earth orbit satellite navigation messages.

By using the spreading code period and accumulated value to filter data coherence conditions in low-Earth orbit satellite navigation message parsing, the problem of poor reliability of bit synchronization and frame synchronization was solved, realizing accurate parsing of navigation messages and reliable data transmission, thus improving the real-time performance and data validity of navigation services.

CN121115057BActive Publication Date: 2026-03-13CHONGQING SATELLITE NETWORK SYSTEM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-11
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In the analysis of low-Earth orbit satellite navigation messages, the existing technology has poor reliability of bit synchronization and frame synchronization, and is easily affected by noise interference, which can lead to misjudgment or missed detection. This is especially true when the signal-to-noise ratio is low and the number of symbol flips is small, which can cause navigation message framing errors.

Method used

By receiving navigation service signals periodically using the spread spectrum code, determining the offset range, accumulating the correlation fusion value, filtering local bit streams whose data continuity meets preset conditions, and parsing the navigation message frames contained in the local bit streams, the system ensures accurate positioning of the data start position and accurate frame synchronization.

Benefits of technology

It improves the accuracy and completeness of navigation message parsing, reduces the impact of noise, ensures the reliability of navigation messages and the consistency of data, and enhances the real-time performance and data validity of navigation services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121115057B_ABST
    Figure CN121115057B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, and device for parsing low-Earth orbit (LEO) satellite navigation messages, relating to the field of navigation data service technology. In this method, navigation service signals are received according to the spreading code period. An offset range is determined based on the size of the spreading code period. The number of spreading code periods carrying the data start position in the navigation service signal is determined. The correlation fusion value of the navigation service signal and the local reference signal within each spreading code period is obtained. Each correlation fusion value obtained by accumulating each offset is used to obtain a corresponding accumulated value. The data start position in the navigation service signal is determined based on each accumulated value to obtain the message bitstream of the navigation service signal. A local bitstream whose data coherence meets a preset coherence condition is determined, and each navigation message frame contained within it is parsed to obtain the LEO satellite navigation message. This method can improve the efficiency and accuracy of navigation message parsing and avoid misjudgment of data start positions and interference from discontinuous data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of navigation data service technology, and in particular to a method, apparatus and equipment for parsing low-orbit satellite navigation messages. Background Technology

[0002] With the increasing development of cutting-edge technologies such as low-orbit satellite navigation enhancement and air-ground cooperative navigation, the parsing of navigation service signals has received widespread attention because it directly affects the real-time performance and data validity of navigation services. Bit synchronization (i.e., the starting position of data) and frame synchronization (i.e., the frame boundaries of each navigation message frame) of navigation service signals are key technologies for realizing navigation message parsing.

[0003] In related technologies, a local reference signal is used to despread the spread spectrum navigation service signal and achieve bit synchronization of the navigation service signal by adjusting its offset relative to the navigation service signal. During bit synchronization, the histogram statistical method detects the number of phase transitions in the integral results of adjacent spreading code periods and counts the number of transitions at each candidate position within multiple spreading code periods; a position with a transition count exceeding a preset threshold is determined as the data start position. The phase transition detection method, based on the characteristic that adjacent bits of the navigation message may undergo a 180° phase transition, uses the sign change of the coherent integration result to determine the data start position. Furthermore, the main scheme for frame synchronization of the navigation service signal is the fixed frame header matching method, where the start position of each frame of the navigation message contains a fixed feature code; frame synchronization is achieved by comparing the received data bit by bit with the preset frame header.

[0004] However, the above scheme has the following two main limitations in practical applications:

[0005] First, the phase transition in the existing method is easily masked by noise, and frame header matching is prone to misjudgment.

[0006] For example, in ocean-going vessel navigation scenarios, low-orbit satellites are affected by sea clutter, causing the signal-to-noise ratio to drop to 8dB. As a result, the phase jump detection method of bit synchronization may misjudge the non-jump area as the data start position, and the fixed frame header of frame synchronization may also be tampered with by clutter noise, resulting in either missing the real frame header or mistakenly taking the non-frame header position as the start position of each navigation message frame, ultimately causing navigation message framing disorder.

[0007] Secondly, existing methods are prone to deviations when the number of symbol flips within the spreading code period is small.

[0008] For example, in short-range navigation message transmission of low-Earth orbit satellites, in order to reduce the bit error rate, the number of symbol flips within the spreading code period is reduced (e.g., only 1-2 times in a 10ms period). Histogram statistics method is difficult to determine the starting position of data due to insufficient jump samples. Phase jump detection method is prone to judgment blind spots due to lack of jump characteristics. Frame synchronization is also prone to misjudgment or missed detection of frame headers due to the fixed frame header symbol with little change, which can cause frame synchronization deviation.

[0009] Therefore, a new method for parsing low-Earth orbit satellite navigation messages is needed. Summary of the Invention

[0010] This application provides a method, apparatus, and device for parsing low-Earth orbit satellite navigation messages to avoid the problem of navigation messages being unable to be parsed correctly due to poor reliability of bit synchronization and frame synchronization.

[0011] Firstly, this application provides a method for parsing low-Earth orbit satellite navigation messages, the method comprising:

[0012] The navigation service signal broadcast by the low-orbit satellite is received according to the spreading code period, and the offset range is determined based on the size of the spreading code period; each offset in the offset range is used to describe a time offset of the local reference signal relative to the data start position in the navigation service signal.

[0013] N spreading code periods that carry the starting position of the data in the navigation service signal are determined, and the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period is obtained respectively. In addition, each of the obtained correlation fusion values ​​is accumulated using each offset to obtain the corresponding accumulated value.

[0014] The starting position of the data in the navigation service signal is determined based on each accumulated value, and the message bit stream of the navigation service signal is obtained based on the starting position of the data;

[0015] Determine local bit streams from the message bit stream whose data coherence meets preset coherence conditions;

[0016] The navigation messages of the low-Earth orbit satellite are obtained by parsing each navigation message frame contained in the local bit stream.

[0017] In an optional embodiment, the method further includes:

[0018] Before determining the offset range based on the size of the spreading code period, the process includes:

[0019] Based on the first spreading code of the navigation service signal, the second spreading code of the local reference signal is phase aligned.

[0020] Based on the first carrier carrying the navigation service signal, the carrier frequency offset of the second carrier carrying the local reference signal is adjusted.

[0021] In an optional embodiment, the method further includes:

[0022] The step of determining N spreading code periods carrying the starting position of the data in the navigation service signal, and obtaining the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, includes:

[0023] For each of the spreading code periods, the following is performed:

[0024] The navigation service signal and the local reference signal are multiplied at each sampling point within the spreading code period to obtain the corresponding associated signal value.

[0025] The obtained associated signal values ​​are fused to obtain the associated fused value corresponding to the spreading code period.

[0026] In an optional embodiment, the method further includes:

[0027] The step of determining the data start position in the navigation service signal based on each accumulated value, and obtaining the message bit stream of the navigation service signal based on the data start position, includes:

[0028] From the accumulated values, select the first accumulated value and the second accumulated value that satisfy the preset accumulation conditions;

[0029] Obtain the difference between the first accumulated value and the second accumulated value; the first accumulated value is greater than the second accumulated value;

[0030] When the difference is greater than a preset difference threshold, the starting position of the data in the navigation service signal is determined based on the offset corresponding to the first accumulated value.

[0031] Based on the data start position, the navigation service signal is divided and demodulated to obtain the message bit stream of the navigation service signal.

[0032] In an optional embodiment, the method further includes:

[0033] Determining the local bitstream from the message bitstream whose data coherence meets the preset coherence condition includes:

[0034] The sequence matching degree between the preset reference sequence and each candidate bit sequence in the message bit stream is obtained respectively; the sequence coherence of the reference sequence meets the preset coherence condition, and the sequence lengths of the reference sequence and the candidate bit sequence are the same;

[0035] Select a sequence matching degree that reaches the matching degree threshold from all sequence matching degrees and use it as the first matching degree. Then, take the starting position of the candidate bit sequence corresponding to the first matching degree as the first position.

[0036] Based on the first position and combined with a preset frame length, at least one second position is obtained;

[0037] The sequence matching degree of each candidate bit sequence associated with the second position is taken as the second matching degree;

[0038] When each of the second matching degrees reaches the matching degree threshold, the local bit stream is obtained based on the candidate bit sequence corresponding to the first position and the at least one second position.

[0039] In an optional embodiment, the method further includes:

[0040] The step of parsing each navigation message frame contained in the local bitstream to obtain the navigation message of the low-Earth orbit satellite includes:

[0041] The local bitstream is identified by frame header identifiers. For each identified frame header identifier, the corresponding navigation message frame is extracted from the local bitstream in combination with a preset frame length. The extracted navigation message frame is then verified and decoded to obtain single-frame navigation information.

[0042] The navigation information of each single frame is spliced ​​together according to the frame number sequence contained in the frame header identifier to obtain the navigation message of the low-orbit satellite.

[0043] Secondly, embodiments of this application provide a device for parsing low-Earth orbit satellite navigation messages, comprising:

[0044] Processing module: used to receive navigation service signals broadcast by low-orbit satellites according to the spreading code period, and determine the offset range based on the size of the spreading code period; each offset in the offset range is used to describe a time offset of the local reference signal relative to the data start position in the navigation service signal;

[0045] Synchronization module: used to determine N spreading code periods carrying the starting position of data in the navigation service signal, and obtain the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, and accumulate each obtained correlation fusion value using each offset to obtain a corresponding accumulated value; determine the starting position of data in the navigation service signal according to each accumulated value, obtain the message bit stream of the navigation service signal based on the data starting position, and determine the local bit stream from the message bit stream whose data continuity meets the preset continuity condition;

[0046] Parsing module: used to parse each navigation message frame contained in the local bit stream to obtain the navigation message of the low-orbit satellite.

[0047] Optionally, the processing module is specifically used for:

[0048] Before determining the offset range based on the size of the spreading code period, the process includes:

[0049] Based on the first spreading code of the navigation service signal, the second spreading code of the local reference signal is phase aligned.

[0050] Based on the first carrier carrying the navigation service signal, the carrier frequency offset of the second carrier carrying the local reference signal is adjusted.

[0051] Optionally, the synchronization module is specifically used for:

[0052] The step of determining N spreading code periods carrying the starting position of the data in the navigation service signal, and obtaining the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, includes:

[0053] For each of the spreading code periods, the following is performed:

[0054] The navigation service signal and the local reference signal are multiplied at each sampling point within the spreading code period to obtain the corresponding associated signal value.

[0055] The obtained associated signal values ​​are fused to obtain the associated fused value corresponding to the spreading code period.

[0056] Optionally, the synchronization module is further configured to:

[0057] The step of determining the data start position in the navigation service signal based on each accumulated value, and obtaining the message bit stream of the navigation service signal based on the data start position, includes:

[0058] From the accumulated values, select the first accumulated value and the second accumulated value that satisfy the preset accumulation conditions;

[0059] Obtain the difference between the first accumulated value and the second accumulated value; the first accumulated value is greater than the second accumulated value;

[0060] When the difference is greater than a preset difference threshold, the starting position of the data in the navigation service signal is determined based on the offset corresponding to the first accumulated value.

[0061] Based on the data start position, the navigation service signal is divided and demodulated to obtain the message bit stream of the navigation service signal.

[0062] Optionally, the synchronization module is further configured to:

[0063] Determining the local bitstream from the message bitstream whose data coherence meets the preset coherence condition includes:

[0064] The sequence matching degree between the preset reference sequence and each candidate bit sequence in the message bit stream is obtained respectively; the sequence coherence of the reference sequence meets the preset coherence condition, and the sequence lengths of the reference sequence and the candidate bit sequence are the same;

[0065] Select a sequence matching degree that reaches the matching degree threshold from all sequence matching degrees and use it as the first matching degree. Then, take the starting position of the candidate bit sequence corresponding to the first matching degree as the first position.

[0066] Based on the first position and combined with a preset frame length, at least one second position is obtained;

[0067] The sequence matching degree of each candidate bit sequence associated with the second position is taken as the second matching degree;

[0068] When each of the second matching degrees reaches the matching degree threshold, the local bit stream is obtained based on the candidate bit sequence corresponding to the first position and the at least one second position.

[0069] Optionally, the parsing module is specifically used for:

[0070] The step of parsing each navigation message frame contained in the local bitstream to obtain the navigation message of the low-Earth orbit satellite includes:

[0071] The local bitstream is identified by frame header identifiers. For each identified frame header identifier, the corresponding navigation message frame is extracted from the local bitstream in combination with a preset frame length. The extracted navigation message frame is then verified and decoded to obtain single-frame navigation information.

[0072] The navigation information of each single frame is spliced ​​together according to the frame number sequence contained in the frame header identifier to obtain the navigation message of the low-orbit satellite.

[0073] Thirdly, this application provides an electronic device, comprising:

[0074] Memory, used to store computer programs;

[0075] When the processor executes the computer program stored in the memory, it performs the steps of parsing the low-orbit satellite navigation message described above.

[0076] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method for parsing low-Earth orbit satellite navigation messages.

[0077] In this embodiment, firstly, the navigation service signal broadcast by the low-orbit satellite is received according to the spreading code period, and the offset range is determined based on the size of the spreading code period. This can unify the time reference and reduce the error in the subsequent synchronization process. At the same time, controlling the offset range can improve the synchronization efficiency.

[0078] Then, by accumulating the correlation fusion values ​​within multiple spreading code periods, signal energy can be accumulated to reduce the impact of noise. By using multiple offsets to verify the starting position of the data, the signal-to-noise ratio fluctuations of the signal can be adapted to ensure that the bit stream of the data is bit synchronized. Furthermore, for the bit stream of the message after bit synchronization, by filtering the local bit streams whose data continuity meets the preset conditions, invalid segments that are interfered with or broken can be eliminated, ensuring the integrity and reliability of the subsequent parsing of the message.

[0079] Finally, the navigation message frames in the filtered local bitstream are parsed, which can quickly extract the core navigation message based on the verified valid data, reducing invalid parsing overhead and improving the accuracy of the results. Attached Figure Description

[0080] Figure 1 A schematic diagram of a system architecture provided for an embodiment of this application;

[0081] Figure 2 A flowchart illustrating a method for parsing low-Earth orbit satellite navigation messages provided in this application embodiment;

[0082] Figure 3 A schematic diagram of a phase alignment and carrier synchronization structure provided in an embodiment of this application;

[0083] Figure 4 This is a schematic diagram illustrating how to obtain correlation fusion values ​​at different offsets, as provided in an embodiment of this application.

[0084] Figure 5 This application provides a schematic diagram for calculating the accumulated value under different offsets in an embodiment of the present application.

[0085] Figure 6 A schematic diagram illustrating a sliding operation between a reference sequence and a message bit stream, provided as an embodiment of this application;

[0086] Figure 7This is a schematic diagram illustrating how to decode each navigation message frame to obtain a navigation message, as provided in an embodiment of this application.

[0087] Figure 8 A schematic diagram of the structure of a low-orbit satellite navigation message parsing device provided in an embodiment of this application;

[0088] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0089] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The specific operational methods in the method embodiments can also be applied to the device embodiments or system embodiments. It should be noted that in the description of this application, "multiple" is understood as "at least two". "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. A connected to B can represent: A and B directly connected, and A and B connected through C. Furthermore, in the description of this application, terms such as "first" and "second" are used only for distinguishing the purpose of description and should not be construed as indicating or implying relative importance or order.

[0090] With the increasing development of cutting-edge technologies such as low-orbit satellite navigation enhancement and air-ground cooperative navigation, the parsing of navigation service signals has received widespread attention because it directly affects the real-time performance and data validity of navigation services. Bit synchronization (i.e., the starting position of data) and frame synchronization (i.e., the frame boundaries of each navigation message frame) of navigation service signals are key technologies for realizing navigation message parsing.

[0091] In related technologies, a local reference signal is used to despread the spread spectrum navigation service signal and achieve bit synchronization of the navigation service signal by adjusting its offset relative to the navigation service signal. During bit synchronization, the histogram statistical method detects the number of phase transitions in the integral results of adjacent spreading code periods and counts the number of transitions at each candidate position within multiple spreading code periods; a position with a transition count exceeding a preset threshold is determined as the data start position. The phase transition detection method, based on the characteristic that adjacent bits of the navigation message may undergo a 180° phase transition, uses the sign change of the coherent integration result to determine the data start position. Furthermore, the main scheme for frame synchronization of the navigation service signal is the fixed frame header matching method, where the start position of each frame of the navigation message contains a fixed feature code; frame synchronization is achieved by comparing the received data bit by bit with the preset frame header.

[0092] However, the phase transitions of the above schemes are easily masked by noise, frame header matching is prone to misjudgment, and deviations are likely to occur when the number of symbol flips within the spreading code period is small.

[0093] To address the aforementioned technical issues, in this embodiment, navigation service signals broadcast by low-Earth orbit satellites are received according to the spreading code period, and the offset range is determined based on the size of the spreading code period. Then, N spreading code periods carrying the data start position in the navigation service signal are determined, and the correlation fusion value of the navigation service signal and the local reference signal within each spreading code period is obtained. Furthermore, each obtained correlation fusion value is accumulated using each offset to obtain a corresponding accumulated value. The data start position in the navigation service signal is determined based on each accumulated value, and the message bit stream of the navigation service signal is obtained based on the data start position. Next, a local bit stream whose data continuity meets a preset continuity condition is determined from the message bit stream. Finally, each navigation message frame contained in the local bit stream is parsed to obtain the navigation message of the low-Earth orbit satellite.

[0094] The following is a brief introduction to the system architecture diagram used in the technical solutions of this application. It should be noted that the system architecture diagram described below is only for illustrating the embodiments of this application and is not intended to limit the scope of the application.

[0095] For example, see Figure 1 As shown, it is a system architecture diagram applicable to the embodiments of this application. The system architecture includes at least a low-orbit satellite 100, a navigation service signal 101, a receiver 102, and a navigation message 103.

[0096] Low-Earth Orbit Satellite 100: As the main body for broadcasting navigation information, it is used to generate navigation messages 103 carrying navigation information, generate navigation service signals 101 through spread spectrum modulation, and broadcast them to the receiving end 102;

[0097] Navigation service signal 101: As the transmission carrier of navigation message 103, it is used to transmit the navigation message 103 generated by the low-orbit satellite 100 to the receiving end 102 in the form of radio signals;

[0098] Receiver 102: As the core for receiving and processing navigation service signals 101, it is used to receive and process navigation service signals 101, thereby extracting navigation messages 103 from navigation service signals 101;

[0099] Navigation message 103: As the result of the receiver 102's analysis of the navigation service signal 101, it is used to carry the navigation information of the low-orbit satellite 100.

[0100] For example, see Figure 2 As shown in the embodiments of this application, the specific process of the method for navigation messages of low-Earth orbit satellites is as follows:

[0101] Step 200: Receive navigation service signals broadcast by low-orbit satellites according to the spreading code period, and determine the offset range based on the size of the spreading code period.

[0102] Specifically, in this embodiment, the receiving end uses the spreading code period of the navigation service signal of the low-orbit satellite as the time reference to receive the signal, and determines a reasonable offset range based on the size of the spreading code period, so as to provide effective parameter support for subsequently determining the starting position of the data.

[0103] For example, if the data rate of the navigation service signal is 50bps (corresponding to a 1-bit transmission time of 20ms), and the spread spectrum decoding period is L=2ms, then transmitting 1 bit of data requires N=10 spreading code periods, and the corresponding offset range is determined as follows. ,Right now ∈{0,1}.

[0104] Before determining the offset range based on the size of the spreading code period, refer to Figure 3 As shown, phase alignment and carrier synchronization processing are required for navigation service signals.

[0105] Specifically, in this embodiment, the second spreading code of the local reference signal is phase aligned based on the first spreading code of the navigation service signal, and the carrier frequency offset of the second carrier carrying the local reference signal is adjusted based on the first carrier carrying the navigation service signal.

[0106] For example, for the first spreading code of the navigation service signal (e.g., a C / A code with a period of L=2ms), the receiver detects the phase difference (e.g., ΔL=0.3ms) between the second spreading code and the first spreading code of the local reference signal through a delay-locked loop. Then, it dynamically fine-tunes the second spreading code to achieve strict synchronization between the second and first spreading codes within each spreading code, ensuring complete alignment within the L=2ms period. For the first carrier with a carrier frequency of 1575.42MHz, due to the high relative speed of low-Earth orbit satellites (up to several km / s), a Doppler frequency offset of ±5kHz will occur, and the carrier frequency offset rate is relatively high. The receiver captures the instantaneous carrier frequency offset value in real time through a phase-locked loop and dynamically compensates for the carrier frequency offset by rapidly adjusting the carrier frequency parameters of the second carrier. Simultaneously, the phase-locked loop continuously corrects the phase difference between the two carriers, stabilizing the phase error within ±0.1°.

[0107] By aligning the navigation service signal with the local reference signal in phase and adjusting the carrier frequency offset, and by receiving the navigation service signal according to the spreading code period and determining the offset range by combining the size of the spreading code period, it is possible to ensure that the two are accurately matched in terms of time reference and signal characteristics. This provides a synchronous and consistent signal basis and an efficient search boundary for subsequent data start position positioning, thereby improving the accuracy and efficiency of overall message parsing.

[0108] Step 201: Determine the N spreading code periods of the starting position of the data in the navigation service signal, and obtain the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period. Then, accumulate the obtained correlation fusion values ​​using each offset to obtain the corresponding accumulated value.

[0109] For details, please refer to Figure 4 As shown in this embodiment, for each spreading code period, the navigation service signal and the local reference signal are multiplied at each sampling point within the spreading code period to obtain corresponding associated signal values. These associated signal values ​​are then fused to obtain the associated fused value corresponding to the spreading code period. For different offsets, the associated fused values ​​obtained in the spreading code period are accumulated to obtain the corresponding accumulated value.

[0110] For example, the data rate of the navigation service signal is 50bps, the spreading code period is L=2ms, and it requires N=10 consecutive spreading code periods to carry 1 bit of data (corresponding to a 1-bit transmission time of 20ms). The offset range is... (Since L=2ms, the offset takes two values: 0 and 1), This serves as an index for the number of spreading code periods. For each spreading code period, the receiver multiplies the navigation service signal and the local reference signal point by point within that period, obtaining 1023 associated signal values. These associated signal values ​​are then integrated and summed (fused) to obtain the associated fused value IP corresponding to each spreading code period (e.g., ...). Corresponding to IP0, Corresponding to IP1, ... (corresponding to IP9), then for the offset =0ms, accumulate the correlation fusion values ​​IP0 to IP9 of 10 spreading code periods to obtain the accumulated value. For offset =1ms, and obtain the correlation fusion values ​​(IP0', IP2', ..., IP9') for 10 spreading code periods according to the time offset corresponding to this offset, and accumulate the correlation fusion values ​​IP0' to IP9' to obtain the accumulated value. Finally, the accumulated value corresponding to the two offsets is obtained, where the expression for calculating the accumulated value is: , For the secondary code modulated on the spreading code, for continuously broadcast low-orbit service signals... =1.

[0111] By calculating the correlation fusion value between the navigation service signal and the local reference signal within each spreading code period, and using different offsets to calculate the cumulative value of the correlation fusion value, the correlation between signals can be transformed into a quantized cumulative value. By utilizing the difference in the cumulative value under different offsets, a clear basis for judgment can be provided for the subsequent accurate positioning of the starting position of the data.

[0112] Step 202: Determine the data start position in the navigation service signal based on each accumulated value, and obtain the message bit stream of the navigation service signal based on the data start position;

[0113] For details, please refer to Figure 5 As shown in the embodiment of this application, from the accumulated values ​​obtained under different offsets, a first accumulated value and a second accumulated value that satisfy the preset accumulation conditions are selected. The first accumulated value is greater than the second accumulated value, and the difference between the first accumulated value and the second accumulated value is obtained. When the difference is greater than the preset difference threshold, the data start position in the navigation service signal is determined based on the offset corresponding to the first accumulated value. Based on the data start position, the navigation service signal is divided into data and demodulated to obtain the message bit stream of the navigation service signal.

[0114] For example, if the data rate of the navigation service signal is 50bps, and the spreading code period L=4ms, carrying 1 bit of data requires N=5 consecutive spreading code periods (corresponding to a 1-bit transmission time of 20ms), and the offset range is... For offset =0ms, accumulate the correlation fusion values ​​IP0 to IP4 of 5 spreading code periods to obtain the accumulated value. For offset =1ms, obtain the correlation fusion values ​​(IP0', IP1', IP2', IP3', IP4') for 5 spreading code periods according to the time offset corresponding to this offset, and accumulate the correlation fusion values ​​IP0' to IP4' to obtain the accumulated value. And so on, obtaining the offsets in sequence. Accumulated value at 2ms and offset Accumulated value at 3ms .

[0115] If the calculated cumulative values ​​corresponding to each offset are: V(0)=680, V(1)=520, V(2)=350, V(3)=290, and the preset accumulation condition is "select the first cumulative value V(0) with the largest cumulative value and the second largest cumulative value V(1), the preset difference threshold is 100, and the difference between the two is calculated to be 160 and greater than the preset difference threshold", it means that when the offset When the time interval is 0ms, the correlation between the navigation service signal and the local reference signal is strongest. Therefore, based on =0ms determines the start time of the data start position as the beginning of the spreading code period corresponding to IP0 (i.e., the first spreading code period carrying the current 1 bit of data). Subsequently, starting from this start position, the navigation service signal is divided into 5 consecutive spreading code periods corresponding to 1 bit. The signal within each 5 spreading code periods is coherently demodulated, and the corresponding bit value of each segment (e.g., "0", "1") is extracted, finally obtaining a continuous message bit stream (e.g., "0101110010...").

[0116] By comparing the accumulated values ​​of different offsets, two accumulated values ​​with a preset difference threshold are selected, and the starting position of the data is determined based on the offset corresponding to the maximum accumulated value. Then, the signal is divided and demodulated according to N spreading code periods corresponding to 1 bit. This can accurately lock the starting position of the low-orbit navigation service signal data and avoid the parsing deviation caused by offset inaccuracy.

[0117] Step 203: Determine the local bit stream from the message bit stream whose data continuity meets the preset continuity conditions;

[0118] For details, please refer to Figure 6 As shown in the embodiment of this application, firstly, the sequence matching degree between a preset reference sequence and each candidate bit sequence in the message bit stream is obtained, wherein the sequence coherence of the reference sequence meets the preset coherence condition, and the sequence lengths of the reference sequence and the candidate bit sequences are the same; then, a sequence matching degree whose value reaches the matching degree threshold is selected from each sequence matching degree as the first matching degree, and the starting position of the candidate bit sequence corresponding to the first matching degree is taken as the first position; then, based on the first position and combined with the preset frame length, at least one second position is obtained, and the sequence matching degree of the candidate bit sequence associated with each second position is taken as the second matching degree; finally, when each second matching degree reaches the matching degree threshold, a local bit stream is obtained based on the first position and the candidate bit sequence corresponding to at least one second position.

[0119] For example, the preset reference sequence is the frame header synchronization code "10101" of the navigation message (5 bits, which serves as a fixed identifier at the beginning of each frame, and its 0 / 1 alternation pattern conforms to the preset continuity condition), the message bit stream is "001101010110010101001010010001101010010101011001010...", the sliding step size is set to the frame header synchronization code length of 5 bits, the matching degree threshold is 80%, and the preset frame length (the total bit length of a single frame message) is 15 bits.

[0120] First, with a sliding step size of 5 bits for the frame header synchronization code, candidate sequences are generated by sliding segment by segment in the message bit stream. The matching degree between each candidate sequence and the frame header synchronization code "10101" is calculated in turn (the higher the matching degree, the higher the alignment between the reference sequence and the candidate sequence, indicating that the candidate sequence is more likely to be the real frame header). If, after all sliding operations, a second sliding operation is performed (starting from index 0+5=5, corresponding to indices 5-9), and the candidate sequence is "10101", which is completely consistent with the frame header synchronization code, the matching degree reaches the threshold of 100%. This matching degree is taken as the first matching degree, and the starting index "5" of the corresponding candidate sequence is the potential frame header position (first position) of the first frame.

[0121] Then, the frame header position of the next frame can be found based on the first position as the second position. For example, based on the first position "5" and the preset frame length of 15 bits, the frame header position (second position) of the next frame is found to be 5+15=20. Using a sliding step of 5 bits, the position is located to the message index 20-24, and the candidate sequence "10100" is found to have a matching degree of 80% with the frame header synchronization code (reaching the matching degree threshold). This matching degree is used as the second matching degree. Since the second matching degree meets the standard, it means that the frame header position corresponding to the first position "5" is real and valid. On the other hand, the frame header position of the previous frame can also be found based on the first position as the second position, and the matching degree of the candidate sequence corresponding to the second position with the frame header synchronization code is checked to see if it reaches the matching degree threshold. If it reaches the matching degree threshold, it means that the frame header position corresponding to the first position is real and valid. If the matching degree does not reach the matching degree threshold, it means that the frame header position corresponding to the first position is not necessarily the real frame header.

[0122] If the frame header position corresponding to the first position is determined to be the actual frame header, then based on this, the frame header position of the next frame is found as the third position based on the second position with a matching degree (the frame header position of the next frame found based on the first position), or the frame header position of the previous frame is found as the third position based on the second position with a matching degree (the frame header position of the previous frame found based on the first position). For example, based on the second position "20" with a matching degree and the preset frame length of 15 bits, the frame header position of the third frame is calculated to be 20+15=35. The position corresponding to the starting index "35" is taken as the third position. The message index 35-39 is located with a sliding step of 5 bits. The corresponding candidate sequence is "00101", and the matching degree with the frame header synchronization code is 80% (reaching the threshold). This matching degree is taken as the third matching degree. Since the second and third matching degrees both reach the threshold, and the three frame header positions are spaced 15 bits apart according to the pattern "5→20→35" (consistent with the preset frame length), and the bit segments within each frame also meet the single-frame structure requirements, the complete frame segments corresponding to the first, second, and third positions (indexes 5-19, 20-34, 35-49) are finally extracted to form a local bit stream "10101100101010010100100011010100101001100101010" with data continuity meeting the preset conditions.

[0123] By using the frame header synchronization code as a reference sequence and calculating the matching degree by setting a sliding step size according to its length, and verifying that the matching degree of multiple frame headers meets the standard by combining the preset frame length, invalid segments can be quickly eliminated, and local bit streams with coherent data can be accurately extracted. This effectively avoids false frame headers and can also adapt to slight signal disturbances, providing a structurally complete and data-reliable foundation for the subsequent parsing of navigation messages, thereby improving the overall processing efficiency and accuracy.

[0124] Step 204: Parse each navigation message frame contained in the local bit stream to obtain the navigation message of the low-Earth orbit satellite.

[0125] For details, please refer to Figure 7 As shown in the embodiment of this application, frame header identifier identification is performed on the local bit stream. For each identified frame header identifier, the corresponding navigation message frame is extracted from the local bit stream in combination with the preset frame length. The extracted navigation message frame is then verified and decoded to obtain single-frame navigation information. Then, the obtained single-frame navigation information is spliced ​​together according to the frame number order contained in each frame header identifier to obtain the navigation message of the low-orbit satellite.

[0126] For example, the local bitstream is "1010110010101001010010001101010010101011001010" (segmented into 5-bit header + 10-bit intra-frame data, corresponding to 3 complete navigation message frames). First, the header identifier is identified. Since the local bitstream is extracted based on a header matching threshold of 80%, and the three header positions are known to correspond to starting indices 5, 20, and 35 respectively, with each header being 5 bits long, the header sequence "10101" is directly confirmed as a valid header. Next, based on the preset frame length of 15 bits, the corresponding navigation message frames are extracted from the local bit stream: the first frame is “101011001010100” with index 5-19 (i.e., frame header “10101” and data “1001010100”), and so on, the second frame is “101001000110101” with index 20-34, and the third frame is “001010011001010” with index 35-49.

[0127] Then, the fixed-length coded symbol segment of each navigation message frame is processed using the LDPC channel decoding algorithm to accurately restore the low-Earth orbit satellite navigation message data and its corresponding CRC checksum: After decoding the first frame, the data "Low-Earth orbit satellite ephemeris segment A" and the CRC checksum "001" are obtained, and the verification is correct; after decoding the second frame, "Low-Earth orbit satellite ephemeris segment B" and the CRC checksum "010" are obtained, and the verification passes; after decoding the third frame, "Low-Earth orbit satellite ephemeris segment C" and the CRC checksum "011" are obtained, and the verification is confirmed to be correct. After decoding, the navigation information of each single frame is further extracted, including the frame number (4, 5, 6), satellite status (normal), and the complete timestamp corresponding to the time stamp information segment (e.g., T1=20240520120000.000s, T2=20240520120000.300s, T3=20240520120000.600s), etc. Then, the navigation information of each frame is spliced ​​together according to the parsed frame number sequence (4→5→6) to form a complete navigation message for the low-orbit satellite. The system automatically parses these verified messages and calculates the satellite's three-dimensional spatial coordinates (X, Y, Z) and clock deviation parameters in combination with ephemeris fragments for subsequent positioning and timing applications.

[0128] Then, each navigation message frame is decoded to obtain the navigation information for each frame (e.g., frame number, satellite status, timestamp, etc.). Furthermore, the navigation information for each frame is concatenated according to the parsed frame number order (e.g., 4, 5, 6) to form a complete navigation message for the low-Earth orbit satellite, which is used for subsequent positioning and timing applications. Through this process, the system ensures data continuity and parsing accuracy, completing the acquisition of the navigation message.

[0129] By identifying the local bitstream frame header and extracting navigation message frames in combination with preset frame lengths, and then decoding to obtain single-frame information, and then splicing them according to frame numbers, a complete low-orbit satellite navigation message can be obtained, ensuring data continuity and accurate parsing, and providing reliable data support for subsequent applications.

[0130] Based on the same inventive concept, this application also provides a low-orbit satellite message parsing device, for example, see [reference]. Figure 8 As shown, the low-Earth orbit satellite message parsing device 800 includes:

[0131] Processing module 8000: used to receive navigation service signals broadcast by low-orbit satellites according to the spreading code period, and determine the offset range based on the size of the spreading code period; each offset in the offset range is used to describe a time offset of the local reference signal relative to the data start position in the navigation service signal;

[0132] Synchronization module 8001: Used to determine N spreading code periods for the starting position of data in the navigation service signal, and obtain the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, and accumulate each obtained correlation fusion value using each offset to obtain the corresponding accumulated value; determine the starting position of data in the navigation service signal based on each accumulated value, obtain the message bit stream of the navigation service signal based on the starting position of data, and determine the local bit stream from the message bit stream whose data continuity meets the preset continuity conditions;

[0133] Parsing module 8002: Used to parse each navigation message frame contained in the local bit stream to obtain the navigation message of the low-orbit satellite.

[0134] In one optional embodiment, the processing module 8000 is specifically used for:

[0135] Before determining the offset range based on the size of the spreading code period: Based on the first spreading code of the navigation service signal, the second spreading code of the local reference signal is phase aligned;

[0136] Based on the first carrier carrying navigation service signals, the carrier frequency offset of the second carrier carrying local reference signals is adjusted.

[0137] In an optional embodiment, the synchronization module 8001 is specifically used for:

[0138] For each spreading code period, perform the following:

[0139] The navigation service signal and the local reference signal are multiplied at each sampling point within the spreading code period to obtain the corresponding associated signal value.

[0140] The obtained associated signal values ​​are fused to obtain the associated fused value corresponding to the spreading code period.

[0141] In an optional embodiment, the synchronization module 8001 is further configured to:

[0142] From all accumulated values, select the first accumulated value and the second accumulated value that satisfy the preset accumulation conditions;

[0143] Calculate the difference between the first accumulated value and the second accumulated value; the first accumulated value is greater than the second accumulated value.

[0144] When the difference is greater than the preset difference threshold, the starting position of the data in the navigation service signal is determined based on the offset corresponding to the first accumulated value.

[0145] Based on the starting position of the data, the navigation service signal is divided and demodulated to obtain the message bit stream of the navigation service signal.

[0146] In an optional embodiment, the synchronization module 8001 is further configured to:

[0147] The sequence matching degree between the preset reference sequence and each candidate bit sequence in the message bit stream is obtained respectively; the sequence coherence of the reference sequence meets the preset coherence condition, and the sequence lengths of the reference sequence and the candidate bit sequence are the same.

[0148] Select a sequence matching degree that reaches the matching degree threshold from all sequence matching degrees and take it as the first matching degree. Then, take the starting position of the candidate bit sequence corresponding to the first matching degree as the first position.

[0149] Based on the first position and combined with the preset frame length, at least one second position is obtained;

[0150] The sequence matching degree of each candidate bit sequence associated with the second position is taken as the second matching degree;

[0151] When each second matching degree reaches the matching degree threshold, a local bit stream is obtained based on the candidate bit sequence corresponding to the first position and at least one second position.

[0152] In an optional embodiment, the parsing module 8002 is specifically used for:

[0153] Frame header identifiers are identified in the local bit stream. For each identified frame header identifier, the corresponding navigation message frame is extracted from the local bit stream in combination with the preset frame length. The extracted navigation message frame is then verified and decoded to obtain single-frame navigation information.

[0154] The navigation information of each single frame is spliced ​​together according to the frame number sequence contained in the frame header identifier to obtain the navigation message of the low-orbit satellite.

[0155] Based on the same inventive concept, this application provides a computer device that can perform the functions of the aforementioned low-orbit satellite navigation message parsing device. (Refer to...) Figure 9 Electronic devices include:

[0156] At least one processor 901 and a memory 902 connected to at least one processor 901. In this embodiment, the specific connection medium between the processor 901 and the memory 902 is not limited. Figure 9 The example shown is the connection between processor 901 and memory 902 via bus 900. Bus 900 is... Figure 9 The connections between other components are indicated by thick lines and are for illustrative purposes only, not as limiting information. The Bus 900 can be divided into address bus, data bus, control bus, etc., for ease of representation. Figure 9 The term is represented by a single thick line, but this does not imply that there is only one bus or one type of bus. Alternatively, the processor 901 can also be called a controller; there is no restriction on the name.

[0157] In this embodiment, the memory 902 stores instructions executable by at least one processor 901. By executing the instructions stored in the memory 902, the at least one processor 901 can execute the low-Earth orbit satellite navigation message parsing method discussed above. The processor 901 can implement... Figure 9 The functions of each module in the device are shown. Among them, the processor 901 is the control center of the device. It can connect to various parts of the entire control device through various interfaces and lines. By running or executing instructions stored in memory 902 and calling data stored in memory 902, the various functions of the device and the processing of data are performed, thereby monitoring the device as a whole.

[0158] In one possible design, processor 901 may include one or more processing units. Processor 901 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 901. In some embodiments, processor 901 and memory 902 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.

[0159] The processor 901 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit, field-programmable gate array or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the low-Earth orbit satellite navigation message parsing method disclosed in the embodiments of this application can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.

[0160] Memory 902, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 902 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. Memory 902 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 902 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0161] By designing and programming the processor 901, the code corresponding to the low-orbit satellite navigation message parsing method described in the foregoing embodiments can be embedded into the chip, enabling the chip to execute the code during operation. Figure 2 The steps of the low-Earth orbit satellite navigation message parsing method in the illustrated embodiment are as follows. How to design and program the processor 901 is a technique well-known to those skilled in the art and will not be described further here.

[0162] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a computer device. When the program is run on the computer device, it causes the computer device to perform the steps of the aforementioned low-orbit satellite navigation message parsing method.

[0163] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0164] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0165] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0166] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0167] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for parsing low-Earth orbit satellite navigation messages, characterized in that, The method includes: The navigation service signal broadcast by the low-orbit satellite is received according to the spreading code period, and the offset range is determined based on the size of the spreading code period; each offset in the offset range is used to describe a time offset of the local reference signal relative to the data start position in the navigation service signal; each offset in the offset range is a non-negative integer less than the spreading code period. N spreading code periods that carry the starting position of the data in the navigation service signal are determined, and the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period is obtained respectively. In addition, each of the obtained correlation fusion values ​​is accumulated using each offset to obtain the corresponding accumulated value. The starting position of the data in the navigation service signal is determined based on each accumulated value, and the message bit stream of the navigation service signal is obtained based on the starting position of the data; Determine local bit streams from the message bit stream whose data coherence meets preset coherence conditions; The navigation messages of the low-Earth orbit satellite are obtained by parsing each navigation message frame contained in the local bit stream.

2. The method as described in claim 1, characterized in that, Before determining the offset range based on the size of the spreading code period, the process includes: Based on the first spreading code of the navigation service signal, the second spreading code of the local reference signal is phase aligned. Based on the first carrier carrying the navigation service signal, the carrier frequency offset of the second carrier carrying the local reference signal is adjusted.

3. The method as described in claim 1, characterized in that, The step of determining N spreading code periods carrying the starting position of the data in the navigation service signal, and obtaining the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, includes: For each of the spreading code periods, the following is performed: The navigation service signal and the local reference signal are multiplied at each sampling point within the spreading code period to obtain the corresponding associated signal value. The obtained associated signal values ​​are fused to obtain the associated fused value corresponding to the spreading code period.

4. The method as described in claim 3, characterized in that, The step of determining the data start position in the navigation service signal based on each accumulated value, and obtaining the message bit stream of the navigation service signal based on the data start position, includes: From the accumulated values, select the first accumulated value and the second accumulated value that satisfy the preset accumulation conditions; Obtain the difference between the first accumulated value and the second accumulated value; the first accumulated value is greater than the second accumulated value; When the difference is greater than a preset difference threshold, the starting position of the data in the navigation service signal is determined based on the offset corresponding to the first accumulated value. Based on the data start position, the navigation service signal is divided and demodulated to obtain the message bit stream of the navigation service signal.

5. The method according to any one of claims 1-4, characterized in that, Determining the local bitstream from the message bitstream whose data coherence meets the preset coherence condition includes: The sequence matching degree between the preset reference sequence and each candidate bit sequence in the message bit stream is obtained respectively; the sequence coherence of the reference sequence meets the preset coherence condition, and the sequence lengths of the reference sequence and the candidate bit sequence are the same; Select a sequence matching degree that reaches the matching degree threshold from all sequence matching degrees and use it as the first matching degree. Then, take the starting position of the candidate bit sequence corresponding to the first matching degree as the first position. Based on the first position and combined with a preset frame length, at least one second position is obtained; The sequence matching degree of each candidate bit sequence associated with the second position is taken as the second matching degree; When each of the second matching degrees reaches the matching degree threshold, the local bit stream is obtained based on the candidate bit sequence corresponding to the first position and the at least one second position.

6. The method according to any one of claims 1-4, characterized in that, The step of parsing each navigation message frame contained in the local bitstream to obtain the navigation message of the low-Earth orbit satellite includes: The local bitstream is identified by frame header identifiers. For each identified frame header identifier, the corresponding navigation message frame is extracted from the local bitstream in combination with a preset frame length. The extracted navigation message frame is then verified and decoded to obtain single-frame navigation information. The navigation information of each single frame is spliced ​​together according to the frame number sequence contained in the frame header identifier to obtain the navigation message of the low-orbit satellite.

7. A device for analyzing low-orbit satellite navigation messages, characterized in that, The method includes: Processing module: Used to receive navigation service signals broadcast by low-Earth orbit satellites according to the spreading code period, and determine an offset range based on the size of the spreading code period; each offset in the offset range describes a time offset of the local reference signal relative to the data start position in the navigation service signal; each offset in the offset range is a non-negative integer less than the spreading code period. Synchronization module: Used to determine N spreading code periods carrying the data start position in the navigation service signal, and obtain the correlation fusion value of the navigation service signal and the local reference signal in each spreading code period, and accumulate each obtained correlation fusion value using each offset to obtain a corresponding accumulated value; determine the data start position in the navigation service signal based on each accumulated value, obtain the message bit stream of the navigation service signal based on the data start position, and determine the local bit stream from the message bit stream whose data continuity meets a preset continuity condition. Parsing module: used to parse each navigation message frame contained in the local bit stream to obtain the navigation message of the low-orbit satellite.

8. A computer device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a computer program stored in the memory, implements the method steps of any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, It stores a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Occultation signal rapid recovery method

    CN103605140A

  • Bit synchronization method of weak signal satellite navigation system

    CN104880720A