A fast and high-precision satellite navigation data extrapolation method and system
By collecting and recording the velocity increment of the spacecraft during each navigation cycle, and using coordinate transformation and accumulation results to extrapolate satellite navigation data, the problem of inaccurate acceleration calculation caused by the activation of the orbital control engine was solved, realizing high-precision inertial + satellite combined navigation and ensuring navigation accuracy and continuity throughout the flight.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING INST OF ELECTRONICS SYST ENG
- Filing Date
- 2023-11-13
- Publication Date
- 2026-07-07
AI Technical Summary
During spacecraft velocity correction, the acceleration cannot be accurately calculated due to the activation of the orbit control engine, which makes inertial + satellite combined navigation impossible. In particular, existing technology cannot achieve high-precision satellite navigation data extrapolation when the orbit control engine is turned on and off.
By collecting the velocity increment in the spacecraft's body coordinate system from the accelerometer during each navigation cycle, and calculating the velocity increment in the J2000 geocentric equatorial inertial coordinate system using the coordinate transformation matrix, recording the first and second accumulation results, and combining the extrapolation duration and data recording index, the velocity increment extrapolated from the satellite navigation data to the current moment is calculated.
It achieves high-precision inertial + satellite combined navigation throughout the entire flight, solves the problem of inaccurate acceleration calculation caused by the activation of the orbit control engine, ensures the continuity and accuracy of navigation, has low computational load, and is easy to implement in engineering.
Smart Images

