High-precision mobile phone positioning method and system based on speed assistance

By utilizing the accuracy of mobile phone GNSS velocity measurement, combined with the difference between Doppler and phase observations, the mobile phone velocity is iteratively solved, and the pseudorange error weighting is optimized. This solves the problem of low mobile phone GNSS positioning accuracy in urban environments and achieves high-precision positioning results.

CN117331106BActive Publication Date: 2026-05-22WUHAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
WUHAN UNIV
Filing Date
2023-09-26
Publication Date
2026-05-22

AI Technical Summary

Technical Problem

In urban environments, mobile GNSS data is susceptible to multipath effects, which can reduce observation quality and affect positioning accuracy.

Method used

Taking advantage of the high accuracy of mobile phone GNSS speed measurement, the mobile phone speed is iteratively solved by using the Doppler observation equation and phase observation difference, the phase observation values ​​are weighted, the error of pseudorange observation values ​​is determined, and weighting is performed based on pseudorange error to optimize the stochastic model, thereby improving the stability of data quality control and the reliability of observation weighting.

Benefits of technology

It effectively improves the GNSS positioning accuracy of mobile phones in complex scenarios, increases the success rate of gross error detection and the reliability of weighting of pseudorange observations, and improves positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117331106B_ABST
    Figure CN117331106B_ABST
Patent Text Reader

Abstract

The application discloses a high-precision mobile phone positioning method and system based on speed assistance, and high-precision mobile phone speed is obtained by using mobile phone Doppler observation value and phase observation value based on least square iteration solution; through speed information assistance, error of pseudo-range observation value between ephemeris is accurately estimated, and information is provided for coarse error detection and weight determination of the pseudo-range observation value. The application can improve stability of mobile phone GNSS data quality control and reliability of observation value weight determination in a complex environment, and further improve GNSS positioning precision of the mobile phone.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of global navigation satellite system application technology, specifically relating to a high-precision mobile phone positioning method and system based on velocity assistance. Background Technology

[0002] Global Navigation Satellite Systems (GNSS) provide all-weather positioning, navigation, and timing services globally, making them widely used in numerous industries. With the proliferation of smart devices, location services have greatly facilitated the development of industries such as information dissemination, transportation and logistics, and engineering construction. As users become increasingly reliant on smartphone location services, they also place higher demands on them, making high-precision GNSS positioning for Android smartphones a current research hotspot.

[0003] GNSS positioning mainly includes functional models and stochastic models. Functional models describe the mathematical relationship between observed quantities and unknown parameters, while stochastic models reflect the statistical characteristics of the observed quantities. Choosing an appropriate weighting method based on the statistical characteristics of the observed quantities is crucial for stable positioning performance. The functional model for mobile phone GNSS positioning is the same as that of high-precision equipment, while the stochastic model primarily depends on the observation quality of the data. Because mobile phone GNSS data is susceptible to multipath and non-line-of-sight signals in complex environments, the stochastic model of mobile phone GNSS positioning significantly impacts positioning accuracy compared to high-precision equipment. Mobile phone GNSS positioning typically determines its stochastic model based on the carrier-to-noise ratio (CNR), which improves positioning performance compared to a stochastic model based on elevation angle. However, the stochastic model determined by the CNR is dependent on the mobile phone model and the observation environment, making it difficult to apply to all mobile phones and real-world environments. Smartphones based on phase observations can achieve high-precision speed measurement, with accuracy (typically decimeters per second or centimeters per second) far exceeding the accuracy of pseudorange observations from mobile phone GNSS (typically several meters to tens of meters). Therefore, it can be used to assist in data quality control of pseudorange observations and determine the stochastic model for mobile phone GNSS positioning. Summary of the Invention

[0004] To address the issue that mobile GNSS data in urban environments is susceptible to multipath effects, leading to reduced observation quality and impacting GNSS positioning accuracy, this invention fully utilizes the high speed measurement accuracy of mobile GNSS data to provide a speed-assisted high-precision mobile phone positioning method and system. This method improves the stability of mobile GNSS data quality control and the reliability of observation weighting in complex urban environments, further enhancing the GNSS positioning accuracy of mobile phones.

[0005] This invention provides a high-precision mobile phone positioning method based on speed assistance, comprising the following steps:

[0006] Step 1: Based on the GNSS observation time from the mobile phone, calculate the satellite position and velocity at the corresponding time using the nearest broadcast ephemeris;

[0007] Step 2: Based on the satellite's position, velocity, and Doppler observations, and using the satellite's Doppler observation equations, the least squares algorithm is used to iteratively solve for the phone's velocity to obtain the Doppler velocity measurement result;

