GNSS (Global Navigation Satellite System) signal joint acquisition method and device, chip and receiver
By using particle swarm optimization method in GNSS signal receiver and using grid search method in clock difference domain, the problems of low signal capture sensitivity and complex calculation in traditional methods are solved, and efficient GNSS signal capture and acquisition of global optimal solutions are achieved.
Patent Information
- Application Number
- CN202510470141.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2045-04-15
AI Technical Summary
The existing GNSS signal receivers have low capture sensitivity in areas with poor signal quality, traditional methods are complex in calculations and difficult to process in real time, and they fail to effectively handle the uncertainty of the clock difference domain.
The particle swarm optimization method is used to optimize the position domain, and the grid search method is used in the clock difference domain to separate the processing signal position domain and clock difference domain, reduce the calculation amount and improve the capture speed.
It realizes efficient GNSS signal capture in areas with poor signal quality, reduces the computational volume and improves the capture speed, making it easier to obtain the global optimal solution.
Smart Images

Figure CN119986718A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of GNSS navigation, and in particular to a GNSS signal joint capture method, device, chip and receiver. Background Art
[0002] The capture sensitivity of the Global Navigation Satellite System (GNSS) signal receiver is generally lower than the tracking sensitivity, which is more likely to become a bottleneck for the receiver in areas with poor signal quality. Traditional receivers capture each satellite signal separately and do not take advantage of the relationship between different satellite signals. The Collective Detection (CD) method is a method that uses all satellite signal information within the line of sight to jointly capture weak signals. However, this method requires searching and calculating the capture detection statistics in four dimensions, namely the three-dimensional position domain and the one-dimensional clock error domain. The computational complexity is high and it is difficult to apply to real-time signal processing of receivers. In addition, the uncertainty in the clock error domain is usually much greater than that in the position domain, and the traditional CD method does not perform differential processing during the search process. Summary of the invention
[0003] Based on the above situation, the main purpose of the present invention is to provide an optimized GNSS signal joint capture method and device, which can greatly reduce the amount of calculation and make it easier to obtain the global optimal solution, thereby reducing the amount of calculation and improving the capture speed.
[0004] To achieve the above purpose, the technical solution adopted by the present invention is as follows: A GNSS signal joint acquisition method comprises the steps of: S100, determine the search range and search step of the clock difference according to the user's approximate time, and obtain N User clock error estimator dt 1 , ……, dt N ; S200, calculating the position and speed of currently visible satellites according to the satellite ephemeris and the approximate time of the user; S300, using a particle swarm optimization method to optimize the user's three-dimensional position corresponding to each user's clock error estimate according to the position and speed of the visible satellite, to obtain N The best user location estimates: gbest (dt 1 ), ……, gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J(dt 1 ), ……, J(dt N ) ; S400, comparing the optimal detection statistics J(dt 1 ), ……, J(dt N ) , and get the maximum value among them J(dt n ) , and according to the maximum value J(dt n ) Calculate the test statistic S ; S500, if the detection statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n Perform GNSS signal acquisition, otherwise, return to step S300.
[0005] Preferably, in step S100, the search range and search step of the clock difference are determined according to the accuracy or reliability of the user's approximate time.
[0006] Preferably, the search step length of the clock difference in step S100 is 1 / 4 to 1 / 2 of a chip width.
[0007] Preferably, the step S300 of optimizing the three-dimensional position of each user corresponding to the estimated clock error of each user by using a particle swarm optimization method includes: S301, selecting P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; S302, iteratively calculate the particle speed and particle position of each particle, and the optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate. 。
[0008] Preferably, in step S302, the particle velocity and particle position of each particle are iteratively calculated using the following formula: ; ; d = 1, 2, 3; i = 1, 2, …, P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is the learning factor; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
[0009] Preferably, the The calculation is done using the following formula:
[0010] in, is the upper bound of the inertia factor, is the lower bound of the inertia factor, is the current iteration number.
[0011] Preferably, the detection statistic in step S300 is: a calculation result of correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
[0012] Preferably, the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is:
[0013] in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal,M is the number of currently visible satellites; They are The vector of components; matrix G No. k Row, No. i The column elements are:
[0014] in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval;
[0015] in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, dt n is the user clock error estimate, For the The clock error of the satellites, is the signal wavelength; The three-dimensional position of the user is optimized using the particle swarm optimization method.
[0016] Preferably, in step S400, according to the maximum value J(dt n )、 No. n-1 The optimal detection statistic corresponding to the user clock error estimator J(dt n-1 ) and n+1 The optimal detection statistic corresponding to the user clock error estimator J(dt n+1 ) Calculate the test statistic S。
[0017] Preferably, the following formula is used to calculate the detection statistic in step S400: S :
[0018] in, J min for J(dt1 ), ……, J(dt N ) The minimum value in .
[0019] The present invention further discloses a computer storage medium, wherein the storage medium stores a program, wherein the program is used to be executed to implement any GNSS signal joint acquisition method described in the present invention.
[0020] The present invention further discloses a GNSS navigation receiver chip, wherein the chip uses any one of the GNSS signal joint capture methods of the present invention to capture navigation satellite signals.
[0021] The present invention also discloses a GNSS navigation receiver, which adopts the GNSS navigation receiver chip of the present invention.
[0022] The present invention also discloses a GNSS signal joint acquisition device, comprising a user clock error estimation calculation module, a satellite parameter calculation module, a user position optimization module and a comparison module. The user clock error estimation calculation module is used to determine the search range and search step of the clock error according to the user's approximate time, and obtain N User clock error estimator dt 1 , ……, dt N ; The satellite parameter calculation module is used to calculate the position and speed of the currently visible satellite according to the satellite ephemeris and the user approximate time; The user position optimization module is used to optimize the user's three-dimensional position corresponding to each user's clock error estimation according to the position and speed of the visible satellite using a particle swarm optimization method to obtain N The best user location estimates: gbest (dt 1 ), ……, gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J (dt 1 ), ……, J(dt N ) ; The comparison module is used to compare the optimal detection statistics J(dt 1 ), ……, J(dt N ) , and get the maximum value among them J(dt n ) , and according to the maximum value J(dtn ) Calculate the test statistic S ; If the test statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n GNSS signal acquisition is performed, otherwise, the user position optimization module continues to optimize the user three-dimensional position corresponding to each user clock error estimate.
[0023] Preferably, the user clock error estimation calculation module determines the search range and search step of the clock error according to the accuracy or reliability of the user approximate time.
[0024] Preferably, the search step length of the clock difference is 1 / 4 to 1 / 2 of a chip width.
[0025] Preferably, the user location optimization module includes a user location preselection unit and an iterative calculation unit. The user position preselection unit is used to select P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; The iterative calculation unit is used to iteratively calculate the particle speed and particle position of each particle. The optimal position found by all particles after the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate. 。
[0026] Preferably, the iterative calculation unit uses the following formula to iteratively calculate the particle velocity and particle position of each particle: ; ; d = 1, 2, 3; i = 1, 2, …, P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is the learning factor; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
[0027] Preferably, the detection statistic in the user location optimization module is: a calculation result of correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
[0028] Preferably, the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is:
[0029] in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites; They are The vector of components; matrix G No. k Row, No. i The column elements are:
[0030] in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval;
[0031] in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, dt n is the user clock error estimate, For the The clock error of the satellites, is the signal wavelength; The three-dimensional position of the user is optimized using the particle swarm optimization method.
[0032] Preferably, the comparison module is based on the maximum value J(dt n )、 No. n-1 The optimal detection statistic corresponding to the user clock error estimator J(dt n-1 ) and n+1 The optimal detection statistic corresponding to the user clock error estimator J(dt n+1 ) Calculate the test statistic S。
[0033] Preferably, the comparison module calculates the detection statistic using the following formula: S :
[0034] in, J min for J(dt 1 ), ……, J(dt N ) The minimum value in .
[0035] The present invention proposes a method for separating the signal position domain and the clock error domain, using a particle swarm optimization (PSO) method in the position domain, and using a grid search method in the clock error domain to optimize the capture detection statistics. Compared with the four-dimensional grid search method, the amount of computation can be greatly reduced. At the same time, since the position domain can often obtain a higher precision prior value than the clock error domain, the clock error domain is separated, and the PSO method is used only in the position domain to converge to the global optimal point more quickly. After obtaining the detection statistics, the relative relationship between the optimal detection statistics under different clock errors can be used to further determine whether the obtained detection statistics is the global optimal solution. Compared with using the PSO method in a four-dimensional search domain, the method of the present invention is easier to obtain the global optimal solution, rather than locking in the local optimal solution, and the obtained capture results can be easily verified, thereby improving the capture speed.
[0036] Other beneficial effects of the present invention will be explained in the specific implementation manner through the introduction of specific technical features and technical solutions. Through the introduction of these technical features and technical solutions, those skilled in the art should be able to understand the beneficial technical effects brought about by the technical features and technical solutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The preferred implementation of the GNSS signal joint acquisition method and device according to the present invention will be described below with reference to the accompanying drawings. Figure 1 A flowchart of a GNSS signal joint acquisition method according to a preferred embodiment of the present invention; Figure 2 A flowchart of optimizing the three-dimensional position of each user corresponding to the clock error estimation value of each user by using a particle swarm optimization method according to a preferred embodiment of the present invention; Figure 3 A graph showing the variation of the optimal detection statistic obtained by processing actual satellite signals according to the technical solution of the present invention with the deviation value of the user clock error estimate; Figure 4 A graph showing the variation of the deviation value of the user's rough position estimate with the user's clock error estimate obtained by processing the actual satellite signal according to the technical solution of the present invention; Figure 5 The figure is a block diagram of a GNSS signal joint acquisition device according to a preferred embodiment of the present invention. DETAILED DESCRIPTION
[0038] Figure 1 This is a flow chart of a GNSS signal joint acquisition method according to a preferred embodiment of the present invention, comprising the steps of: S100, determine the search range and search step of the clock difference according to the user's approximate time, and obtain NUser clock error estimator dt 1 , ……, dt N 。
[0039] In a preferred embodiment, the search range and search step of the clock difference can be determined according to the accuracy or reliability of the user's approximate time. Specifically, the GNSS receiver has a real-time clock RTC, and the user's approximate time can be a time scale generated by the RTC. The search range of the clock difference is usually designed by the user according to his own needs. For example, the search range can be set according to the receiver RTC clock. For example, if the time since the last navigation positioning of the receiver is long, or the performance of the RTC itself is relatively poor, the search range needs to be set larger, while the time since the last navigation positioning of the receiver is short, or the performance of the RTC itself is good, the search range needs to be set smaller. Different receiver performance and usage scenarios will lead to different search ranges. In order to compromise between search accuracy and computational burden, the search step of the clock difference can usually be set to 1 / 4 to 1 / 2 code chip width, such as GPS L1 C / A code, the pseudo code period is 1ms, there are 1023 code chips in the 1ms code period, the width of each code chip is 1 / 1023 ms, and the width of 1 / 2 code chip is 1 / 2046 ms. For other pseudocodes, it is also necessary to set it according to the chip width of the corresponding pseudocode. For example, if the uncertainty of the current user's approximate time is 100us, you can choose to search within the user's approximate time t±100us. Taking GPS L1 C / A code as an example, select a search step of 1 / 2 chip, that is, the search step is 1 / 2 * 1 / 1023ms = 0.4888us, then calculate the user clock error estimate one by one within the range of t±100us with a step of 0.4888us. dt 1 , ……, dt N .
[0040] S200, calculating the position and speed of the currently visible satellite according to the satellite ephemeris and the approximate time of the user. This step can use the existing calculation method to calculate the position and speed of the currently visible satellite, and the present invention does not limit it. For example, Sections 3.4 and 3.5 of "GPS Principles and Receiver Design" introduce the method of calculating the satellite position and speed, where step 1 is to calculate the planning time. t k , among which t The time is the user's approximate time in this solution minus the satellite signal transmission delay. On this basis, the satellite position and speed can be calculated according to the disclosed step sequence.
[0041] S300, using a particle swarm optimization method to optimize the user's three-dimensional position corresponding to each user's clock error estimate according to the position and speed of the visible satellite, to obtain N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J(dt 1 ), ……, J(dt N )。
[0042] S400, comparing the optimal detection statistics J(dt 1 ), ……, J(dt N ) , and get the maximum value among them J(dt n ) , and according to the maximum value J(dt n ) Calculate the test statistic S ; S500, if the detection statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n GNSS signal acquisition is performed, otherwise, the process returns to step S300. In a specific implementation, if no detection statistic S greater than a preset threshold value appears within a period of time, such as 5 seconds, it indicates that there is no satellite signal or the quality of the satellite signal is particularly poor, and the receiver can stop the method and restart the method after a certain period of time. For example, restart after 1 second.
[0043] The present invention proposes a method to separate the signal position domain and the clock error domain, using a particle swarm optimization (PSO) method in the position domain and a grid search method (computational NThe method of optimizing the captured detection statistics can greatly reduce the amount of computation compared to the four-dimensional grid search method, because the position domain can often obtain a higher precision prior value than the clock error domain, so the clock error domain is separated and the PSO method is used only in the position domain to converge to the global optimal point quickly. After obtaining the detection statistics, the relative relationship between the optimal detection statistics under different clock errors can be used to further determine whether the obtained detection statistics is the global optimal solution. Compared with using the PSO method in a four-dimensional search domain, the method of the present invention is easier to obtain the global optimal solution, rather than locking in the local optimal solution, and the obtained capture results can be easily verified, thereby improving the capture speed.
[0044] In a preferred embodiment, the optimization of the user's three-dimensional position corresponding to each user's clock error estimate by using a particle swarm optimization method in step S300 may include: S301, selecting P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; S302, iteratively calculating the particle velocity and particle position of each particle, and the optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user's clock error estimate. In a specific embodiment, the number of iterations is determined according to the accuracy of the user's approximate position and the user's approximate time. For example, 200 times may be selected. If it is not accurate enough, the number of iterations may be increased.
[0045] In a specific implementation, the user's approximate position can be determined in the following manner: (1) If the receiver can now receive signals from surrounding base stations, the base station's position can be used as the user's approximate position; (2) If the receiver cannot capture and track for a certain period of time due to a bad environment, signal blocking or interference signals, an inertial navigation device (such as a gyroscope and an accelerometer) can be used to continue to maintain a position. The inertial navigation device provides acceleration and angular velocity in real time, and then calculates the receiver's position change. The position maintained is used as the user's approximate position. For example, the position coordinates at the 0th second are (1, 2, 3), and the inertial navigation device calculates the position change at the 1st second as (2, 3, 4) based on the acceleration and angular velocity. Then the position at the 1st second is estimated to be (3, 5, 7); (3) If the receiver cannot capture and track within a short period of time and the receiver's dynamics are not high, the position of the last positioning can also be used as the user's approximate position. Generally, P particles can be uniformly selected near the user's approximate position. The number of P can be selected according to needs. For example, P can be selected as 15. The approximate position of the user can be within a distance corresponding to a chip width. For example, taking GPS L1 C / A as an example, the user's approximate location is (x, y, z) , the distance between selected particles(x, y, z) The farthest is (x + a, y + a, z + a) , the distance between them is sqrt(3) * a , So sqrt(3) * a<293 rice, a<170 Meter, set a 150 is enough. 293 meters is the distance corresponding to a chip width, 293 meters = 1e-3 / 1023 * 3e8 , 1e-3 is a code period of 1ms, and 1023 means there are 1023 chips in one period. 3e8 is an approximation of the speed of light. Uniform selection means ensuring that the particles are not selected too close together, for example, (x,y,z) It is the user's approximate position. You can select particles at the following positions: (x, y, z), (x + a,y,z), (x,y + a,z), (x, y, z + a), (x - a,y,z), (x,y - a,z), (x, y, z - a), (x + a, y + a, z + a), (x + a, y + a, z - a), (x + a, y - a, z + a), (x - a, y + a, z + a), (x + a, y - a, z - a),(x - a, y + a, z - a), (x - a, y - a, z + a),(x - a, y - a, z - a) .
[0046] In a preferred embodiment, step S302 may use the following formula to iteratively calculate the particle velocity and particle position of each particle: ; ; d = 1, 2, 3; i = 1, 2, …, P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is a learning factor; in a specific implementation, the empirical value of both can be 2.
[0047] rand1() and rand2() is a uniform distribution between 0 and 1; is the optimal position of the i-th particle. The optimal position, that is, the maximization formula The particle positions in the detection statistics.
[0048] is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
[0049] In a preferred embodiment, the The calculation is done using the following formula:
[0050] in, is the upper bound of the inertia factor, is the lower bound of the inertia factor, is the current number of iterations. In a specific implementation, The value can be 0.9. The value can be 0.4, and these two values are commonly used values of the PSO algorithm.
[0051] In a preferred embodiment, the detection statistic in step S300 is: the result of the correlation calculation and normalization of the locally generated navigation signal and the received navigation signal. If the phase and carrier Doppler of the locally generated navigation signal and the received navigation signal are aligned, then the correlation calculation will result in a peak value, which is the optimal detection statistic. J The maximum value of .
[0052] In a specific implementation, the following formula may be used to calculate the result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal:
[0053] in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites; in a specific implementation manner, the number of currently visible satellites M can It is estimated using the common method based on the satellite ephemeris and the user's approximate position.
[0054] They are The vector of components; matrix G No. k Row, No. i The column elements are:
[0055] in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval;
[0056] in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, For the The clock error of the satellites, is the signal wavelength; The three-dimensional position of the user is optimized by the particle swarm optimization method. That is, the positions of P particles are selected at the user's approximate position when optimizing the three-dimensional position of the user in the three-dimensional position domain by the particle swarm optimization method.
[0057] Among them It can be calculated based on the satellite clock error parameters in the satellite ephemeris, and can be calculated using the following formula: Δt (s) =a f0 +a f0 (t - t oc )+a f2 (t - t oc ) 2 in, a f0、 a f0、 a f2 and reference time t oc is the parameter in the satellite ephemeris.
[0058] In a preferred embodiment, because the maximum J(dt n ) The two nearby values are usually relatively large, so these two values can be taken together for verification. J(dt n )、 No. n-1The optimal detection statistic corresponding to the user clock error estimator J(dt n-1 ) and n+1 The optimal detection statistic corresponding to the user clock error estimator J(dt n+1 ) Calculate the test statistic S .
[0059] In a preferred embodiment, the detection statistic S is calculated using the following formula in step S400:
[0060] in, J min for J(dt 1 ), ……, J(dt N ) The minimum value in .
[0061] In a specific implementation, in order to take care of weak signals and ensure that weak signals are received, the preset threshold in step S500 may be set to 1.5.
[0062] In a specific embodiment, gbest (dt n ) Corresponding to the user's three-dimensional coordinates, dt n is the user clock error estimate. When the optimal user position estimate is calculated according to the technical solution of the present invention, gbest (dt n ) and user clock error estimate dt n hour , according to gbest (dt n ) and dt n Combining formulas , The transmission delay and Doppler frequency can be calculated, which is the capture result.
[0063] Figure 3 and Figure 4 This is the result obtained by processing the actual satellite signal using the technical solution of the invention. Figure 3 for J(dt n ) Follow dt n -dt a changes, dta is the user clock error. During simulation, a real value can be set as dt a , dt n -dt a is the deviation value of the user clock error estimate. It can be seen that the maximized J(dt n ) The corresponding user clock error estimation deviation is 0, indicating that it can be maximized J(dt n ) Get the correct estimate of the user's clock error. Figure 4 The deviation value of the user's approximate position estimate varies with the user's clock error estimate. For the convenience of observation, the user's approximate position deviation value takes the logarithm with base 10. When the user's clock error estimate is 0, the deviation value of the user's approximate position estimate is very close to 0, that is, the correct position estimate of the user is obtained. This shows that when the user clock error determined by the technical solution of the present invention is accurate, the detection statistic result obtained by optimizing the PSO method is the best.
[0064] The present invention further discloses a computer storage medium, wherein the storage medium stores a program, wherein the program is used to be executed to implement any GNSS signal joint acquisition method described in the present invention.
[0065] The present invention further discloses a GNSS navigation receiver chip, wherein the chip uses any one of the GNSS signal joint capture methods of the present invention to capture navigation satellite signals.
[0066] The invention also discloses a GNSS navigation receiver, which adopts the GNSS navigation receiver chip of the invention.
[0067] The present invention also discloses a GNSS signal joint acquisition device, such as Figure 5 As shown, it includes a user clock error estimation calculation module 100, a satellite parameter calculation module 200, a user position optimization module 300 and a comparison module 400. The user clock error estimation calculation module 100 is used to determine the search range and search step of the clock error according to the user's approximate time, and obtain N User clock error estimator dt 1 , ……, dt N The satellite parameter calculation module 200 is used to calculate the position and speed of the currently visible satellite according to the satellite ephemeris and the approximate time of the user; the user position optimization module 300 is used to optimize the user's three-dimensional position corresponding to each user's clock error estimation according to the position and speed of the visible satellite using a particle swarm optimization method to obtain N The best user location estimates:gbest (dt 1 ), ……, gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J(dt 1 ), ……, J(dt N ) ; Comparison module 400 is used to compare the optimal detection statistics J(dt 1 ),……,J (dt N ) , and get the maximum value among them J(dt n ) , and according to the maximum value J(dt n ) Calculate the test statistic S ; If the test statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n GNSS signal acquisition is performed, otherwise, the user position optimization module continues to optimize the user three-dimensional position corresponding to each user clock error estimate.
[0068] In a preferred embodiment, the user clock error estimation calculation module 100 can determine the search range and search step of the clock error according to the accuracy or reliability of the user's approximate time.
[0069] In a preferred embodiment, the search step length of the clock difference is 1 / 4 to 1 / 2 of a chip width.
[0070] In a preferred embodiment, the user position optimization module 300 may include a user position preselection unit and an iterative calculation unit. The user position preselection unit is used to select P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; the iterative calculation unit is used to iteratively calculate the particle velocity and particle position of each particle. The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate. 。
[0071] In a preferred embodiment, the iterative calculation unit may iteratively calculate the particle velocity and particle position of each particle using the following formula: ; ; d = 1, 2, 3; i = 1, 2, …, P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is the learning factor; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
[0072] In a preferred embodiment, the detection statistic in the user location optimization module 300 is: a calculation result of correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
[0073] In a preferred embodiment, the result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is:
[0074] in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites; They are The vector of components; matrix G No. k Row, No. i The column elements are:
[0075] in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval;
[0076] in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, dt n is the user clock error estimate, For the The clock error of the satellites, is the signal wavelength; The three-dimensional position of the user is optimized using the particle swarm optimization method.
[0077] In a preferred embodiment, the comparison module 400 can be based on the maximum value J(dt n )、 No. n-1 The optimal detection statistic corresponding to the user clock error estimator J(dt n-1 ) and n+1 The optimal detection statistic corresponding to the user clock error estimator J(dt n+1 ) Calculate the test statisticS。
[0078] In a preferred embodiment, the comparison module 400 can calculate the detection statistic using the following formula: S :
[0079] in, J min for J(dt 1 ), ……, J(dt N ) The minimum value in .
[0080] It should be noted that the use of step numbers (letters or numbers) to refer to certain specific method steps in the present invention is only for the purpose of convenience and brevity of description, and is by no means intended to limit the order of these method steps. Those skilled in the art will understand that the order of the relevant method steps should be determined by the technology itself and should not be inappropriately limited by the existence of step numbers.
[0081] Those skilled in the art will appreciate that, without conflict, the above-mentioned preferred solutions can be freely combined and superimposed.
[0082] It should be understood that the above-mentioned embodiments are merely illustrative and not restrictive. Without departing from the basic principles of the present invention, various obvious or equivalent modifications or substitutions that can be made by those skilled in the art to the above-mentioned details will be included in the scope of the claims of the present invention.
Claims
1. A GNSS signal joint acquisition method, characterized in that: Includes steps: S100, determine the search range and search step of the clock difference according to the user's approximate time, and obtain N User clock error estimator dt 1 , ..., dt N ; S200, calculating the position and speed of currently visible satellites according to the satellite ephemeris and the approximate time of the user; S300, using a particle swarm optimization method to optimize the user's three-dimensional position corresponding to each user's clock error estimate according to the position and speed of the visible satellite, to obtain N The best user location estimates: gbest (dt 1 ),……,gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J(dt 1 ),……,J(dt N ) ; S400, comparing the optimal detection statistics J(dt 1 ),……,J(dt N ) , and get the maximum value among them J(dt n ) , and according to the maximum value J(dt n ) Calculate the test statistic S ; S500, if the detection statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n Perform GNSS signal acquisition, otherwise, return to step S300.
2. The GNSS signal joint acquisition method according to claim 1, characterized in that: In step S100, the search range and search step of the clock difference are determined according to the accuracy or reliability of the user's approximate time.
3. The GNSS signal joint acquisition method according to claim 2, characterized in that: The search step length of the clock error in step S100 is 1 / 4 to 1 / 2 of a chip width.
4. The GNSS signal joint acquisition method according to claim 1, characterized in that: The step S300 of optimizing the three-dimensional position of each user corresponding to the estimated clock error of each user by using the particle swarm optimization method includes: S301, selecting P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; S302, iteratively calculating the particle speed and particle position of each particle, and the optimal position ever found by all particles obtained after reaching the total number of iterations is the optimal user position estimation value corresponding to the current user clock error estimation value.
5. The GNSS signal joint acquisition method according to claim 4, characterized in that: In step S302, the particle velocity and particle position of each particle are iteratively calculated using the following formula: ; ; d=1,2,3;i=1,2,…,P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is the learning factor; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
6. The GNSS signal joint acquisition method according to claim 5, characterized in that: Said The calculation is done using the following formula: in, is the upper bound of the inertia factor, is the lower bound of the inertia factor, is the current iteration number.
7. The GNSS signal joint acquisition method according to claim 1, characterized in that: The detection statistic in step S300 is: a calculation result of correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
8. The GNSS signal joint acquisition method according to claim 7, characterized in that: The calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is: in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites; They are The vector of components; matrix G No. k Row, No. i The column elements are: in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval; ; in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, dt n is the user clock error estimate, For the The clock error of the satellites, is the signal wavelength; The user's three-dimensional position is optimized using particle swarm optimization method.
9. The GNSS signal joint acquisition method according to claim 1, characterized in that: In step S400, according to the maximum value J(dt n )、 No. n-1 The optimal detection statistic corresponding to the user clock error estimator J(dt n-1 ) and n+1 The optimal detection statistic corresponding to the user clock error estimator J(dt n+1 ) Calculate the test statistic S .
10. The GNSS signal joint acquisition method according to claim 9, characterized in that: In step S400, the following formula is used to calculate the detection statistic S : in, J min for J(dt 1 ),……,J(dt N ) The minimum value in .
11. A computer storage medium, characterized in that: The storage medium stores a program, wherein the program is used to be executed to implement the GNSS signal joint acquisition method as described in any one of claims 1-10.
12. A GNSS navigation receiver chip, characterized in that: The chip uses the GNSS signal joint capture method as described in any one of claims 1-10 to capture navigation satellite signals.
13. A GNSS navigation receiver, characterized in that: A GNSS navigation receiver chip as claimed in claim 12 is used.
14. A GNSS signal joint acquisition device, characterized in that: It includes a user clock error estimation calculation module, a satellite parameter calculation module, a user position optimization module and a comparison module. The user clock error estimation calculation module is used to determine the search range and search step of the clock error according to the user's approximate time, and obtain N User clock error estimator dt 1 , ..., dt N ; The satellite parameter calculation module is used to calculate the position and speed of the currently visible satellite according to the satellite ephemeris and the user approximate time; The user position optimization module is used to optimize the user's three-dimensional position corresponding to each user's clock error estimation according to the position and speed of the visible satellite using a particle swarm optimization method to obtain N The best user location estimates: gbest (dt 1 ),……,gbest (dt N ) The optimal detection statistic corresponding to each optimal user location estimate is: J (dt 1 ),……,J(dt N ) ; The comparison module is used to compare the optimal detection statistics J(dt 1 ),……,J(dt N ) , and get the maximum value among them J (dt n ) , and according to the maximum value J(dt n ) Calculate the test statistic S ; If the test statistic S If the value of is greater than the preset threshold, it is determined that the maximum value J(dt n ) The corresponding optimal user location estimate gbest (dt n ) and user clock error estimate dt n is credible, using the optimal user location estimate gbest (dt n ) and user clock error estimate dt n GNSS signal acquisition is performed, otherwise, the user position optimization module continues to optimize the user three-dimensional position corresponding to each user clock error estimate.
15. The GNSS signal joint acquisition device according to claim 14, characterized in that: The user clock error estimation calculation module determines the search range and search step of the clock error according to the accuracy or reliability of the user approximate time.
16. The GNSS signal joint acquisition device according to claim 15, characterized in that: The search step length of the clock difference is 1 / 4 to 1 / 2 of a code chip width.
17. The GNSS signal joint acquisition device according to claim 14, characterized in that: The user location optimization module includes a user location preselection unit and an iterative calculation unit. The user position preselection unit is used to select P positions near the user's approximate position as particles, each particle being a user's three-dimensional coordinate; The iterative calculation unit is used to iteratively calculate the particle speed and particle position of each particle, and the optimal position ever found by all particles obtained after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
18. The GNSS signal joint acquisition device according to claim 17, characterized in that: The iterative calculation unit uses the following formula to iteratively calculate the particle velocity and particle position of each particle: ; ; d=1,2,3;i=1,2,…,P; in, v i,d is the particle velocity, x i,d is the particle position, i is the particle number, d is the user's three-dimensional position, selected as 1, 2, 3; k The value is 1、2、3…… , is the total number of iterations; is the inertia factor; c1 and c2 is the learning factor; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the best position any particle has ever found; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate corresponding to the current user clock error estimate.
19. The GNSS signal joint acquisition device according to claim 14, characterized in that: The detection statistic in the user position optimization module is: the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
20. The GNSS signal joint acquisition device according to claim 19, characterized in that: The calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is: in, x is a vector composed of sampling points of the received navigation signal; The navigation signal generated locally is composed of K * M dimensional matrix, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites; They are The vector of components; matrix G No. k Row, No. i The column elements are: in, D i is the message sampling value, c i is the satellite pseudo code sampling value, T s is the sampling interval; ; in, For the The position of the satellites, For the The speed of the satellite, c is the speed of light, dt n is the user clock error estimate, For the The clock error of the satellites, is the signal wavelength; The user's three-dimensional position is optimized using particle swarm optimization method.
21. The GNSS signal joint acquisition device according to claim 14, characterized in that: The comparison module is based on the maximum value J(dt n )、 The optimal detection statistic J(dt n-1 ) and the optimal detection statistic J(dt n+1 ) Calculate the detection statistic S.
22. The GNSS signal joint acquisition device according to claim 21, characterized in that: The comparison module uses the following formula to calculate the detection statistic S : in, J min for J(dt 1 ),……,J(dt N ) The minimum value in .
Citation Information
Patent Citations
Decoupled clock model with ambiguity datum fixing
CA2651077A1
Offshore multi-GNSS particle swarm satellite selection method and offshore multi-GNSS particle swarm satellite selection system
CN112415545A
Navigation signal analysis method based on particle swarm optimization, and computer readable medium
CN112782732A
Multi-GNSS signal processing method with clock difference modeling
CN117130020A
Static receiver GNSS navigation signal capturing method and device
CN118584514A