Figure CN117633401B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of high-precision satellite navigation, and in particular to a method and system for fast and high-precision satellite navigation data extrapolation. Background Technology
[0002] In inertial-satellite combined navigation, satellite navigation data needs to be extrapolated to the current moment. During spacecraft velocity correction, the acceleration cannot be accurately calculated due to the activation of the orbital control engines, resulting in a large error in extrapolating the satellite navigation data to the current moment, making inertial-satellite combined navigation impossible, especially when the orbital control engines are activated and deactivated. To improve guidance accuracy, a fast and high-precision satellite navigation data extrapolation calculation method is urgently needed. Summary of the Invention
[0003] This invention proposes a fast and high-precision satellite navigation data extrapolation method and system to solve the problem that inertial + satellite combined navigation cannot be performed during spacecraft velocity correction because the acceleration caused by the activation of the orbital control engine cannot be accurately calculated.
[0004] The technical solution of this invention is:
[0005] In a first aspect, the present invention discloses a method for fast and high-precision satellite navigation data extrapolation, comprising:
[0006] The velocity increment in the spacecraft's body coordinate system is collected from the accelerometer during each navigation cycle;
[0007] Based on the velocity increment in the spacecraft's body coordinate system, determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system for each navigation cycle; based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system, determine the first and second accumulation results of the velocity increment in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles, and record the first and second accumulation results in the velocity increment first accumulation result buffer and velocity increment second accumulation result buffer respectively in each navigation cycle; simultaneously, record the current data record index;
[0008] Based on the extrapolation duration, navigation cycle, current data record index, and the first and second accumulation results of the velocity increment, determine the first and second accumulation results of the velocity increment corresponding to the extrapolation duration of the satellite navigation data.
[0009] Based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, and the extrapolation duration, the satellite navigation data is extrapolated to the current time to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
[0010] In one specific implementation, the velocity increment in the spacecraft's body coordinate system is acquired from the accelerometer during each navigation cycle; specifically including:
[0011] In each T1 navigation cycle, the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system are collected from the accelerometer. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1
[0012]
[0013] In one specific implementation, based on the velocity increment in the spacecraft's body coordinate system, the velocity increment in the J2000 geocentric equatorial inertial coordinate system is determined for each navigation cycle; based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system, the first-order accumulation result and the second-order accumulation result of the velocity increment in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles are determined; in each navigation cycle, the first-order accumulation result and the second-order accumulation result are recorded in the velocity increment first-order accumulation result buffer and the velocity increment second-order accumulation result buffer, respectively; simultaneously, the current data recording index is recorded; specifically including:
[0014] Calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each navigation cycle T1.
[0015] ΔW=C i1 ΔW1 (2)
[0016] Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system;
[0017] Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0018] W all =W all +ΔW (3)
[0019] Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0020] WW all =WW all +W all (4)
[0021] W will be used in each T1 navigation cycle all and WW allRecord the current data record index Idx in the velocity increment first accumulation result buffer WBuf and the velocity increment second accumulation result buffer WWBuf respectively; the initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then set the current data record index Idx = 0.
[0022] In one specific implementation, the first and second accumulation results of the velocity increment corresponding to the extrapolated duration of the satellite navigation data are determined based on the extrapolation duration, navigation cycle, current data record index, and the first and second accumulation result buffers of the velocity increment; specifically including:
[0023] Calculate the number of navigation cycles T1 for the extrapolated duration Δt:
[0024]
[0025] Among them, the symbol [] →5 This indicates rounding; Δt is the time difference between the satellite navigation data time and the current time, in seconds;
[0026] If the current data record index Idx ≥ 1, then the current data record index CurIdx = Idx - 1; otherwise, CurIdx = BufLen - 1.
[0027] If the current data record index Idx ≥ n T1 If the satellite navigation data time corresponds to the record index GNSSIdx > Idx-nT1, then GNSSIdx > Idx-nT1; otherwise, GNSSIdx > Idx-nT1 + BufLen.
[0028] Calculate the single-accumulation result W of the velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0029] W Δt =WBuf CurIdx -WBuf GNSSIdx (6)
[0030] Among them: WBuf CurIdx WBuf is the recorded value of the cumulative result of all T1 navigation cycles at the current moment. GNSSIdx This is the recorded value of the cumulative result of all T1 navigation cycles at any given time in the satellite navigation data.
[0031] Calculate the double accumulation result of velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0032] WW Δt=WWBuf CurIdx -WWBuf GNSSIdx (7)
[0033] Among them: WWBuf CurIdx This is the recorded value of the double-accumulated result of all T1 navigation cycles at the current moment; WWBuf GNSSIdx This is the recorded value of the double accumulation result of all T1 navigation cycles at any given time in the satellite navigation data.
[0034] In one specific implementation, based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, and the extrapolation duration, the satellite navigation data is extrapolated to the current time to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time, specifically including:
[0035] Determine the current satellite navigation position R in the J2000 geocentric equatorial inertial coordinate system. i
[0036]
[0037] Where: R i0 The position in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration in the J2000 geocentric equatorial inertial coordinate system at the location corresponding to the satellite navigation data;
[0038] Determine the satellite navigation velocity V in the J2000 geocentric equatorial inertial coordinate system at the current moment. i
[0039] V i =V i0 +W Δt +g i Δt (10)
[0040] Where: V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration is given in the J2000 geocentric equatorial inertial coordinate system.
[0041] Secondly, this invention discloses a fast and high-precision satellite navigation data extrapolation system, comprising:
[0042] The acquisition unit is used to acquire the velocity increment in the spacecraft's body coordinate system from the accelerometer during each navigation cycle;
[0043] The recording unit is used to determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system within each navigation cycle based on the velocity increment in the spacecraft's body coordinate system; to determine the first-order and second-order cumulative velocity increment results in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system; to record the first-order and second-order cumulative velocity increment results in the first-order cumulative velocity increment result buffer and the second-order cumulative velocity increment result buffer, respectively, in each navigation cycle; and to record the current data recording index.
[0044] The determining unit is used to determine the first and second accumulation results of the velocity increment corresponding to the extrapolation duration of the satellite navigation data based on the extrapolation duration, navigation cycle, current data record index, and the first accumulation result buffer and the second accumulation result buffer of the velocity increment.
[0045] The extrapolation unit is used to extrapolate satellite navigation data to the current time based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, as well as the extrapolation duration, to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
[0046] In one specific embodiment, the acquisition unit is specifically used to acquire the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system from the accelerometer in each T1 navigation cycle. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1
[0047]
[0048] In one specific embodiment, the recording unit is specifically used to: calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each T1 navigation cycle.
[0049] ΔW=C i1 ΔW1 (2)
[0050] Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system;
[0051] Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0052] W all =W all +ΔW (3)
[0053] Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0054] WW all =WW all +W all (4)
[0055] W will be used in each T1 navigation cycle all and WW all Record the current data record index Idx in the velocity increment first accumulation result buffer WBuf and the velocity increment second accumulation result buffer WWBuf respectively; the initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then set the current data record index Idx = 0.
[0056] Thirdly, a computing device is provided, comprising at least one processor and at least one memory, wherein the memory stores a computer program, and the processor is configured to read the computer program from the memory and execute any step of the method described in the first aspect.
[0057] Fourthly, a computer-readable storage medium is provided, the computer-readable storage medium storing computer-executable instructions for causing a computer to perform any step of the method described in the first aspect.
[0058] The beneficial technical effects of this invention are:
[0059] This invention relates to a fast and high-precision satellite navigation data extrapolation calculation method. The method first calculates the velocity increment for each navigation cycle. Then, for each navigation cycle, it calculates and records the first and second accumulation results of the velocity increments across all navigation cycles. Based on these recorded first and second accumulation results, it calculates the first and second accumulation results of the velocity increments corresponding to the extrapolation time for the satellite navigation data. Finally, it extrapolates the satellite navigation data to the current moment. This invention solves the problem of inaccurate acceleration calculation during spacecraft velocity correction due to the activation of orbital control engines, which prevents the implementation of inertial + satellite combined navigation. It achieves integrated navigation throughout the entire flight, and the method has low computational complexity and is easy to implement in engineering. Attached Figure Description
[0060] Figure 1 This is a schematic diagram of a fast and high-precision satellite navigation data extrapolation method according to an embodiment of the present invention. Detailed Implementation
[0061] To address the problem that inaccurate acceleration calculations due to the activation of orbit control engines during spacecraft velocity correction, which prevents the implementation of inertial + satellite combined navigation, this invention provides a fast and high-precision satellite navigation data extrapolation method and system.
[0062] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein.
[0063] In this article, "multiple or several" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0064] The preferred embodiments of the present invention will be described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit the present invention. Furthermore, the embodiments and features in the embodiments of the present invention can be combined with each other without conflict.
[0065] Example 1
[0066] The J2000 geocentric equatorial inertial coordinate system and body coordinate system mentioned in this article adopt the industry's commonly used description method and will not be elaborated further.
[0067] like Figure 1 The diagram illustrates a fast and high-precision satellite navigation data extrapolation method according to an embodiment of the present invention, comprising the following steps:
[0068] S11. Collect the velocity increment in the spacecraft's body coordinate system from the accelerometer during each navigation cycle;
[0069] In this step, the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system are collected from the accelerometer during each T1 navigation cycle. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1
[0070]
[0071] S12. Based on the velocity increment in the spacecraft's body coordinate system, determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system for each navigation cycle; based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system, determine the first and second accumulation results of the velocity increment in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles; record the first and second accumulation results in the velocity increment first accumulation result buffer and velocity increment second accumulation result buffer respectively in each navigation cycle; simultaneously record the current data record index;
[0072] This step specifically includes:
[0073] Calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each navigation cycle T1.
[0074] ΔW=C i1 ΔW1 (2)
[0075] Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system;
[0076] Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0077] W all =W all +ΔW (3)
[0078] Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0079] WW all =WW all +W all (4)
[0080] W will be used in each T1 navigation cycle all and WW all Record the current data record index Idx in the velocity increment first accumulation result buffer WBuf and the velocity increment second accumulation result buffer WWBuf respectively; the initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then set the current data record index Idx = 0.
[0081] S13. Based on the extrapolation duration, navigation cycle, current data record index, and the first-level accumulation result buffer and the second-level accumulation result buffer of the velocity increment, determine the first-level accumulation result and the second-level accumulation result of the velocity increment corresponding to the extrapolation duration of the satellite navigation data.
[0082] This step specifically includes:
[0083] Calculate the number of navigation cycles T1 for the extrapolated duration Δt:
[0084]
[0085] Among them, the symbol [] →5 This indicates rounding; Δt is the time difference between the satellite navigation data time and the current time, in seconds;
[0086] If the current data record index Idx ≥ 1, then the current data record index CurIdx = Idx - 1; otherwise, CurIdx = BufLen - 1.
[0087] If the current data record index Idx ≥ n T1 If the satellite navigation data time corresponds to the record index GNSSIdx > Idx-nT1, then GNSSIdx > Idx-nT1; otherwise, GNSSIdx > Idx-nT1 + BufLen.
[0088] Calculate the single-accumulation result W of the velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0089] W Δt =WBuf CurIdx -WBuf GNSSIdx (6)
[0090] Among them: WBuf CurIdx WBuf is the recorded value of the cumulative result of all T1 navigation cycles at the current moment. GNSSIdx This is the recorded value of the cumulative result of all T1 navigation cycles at any given time in the satellite navigation data.
[0091] Calculate the double accumulation result of velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0092] WW Δt =WWBuf CurIdx -WWBuf GNSSIdx (7)
[0093] Among them: WWBuf CurIdx This is the recorded value of the double-accumulated result of all T1 navigation cycles at the current moment; WWBuf GNSSIdx This is the recorded value of the double accumulation result of all T1 navigation cycles at any given time in the satellite navigation data.
[0094] S14. Based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, and the extrapolation duration, extrapolate the satellite navigation data to the current time to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
[0095] This step specifically includes:
[0096] Determine the current satellite navigation position R in the J2000 geocentric equatorial inertial coordinate system. i
[0097]
[0098] Where: R i0 The position in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration in the J2000 geocentric equatorial inertial coordinate system at the location corresponding to the satellite navigation data;
[0099] Determine the satellite navigation velocity V in the J2000 geocentric equatorial inertial coordinate system at the current moment. i
[0100] V i =V i0 +W Δt +g i Δt (10)
[0101] Where: V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration is given in the J2000 geocentric equatorial inertial coordinate system.
[0102] This embodiment relates to a fast and high-precision satellite navigation data extrapolation method. The method first calculates the velocity increment for each navigation cycle. Then, for each navigation cycle, it calculates and records the first and second summations of the velocity increments across all navigation cycles. Based on these recorded first and second summations, it calculates the first and second summations of the velocity increments corresponding to the extrapolation time for the satellite navigation data. Finally, it extrapolates the satellite navigation data to the current moment. This invention solves the problem of inaccurate acceleration calculation during spacecraft velocity correction due to the activation of orbital control engines, which prevents the implementation of inertial + satellite combined navigation. It achieves integrated navigation throughout the entire flight, and the method has low computational complexity and is easy to implement in engineering.
[0103] Example 2
[0104] The J2000 geocentric equatorial inertial coordinate system and body coordinate system mentioned in this article adopt the industry's commonly used description method and will not be elaborated further.
[0105] The specific steps of a fast and high-precision satellite navigation data extrapolation method are as follows:
[0106] Step 1 Data Collection
[0107] In each T1 navigation cycle, the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system are collected from the accelerometer. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1
[0108]
[0109] The second step is to calculate and record the velocity increment.
[0110] Calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each navigation cycle T1.
[0111] ΔW=C i1 ΔW1 (2)
[0112] Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system.
[0113] Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0114] W all =W all +ΔW (3)
[0115] Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all
[0116] WW all =WW all +W all (4)
[0117] W will be used in each T1 navigation cycle all and WW all The data is recorded at the current data record index Idx in the velocity increment single-accumulation result buffer WBuf and the velocity increment double-accumulation result buffer WWBuf, respectively. The initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then the current data record index Idx is set to 0.
[0118] The third step is to calculate the first and second accumulation results of the velocity increment corresponding to the extrapolated time of the satellite navigation data.
[0119] Calculate the number of navigation cycles T1 for the extrapolated duration Δt:
[0120]
[0121] Among them, the symbol [] →5 The value indicates rounding; Δt is the time difference between the satellite navigation data time and the current time, in seconds.
[0122] If the current data record index Idx ≥ 1, then the current data record index CurIdx = Idx - 1; otherwise, CurIdx = BufLen - 1.
[0123] If the current data record index Idx ≥ n T1 If the satellite navigation data time corresponds to the record index GNSSIdx > Idx-nT1, then GNSSIdx > Idx-nT1 + BufLen.
[0124] Calculate the single-accumulation result W of the velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0125] W Δt =WBuf CurIdx -WBuf GNSSIdx (6)
[0126] Among them: WBuf CurIdx WBuf is the recorded value of the cumulative result of all T1 navigation cycles at the current moment. GNSSIdx This is the recorded value of the cumulative result of all T1 navigation cycles at any given time in the satellite navigation data.
[0127] Calculate the double accumulation result of velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt
[0128] WW Δt =WWBuf CurIdx -WWBuf GNSSIdx (7)
[0129] Among them: WWBuf CurIdx This is the recorded value of the double-accumulated result of all T1 navigation cycles at the current moment; WWBuf GNSSIdx This is the recorded value of the double accumulation result of all T1 navigation cycles at any given time in the satellite navigation data.
[0130] Step 4: Extrapolate satellite navigation data to the current time.
[0131] Calculate the current satellite navigation position R in the J2000 geocentric equatorial inertial coordinate system. i
[0132]
[0133] Where: R i0 The position in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The formula for calculating the gravitational acceleration in the J2000 geocentric equatorial inertial coordinate system at the location corresponding to the satellite navigation data is as follows:
[0134]
[0135] Where, μ = 3.986005e14m 3 / s 2 J is the Earth's gravitational constant; J² = 1.082636e⁻³ is the principal band harmonic term; R xi0 R yi0 R zi0 These represent the X, Y, and Z positions in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data. R is the geocentric radius vector at the location corresponding to the satellite navigation data; e =6378140m is the average radius of the Earth.
[0136] Calculate the satellite navigation velocity V in the J2000 geocentric equatorial inertial coordinate system at the current moment. i
[0137] V i =V i0 +W Δt +g i Δt (10)
[0138] Where: V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration in the J2000 geocentric equatorial inertial coordinate system is calculated by equation (9).
[0139] Through the above steps, a fast and high-precision satellite navigation data extrapolation method has been realized.
[0140] This embodiment discloses a fast and high-precision satellite navigation data extrapolation determination method and system. The method first calculates the velocity increment for each navigation cycle. Then, for each navigation cycle, it calculates and records the first and second accumulation results of the velocity increments for all navigation cycles. Based on the recorded first and second accumulation results of the velocity increments for all navigation cycles, it calculates the first and second accumulation results of the velocity increments corresponding to the extrapolation time of the satellite navigation data. Finally, it extrapolates the satellite navigation data to the current time. This invention solves the problem that inaccurate acceleration calculation due to the activation of the orbital control engine during spacecraft velocity correction, which prevents inertial + satellite combined navigation, thus achieving integrated navigation throughout the entire flight. This method has low computational complexity and is easy to implement in engineering.
[0141] Based on the same technical concept, this application also provides a fast and high-precision satellite navigation data extrapolation system. Since the principle of the above device in solving the problem is similar to that of a fast and high-precision satellite navigation data extrapolation method, the implementation of the above device can refer to the implementation of the method, and the repeated parts will not be described again.
[0142] A fast and high-precision satellite navigation data extrapolation system includes:
[0143] The acquisition unit is used to acquire the velocity increment in the spacecraft's body coordinate system from the accelerometer during each navigation cycle;
[0144] The recording unit is used to determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system within each navigation cycle based on the velocity increment in the spacecraft's body coordinate system; to determine the first-order and second-order cumulative velocity increment results in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system; to record the first-order and second-order cumulative velocity increment results in the first-order cumulative velocity increment result buffer and the second-order cumulative velocity increment result buffer, respectively, in each navigation cycle; and to record the current data recording index.
[0145] The determining unit is used to determine the first and second accumulation results of the velocity increment corresponding to the extrapolation duration of the satellite navigation data based on the extrapolation duration, navigation cycle, current data record index, and the first accumulation result buffer and the second accumulation result buffer of the velocity increment.
[0146] The extrapolation unit is used to extrapolate satellite navigation data to the current time based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, as well as the extrapolation duration, to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
[0147] For ease of description, the above sections are divided into modules (or units) according to their functional modules and described separately. Of course, in implementing this invention, the functions of each module (or unit) can be implemented in one or more software or hardware components.
[0148] Based on the same technical concept, the present invention provides a computing device, including at least one processor and at least one memory, wherein the memory stores a computer program, and the processor is used to read the computer program in the memory and execute a fast and high-precision satellite navigation data extrapolation method.
[0149] Based on the same technical concept, the present invention provides a computer-readable storage medium storing computer-executable instructions for causing a computer to execute a fast and high-precision satellite navigation data extrapolation method.
[0150] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A method for fast and high-precision satellite navigation data extrapolation, characterized in that, include: The velocity increment in the spacecraft's body coordinate system is collected from the accelerometer during each navigation cycle; Based on the velocity increment in the spacecraft's body coordinate system, determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system for each navigation cycle; based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system, determine the first and second accumulation results of the velocity increment in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles, and record the first and second accumulation results in the velocity increment first accumulation result buffer and velocity increment second accumulation result buffer respectively in each navigation cycle; simultaneously, record the current data record index; Based on the extrapolation duration, navigation cycle, current data record index, and the first and second accumulation results of the velocity increment, determine the first and second accumulation results of the velocity increment corresponding to the extrapolation duration of the satellite navigation data. Based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, and the extrapolation duration, the satellite navigation data is extrapolated to the current time to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
2. The method according to claim 1, characterized in that, During each navigation cycle, the velocity increment in the spacecraft's body coordinate system is acquired from the accelerometer; specifically including: In each T1 navigation cycle, the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system are collected from the accelerometer. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1 3. The method according to claim 2, characterized in that, Based on the velocity increment in the spacecraft's body coordinate system, determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system for each navigation cycle; based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system, determine the first and second accumulation results of the velocity increment in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles, and record the first and second accumulation results in the velocity increment first accumulation result buffer and velocity increment second accumulation result buffer respectively in each navigation cycle; Simultaneously record the index of the current data record; specifically including: Calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each navigation cycle T1. ΔW=C i1 ΔW1 (2) Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system; Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all IN all =In all +ΔW (3) Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all WW all =WW all +W all (4) W will be used in each T1 navigation cycle all and WW all Record the current data record index Idx in the velocity increment first accumulation result buffer WBuf and the velocity increment second accumulation result buffer WWBuf respectively; the initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then set the current data record index Idx = 0.
4. The method according to claim 3, characterized in that, Based on the extrapolation duration, navigation cycle, current data record index, and the velocity increment first-accumulation result buffer and velocity increment second-accumulation result buffer, determine the velocity increment first-accumulation result and second-accumulation result corresponding to the satellite navigation data extrapolation duration; specifically including: Calculate the number of navigation cycles T1 for the extrapolated duration Δt: Among them, the symbol [] →5 This indicates rounding; Δt is the time difference between the satellite navigation data time and the current time, in seconds; If the current data record index Idx ≥ 1, then the current data record index CurIdx = Idx - 1; otherwise, CurIdx = BufLen - 1. If the current data record index Idx ≥ n T1 If the satellite navigation data time corresponds to the record index GNSSIdx > Idx-nT1, then GNSSIdx > Idx-nT1; otherwise, GNSSIdx > Idx-nT1 + BufLen. Calculate the single-accumulation result W of the velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt W Δt =WBuf CurIdx -WBuf GNSSIdx (6) Among them: WBuf CurIdx WBuf is the recorded value of the cumulative result of all T1 navigation cycles at the current moment. GNSSIdx This is the recorded value of the cumulative result of all T1 navigation cycles at any given time in the satellite navigation data. Calculate the double accumulation result of velocity increment in the J2000 geocentric equatorial inertial coordinate system within the extrapolated time interval Δt. Δt WW Δt =WWBuf CurIdx -WWBuf GNSSIdx (7) Among them: WWBuf CurIdx This is the recorded value of the double-accumulated result of all T1 navigation cycles at the current moment; WWBuf GNSSIdx This is the recorded value of the double accumulation result of all T1 navigation cycles at any given time in the satellite navigation data.
5. The method according to claim 4, characterized in that, Based on the first and second accumulation results of the velocity increment corresponding to the extrapolated duration, and the extrapolated duration, the satellite navigation data is extrapolated to the current time to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time, specifically including: Determine the current satellite navigation position R in the J2000 geocentric equatorial inertial coordinate system. i Where: R i0 The position in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration in the J2000 geocentric equatorial inertial coordinate system at the location corresponding to the satellite navigation data; Determine the satellite navigation velocity V in the J2000 geocentric equatorial inertial coordinate system at the current moment. i V i =V i0 +W Δt +g i Δt (10) Where: V i0 The velocity in the J2000 geocentric equatorial inertial coordinate system at the time of satellite navigation data; g i The gravitational acceleration is given in the J2000 geocentric equatorial inertial coordinate system.
6. A fast and high-precision satellite navigation data extrapolation system, characterized in that, include: The acquisition unit is used to acquire the velocity increment in the spacecraft's body coordinate system from the accelerometer during each navigation cycle; The recording unit is used to determine the velocity increment in the J2000 geocentric equatorial inertial coordinate system within each navigation cycle based on the velocity increment in the spacecraft's body coordinate system; to determine the first-order and second-order cumulative velocity increment results in the J2000 geocentric equatorial inertial coordinate system for all navigation cycles based on the velocity increment in the J2000 geocentric equatorial inertial coordinate system; to record the first-order and second-order cumulative velocity increment results in the first-order cumulative velocity increment result buffer and the second-order cumulative velocity increment result buffer, respectively, in each navigation cycle; and to record the current data recording index. The determining unit is used to determine the first and second accumulation results of the velocity increment corresponding to the extrapolation duration of the satellite navigation data based on the extrapolation duration, navigation cycle, current data record index, and the first accumulation result buffer and the second accumulation result buffer of the velocity increment. The extrapolation unit is used to extrapolate satellite navigation data to the current time based on the first and second accumulation results of the velocity increment corresponding to the extrapolation duration, as well as the extrapolation duration, to obtain the satellite navigation position and satellite navigation velocity in the J2000 geocentric equatorial inertial coordinate system at the current time.
7. The system according to claim 6, characterized in that, The acquisition unit is specifically used to acquire the velocity increments ΔW in the X, Y, and Z directions in the spacecraft's body coordinate system from the accelerometer in each T1 navigation cycle. x1 ΔW y1 ΔW z1 The unit is m / s, denoted as ΔW1 8. The system according to claim 7, characterized in that, The recording unit is specifically used to: calculate the velocity increment ΔW in the J2000 geocentric equatorial inertial coordinate system in each T1 navigation cycle. ΔW=C i1 ΔW1 (2) Among them, C i1 This is the coordinate transformation matrix from the spacecraft's body coordinate system to the J2000 equatorial inertial coordinate system; Calculate the single-accumulation result W of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all IN all =In all +ΔW (3) Calculate the double accumulation results of velocity increments in the geocentric equatorial inertial coordinate system for all T1 navigation cycles J2000. all WW all =WW all +W all (4) W will be used in each T1 navigation cycle all and WW all Record the current data record index Idx in the velocity increment first accumulation result buffer WBuf and the velocity increment second accumulation result buffer WWBuf respectively; the initial value of the current data record index Idx is 0, and it is incremented by 1 after each record. If the current data record index Idx is greater than the maximum length of the buffer BufLen, then set the current data record index Idx = 0.
9. A computing device, characterized in that, The method includes at least one processor and at least one memory, wherein the memory stores a computer program, and the processor is configured to read the computer program from the memory and execute the method according to any one of claims 1 to 5.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing a computer to perform the method described in any one of claims 1 to 5.