GNSS Signal Joint Acquisition Method, Device, Chip and Receiver
By separating the signal position and clock difference domains and employing particle swarm optimization, the method addresses inefficiencies in traditional GNSS signal acquisition, achieving faster and more accurate signal capture.
Patent Information
- Application Number
- CN202510470141.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2045-04-15
AI Technical Summary
Traditional GNSS signal receivers have low capture sensitivity in areas with poor signal quality, and the existing joint capture methods have high computational complexity, making it difficult to process in real time.
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 search of the signal position and clock difference domain, reduce the calculation amount and improve the capture speed.
Through the optimization method of separating the position and clock difference domain, the calculation amount is reduced, the capture speed is improved, the global optimal solution is easy to obtain, and the capture sensitivity is improved.
Smart Images

Figure CN119986718B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of GNSS navigation, and in particular to a GNSS signal joint acquisition method, device, chip and receiver. Background Art
[0002] The acquisition sensitivity of a global navigation satellite system (GNSS) signal receiver is generally lower than the tracking sensitivity, and it is more likely to become a bottleneck for the receiver in areas with poor signal quality. Traditional receivers acquire each satellite signal separately without utilizing the mutual relationship between different satellite signals. The Collective Detection (CD) method is a method for jointly acquiring weak signals by using the information of all in-line-of-sight satellite signals. However, this method requires searching and calculating the acquisition detection statistics in a total of four dimensions, namely the three-dimensional position domain and the one-dimensional clock offset domain, with a high computational complexity and it is difficult to be applied to real-time signal processing of the receiver. Moreover, the uncertainty in the clock offset domain is usually much larger than that in the position domain, and the traditional CD method does not distinguish between them during the search process. Summary of the Invention
[0003] Based on the above situation, the main object of the present invention is to provide an optimized GNSS signal joint acquisition method and device, which can greatly reduce the amount of computation, and at the same time can more easily obtain the global optimal solution, reducing the amount of computation while improving the acquisition speed.
[0004] To achieve the above object, the technical solution adopted by the present invention is as follows:
[0005] A GNSS signal joint acquisition method includes the steps of:
[0006] S100, determining the search range and search step size of the clock offset according to the user's approximate time to obtain N user clock offset estimators dt 1 , ……, dt N ;
[0007] S200, calculating the positions and velocities of currently visible satellites according to the satellite ephemeris and the user's approximate time;
[0008] S300, using the particle swarm optimization method to optimize the user's three-dimensional position corresponding to each user clock offset estimator according to the positions and velocities of the visible satellites to obtain N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) and the optimal detection statistics corresponding to each optimal user position estimate: J(dt1 ), ……, J(dt N ) ;
[0009] S400, compare the optimal detection statistic J(dt 1 ), ……, J(dt N ) , and obtain the maximum value among them J(dt n ) , and based on the maximum value J(dt n ) calculate the detection statistic S ;
[0010] S500, if the value of the detection statistic S is greater than the preset threshold, then determine that the optimal user position estimate value J(dt n ) corresponding to the maximum value gbest (dt n ) and the user clock offset estimate dt n are credible, and adopt the optimal user position estimate value gbest (dt n ) and the user clock offset estimate dt n to perform GNSS signal acquisition, otherwise, return to step S300.
[0011] Preferably, in step S100, the search range and search step size of the clock offset are determined according to the accuracy or reliability of the user's approximate time.
[0012] Preferably, the search step size of the clock offset in step S100 is 1 / 4 to 1 / 2 chip width.
[0013] Preferably, the optimization of the user's three-dimensional position corresponding to each user clock offset estimate in step S300 by using the particle swarm optimization method includes:
[0014] S301, select P positions near the user's approximate position as particles, and each particle is a user's three-dimensional coordinate;
[0015] S302, iteratively calculate the particle velocity and particle position of each particle, and the optimal position ever found by all particles after reaching the total number of iterations is the optimal user position estimate value corresponding to the current user clock offset estimate 。
[0016] Preferably, in step S302, the particle velocity and particle position of each particle are iteratively calculated using the following formula:
[0017] ;
[0018] ;
[0019] d = 1, 2, 3; i = 1, 2, …, P;
[0020] where
[0021] v i,d is the particle velocity, x i,d is the particle position, i is the particle serial number, d is the user's three-dimensional position, selected as 1, 2, 3;
[0022] k takes values 1、2、3…… , is the total number of iterations;
[0023] is the inertia factor;
[0024] c1 and c2 are the learning factors;
[0025] rand1() and rand2() are uniformly distributed between 0 and 1;
[0026] is the current optimal position of the i-th particle;
[0027] is the optimal position ever found by all particles;
[0028] The optimal user position estimate corresponding to the current user clock error estimate is the optimal position ever found by all particles after reaching the total number of iterations.
[0029] Preferably, the is calculated using the following formula:
[0030]
[0031] where is the upper bound of the inertia factor, is the lower bound of the inertia factor, is the current iteration number.
[0032] Preferably, the detection statistic in the step S300 is: the calculation result of the correlation calculation and then normalization processing of the locally generated navigation signal and the received navigation signal.
[0033] Preferably, the calculation result of the correlation calculation and then normalization processing of the locally generated navigation signal and the received navigation signal is:
[0034]
[0035] where,
[0036] x is a vector composed of the sampling points of the received navigation signal;
[0037] is an K * M -dimensional matrix composed of the locally generated navigation signal, K is the length of the intermediate frequency sampling signal, M is the current number of visible satellites;
[0038] are respectively vectors composed of;
[0039] The G th k row and the i th column element of the matrix
[0040]
[0041] where,
[0042] D i is the telemetry message sampling value, c i is the satellite pseudo-code sampling value, T s is the sampling interval;
[0043]
[0044] where,
[0045] is the position of the th satellite, is the velocity of the th satellite, c is the speed of light, dt n is the user clock error estimator, is the clock error of the th satellite, is the signal wavelength;
[0046] Is the three-dimensional position of the user optimized by the particle swarm optimization method.
[0047] Preferably, in step S400, according to the maximum value J(dt n )、 The n-1 Optimal detection statistic corresponding to the clock offset estimator of the user J(dt n-1 ) And the n+1 Optimal detection statistic corresponding to the clock offset estimator of the user J(dt n+1 ) Calculate the detection statistic S。
[0048] Preferably, in step S400, the detection statistic is calculated using the following formula S :
[0049]
[0050] Where J min Is J(dt 1 ), ……, J(dt N ) The minimum value in.
[0051] The present invention also discloses a computer storage medium, the storage medium stores a program, wherein the program is used to be executed to implement the GNSS signal joint acquisition method of any one of the present invention.
[0052] The present invention also discloses a GNSS navigation receiver chip, the chip uses the GNSS signal joint acquisition method of any one of the present invention to acquire navigation satellite signals.
[0053] The present invention also discloses a GNSS navigation receiver, which uses the GNSS navigation receiver chip of the present invention.
[0054] The present invention also discloses a GNSS signal joint acquisition device, including a user clock offset estimator calculation module, a satellite parameter calculation module, a user position optimization module and a comparison module,
[0055] The user clock offset estimator calculation module is used to determine the search range and search step size of the clock offset according to the user's approximate time, and obtain N The clock offset estimators of the users dt 1 , ……, dt N ;
[0056] The satellite parameter calculation module is used to calculate the positions and velocities of currently visible satellites according to the satellite ephemeris and the user's approximate time;
[0057] The user position optimization module is used to optimize the three-dimensional position of each user clock error estimate corresponding to the positions and velocities of the visible satellites by using the particle swarm optimization method, and obtain N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) and the optimal detection statistics corresponding to each optimal user position estimate: J (dt 1 ), ……, J(dt N ) ;
[0058] The comparison module is used to compare the optimal detection statistics J(dt 1 ), ……, J(dt N ) , obtain the maximum value J(dt n ) , and calculate the detection statistic J(dt n ) according to the maximum value S ; if the value of the detection statistic S is greater than the preset threshold, it is determined that the optimal user position estimate J(dt n ) corresponding to the maximum value gbest (dt n ) and the user clock error estimate dt n are reliable, and the optimal user position estimate gbest (dt n ) and the user clock error estimate dt n are used for GNSS signal acquisition, otherwise, the user position optimization module continues to optimize the three-dimensional position of each user clock error estimate.
[0059] Preferably, the user clock error estimate calculation module determines the search range and search step of the clock error according to the accuracy or reliability of the user's approximate time.
[0060] Preferably, the search step of the clock error is 1 / 4 to 1 / 2 chip width.
[0061] Preferably, the user location optimization module includes a user location preselection unit and an iterative calculation unit.
[0062] The user location preselection unit is configured to select P locations near the user's approximate location as particles, and each particle is a three-dimensional user coordinate.
[0063] The iterative calculation unit is configured to iteratively calculate 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 clock difference estimate. 。
[0064] Preferably, the iterative calculation unit iteratively calculates the particle velocity and particle position of each particle using the following formula:
[0065] ;
[0066] ;
[0067] d = 1, 2, 3; i = 1, 2, …, P;
[0068] where
[0069] v i,d is the particle velocity, x i,d is the particle position, i is the particle sequence number, d is the three-dimensional user position, selected as 1, 2, 3;
[0070] k takes values 1、2、3…… , is the total number of iterations;
[0071] is the inertia factor;
[0072] c1 and c2 are learning factors;
[0073] rand1() and rand2() are uniformly distributed between 0 and 1;
[0074] is the current optimal position of the i-th particle;
[0075] is the optimal position found by all particles;
[0076] The optimal position ever found by all particles after reaching the total number of iterations is the estimated optimal user position corresponding to the current user clock error estimate.
[0077] Preferably, the detection statistic in the user position optimization module is: the calculation result of correlating and then normalizing the locally generated navigation signal and the received navigation signal.
[0078] Preferably, the calculation result of correlating and then normalizing the locally generated navigation signal and the received navigation signal is:
[0079]
[0080] where
[0081] x is a vector composed of sampling points of the received navigation signal;
[0082] is a K * M dimensional matrix composed of the locally generated navigation signal, K is the length of the intermediate frequency sampling signal, M is the number of currently visible satellites;
[0083] are respectively vectors composed of;
[0084] matrix G the k th i row and the
[0085]
[0086] where
[0087] D i is the telegram sampling value, c i is the satellite pseudo-code sampling value, T s is the sampling interval;
[0088]
[0089] where
[0090] is the position of the th satellite, is the speed of the th satellite, c is the speed of light, dt n is the user clock error estimate, is the the clock offset of a satellite is the signal wavelength;
[0091] is the three-dimensional position of the user optimized by the particle swarm optimization method.
[0092] Preferably, the comparison module is based on the maximum value J(dt n )、 the n-1 optimal detection statistic corresponding to the clock offset estimator of the J(dt n-1 ) and the n+1 optimal detection statistic corresponding to the clock offset estimator of the J(dt n+1 ) to calculate the detection statistic S。
[0093] Preferably, the comparison module calculates the detection statistic using the following formula S :
[0094]
[0095] where J min is J(dt 1 ), ……, J(dt N ) the minimum value in.
[0096] The present invention proposes a method for separating the signal position domain and the clock offset domain, using the particle swarm optimization (PSO) method in the position domain and the grid search method in the clock offset domain to optimize the acquisition detection statistic. Compared with the four-dimensional grid search method, the computational complexity can be greatly reduced. At the same time, since the position domain can often obtain a prior value with higher accuracy than the clock offset domain, separating the clock offset domain and only using the PSO method in the position domain can converge to the global optimal point faster. After obtaining the detection statistic, by comparing the relative relationship of the optimal detection statistics under different clock offsets, it can be further determined whether the obtained detection statistic is the global optimal solution. Compared with using the PSO method in the four-dimensional search domain, the method of the present invention is easier to obtain the global optimal solution, rather than being locked in the local optimal solution, and the obtained acquisition result can be easily verified, improving the acquisition speed.
[0097] Other beneficial effects of the present invention will be elaborated in the specific implementation manners through the introduction of specific technical features and technical solutions. Those skilled in the art should be able to understand the beneficial technical effects brought by the technical features and technical solutions through the introduction of these technical features and technical solutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0098] The preferred embodiments of the GNSS signal joint acquisition method and device according to the present invention will be described below with reference to the accompanying drawings. In the figures:
[0099] Figure 1 is a flowchart of a GNSS signal joint acquisition method according to a preferred embodiment of the present invention;
[0100] Figure 2 is a flowchart of optimizing the user's three-dimensional position corresponding to each user clock error estimate using the particle swarm optimization method according to a preferred embodiment of the present invention;
[0101] Figure 3 is a graph showing the change of the optimal detection statistic obtained by processing the actual satellite signal with respect to the deviation value of the user clock error estimate according to the technical solution of the present invention;
[0102] Figure 4 is a graph showing the change of the deviation value of the user's approximate position estimate with respect to the user clock error estimate obtained by processing the actual satellite signal according to the technical solution of the present invention;
[0103] Figure 5 is a block diagram of a GNSS signal joint acquisition device according to a preferred embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0104] Figure 1 is a flowchart of a GNSS signal joint acquisition method according to a preferred embodiment of the present invention, including the steps:
[0105] S100, determining the search range and search step of the clock error according to the user's approximate time, and obtaining N user clock error estimates dt 1 , ……, dt N 。
[0106] 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 .
[0107] 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.
[0108] 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 (dtN ) Optimal detection statistic corresponding to each optimal user position estimate: J(dt 1 ), ……, J(dt N )。
[0109] S400, compare the optimal detection statistic J(dt 1 ), ……, J(dt N ) , and obtain the maximum value among them J(dt n ) , and according to the maximum value J(dt n ) calculate the detection statistic S ;
[0110] S500, if the value of the detection statistic S is greater than a preset threshold, then determine that the maximum value J(dt n ) corresponding optimal user position estimate gbest (dt n ) and the user clock offset estimate dt n are reliable, and adopt the optimal user position estimate gbest (dt n ) and the user clock offset estimate dt n to perform GNSS signal acquisition. Otherwise, return to step S300. In the specific implementation, if there is no detection statistic S greater than the preset threshold within a period of time, for example, 5 seconds, it means that there is no satellite signal or the satellite signal quality is extremely poor, and the receiver can stop this method and restart this method after a certain period of time. For example, restart after 1 second.
[0111] The present invention proposes a method for separating the signal position domain and the clock offset domain, adopting the particle swarm optimization (PSO, Particle Swarm Optimization) method in the position domain and using the grid search method in the clock offset domain (calculate Na user clock error estimator, respectively calculate the optimal user position estimate and the optimal detection statistic corresponding to each user clock error estimator, and then obtain the maximum value of the optimal detection statistic), a method for optimizing the acquisition detection statistic can greatly reduce the computational complexity compared to the four-dimensional grid search method. At the same time, since relatively more accurate prior values can often be obtained in the position domain than in the clock error domain, the clock error domain is stripped, and only the PSO method is used in the position domain to quickly converge to the global optimal point. After obtaining the detection statistic, by analyzing the relative relationship of the optimal detection statistics under different clock errors, it can be further determined whether the obtained detection statistic is the global optimal solution. Compared with using the PSO method in the four-dimensional search domain, the method of the present invention is easier to obtain the global optimal solution rather than being locked in the local optimal solution, and the obtained acquisition result can be easily verified, improving the acquisition speed.
[0112] In a preferred embodiment, the optimization of the three-dimensional position of each user corresponding to each user clock error estimator by using the particle swarm optimization method in step S300 may include: S301, select P positions near the user's approximate position as particles, and each particle is a three-dimensional coordinate of a user; S302, iteratively calculate 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 clock error estimator. In a specific implementation, the number of iterations should be determined according to the accuracy of the user's approximate position and the user's approximate time. For example, 200 times can be selected, and if it is not accurate enough, the number of iterations needs to be increased.
[0113] In a specific implementation, the user's approximate position can be determined in the following ways: (1) If the receiver can currently receive signals from surrounding base stations, the position of the base station can be used as the user's approximate position; (2) If the receiver cannot perform acquisition and tracking for a certain period of time due to poor environment, signal occlusion 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 change in the receiver's position. The maintained position 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 estimate at the 1st second is (3, 5, 7); (3) If acquisition and tracking cannot be performed in a short 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, and the number of P can be selected according to requirements. For example, P can be selected as 15. The vicinity of the user's approximate position can be within a distance corresponding to one chip width. For example, taking GPS L1 C / A as an example, the user's approximate position is (x, y, z) , the selected particles are at a distance from(x, y, z) The farthest one is (x + a, y + a, z + a) , and the distance between them is sqrt(3) * a , then sqrt(3) * a<293 meters, a<170 meters. Set a to 150. 293 meters is the distance corresponding to one chip width, 293 meters = 1e-3 / 1023 * 3e8 , 1e-3 is the chip period of 1 ms, 1023 means there are 1023 chips in one period, 3e8 is the approximate value of the speed of light. Uniform selection means ensuring that the particles are not selected too close. For example, (x, y, z) is the approximate position of the user, and the particles at the following positions can be selected: (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) .
[0114] In a preferred embodiment, step S302 can use the following formula to iteratively calculate the particle velocity and particle position of each particle:
[0115] ;
[0116] ;
[0117] d = 1, 2, 3; i = 1, 2, …, P;
[0118] wherein,
[0119] v i,d is the particle velocity, x i,d is the particle position, i is the particle serial number, d is the three-dimensional position of the user, selected as 1, 2, 3;
[0120] k takes values of 1、2、3…… , is the total number of iterations;
[0121] is the inertia factor;
[0122] c1 and c2 are the learning factors; in a specific embodiment, the empirical values of both can be selected as 2.
[0123] rand1() and rand2() are uniformly distributed between 0 and 1;
[0124] is the current optimal position of the i-th particle. The optimal position is the particle position that maximizes the detection statistic in the formula .
[0125] is the optimal position ever found by all particles;
[0126] The optimal position ever found by all particles after reaching the total number of iterations is the estimated optimal user position corresponding to the current user clock error estimate.
[0127] In a preferred embodiment, the is calculated using the following formula:
[0128]
[0129] where 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 embodiment, can take a value of 0.9, can take a value of 0.4, and these two values are commonly used values in the PSO algorithm.
[0130] In a preferred embodiment, the detection statistic in step S300 is: the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal. If the phases and carrier doppler of the locally generated navigation signal and the received navigation signal are both aligned, then performing the correlation calculation will result in a peak, which is the maximum value of the optimal detection statistic J .
[0131] In a specific embodiment, the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal can be calculated using the following formula:
[0132]
[0133] where
[0134] x is the vector composed of the sampling points of the received navigation signal;
[0135] is the K * M -dimensional matrix composed of the locally generated navigation signal, K is the length of the intermediate frequency sampling signal, M is the current number of visible satellites; in a specific embodiment, the current number of visible satellites M can is estimated using a common method based on the satellite ephemeris and the approximate user position.
[0136] respectively a vector composed of
[0137] matrix G the k th i row and the
[0138]
[0139] wherein,
[0140] D i is the sampled value of the telegram, c i is the sampled value of the satellite pseudo-code, T s is the sampling interval;
[0141]
[0142] wherein,
[0143] is the position of the th satellite, is the velocity of the th satellite, c is the speed of light, is the clock offset of the th satellite, is the signal wavelength;
[0144] is the three-dimensional position of the user optimized by the particle swarm optimization method. That is, in the optimization of the user's three-dimensional position in the three-dimensional position domain by the particle swarm optimization method, the positions of P particles are selected at the user's approximate position.
[0145] Among them, can be calculated according to the satellite clock offset parameters in the satellite ephemeris and can be calculated using the following formula:
[0146] Δt (s) =a f0 +a f0 (t - t oc )+a f2 (t - t oc ) 2
[0147] wherein, a f0、a f0、 a f2 and the reference time t oc are parameters in the satellite ephemeris.
[0148] In a preferred embodiment, because the maximum value J(dt n ) The two values nearby, which are usually relatively large, can be taken together for verification. Therefore, in step S400, according to the maximum value J(dt n )、 the n-1 optimal detection statistic corresponding to the J(dt n-1 ) the n+1 optimal detection statistic corresponding to the J(dt n+1 ) Calculate the detection statistic S .
[0149] In a preferred embodiment, in step S400, the detection statistic S is calculated using the following formula:
[0150]
[0151] where, J min is J(dt 1 ), ……, J(dt N ) the minimum value in
[0152] In a specific embodiment, in order to take care of weak signals and ensure that weak signals are received, the preset threshold in step S500 can be set to 1.5.
[0153] In a specific embodiment, gbest (dt n ) for the corresponding user's three-dimensional coordinates, dt n is the user clock error estimator. When the optimal user position estimate value gbest (dt n ) and the user clock error estimator dt n are obtained according to the technical solution of the present invention , According to gbest (dt n ) and dtn Combined formula and the transmission delay and Doppler frequency can be calculated, which is the result of acquisition.
[0154] Figure 3 and Figure 4 are the results obtained by processing the actual satellite signals using the technical solution of the present invention. Among them, Figure 3 is J(dt n ) varying with dt n -dt a and dt a is the user clock error. A true value can be set as dt a during simulation, dt n -dt a is the deviation value of the user clock error estimator. It can be seen that the deviation value of the user clock error estimator corresponding to the maximized J(dt n ) is 0, indicating that the correct estimated value of the user clock error can be obtained by maximizing J(dt n ) Figure 4 is the change of the deviation value of the user approximate position estimator with the user clock error estimator. For convenience of observation, the deviation value of the user approximate position is taken as the logarithm with base 10. When the user clock error estimator is 0, the deviation value of the user approximate position estimator is very close to 0, that is, the correct position estimator 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 result of the detection statistic optimized by the PSO method is optimal.
[0155] The present invention also discloses a computer storage medium, and the storage medium stores a program, wherein the program is used to be executed to implement the GNSS signal combined acquisition method according to any one of the present invention.
[0156] The present invention also discloses a GNSS navigation receiver chip, and the chip uses the GNSS signal combined acquisition method according to any one of the present invention to acquire navigation satellite signals.
[0157] The present invention also discloses a GNSS navigation receiver, which uses the GNSS navigation receiver chip of the present invention.
[0158] The present invention also discloses a GNSS signal combined acquisition device, as shown in Figure 5 As shown in the figure, it includes a user clock error estimation module 100, a satellite parameter calculation module 200, a user position optimization module 300, and a comparison module 400. The user clock error estimation module 100 is used to determine the search range and search step size of the clock error according to the user's approximate time, and obtain N user clock error estimators dt 1 , ……, dt N ; The satellite parameter calculation module 200 is used to calculate the positions and velocities of currently visible satellites according to the satellite ephemeris and the user's approximate time; The user position optimization module 300 is used to optimize the user's three-dimensional position corresponding to each user clock error estimator by using the particle swarm optimization method according to the positions and velocities of the visible satellites, and obtain N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) and the optimal detection statistics corresponding to each optimal user position estimate: J(dt 1 ), ……, J(dt N ) ; The comparison module 400 is used to compare the optimal detection statistics J(dt 1 ),……,J (dt N ) , obtain the maximum value J(dt n ) , and calculate the detection statistic J(dt n ) according to the maximum value S ; If the value of the detection statistic S is greater than the preset threshold, it is determined that the optimal user position estimate J(dt n ) corresponding to the maximum value gbest (dt n ) and the user clock error estimator dt n are reliable, and the optimal user position estimate gbest (dt n ) and the user clock error estimator dt n are used for GNSS signal acquisition. Otherwise, the user position optimization module continues to optimize the user's three-dimensional position corresponding to each user clock error estimator.
[0159] In a preferred embodiment, the user clock error estimation module 100 may determine the search range and search step size of the clock error according to the accuracy or reliability of the user's approximate time.
[0160] In a preferred embodiment, the search step size of the clock error is 1 / 4 to 1 / 2 chip width.
[0161] 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, and each particle is a three-dimensional user coordinate; the iterative calculation unit is used to iteratively calculate 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 estimation value corresponding to the current user clock error estimation. 。
[0162] In a preferred embodiment, the iterative calculation unit may iteratively calculate the particle velocity and particle position of each particle using the following formula:
[0163] ;
[0164] ;
[0165] d = 1, 2, 3; i = 1, 2, …, P;
[0166] Where
[0167] v i,d is the particle velocity, x i,d is the particle position, i is the particle serial number, d is the three-dimensional user position, selected as 1, 2, 3;
[0168] k takes values 1、2、3…… , is the total number of iterations;
[0169] is the inertia factor;
[0170] c1 and c2 are learning factors;
[0171] rand1() and rand2() are uniformly distributed between 0 and 1;
[0172] is the current optimal position of the i-th particle;
[0173] is the optimal position ever found by all particles;
[0174] After reaching the total number of iterations, the optimal position ever found by all particles is the optimal user position estimate corresponding to the current user clock error estimate.
[0175] In a preferred embodiment, the detection statistic in the user position optimization module 300 is: the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal.
[0176] In a preferred embodiment, the calculation result of the correlation calculation and normalization processing of the locally generated navigation signal and the received navigation signal is:
[0177]
[0178] where,
[0179] x is the vector composed of the sampling points of the received navigation signal;
[0180] is the K * M dimensional matrix composed of the locally generated navigation signal, K is the length of the intermediate frequency sampling signal, M is the current number of visible satellites;
[0181] are respectively the vectors composed of;
[0182] The G the k row, i the
[0183]
[0184] where,
[0185] D i is the telemetry sampling value, c i is the satellite pseudo-code sampling value, T s is the sampling interval;
[0186]
[0187] where,
[0188] is the the position of a satellite, is the speed of the c th satellite, dt n is the user clock error estimate, is the clock error of the th satellite;
[0189] is the optimized three-dimensional user position using the particle swarm optimization method.
[0190] In a preferred embodiment, the comparison module 400 can calculate the detection statistic according to the maximum value J(dt n )、 the n-1 optimal detection statistic corresponding to the J(dt n-1 ) th user clock error estimate and the n+1 optimal detection statistic corresponding to the J(dt n+1 ) th user clock error estimate. S。
[0191] In a preferred embodiment, the comparison module 400 can calculate the detection statistic using the following formula S :
[0192]
[0193] where J min is the J(dt 1 ), ……, J(dt N ) minimum value in.
[0194] It should be noted that in the present invention, step numbers (letter or number numbers) are used to refer to certain specific method steps, merely for the purpose of description convenience and brevity, and by no means to limit the order of these method steps by letters or numbers. Those skilled in the art can understand that the order of relevant method steps should be determined by the technology itself and should not be unduly restricted by the existence of step numbers.
[0195] Those skilled in the art can understand that on the premise of no conflict, the above preferred solutions can be freely combined and superimposed.
[0196] It should be understood that the above embodiments are merely exemplary and not restrictive. Without departing from the basic principles of the present invention, various obvious or equivalent modifications or substitutions that those skilled in the art can make to the above details will all be included within the scope of the claims of the present invention.
Claims
1. A GNSS signal joint acquisition method, characterized in that Including the steps: S100, determine the search range and search step size of the clock error according to the user's approximate time, and obtain N user clock error estimators dt 1 , ……, dt N ; S200. Calculate the positions and velocities of currently visible satellites according to the satellite ephemeris and the user's approximate time. S300, using the particle swarm optimization method, optimizes the user's three-dimensional position corresponding to each user clock error estimate according to the positions and velocities of the visible satellites, and obtains N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) and the optimal detection statistics corresponding to each optimal user position estimate: J(dt 1 ), ……, J(dt N ) ; S400, compare the optimal detection statistic J(dt 1 ), ……, J(dt N ) , and obtain the maximum value among them J(dt n ) , and based on the maximum value J(dt n ) calculate the detection statistic S ; The detection statistic is calculated using the following formula S :[[]] Among them, J min is J(dt 1 ), ……, J(dt N ) the minimum value in; S500, if the value of the detection statistic S is greater than a preset threshold, it is determined that the maximum value J(dt n ) corresponding optimal user position estimate gbest (dt n ) and the user clock offset estimate dt n are reliable, and the optimal user position estimate gbest (dt n ) and the user clock offset estimate dt n are used for GNSS signal acquisition, otherwise, return to step S300.
2. The GNSS signal joint acquisition method according to claim 1, wherein, In step S100, determine the search range and search step size of the clock error according to the accuracy or reliability of the user's approximate time.
3. The GNSS signal joint acquisition method according to claim 2, wherein The search step size of the clock error in step S100 is 1 / 4 to 1 / 2 chip width.
4. The GNSS signal joint acquisition method according to claim 1, wherein In step S300, using the particle swarm optimization method to optimize the user's three-dimensional position corresponding to each user clock error estimate includes: S301. Select P positions near the user's approximate position as particles, and each particle is a user's three-dimensional coordinate. S302. 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 value corresponding to the current user clock error estimate.
5. The GNSS signal joint acquisition method according to claim 4, wherein In step S302, use the following formula to iteratively calculate the particle velocity and particle position of each particle: ; ; d = 1, 2, 3; i = 1, 2, …, P; Where v i,d is the particle velocity x i,d is the particle position i is the particle serial 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 are learning factors; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the optimal position ever found for all particles; The optimal position found by all particles after reaching the total number of iterations is the optimal user position estimate value corresponding to the current user clock error estimate.
6. The GNSS signal joint acquisition method according to claim 5, wherein The said is calculated using the following formula: Among them, is the upper bound of the inertia factor, is the lower bound of the inertia factor, is the current number of iterations.
7. The GNSS signal joint acquisition method according to claim 1, wherein The detection statistic in step S300 is: the calculation result of the correlation calculation of the locally generated navigation signal and the received navigation signal and then normalized processing.
8. The GNSS signal joint acquisition method according to claim 7, wherein The calculation result of the correlation calculation of the locally generated navigation signal and the received navigation signal and then normalized processing is: Where x A vector composed of sampling points of the received navigation signal; composed of locally generated navigation signals K * M dimensional matrix, K is the length of the intermediate frequency sampled signal, M is the current number of visible satellites; respectively constituted vectors Matrix G The k row and the i column element is: Where D i is the sampled value of the telegram, c i is the sampled value of the satellite pseudo-code, T s is the sampling interval; Where is the position of the th satellite, is the velocity of the th satellite, c is the speed of light, dt n is the estimated user clock error, is the clock error of the th satellite, is the signal wavelength; The three-dimensional position of the user optimized by the particle swarm optimization method.
9. The GNSS signal joint acquisition method according to claim 1, wherein In the step S400, according to the maximum value J(dt n )、 The optimal detection statistic J(dt n-1 ) corresponding to the (n - 1)-th user clock offset estimator and the optimal detection statistic J(dt n+1 ) corresponding to the (n + 1)-th user clock offset estimator are used to calculate the detection statistic S.
10. A computer storage medium, characterized in that, The storage medium stores a program, where the program is used to be executed to implement the GNSS signal joint acquisition method according to any one of claims 1-9.
11. A GNSS navigation receiver chip, characterized in that, The chip uses the GNSS signal joint acquisition method according to any one of claims 1-9 to acquire navigation satellite signals.
12. A GNSS navigation receiver, characterized in that, Use the GNSS navigation receiver chip according to claim 11.
13. A GNSS signal joint acquisition device, characterized in that, Including a user clock error estimate calculation module, a satellite parameter calculation module, a user position optimization module, and a comparison module. The user clock error estimation quantity calculation module is used to determine the search range and search step size of the clock error according to the user's approximate time, and obtain N user clock error estimation quantities dt 1 , ……, dt N ; The satellite parameter calculation module is used to calculate the positions and velocities of currently visible satellites according to the satellite ephemeris and the user's approximate time. The user position optimization module is used to optimize the three-dimensional position of each user clock error estimate according to the positions and velocities of the visible satellites by using the particle swarm optimization method, and obtain N optimal user position estimates: gbest (dt 1 ), ……, gbest (dt N ) and the optimal detection statistics corresponding to each optimal user position estimate: J (dt 1 ), ……, J(dt N ) ; The comparison module is used to compare the optimal detection statistic J(dt 1 ), ……, J(dt N ) to obtain the maximum value among them J (dt n ) and calculate the detection statistic based on the maximum value J(dt n ) ; if the value of the detection statistic S is greater than the preset threshold, it is determined that the optimal user position estimate value S corresponding to the maximum value J(dt n ) and the user clock offset estimate gbest (dt n ) are reliable, and the optimal user position estimate value dt n gbest (dt and the user clock offset estimate ) n dt n are used for GNSS signal acquisition; otherwise, the user position optimization module continues to optimize the user's three-dimensional position corresponding to each user clock offset estimate; The detection statistic is calculated using the following formula S :[[]] Among them, J min is J(dt 1 ), ……, J(dt N ) the minimum value in.
14. The GNSS signal combined acquisition device according to claim 13, wherein The user clock error estimate calculation module determines the search range and search step size of the clock error according to the accuracy or reliability of the user's approximate time.
15. The GNSS signal combined acquisition device according to claim 14, wherein The search step size of the clock error is 1 / 4 to 1 / 2 chip width.
16. The GNSS signal combined acquisition device according to claim 13, wherein The user position optimization module includes 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, and each particle is a three-dimensional user 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 difference estimate.
17. The GNSS signal combined acquisition device according to claim 16, wherein The iterative calculation unit iteratively calculates the particle velocity and particle position of each particle using the following formula: d = 1, 2, 3; i = 1, 2, …, P; Where, v i,d is the particle velocity, x i,d is the particle position, i is the particle serial 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; rand1() and rand2() is a uniform distribution between 0 and 1; is the current optimal position of the i-th particle; is the optimal position ever found for all particles; 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 difference estimate.
18. The GNSS signal joint acquisition device according to claim 13, characterized in that, The detection statistic in the user position optimization module is: the calculation result of the correlation calculation of the locally generated navigation signal and the received navigation signal followed by normalization processing.
19. The GNSS signal combined acquisition device according to claim 18, wherein The calculation result of the correlation calculation of the locally generated navigation signal and the received navigation signal followed by normalization processing is: Where, x A vector composed of sampling points of received navigation signals; composed of locally generated navigation signals K * M dimensional matrix, K is the length of the intermediate frequency sampled signal, M is the number of currently visible satellites; respectively constituting a vector; matrix G The k row and the i column element is: Where, D i is the sampled value of the telegram, c i is the sampled value of the satellite pseudo-code, T s is the sampling interval; ; Where, is the position of the th satellite, is the velocity of the th satellite, c is the speed of light, dt n is the user clock error estimator, is the th satellite clock error, is the signal wavelength; It is the user's three-dimensional position optimized by the particle swarm optimization method.
20. The GNSS signal joint acquisition device according to claim 13, characterized in that, The comparison module is based on the maximum value J(dt n )、 The optimal detection statistic J(dt corresponding to the clock offset estimator of the (n - 1)-th user n-1 ) and the optimal detection statistic J(dt corresponding to the clock offset estimator of the (n + 1)-th user n+1 ) to calculate the detection statistic S.
Citation Information
Patent Citations
Decoupled clock model with ambiguity datum fixing
CA2651077A1
Satellite orbit determination method and apparatus and electronic device
WO2020133711A1