[0018] The present invention will be further described in detail below in conjunction with the drawings:
[0019] In this embodiment, in order to ensure the smooth progress of PVT calculation, it is necessary to first determine that the current Beidou No. 2 receiver is in the normal PVT solution state, that is, the Beidou No. 2 receiver can continuously and stably output the local PVT solution result. After confirming that the receiver is in the normal PVT solution state, perform PVT calculation.
[0020] Such as figure 1 , The specific process of the method for improving the PVT calculation speed of the Beidou-2 satellite navigation receiver in this embodiment includes:
[0021] The first step: sort the satellites and traverse the satellites in order, each time a satellite is traversed, perform steps (1) to (3). Among them, sorting the satellites includes sorting by the satellite acquisition channel number of the receiver. For example, the sequence number of the satellite captured by channel 1 is 1, the sequence number of the satellite captured by channel 2 is 2, and so on. Traversing each satellite in sequence includes determining whether the acquisition channel has captured a satellite, if a satellite is captured, traverse to the captured satellite, if no satellite is captured, traverse to the next channel, and continue to determine whether the corresponding channel has captured a satellite , And so on. Steps (1) to (3) are specifically:
[0022] Step (1): Determine whether the three parameters of the current satellite's position, velocity, and acceleration have been calculated through the broadcast message, and the time interval between the last calculation time and the current time is less than the first threshold. The first threshold is the number of satellite acquisition channels of the receiver divided by the resolution frequency of the receiver. For a receiver with 16 acquisition channels and a resolution frequency of 2 Hz, the first threshold is 8s.
[0023] If it has been calculated and the interval time is less than the first threshold, then: Obtain the last calculated satellite position, speed and acceleration; Obtain the last time the satellite position was calculated through the broadcast message, and calculate the time interval from the current time; based on the last pass The satellite position, velocity, acceleration and time interval calculated by the broadcast message are used to calculate the current satellite position, velocity and acceleration. The specific calculation formula is:
[0024]
[0025]
[0026] Where [X k ,Y k ,Z k ] T Is the calculated satellite three-dimensional position value; Is the calculated satellite three-dimensional velocity value; [X k-1 ,Y k-1 ,Z k-1 ] T It is the three-dimensional position value of the satellite calculated through the broadcast message last time; The three-dimensional speed value of the satellite calculated last time through the broadcast message; Is the satellite three-dimensional acceleration value calculated by the broadcast message last time; Δt is the time interval between the time calculated by the broadcast message last time and the current time.
[0027] If the three parameters of the current satellite's position, speed, and acceleration have not been calculated, or the time interval between the last calculation time and the current time has been calculated but reaches or exceeds the first threshold, the current satellite position and speed are directly calculated through the broadcast message , Acceleration three parameters, and record the current time.
[0028] Step (2): Classify each pseudorange correction component, and use the pseudorange correction component (including clock correction, earth rotation correction, etc.) with a large amount of time change as the first type of pseudorange correction component, and the remaining pseudorange correction components (Including relativistic effect correction, ionospheric correction, tropospheric correction, etc.) as the second type of pseudorange correction component.
[0029] Step (3): For the first type of pseudorange correction component, update the value of each pseudorange correction component through calculation. Wherein, the value of each pseudorange correction component is updated by calculation to the existing technology in the field. For the second type of pseudorange correction component, determine whether the value of the second type of pseudorange correction component has been calculated before, and the time interval between the last calculation of the second type of pseudorange correction component and the current time is less than the second Threshold. The first threshold is the number of satellite acquisition channels of the receiver divided by the resolution frequency of the receiver. For a receiver with 16 acquisition channels and a resolution frequency of 2 Hz, the first threshold is 8s.
[0030] If the value of the second type of pseudorange correction component has been calculated and the interval time is less than the second threshold, the value of the corresponding pseudorange correction component calculated last time (that is, the most recent) is directly used.
[0031] If the value of the second type of pseudorange correction component has not been calculated or the interval between the last calculation time and the current time reaches or exceeds the second threshold, the value of the corresponding second type of pseudorange correction component is updated through calculation.
[0032] Step 2: After traversing all the satellites, calculate the PVT of the user based on the position and velocity of each satellite and the value of the pseudorange correction component to the user, and output the calculation result.
[0033] The effects of the present invention will be described below. Attached figure 2 Attached image 3 The targeted Beidou-2 receiver has 16 channels, the number of captured satellites is 10, and the resolution frequency is 2Hz. The program design uses the channel number to establish a loop, and each channel number increases by 1, so that the calculation interval for each satellite is fixed 8s, there is no danger of calculation timeout. Through simulation calculation, the receiver calculates the deviation between the positioning result and the real position under the same environment before and after using the algorithm proposed by the present invention. Among them, the calculation time is 1 hour, the output frequency is 1 Hz, and the final result is the variance value of all test results in this hour. The simulation results show that:
[0034] The program that uses the round-robin calculation to maintain the algorithm shows that the positioning accuracy is:
[0035] Horizontal accuracy: 0.366m; vertical accuracy: 0.490m; three-dimensional accuracy: 0.573m.
[0036] The unused program shows the positioning accuracy as:
[0037] Horizontal accuracy: 0.361m; vertical accuracy: 0.480m; three-dimensional accuracy: 0.570m.
[0038] It can be seen that the actual measurement of the positioning deviation generated by the algorithm is only in the order of 0.001m. Since the current positioning accuracy of the Beidou-2 system is in the order of 10m, the algorithm does not affect the final calculation result of the receiver.
[0039] figure 2 with image 3 It is the time it takes for a certain receiver to perform a calculation process in the same environment before and after using the method proposed in the present invention. The measurement method is to define two output pins on the hardware. The first pin is set high at the beginning of the algorithm execution and set low when the algorithm ends; the second pin is set high at the beginning of the calculation of each satellite position, and at the end. Set low so that you can use the oscilloscope to test out.
[0040] figure 2 with image 3 In the middle, the horizontal axis Ay is the time axis, and the unit scale of the time axis in the two figures is the same, and the bottom result display part. The wider square wave time displayed in the upper part of the oscilloscope is the time used to execute the entire calculation and hold algorithm. Its value is the value corresponding to the symbol Δ in the bottom result display box of the two figures; the lower part shows more A narrower square wave or pulse wave time is the time used to perform the position velocity calculation of each satellite. The low-level time between square waves is the time for pseudorange correction.
[0041] It can be clearly seen that the number of satellites in the current time slot is ten, and the program using the round-robin calculation and maintenance algorithm only performed the calculation of one satellite in this time slot, and the calculation of the position and velocity of the remaining satellites takes almost zero time , The execution time of pseudorange correction is also greatly reduced. The execution time of the entire program is shortened from 256.91ms to 69.44ms.
[0042] The test result proves that because the present invention reduces the frequency of calculations and uses the method of inferring or extending the previous data to obtain new data, the optimized round robin algorithm involved in the present invention greatly reduces The amount of system calculations improves the calculation speed, thereby greatly reducing the system overhead and achieving the expected goal. At the same time, the method proposed by the present invention can be used simultaneously with the currently commonly used processing methods to achieve a better processing effect.