[0008] Step 3: Based on the Doppler velocity measurement results obtained in Step 2, the satellite positions at two epochs, and the mobile phone position, the phase observations with cycle slips are weighted down.

[0009] Step 4: Using the Doppler velocity measurement results from Step 2 and the phase observations after weight reduction from Step 3, perform iterative calculations to obtain the accurate mobile phone speed.

[0010] Step 5: Calculate the error value of the GNSS pseudorange observation between epochs using the accurate mobile phone movement speed obtained in Step 4;

[0011] Step 6: Based on the pseudorange error between epochs of each satellite obtained in Step 5, weight the pseudorange observations of different satellites to determine the stochastic model;

[0012] Step 7: Based on the stochastic model of mobile phone GNSS positioning determined in Step 6, perform mobile phone GNSS positioning using least squares and output the mobile phone GNSS positioning result.

[0013] Furthermore, step 2 assumes an operating speed of v. s If a satellite transmits a carrier signal with frequency f and corresponding wavelength λ, and the mobile phone operates at speed v, then the Doppler shift of the satellite carrier signal received by the mobile phone is:

[0014]

[0015] In the formula, f d The Doppler frequency shift of the satellite carrier signal received by the mobile phone, l s This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position. This indicates the rate of change in the distance the phone moves closer to the satellite.

[0016] Considering the effects of satellite and mobile phone clock frequency deviation and noise, the GNSS Doppler observation equation is expressed as:

[0017] -λf d =(v s -v)·l s +f r -f s +ε s (2)

[0018] In the formula, λ is the wavelength of the carrier signal, and f d The Doppler frequency shift, v, represents the satellite carrier signal received by the mobile phone. s v is the satellite's orbital speed, v is the mobile phone's orbital speed, and l is the orbital speed. s This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position, f. r For mobile phone clock frequency deviation, f s For satellite clock frequency drift, ε s This is for Doppler observation noise.

[0019] After rearranging formula (2), we get:

[0020] v·l s -f r =λf d +v s ·l s -f s +ε s (3)

[0021] In formula (3), the parameters to be estimated include the mobile phone speed v and the mobile phone clock frequency deviation f. r The Doppler observations from multiple satellites can be obtained by least squares iteration, where the weights of the Doppler observations from each satellite used in the least squares solution are equal.

[0022] The deviation between the phone speed v and the phone clock frequency f r The initial values ​​are all set to 0. Based on formula (3), the new mobile phone speed v and mobile phone clock frequency deviation f are obtained by least squares calculation using Doppler observations from multiple satellites. r The calculated mobile phone speed v and mobile phone clock frequency deviation f will be used to... r Substituting the Doppler observations from each satellite into the following formula, we can obtain the Doppler velocity residual l for each satellite, i.e.:

[0023] l = v·l s -f r -λf d -v s ·l s +f s -ε s (4)

[0024] During the iteration process, the median method is used to eliminate satellite Doppler observations with gross errors. First, the standard deviation (std) of the Doppler velocity residuals from multiple satellites is calculated. i Then, the Doppler velocity residuals of each satellite are sorted from smallest to largest to obtain the median l. MCompare the difference between the Doppler velocity residuals of each satellite and the median of the Doppler velocity residuals with N1 times the standard deviation. If (l i -l M > N1std i If the Doppler observations of satellite i contain gross errors, they will be discarded and not included in the next iteration calculation. The newly calculated mobile phone velocity v and mobile phone clock frequency deviation f will then be used. r Substitute into formula (3) for iterative calculation until the speed difference between two adjacent calculations is less than the set threshold γ1, then stop the iteration, and take the last least squares calculation to obtain the mobile phone speed v as the final Doppler speed measurement result.

[0025] Furthermore, in step 3, the phase observations of the two epochs t and t-1 are differentially analyzed to obtain:

[0026] λ·ΔΦ=Δρ+c·(Δt r -Δt s )+Δδ trop -Δδ iono (5)

[0027] In the formula, λ is the wavelength, ΔΦ represents the difference between the phase observations of two epochs, Δρ represents the difference in the geometric distance between the mobile phone and the satellite at two epochs, c is the speed of light, and Δt... r Δt represents the clock difference between two epochs. s δ represents the satellite clock difference between two epochs, calculated from the broadcast ephemeris. trop and δ iono These are the errors in the troposphere and ionosphere, respectively.

[0028] When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored, and equation (5) can be expressed as:

[0029] λΔΦ+cΔt s =Δρ+cΔt r (6)

[0030] The difference Δρ between the geometric distances of epochs t and t-1 is expressed as:

[0031] Δρ=e(t)(r s (t)-r u (t))-e(t-1)(r s (t-1)-r u (t-1)) (7)

[0032] In the formula, e is the unit vector between the mobile phone and the satellite, and r s r u These are the satellite position and the mobile phone position vector, respectively. The mobile phone position vector between two epochs is expressed as follows:

[0033] r u (t)=r u (t-1)+v·Δt (8)

[0034] In the formula, Δt represents the time variation between epochs.

[0035] Combine formulas (6)-(8), and let Δd=e(t)•r s (t)-e(t-1)•r s (t-1), Δg=[e(t)-e(t-1)]·r u (t-1), we get:

[0036] λΔΦ+cΔt s -Δd+Δg=-e(t)·v·Δt+c·Δt r (9)

[0037] In formula (9), the unknown parameters include the mobile phone speed v and the interepoch clock difference Δt. r The difference in phase observations between multiple satellite epochs can be obtained by least squares iteration.

[0038] The phone speed v and the time difference Δt between epochs are used to measure the phone speed v and the time difference between epochs. r The initial values ​​are all set to 0. Based on formula (9), the new mobile phone velocity v and the mobile phone clock difference Δt between epochs are obtained by least squares calculation using the phase observation difference between multiple satellite epochs. r The solved mobile phone speed v and the interepoch mobile phone clock difference Δt will be used to calculate the mobile phone speed v and the interepoch clock difference Δt. r Substituting the phase observation differences between satellite epochs into the following formula, the velocity residuals of the phase observations for each satellite are obtained. * ,Right now:

[0039] l * =λΔΦ+cΔt s -Δd+Δg+e(t)·v·Δt-c·Δt r (10)

[0040] During the iteration process, the median method is used to eliminate satellite phase observations with gross errors. First, the standard deviation of the velocity residuals of multiple satellite phase observations is calculated. Then, the velocity residuals of the phase observations from each satellite are sorted from smallest to largest to obtain the median. Compare the difference between the velocity residuals of each satellite phase observation and the median of the velocity residuals of the phase observations, and the magnitude of N² times the standard deviation. The phase observations of satellite i contain gross errors and are therefore excluded from the next iteration. The newly calculated mobile phone velocity v and the inter-epoch clock difference Δt are then used in the calculation. rSubstitute into formula (9) for iterative calculation until the speed difference between two adjacent calculations is less than the set threshold γ2, then stop the iteration, and take the last least squares calculation to obtain the mobile phone speed v as the final phase observation value speed measurement result.

[0041] Furthermore, the difference in pseudorange between epochs in step 5 is expressed as follows:

[0042] ΔP=Δρ+c·(Δt r -Δt s )+Δδ trop +Δδ iono (11)

[0043] In the formula, ΔP is the difference in pseudorange between epochs, Δρ represents the difference in geometric distance between the mobile phone and the satellite at two epochs, c is the speed of light, and Δt... r Δt represents the clock difference between two epochs. s δ represents the satellite clock difference between two epochs. trop and δ iono These are the errors in the troposphere and ionosphere, respectively.

[0044] When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored. Substitute equations (7) and (8) into equation (11) and let Δd = e(t)·r s (t)-e(t-1)•r s (t-1), Δg=[e(t)-e(t-1)]•r u (t-1), thus obtaining the pseudorange error δ between epochs. P The expression is:

[0045] δ P =ΔP-Δd+Δg+e(t)·v·Δt-c·Δt r +c·Δt s (12)

[0046] In the formula, ΔP is the difference in pseudorange between epochs, e is the unit vector between the mobile phone and the satellite, v is the mobile phone velocity, Δt is the time variation between epochs, c is the speed of light, and Δt r Δt represents the time difference between epochs. s The satellite clock bias, r, is calculated from the broadcast ephemeris. s r u These are the satellite position and mobile phone position vectors, respectively, and t and t-1 represent two epochs.

[0047] The mobile phone speed v obtained in step 4 and the mobile phone clock difference Δt between epochs are used to calculate the mobile phone speed v. r Substituting into formula (12), we obtain the pseudorange error between epochs.

[0048] Furthermore, in step 6, the satellite pseudorange epoch error δ is used as a basis. P The pseudorange observations from different satellites are weighted to determine their stochastic model. The specific calculation method is as follows:

[0049]

[0050] In the formula, weight represents the weight of the pseudorange, η1 and η2 are the set thresholds, and a and b are the weighting coefficients of the pseudorange observations, whose values ​​are determined according to η1 and η2 to ensure that the weighting function is a continuous piecewise function.

[0051] When δ P When δ > 1, the pseudorange is judged as a gross error, and its weight is assigned to 0; when δ P When η < 2, its weight is assigned to 1; when η ≤ δ P When ≤η1, the weights of the pseudo-ranges are calculated based on the magnitude of the residuals, thereby determining the stochastic model.

[0052] The present invention also provides a speed-assisted high-precision mobile phone positioning system for implementing the speed-assisted high-precision mobile phone positioning method described above.

[0053] Furthermore, it includes a processor and a memory, the memory being used to store program instructions, and the processor being used to call the program instructions in the memory to execute a speed-assisted high-precision mobile phone positioning method as described above.

[0054] Alternatively, it may include a readable storage medium storing a computer program that, when executed, implements a speed-assisted high-precision mobile phone positioning method as described above.

[0055] Compared with the prior art, the present invention has the following advantages:

[0056] 1) This invention uses Doppler and phase observations from the mobile phone to calculate high-precision mobile phone speed, and uses speed to assist in obtaining accurate pseudorange epoch errors, thereby improving the success rate of gross error detection and the reliability of weighting of mobile phone GNSS pseudorange observations, and thus effectively improving the positioning accuracy of mobile phone GNSS in complex scenarios.

[0057] 2) The quality of mobile phone GNSS data affects the positioning accuracy of mobile phones. Traditional data quality control methods are related to the test environment and mobile phone model, and are difficult to apply to the positioning of mobile phones of different types and different scenarios. This invention effectively improves the stability of mobile phone GNSS data quality control and the reliability of observation weighting. Attached Figure Description

[0058] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0059] Figure 1 This is a flowchart of the high-precision mobile phone positioning method based on speed assistance of the present invention.

[0060] Figure 2 This is a comparison chart showing the improvement in mobile phone positioning accuracy obtained using the method proposed in this invention and the carrier-to-noise ratio weighting method. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0062] Example 1

[0063] like Figure 1 As shown, this embodiment of the invention provides a high-precision mobile phone positioning method based on speed assistance, which includes the following steps:

[0064] Step 1: Based on the GNSS observation time from the mobile phone, calculate the satellite position and velocity at the corresponding time using the nearest broadcast ephemeris.

[0065] Step 2: Based on the satellite's position, velocity, and Doppler observations, and using the satellite's Doppler observation equations, the least squares algorithm is used to iteratively solve for the phone's velocity to obtain the Doppler velocity measurement result.

[0066] Assume the running speed is v s If a satellite transmits a carrier signal with frequency f and corresponding wavelength λ, and the mobile phone operates at speed v, then the Doppler shift of the satellite carrier signal received by the mobile phone is:

[0067]

[0068] In the formula, f d The Doppler frequency shift of the satellite carrier signal received by the mobile phone, l s This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position. This indicates the rate of change in the distance the phone moves closer to the satellite.

[0069] Considering the effects of satellite and mobile phone clock frequency deviation and noise, the GNSS Doppler observation equation can be expressed as:

[0070] -λf d =(v s -v)·l s +f r -f s +ε s (2)

[0071] In the formula, λ is the wavelength of the carrier signal, and f d The Doppler frequency shift, v, represents the satellite carrier signal received by the mobile phone. s v is the satellite's orbital speed, v is the mobile phone's orbital speed, and l is the orbital speed. s This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position, f. r For mobile phone clock frequency deviation, f s For satellite clock frequency drift, ε s This is for Doppler observation noise.

[0072] After rearranging formula (2), we get:

[0073] v·l s -f r =λf d +v s ·l s -f s +ε s (3)

[0074] In formula (3), the parameters to be estimated include the mobile phone speed v and the mobile phone clock frequency deviation f. r The mobile phone speed *v* and the mobile phone clock frequency deviation *f* can be obtained by solving the Doppler observations from multiple satellites using least squares iteration. r (The Doppler observations from each satellite are weighted equally in the least squares solution here). The phone's velocity v and clock frequency deviation f are considered. r The initial values ​​are all set to 0. The new mobile phone speed v and mobile phone clock frequency deviation f are obtained by least squares calculation. r The calculated mobile phone speed v and mobile phone clock frequency deviation f will be used to... r Substituting the Doppler observations from each satellite into the following formula, we can obtain the Doppler velocity residual l for each satellite, i.e.:

[0075] l = v·l s -f r -λf d -v s ·l s +f s -εs (4)

[0076] During the iteration process, the median method is used to eliminate satellite Doppler observations with gross errors. First, the standard deviation (std) of the Doppler velocity residuals from multiple satellites is calculated. i Then, the Doppler velocity residuals of each satellite are sorted from smallest to largest to obtain the median l. M Compare the difference between the Doppler velocity residuals of each satellite and the median of the Doppler velocity residuals with N1 times the standard deviation. If (l i -l M > N1std i If the Doppler observations of satellite i contain gross errors, they will be removed and not included in the next iteration calculation. In this embodiment, N1 is set to 3.

[0077] The newly calculated mobile phone speed v and mobile phone clock frequency deviation f r Substitute into formula (3) for iterative calculation until the speed difference between two adjacent calculations is less than the set threshold γ1 (the threshold γ1 is 0.01m / s in this embodiment), the iteration stops, and the last least squares calculation is used to obtain the mobile phone speed v as the final Doppler speed measurement result.

[0078] Step 3: Based on the Doppler velocity measurement results obtained in Step 2, the satellite positions at two epochs, and the mobile phone position, preprocess the phase observation values.

[0079] Based on the Doppler velocity measurement results obtained in step 2, the satellite positions at two epochs, and the mobile phone position, the phase observations with cycle slips are weighted. The weights here are used to assign weights to the phase observations when solving the phase observation velocity measurement in the subsequent step 4 using least squares iteration.

[0080] Step 4: Using the Doppler velocity measurement results from Step 2 and the preprocessed phase observations from Step 3, perform iterative calculations to obtain the accurate mobile phone speed.

[0081] Differences are made between the phase observations at epochs t and t-1, resulting in:

[0082] λ·ΔΦ=Δρ+c·(Δt r -Δt s )+Δδ trop -Δδ iono (5)

[0083] In the formula, λ is the wavelength, ΔΦ represents the difference between the phase observations of two epochs, Δρ represents the difference in the geometric distance between the mobile phone and the satellite at two epochs, c is the speed of light, and Δt... r Δt represents the clock difference between two epochs. s This indicates that the satellite clock difference between two epochs can be calculated from the broadcast ephemeris, δ tropand δ iono These are the errors in the troposphere and ionosphere, respectively.

[0084] When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored, and equation (5) can be expressed as:

[0085] λΔΦ+cΔt s =Δρ+cΔt r (6)

[0086] The difference in geometric distance between epochs t and t-1 can be expressed as:

[0087] Δρ=e(t)(r s (t)-r u (t))-e(t-1)(r s (t-1)-r u (t-1)) (7)

[0088] In the formula, e is the unit vector between the mobile phone and the satellite, and r s r u These are the satellite position and the mobile phone position vector, respectively. The mobile phone position vector between two epochs can be expressed as follows:

[0089] r u (t)=r u (t-1)+v·Δt (8)

[0090] In the formula, Δt represents the time variation between epochs.

[0091] Combine formulas (6)-(8), and for ease of representation, let Δd=e(t)·r s (t)-e(t-1)·r s (t-1), Δg=[e(t)-e(t-1)]·r u (t-1), then we can obtain:

[0092] λΔΦ+cΔt s -Δd+Δg=-e(t)·v·Δt+c·Δt r (9)

[0093] In formula (9), the unknown parameters include the mobile phone speed v and the interepoch clock difference Δt. r The phone velocity v and the inter-epoch clock difference Δt can be obtained by solving the difference in phase observations between multiple satellite epochs using least squares iteration. r The phone's speed v and the time difference Δt between epochs are used to calculate the speed. r The initial values ​​are all set to 0. The new mobile phone speed v and the interepoch mobile phone clock difference Δt are obtained by least squares calculation. r The solved mobile phone speed v and the interepoch mobile phone clock difference Δt will be used to calculate the mobile phone speed v and the interepoch clock difference Δt.r Substituting the phase observation differences between satellite epochs into the following formula, the velocity residuals of the phase observations for each satellite are obtained. * ,Right now:

[0094] l * =λΔΦ+cΔt s -Δd+Δg+e(t)·v·Δt-c·Δt r (10)

[0095] During the iteration process, satellite phase observations with gross errors are eliminated using the median method. First, the standard deviation of the velocity residuals of multiple satellite phase observations is calculated. Then, the velocity residuals of the phase observations from each satellite are sorted from smallest to largest to obtain the median. Compare the difference between the velocity residuals of each satellite phase observation and the median of the velocity residuals of the phase observations, and the magnitude of N² times the standard deviation. The phase observation value of satellite i contains gross errors, which are discarded and will not participate in the next iteration calculation. In this embodiment, N2 is 3.

[0096] The newly calculated mobile phone speed v and the interepoch mobile phone clock difference Δt are used to calculate the mobile phone speed v and the interepoch clock difference Δt. r Substitute into formula (9) for iterative calculation until the speed difference between two adjacent calculations is less than the set threshold γ2 (the threshold γ2 is 0.01m / s in this embodiment), the iteration stops, and the mobile phone speed v is obtained by the last least squares calculation as the final phase observation value speed measurement result.

[0097] Step 5: Calculate the error value of the GNSS pseudorange observation between epochs using the velocity information obtained from the phase observations in Step 4.

[0098] The difference in pseudorange between epochs can be expressed as follows:

[0099] ΔP=Δρ+c·(Δt r -Δt s )+Δδ trop +Δδ iono (11)

[0100] In the formula, ΔP is the difference in pseudorange between epochs, Δρ represents the difference in geometric distance between the mobile phone and the satellite at two epochs, c is the speed of light, and Δt... r Δt represents the clock difference between two epochs. s δ represents the satellite clock difference between two epochs. trop and δ iono These are the errors in the troposphere and ionosphere, respectively.

[0101] When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored. Substitute equations (7) and (8) into equation (11) and let Δd = e(t)•rs (t)-e(t-1)•r s (t-1), Δg=[e(t)-e(t-1)]•r u (t-1), thus obtaining the pseudorange error δ between epochs. P for:

[0102] δ P =ΔP-Δd+Δg+e(t)·v·Δt-c·Δt r +c·Δt s (12)

[0103] In the formula, ΔP is the difference in pseudorange between epochs, e is the unit vector between the mobile phone and the satellite, v is the mobile phone velocity, Δt is the time variation between epochs, c is the speed of light, and Δt r Δt represents the time difference between epochs. s The satellite clock bias, r, is calculated from the broadcast ephemeris. s r u These are the satellite position and mobile phone position vectors, respectively, and t and t-1 represent two epochs.

[0104] The mobile phone speed v obtained in step 4 and the mobile phone clock difference Δt between epochs are used to calculate the mobile phone speed v. r Substituting into formula (12), the pseudorange error between epochs can be calculated.

[0105] Step 6: Based on the pseudorange error between epochs of each satellite obtained in Step 5, weight the pseudorange observations of different satellites to determine the stochastic model.

[0106] The pseudorange epoch error obtained in step 5 reflects the accuracy of pseudorange observations. The stochastic model determined based on this error weighting can better reflect the quality of mobile phone GNSS data, thereby improving the accuracy of mobile phone GNSS positioning. Based on the satellite pseudorange epoch error δ... P The pseudorange observations from different satellites are weighted to determine their stochastic model. The specific calculation method is as follows:

[0107]

[0108] In the formula, weight represents the weight of the pseudorange, η1 and η2 are set thresholds, and a and b are weighting coefficients of the pseudorange observations, whose values ​​are determined based on η1 and η2 to ensure that the weighting function is a continuous piecewise function. In this embodiment, the values ​​of η1 and η2 are set to 50 and 3 respectively, thereby determining a as... b is

[0109] When δ P When η > 1, the pseudorange is judged as a gross error, and its weight is assigned to 0; when δ P When η < 2, its weight is assigned to 1; when η ≤ δP When ≤η1, the weights of the pseudo-ranges are calculated based on the magnitude of the residuals, thereby determining the stochastic model.

[0110] Step 7: Based on the stochastic model of mobile phone GNSS positioning determined in Step 6, perform mobile phone GNSS positioning using least squares and output the mobile phone GNSS positioning result.

[0111] Figure 2 Experimental results on the improvement in positioning accuracy of 148 mobile phones obtained based on the method proposed in this invention are presented. Figure 2 As can be seen, compared with the carrier-to-noise ratio weighting method, the random model obtained by the weighting method of this invention can improve the GNSS positioning accuracy of mobile phones by up to 4.6 meters and the average positioning accuracy by about 20%.

[0112] Example 2

[0113] Based on the same inventive concept, the present invention also provides a speed-assisted high-precision mobile phone positioning system, including a processor and a memory. The memory is used to store program instructions, and the processor is used to call the program instructions in the memory to execute the speed-assisted high-precision mobile phone positioning method described above.

[0114] Example 3

[0115] Based on the same inventive concept, the present invention also provides a speed-assisted high-precision mobile phone positioning system, including a readable storage medium storing a computer program, which, when executed, implements the speed-assisted high-precision mobile phone positioning method described above.

[0116] In specific implementation, the method proposed in the technical solution of this invention can be automatically executed by those skilled in the art using computer software technology. System devices for implementing the method, such as computer-readable storage media storing the corresponding computer program of the technical solution of this invention and computer equipment including the computer program running the corresponding computer program, should also be within the protection scope of this invention.

[0117] The specific embodiments described herein are merely illustrative of the spirit of the invention. Those skilled in the art to which this invention pertains may make various modifications or additions to the described specific embodiments or use similar methods to replace them, without departing from the spirit of the invention or exceeding the scope defined by the appended claims.

Claims

1. A high-precision mobile phone positioning method based on speed assistance, characterized in that, Includes the following steps: Step 1: Based on the GNSS observation time from the mobile phone, calculate the satellite position and velocity at the corresponding time using the nearest broadcast ephemeris; Step 2: Based on the satellite's position, velocity, and Doppler observations, and using the satellite's Doppler observation equations, the least squares algorithm is used to iteratively solve for the phone's velocity to obtain the Doppler velocity measurement result; Assuming the running speed is The satellite launch frequency is The corresponding wavelength is The carrier signal, the mobile phone's operating speed is Then the Doppler frequency shift of the satellite carrier signal received by the mobile phone is: (1) In the formula, This indicates the Doppler frequency shift of the satellite carrier signal received by the mobile phone. This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position. This indicates the rate of change in the distance the phone moves closer to the satellite; Considering the effects of satellite and mobile phone clock frequency deviation and noise, the GNSS Doppler observation equation is expressed as: (2) In the formula, The wavelength of the carrier signal. This indicates the Doppler frequency shift of the satellite carrier signal received by the mobile phone. For the satellite's operating speed, For the phone's operating speed, This represents the unit observation vector of the satellite at the mobile phone location, calculated from the satellite's position and the mobile phone's position. This is due to the deviation in the mobile phone clock frequency. For satellite clock frequency drift, To account for Doppler observation noise; After rearranging formula (2), we get: (3) In formula (3), the parameters to be estimated include the mobile phone speed. and mobile phone clock frequency deviation The Doppler observations from multiple satellites can be obtained by least squares iteration, where the Doppler observations from each satellite have equal weights in the least squares solution. Step 3: Based on the Doppler velocity measurement results obtained in Step 2, the satellite positions at two epochs, and the mobile phone position, the phase observations with cycle slips are weighted down. Step 4: Using the Doppler velocity measurement results from Step 2 and the phase observations after weight reduction from Step 3, perform iterative calculations to obtain the accurate mobile phone speed. Step 5: Calculate the error value of the GNSS pseudorange observation between epochs using the accurate mobile phone movement speed obtained in Step 4; Step 6: Based on the pseudorange error between epochs of each satellite obtained in Step 5, weight the pseudorange observations of different satellites to determine the stochastic model; Step 7: Based on the stochastic model of mobile phone GNSS positioning determined in Step 6, perform mobile phone GNSS positioning using least squares and output the mobile phone GNSS positioning result.

2. The high-precision mobile phone positioning method based on speed assistance as described in claim 1, characterized in that: The iterative solution in step 2 is as follows: [The text abruptly shifts to a different topic] ...the phone speed... and mobile phone clock frequency deviation The initial values ​​are all set to 0. Based on formula (3), the new mobile phone speed is obtained by least squares calculation using Doppler observations from multiple satellites. and mobile phone clock frequency deviation The calculated mobile phone speed Mobile phone clock frequency deviation Substituting the Doppler observations from each satellite into the following formula, the Doppler velocity residuals of each satellite can be obtained. ,Right now: (4) During the iteration process, the median method is used to eliminate satellite Doppler observations with gross errors. First, the standard deviation of the Doppler velocity residuals of multiple satellites is calculated. Then, the median of the Doppler velocity residuals of each satellite is obtained by sorting them from smallest to largest. Compare the difference between the Doppler velocity residuals of each satellite and the median of the Doppler velocity residuals. The size of multiple standard deviations, if Then the satellite The Doppler observations contain gross errors and are therefore excluded from the next iteration; the newly calculated phone speed... and mobile phone clock frequency deviation Substitute the values ​​into formula (3) and perform iterative calculations until the velocity difference between two adjacent calculations is less than the set threshold. The iteration stops, and the phone speed is obtained by taking the last least squares calculation. This is the final Doppler velocity measurement result.

3. The high-precision mobile phone positioning method based on speed assistance as described in claim 1, characterized in that: In step 4, the phase observations at epochs t and t-1 are differentially analyzed to obtain: (5) In the formula, For wavelength, This represents the difference between two epoch phase observations. This represents the difference in geometric distance between the mobile phone and the satellite at two different epochs. At the speed of light, This represents the difference in mobile phone clocks between two epochs. This represents the satellite clock difference between two epochs, calculated from the broadcast ephemeris. and These are errors in the troposphere and ionosphere, respectively. When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored, and equation (5) can be expressed as: (6) The difference in geometric distance between epochs t and t-1 Represented as: (7) In the formula, Let be the unit vector between the mobile phone and the satellite. , These are the satellite position and the mobile phone position vector, respectively. The mobile phone position vector between two epochs is expressed as follows: (8) In the formula, This refers to the changes in time between epochs; Combine formulas (6)-(8), and let , ,have to: (9) In formula (9), the unknown parameters include the phone speed. Mobile phone clock difference between eras The difference in phase observations between multiple satellite epochs can be obtained by least squares iteration.

4. The high-precision mobile phone positioning method based on speed assistance as described in claim 3, characterized in that: The iterative solution in step 4 is as follows: [The text abruptly shifts to a different topic] ...the phone speed... Mobile phone clock difference between eras The initial values ​​are all set to 0. Based on formula (9), the new mobile phone speed is obtained by least squares calculation using the phase observation difference between multiple satellite epochs. Mobile phone clock difference between eras The calculated mobile phone speed Epochal Clock Difference Substituting the phase observation differences between satellite epochs into the following formula, the velocity residuals of the phase observations for each satellite can be obtained. ,Right now: (10) During the iteration process, the median method is used to eliminate satellite phase observations with gross errors. First, the standard deviation of the velocity residuals of multiple satellite phase observations is calculated. Then, the velocity residuals of the phase observations of each satellite are sorted from smallest to largest to obtain the median. Compare the difference between the velocity residuals of each satellite phase observation and the median of the velocity residuals of the phase observations. The size of multiple standard deviations, if Then the satellite The phase observations contain gross errors, which are discarded and not included in the next iteration calculation; the newly calculated phone speed... Mobile phone clock difference between eras Substitute the values ​​into formula (9) and perform iterative calculations until the speed difference between two adjacent calculations is less than a set threshold. The iteration stops, and the phone speed is obtained by taking the last least squares calculation. This is the final phase observation velocity measurement result.

5. The high-precision mobile phone positioning method based on speed assistance as described in claim 3, characterized in that: The difference in pseudorange between epochs in step 5 is expressed as follows: (11) In the formula, This represents the difference in pseudodistance between epochs. This represents the difference in geometric distance between the mobile phone and the satellite at two epochs. At the speed of light, This represents the difference in mobile phone clocks between two epochs. Indicates the satellite clock difference between two epochs. and These are errors in the troposphere and ionosphere, respectively. When the sampling rate is high, the changes in ionospheric delay and tropospheric delay can be ignored. Substituting equations (7) and (8) into equation (11), and letting... , The pseudorange error between epochs is obtained. The expression is: (12) In the formula, This represents the difference in pseudodistance between epochs. Let be the unit vector between the mobile phone and the satellite. For phone speed, For the changes in time between epochs, At the speed of light, For the time difference of mobile phones between eras, This is the satellite clock bias, calculated from the broadcast ephemeris. , These are the satellite position and mobile phone position vectors, respectively, and t and t-1 represent two epochs; The phone speed obtained in step 4 Mobile phone clock difference between eras Substituting into formula (12), we obtain the pseudorange error between epochs.

6. The high-precision mobile phone positioning method based on speed assistance as described in claim 1, characterized in that: In step 6, the satellite pseudorange epoch error is used as a basis. The pseudorange observations from different satellites are weighted to determine their stochastic model. The specific calculation method is as follows: (13) In the formula, The weight representing the pseudo-distance, and For the set threshold, and These are the weighting coefficients for pseudorange observations, and their values ​​are determined according to... and This is determined to ensure that the weighting function is a continuous piecewise function; when When the pseudorange is judged as a gross error, its weight is assigned to 0; when When, its weight is assigned to 1, when At that time, the weights of the pseudo-ranges are calculated based on the magnitude of the residuals, thereby determining the stochastic model.

7. A high-precision mobile phone positioning system based on speed assistance, characterized in that, It includes a processor and a memory, the memory being used to store program instructions, and the processor being used to call the program instructions in the memory to execute the speed-assisted high-precision mobile phone positioning method as described in any one of claims 1-6.

8. A high-precision mobile phone positioning system based on speed assistance, characterized in that, The method includes a readable storage medium on which a computer program is stored, and when the computer program is executed, it implements a speed-assisted high-precision mobile phone positioning method as described in any one of claims 1-6.