Smart phone positioning method, system, device and medium
The data fusion positioning of the global navigation satellite system data and barometric altimeter data obtained through the smartphone solves the problems of low positioning robustness of smartphones and inaccurate elevation measurement, and improves the accuracy of positioning results.
Patent Information
- Application Number
- CN202410540395.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-30
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-04-30
AI Technical Summary
Existing smartphones only use a single sensor for positioning, which is low robustness and inaccurate enough satellite navigation elevation measurement, resulting in low accuracy in positioning results.
By obtaining the global navigation satellite system data and barometer data collected by the smartphone, calculate the average carrier-to-noise ratio and the average pseudo-range multipath error, perform environmental scene identification, determine the scene type, and use a tight or loose combination data fusion strategy to locate according to different scene types.
It improves the accuracy and robustness of smartphones to obtain global location information, and enhances the accuracy of positioning results.
Smart Images

Figure CN119738853A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of Internet of Things, and in particular to a method, system, device and medium for positioning a smart phone. Background Art
[0002] Smartphones are important terminal devices in smart cities and the Internet of Things. High-precision positioning technology based on smartphones has a very broad application market. Satellite navigation and location services have played an important role in time and space empowerment, endowing my country's digital economy with strong vitality, and also playing a huge role in people's daily life and production.
[0003] Smartphones are equipped with a lot of sensors. It is of great theoretical and application value to study how to use various sensors for fusion positioning without changing the original hardware settings. However, existing smartphones only use a single sensor for positioning, which has low robustness and the satellite navigation elevation measurement is not accurate enough, resulting in low accuracy of positioning results. Summary of the invention
[0004] The present invention provides a method, system, device and medium for positioning a smart phone, which solves the technical problems that the existing smart phones use only a single sensor for positioning, the positioning robustness is low, and the satellite navigation elevation measurement is not precise enough, resulting in low accuracy of the positioning results.
[0005] The present invention provides a smart phone positioning method, comprising:
[0006] Acquire global navigation satellite system data and barometric altimeter data collected by the smart phone, and calculate the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value;
[0007] Perform environmental scene recognition according to the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error to determine the scene type;
[0008] When the scene type is a severe multipath scene, performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone;
[0009] When the scene type is an open environment scene, data fusion positioning is performed based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data and the global navigation satellite system data to generate second positioning data corresponding to the smart phone.
[0010] Optionally, the global navigation satellite system data includes multiple satellite signal wavelengths, multiple ionospheric errors, multiple satellite signal powers, multiple bilateral noise power spectral densities, multiple pseudorange values, multiple carrier phase values, and multiple carrier phase ambiguities; the step of respectively calculating the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value includes:
[0011] respectively calculating the ratios between the satellite signal power and the corresponding bilateral noise power spectrum density to generate a plurality of carrier-to-noise ratios;
[0012] Calculating the sum of all the carrier-to-noise ratios to generate a carrier-to-noise ratio sum value;
[0013] Calculating a ratio between the carrier-to-noise ratio sum value and a corresponding carrier-to-noise ratio quantity to generate a carrier-to-noise ratio average value;
[0014] Substituting the satellite signal wavelength, the ionospheric error, the pseudorange value, the carrier phase value and the carrier phase ambiguity into a preset pseudorange multipath error expression for calculation, respectively, to generate a plurality of pseudorange multipath errors;
[0015] The preset pseudorange multipath error expression is:
[0016] mp=ρ-Φ·λ-2I+N i λ;
[0017] Where mp is the pseudorange multipath error; ρ is the pseudorange value observed by the smartphone; Φ is the carrier phase value observed by the smartphone; λ is the wavelength of the satellite signal; I is the ionospheric error; N i is the carrier phase ambiguity;
[0018] Calculating the sum of all the pseudorange multipath errors to generate a pseudorange multipath error sum value;
[0019] The ratio between the pseudorange multipath error sum value and the corresponding error quantity is calculated to generate a pseudorange multipath error average value.
[0020] Optionally, the step of performing environmental scene recognition according to the carrier-to-noise ratio average value and the pseudorange multipath error average value to determine the scene type includes:
[0021] When the carrier-to-noise ratio average value is less than a first preset value, and the pseudorange multipath error average value is greater than a second preset value, the scenario type is a severe multipath scenario;
[0022] When the average value of the carrier-to-noise ratio is greater than or equal to the first preset value, and the average value of the pseudorange multipath error is less than the second preset value, the scene type is an open environment scene.
[0023] Optionally, when the scene type is a severe multipath scene, the step of performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone includes:
[0024] When the scenario type is a severe multipath scenario, a quaternary nonlinear equation is constructed using the satellite three-dimensional position, the smartphone three-dimensional position, the pseudorange observation correction value and the smartphone clock error in the global navigation satellite system data;
[0025] Linearizing the quaternary nonlinear equation to generate a linearized positioning matrix equation;
[0026] The linearized positioning matrix equation is iteratively solved using the Newton iteration method to determine the first positioning data corresponding to the smart phone.
[0027] Optionally, the step of iteratively solving the linearized positioning matrix equation using the Newton iteration method to determine the first positioning data corresponding to the smart phone includes:
[0028] Using a preset update formula to update the initial smartphone position coordinates and initial clock difference values corresponding to the positioning equation, generate intermediate smartphone position coordinates and intermediate clock difference values and count the number of iterations;
[0029] The preset update formula is:
[0030]
[0031] δt u,k =δt u,k-1 +Δδt u ;
[0032] Among them, S k S is the updated location coordinates of the smartphone at the kth iteration; k-1 is the updated position coordinate of the smartphone after the k-1th iteration; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation; δt u,k is the estimated clock error of the smartphone at the kth iteration; δt u,k-1 Δδt is the estimated clock error of the smartphone at the k-1th iteration; u is the estimated change in the smartphone clock error;
[0033] When the number of iterations is less than or equal to a preset number of iterations, substituting the intermediate smartphone position coordinates and the intermediate clock difference value into a preset accuracy calculation formula to generate an accuracy value;
[0034] The preset accuracy calculation formula is:
[0035]
[0036] Where A is the accuracy value; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation, and the symbol ||·|| represents the two-norm function; Δδt u is the estimated change in the smartphone clock error;
[0037] When the accuracy value is less than a preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the target smartphone position coordinates and the target clock difference value;
[0038] The height change in the barometric altimeter data, the position coordinates of the target smartphone, and the target clock difference value are coupled to a preset positioning equation for least squares solution to obtain first positioning data corresponding to the smartphone;
[0039] The preset positioning equation is:
[0040]
[0041]
[0042]
[0043] Among them, (φ, λ, h) are the coordinates of the geodetic coordinate system, which correspond to the coordinates of the Earth-centered Earth-fixed coordinate system (x, y, z); h is the third coordinate dimension of the geodetic coordinate system, called the geodetic height; φ is the geodetic latitude; λ is the geodetic longitude; Δδt u is the estimated change in the smartphone clock error; Δh p is the height change; R is the radius of curvature of the ellipse of the reference ellipsoid; e is the eccentricity of the sphere; a is the major radius of the reference sphere; d is the minor radius; p is the intermediate variable;
[0044] When the accuracy value is greater than a preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as new initial smartphone position coordinates and new initial clock difference value, and the step of using a preset update formula to update the initial smartphone position coordinates and initial clock difference value corresponding to the positioning equation is jumped to execute, generating intermediate smartphone position coordinates and intermediate clock difference value and counting the number of iterations.
[0045] Optionally, the step of performing data fusion positioning based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data, and the global navigation satellite system data to generate second positioning data corresponding to the smart phone includes:
[0046] When the average value of the pseudorange multipath error is less than a third preset value, and the average value of the carrier-to-noise ratio is greater than or equal to a fourth preset value, performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a loose combination fusion strategy to generate first three-dimensional positioning data corresponding to the smart phone;
[0047] When the average value of the pseudorange multipath error is within a first preset interval and the average value of the carrier-to-noise ratio is within a second preset interval, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to the tight combination fusion strategy to generate second three-dimensional positioning data corresponding to the smart phone.
[0048] Optionally, the step of performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to the loose combination fusion strategy to generate first three-dimensional positioning data corresponding to the smart phone includes:
[0049] Inputting the barometric altimeter data and the global navigation satellite system data into a preset Kalman filter model to perform state variable estimation to generate an estimated state vector;
[0050] Substituting the gain matrix, measurement matrix, measurement matrix and the estimated state vector corresponding to the estimated state vector into a preset state variable estimation formula to calculate a Kalman filter state quantity estimation value;
[0051] The preset state variable estimation formula is:
[0052]
[0053] in, is the estimated value of the Kalman filter state quantity; is the estimated state vector from time f-1 to time f; K f is the gain matrix; Z f is the measurement matrix; H f is the measurement matrix, set its expression to [0,0,1] T ;
[0054] Subtracting the initial height data in the Kalman filter state quantity estimation value from the height data in the global navigation satellite system data to generate target height data;
[0055] The target height data is used to update the coordinate data corresponding to the Kalman filter state quantity estimation value to generate first three-dimensional positioning data corresponding to the smart phone.
[0056] The present invention also provides a smart phone positioning system, comprising:
[0057] An average value generation module is used to obtain global navigation satellite system data and barometric altimeter data collected by the smart phone, and calculate the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value;
[0058] A scene type determination module, used to identify the environment scene according to the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error, and determine the scene type;
[0059] A first positioning data generating module is used for, when the scene type is a multipath severe scene, using the barometric altimeter data and the global navigation satellite system data to perform data fusion positioning according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone;
[0060] The second positioning data generating module is used to perform data fusion positioning based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data and the global navigation satellite system data to generate second positioning data corresponding to the smart phone when the scene type is an open environment scene.
[0061] The present invention also provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of implementing any of the above-mentioned smart phone positioning methods.
[0062] The present invention also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed, any of the above-mentioned smart phone positioning methods is implemented.
[0063] It can be seen from the above technical solutions that the present invention has the following advantages:
[0064] The present invention obtains global navigation satellite system data and barometric altimeter data collected by a smart phone, and respectively calculates the carrier-to-noise ratio average value and the pseudo-range multipath error average value based on the global navigation satellite system data, thereby generating the carrier-to-noise ratio average value and the pseudo-range multipath error average value. Based on the carrier-to-noise ratio average value and the pseudo-range multipath error average value, environmental scene recognition is performed to determine the scene type. When the scene type is a multipath severe scene, data fusion positioning is performed using barometric altimeter data and global navigation satellite system data according to a tight combination fusion strategy, and first positioning data corresponding to the smart phone is generated. When the scene type is an open environment scene, data fusion positioning is performed based on the carrier-to-noise ratio average value, the pseudo-range multipath error average value, the barometric altimeter data and the global navigation satellite system data, and second positioning data corresponding to the smart phone is generated. The present invention solves the technical problem that the existing smart phone only uses a single sensor for positioning, the robustness is low, and the satellite navigation elevation measurement is not accurate enough, resulting in low accuracy of the positioning result. The global navigation satellite system data and the barometric altimeter data are used for data fusion positioning, which improves the accuracy and robustness of the smart phone in obtaining global position information, thereby making the positioning result obtained highly accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0066] Figure 1 A flowchart of a method for positioning a smart phone provided in the first embodiment of the present invention;
[0067] Figure 2 A flowchart of a method for locating a smart phone provided in Embodiment 2 of the present invention;
[0068] Figure 3 A structural block diagram of a smart phone positioning system provided in Embodiment 3 of the present invention;
[0069] Figure 4 This is a structural block diagram of an electronic device provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION
[0070] The embodiments of the present invention provide a smart phone positioning method, system, device and medium, which are used to solve the technical problems that the existing smart phones use only a single sensor for positioning, the positioning robustness is low, and the satellite navigation elevation measurement is not precise enough, resulting in low accuracy of the positioning results.
[0071] In order to make the purpose, features and advantages of the present invention more obvious and easy to understand, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described below are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0072] See also Figure 1 , Figure 1 A flowchart of the steps of a smart phone positioning method provided in Embodiment 1 of the present invention.
[0073] A smart phone positioning method provided in Example 1 of the present invention includes:
[0074] Step 101: Obtain global navigation satellite system data and barometric altimeter data collected by a smart phone, calculate a carrier-to-noise ratio average value and a pseudorange multipath error average value based on the global navigation satellite system data, and generate a carrier-to-noise ratio average value and a pseudorange multipath error average value.
[0075] In an embodiment of the present invention, a smart phone is provided with two types of sensors, namely a global navigation satellite system (GNSS) and a barometric altimeter (PS). The global navigation satellite system data and the barometric altimeter data collected by the smart phone are obtained. The global navigation satellite system data includes multiple satellite signal wavelengths, multiple ionospheric errors, multiple satellite signal powers, multiple bilateral noise power spectrum densities, multiple pseudorange values, multiple carrier phase values, and multiple carrier phase ambiguities, etc., which are used to realize positioning calculations. Multiple carrier-to-noise ratios are obtained by respectively calculating the ratio between the satellite signal power and the corresponding bilateral noise power spectrum density. The sum of all carrier-to-noise ratios is calculated to generate a carrier-to-noise ratio sum value. The ratio between the carrier-to-noise ratio sum value and the corresponding carrier-to-noise ratio number is calculated to generate a carrier-to-noise ratio average value. The satellite signal wavelength, ionospheric error, pseudorange value, carrier phase value, and carrier phase ambiguity are respectively substituted into the preset pseudorange multipath error expression for calculation to generate multiple pseudorange multipath errors. The sum of all pseudorange multipath errors is calculated to generate a pseudorange multipath error sum value. The ratio between the pseudorange multipath error sum value and the corresponding error number is calculated to generate a pseudorange multipath error average value.
[0076] Step 102: Perform environmental scene recognition based on the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error to determine the scene type.
[0077] In the embodiment of the present invention, the average value of the carrier-to-noise ratio and the average value of the pseudo-range multipath error are compared with the first preset value and the second preset value respectively. When the average value of the carrier-to-noise ratio is less than the first preset value, and the average value of the pseudo-range multipath error is greater than the second preset value, the scene type is a severe multipath scene. When the average value of the carrier-to-noise ratio is greater than or equal to the first preset value, and the average value of the pseudo-range multipath error is less than the second preset value, the scene type is an open environment scene.
[0078] Step 103: When the scene type is a severe multipath scene, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone.
[0079] In an embodiment of the present invention, when the scene type is a severe multipath scene, the three-dimensional position of the satellite in the global navigation satellite system data, the three-dimensional position of the smart phone, the pseudo-range observation correction value and the clock error of the smart phone are used to construct a quaternary nonlinear equation. The quaternary nonlinear equation is linearized to generate a linearized positioning matrix equation. The linearized positioning matrix equation is iteratively solved using the Newton iteration method to determine the first positioning data corresponding to the smart phone.
[0080] Step 104: When the scene type is an open environment scene, data fusion positioning is performed based on the average carrier-to-noise ratio, the average pseudorange multipath error, the barometric altimeter data, and the global navigation satellite system data to generate second positioning data corresponding to the smart phone.
[0081] In an embodiment of the present invention, when the average value of the pseudo-range multipath error is less than the third preset value, and the average value of the carrier-to-noise ratio is greater than or equal to the fourth preset value, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to the loose combination fusion strategy to generate the first three-dimensional positioning data corresponding to the smart phone. When the average value of the pseudo-range multipath error is within the first preset interval, and the average value of the carrier-to-noise ratio is within the second preset interval, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to the tight combination fusion strategy to generate the second three-dimensional positioning data corresponding to the smart phone.
[0082] In an embodiment of the present invention, by acquiring the global navigation satellite system data and the barometric altimeter data collected by the smart phone, and calculating the average value of the carrier-to-noise ratio and the average value of the pseudo-range multipath error based on the global navigation satellite system data, the average value of the carrier-to-noise ratio and the average value of the pseudo-range multipath error are generated. Based on the average value of the carrier-to-noise ratio and the average value of the pseudo-range multipath error, the environmental scene is identified to determine the scene type. When the scene type is a multipath severe scene, the barometric altimeter data and the global navigation satellite system data are used according to the tight combination fusion strategy to perform data fusion positioning, and the first positioning data corresponding to the smart phone is generated. When the scene type is an open environment scene, data fusion positioning is performed based on the average value of the carrier-to-noise ratio, the average value of the pseudo-range multipath error, the barometric altimeter data and the global navigation satellite system data, and the second positioning data corresponding to the smart phone is generated. The technical problem that the existing smart phone uses only a single sensor for positioning with low robustness and the satellite navigation elevation measurement is not accurate enough, resulting in low accuracy of the positioning result is solved. The global navigation satellite system data and the barometric altimeter data are used for data fusion positioning, which improves the accuracy and robustness of the smart phone in obtaining global position information, so that the positioning result obtained is highly accurate.
[0083] See also Figure 2 , Figure 2 A flowchart of the steps of a smart phone positioning method provided in Embodiment 2 of the present invention.
[0084] Another smart phone positioning method provided by Example 2 of the present invention includes:
[0085] Step 201: Obtain global navigation satellite system data and barometric altimeter data collected by a smart phone, calculate a carrier-to-noise ratio average value and a pseudorange multipath error average value based on the global navigation satellite system data, and generate a carrier-to-noise ratio average value and a pseudorange multipath error average value.
[0086] Further, the global navigation satellite system data includes multiple satellite signal wavelengths, multiple ionospheric errors, multiple satellite signal powers, multiple bilateral noise power spectrum densities, multiple pseudorange values, multiple carrier phase values and multiple carrier phase ambiguities. Step 201 may include the following sub-steps S11-S16:
[0087] S11. Calculate the ratios of satellite signal power to corresponding bilateral noise power spectrum density respectively to generate multiple carrier-to-noise ratios.
[0088] S12. Calculate the sum of all carrier-to-noise ratios to generate a carrier-to-noise ratio sum value.
[0089] S13. Calculate the ratio between the carrier-to-noise ratio sum and the corresponding carrier-to-noise ratio quantity to generate a carrier-to-noise ratio average value.
[0090] S14. Substitute the satellite signal wavelength, ionospheric error, pseudorange value, carrier phase value and carrier phase ambiguity into a preset pseudorange multipath error expression for calculation to generate multiple pseudorange multipath errors.
[0091] S15. Calculate the sum of all pseudo-range multipath errors to generate a pseudo-range multipath error sum value.
[0092] S16. Calculate the ratio between the pseudorange multipath error sum and the corresponding error quantity to generate a pseudorange multipath error average value.
[0093] In the embodiment of the present invention, the carrier-to-noise ratio is the original observation quantity obtained by the GNSS chip after signal processing. The pseudo-range multipath error can be calculated by combining code-minus-phase. The specific calculation process is as follows:
[0094] The expression of carrier-to-noise ratio is:
[0095]
[0096] Where C / N0 is the carrier-to-noise ratio, expressed in dB-Hz; P R is the satellite signal power; N0 is the bilateral noise power spectral density.
[0097] The preset pseudorange multipath error expression is:
[0098] mp=ρ-Φ·λ-2I+N i λ;
[0099] Where mp is the pseudorange multipath error; ρ is the pseudorange value observed by the smartphone; Φ is the carrier phase value observed by the smartphone; λ is the wavelength of the satellite signal; I is the ionospheric error; N i is the carrier phase ambiguity, which can be solved by the LAMBDA algorithm or regarded as a constant in the static case. Then, this constant can be eliminated by performing sliding average processing on mp.
[0100] The ratio between the satellite signal power and the corresponding bilateral noise power spectrum density is calculated by the carrier-to-noise ratio expression to obtain multiple carrier-to-noise ratios. Then the sum of all the carrier-to-noise ratios is calculated to obtain the carrier-to-noise ratio sum. Finally, the ratio between the carrier-to-noise ratio sum and the corresponding number of carrier-to-noise ratios is calculated to obtain the average carrier-to-noise ratio. By substituting the satellite signal wavelength, ionospheric error, pseudorange value, carrier phase value and carrier phase ambiguity collected by the smartphone into the preset pseudorange multipath error expression, multiple pseudorange multipath errors are calculated. Then, by calculating the sum of all pseudorange multipath errors, the pseudorange multipath error sum is obtained. Finally, the ratio between the pseudorange multipath error sum and the corresponding number of errors is calculated to obtain the average pseudorange multipath error.
[0101] Step 202: Perform environmental scene recognition based on the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error to determine the scene type.
[0102] Further, step 202 may include the following sub-steps S21-S22:
[0103] S21. When the average value of the carrier-to-noise ratio is less than the first preset value, and the average value of the pseudorange multipath error is greater than the second preset value, the scene type is a severe multipath scene.
[0104] S22: When the average value of the carrier-to-noise ratio is greater than or equal to the first preset value, and the average value of the pseudorange multipath error is less than the second preset value, the scene type is an open environment scene.
[0105] The first preset value is 30dB-Hz. The second preset value is 5m.
[0106] In an embodiment of the present invention, the scene in which the smartphone is located is classified according to the carrier-to-noise ratio and the pseudo-range multipath error, and is divided into a severe multipath scene and an open environment scene. Specifically, when the calculated average carrier-to-noise ratio is less than 30dB-Hz, and the average pseudo-range multipath error is greater than 5m, the scene type corresponding to the smartphone is a severe multipath scene. When the calculated average carrier-to-noise ratio is greater than or equal to 30dB-Hz, and the average pseudo-range multipath error is less than 5m, the scene type corresponding to the smartphone is an open environment scene.
[0107] Step 203: When the scene type is a severe multipath scene, a quaternary nonlinear equation is constructed using the satellite three-dimensional position, the smartphone three-dimensional position, the pseudo-range observation correction value and the smartphone clock error in the global navigation satellite system data.
[0108] In the embodiment of the present invention, different fusion strategies are adopted in different scenarios. The fusion strategies are divided into loose combination fusion strategy and tight combination fusion strategy. The tight combination fusion strategy is applicable to multipath serious scenarios and open environment scenarios, while the loose combination fusion strategy is applicable to open environment scenarios. Tight combination data fusion is adopted in multipath serious scenarios. The tight combination fusion strategy utilizes the high accuracy of the altimeter elevation to fuse the altimeter elevation information into the GNSS positioning algorithm. The specific contents of the tight combination fusion strategy are as follows:
[0109] According to the position relationship, the following relationship between position and distance is obtained, that is, the satellite three-dimensional position in the global navigation satellite system data, the three-dimensional position of the smartphone, the pseudo-range observation correction value and the smartphone clock error are used to construct a four-variable nonlinear equation, which is:
[0110]
[0111] Among them, (x (n) ,y(n) ,z (n) ) is the satellite 3D position of the nth satellite, n represents the nth satellite observed by the smartphone, n=1, 2, ..., N is the temporary number of the satellite or satellite measurement value; (x (1) ,y (1) ,z (1) ) is the satellite three-dimensional position of the first satellite; (x (2) ,y (2) ,z (2) ) is the satellite three-dimensional position of the second satellite; (x (N) ,y (N) ,z (N) ) is the satellite 3D position of the Nth satellite; (x, y, z) is the 3D position of the smartphone; δt u is the clock error of the smartphone; n=1,2,...,N is the temporary number of the satellite or satellite measurement value; The pseudorange observation value corrected for the first satellite; The pseudorange observation value corrected for the second satellite; is the pseudorange observation value corrected by the Nth satellite. The corrected pseudorange observation value is obtained by deducting the satellite clock error (sent by the satellite to the mobile phone and stored in the navigation message file), the ionospheric error (estimated by the Klobuchar model), and the tropospheric error (estimated by the Saastamoinen model) from the pseudorange observation value obtained after processing by the GNSS chip in the smartphone.
[0112] Step 204: Linearize the quaternary nonlinear equation to generate a linearized positioning matrix equation.
[0113] In the embodiment of the present invention, the linearized positioning matrix equation is obtained by linearizing the quaternary nonlinear equation. The linearized positioning matrix equation is:
[0114]
[0115]
[0116]
[0117] The geometry matrix G is a Jacobian matrix and is only related to the geometric position of each satellite relative to the smartphone; [Δx, Δy, Δz, Δδt u] where (Δx, Δy, Δz) is the change in the xyz coordinates of the smartphone between two adjacent observation times in the Earth-centered Earth-fixed coordinate system; Δδtu is the estimated change in the smartphone clock error; b is the residual matrix; r is the distance from the smartphone to the satellite; n = 1, 2, ..., N is the temporary number of the satellite or satellite measurement; k represents the number of Newton iterations being performed in the current epoch, i.e., k-1 is the number of iterations that have been completed in the current epoch, and k = 1 represents the first iteration; is the distance r from the Nth smartphone to the satellite (N) (S k-1 )The value of the partial derivative of x at k-1; For r (N) (S k-1 )The value of the partial derivative of y at k-1; For r (N) (S k-1 ) is the value of the partial derivative of z at k-1; (N) (S k-1 )] T for S k-1 =(x k-1 ,y k-1 ,z k-1 ) is the location coordinate of the smartphone at k-1; is the pseudo-range observation value corrected by the Nth satellite; r (N) (S k-1 ) is the geometric distance from the receiver to the Nth satellite; δt u,k-1 The estimated smartphone clock bias for the k-1th iteration.
[0118] Step 205: Use Newton iteration method to iteratively solve the linearized positioning matrix equation to determine the first positioning data corresponding to the smart phone.
[0119] In the embodiment of the present invention, the above-mentioned quaternary nonlinear equation needs to be linearized to obtain the linearized positioning matrix equation. To obtain the solution, the positioning equation solution of the positioning linearized positioning matrix equation is calculated using the Newton iteration method.
[0120] Further, step 205 may include the following sub-steps S31-S35:
[0121] S31. Use a preset update formula to update the initial smartphone position coordinates and initial clock difference values corresponding to the positioning equation, generate intermediate smartphone position coordinates and intermediate clock difference values, and count the number of iterations.
[0122] S32. When the number of iterations is less than or equal to the preset number of iterations, the intermediate smartphone position coordinates and the intermediate clock difference value are substituted into the preset accuracy calculation formula to generate an accuracy value.
[0123] S33. When the accuracy value is less than a preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the target smartphone position coordinates and the target clock difference value.
[0124] S34, coupling the altitude change in the barometric altimeter data, the target smartphone position coordinates and the target clock difference value into a preset positioning equation to perform a least squares solution to obtain first positioning data corresponding to the smartphone.
[0125] S35. When the accuracy value is greater than the preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the new initial smartphone position coordinates and the new initial clock difference value, and the process jumps to the step of updating the initial smartphone position coordinates and the initial clock difference value corresponding to the positioning equation using the preset update formula, generating the intermediate smartphone position coordinates and the intermediate clock difference value and counting the number of iterations.
[0126] In the embodiment of the present invention, the pseudo-range, satellite clock error, and satellite position of each satellite relative to the smartphone collected by the GNSS chip in the smartphone are used as input, wherein the coordinate change and the clock error change are variables to be solved in the Newton iteration calculation, and the final solution is the three-dimensional position coordinates of the smartphone, the smartphone clock error, i.e., the target smartphone position coordinates and the target clock error value. The specific solution process is:
[0127] Given an initial value is the initial value of the given smartphone position, δt u,0 is the initial value of the clock error of the given smartphone. For the kth solution, the solution of the positioning equation obtained by the iterative format based on the Newton iteration method is:
[0128]
[0129] The geometry matrix G is a Jacobian matrix and is only related to the geometric position of each satellite relative to the smartphone; G T is the transpose of G, (·) -1 represents the inverse of the matrix; (Δx, Δy, Δz) is the coordinate change of the smartphone in the three directions of xyz in the Earth-centered Earth-fixed coordinate system between two adjacent observation times (two adjacent iterations); (x k ,y k ,z k ) is the coordinate of the smartphone in the Earth-centered Earth-fixed coordinate system at the kth iteration; (x k-1 ,y k-1 ,z k-1 ) is the coordinate of the smartphone in the Earth-centered Earth-fixed coordinate system at the k-1th iteration; Δδt u is the estimated change in the smartphone clock error; δtu,k is the estimated clock error of the smartphone at the kth iteration; δt u,k-1 is the clock error of the smartphone estimated at the k-1th iteration; b is the residual matrix.
[0130] Adding the altitude change in the barometric altimeter data, the user's altitude change Δu is calculated from the altitude change Δh of the barometric altimeter. p To express, Δu=Δh p .
[0131] Therefore, after adding the height variation, the innovative positioning equation of the present invention, i.e., the preset positioning equation, is obtained as follows:
[0132]
[0133] Among them, Δδt u is the estimated change in the smartphone clock error; Δh p is the height change; (φ, λ, h) is the coordinate of the geodetic coordinate system, which corresponds to the coordinate of the earth-centered earth-fixed coordinate system (x, y, z). There is a certain conversion relationship, and the transformation formula is as follows:
[0134]
[0135]
[0136] Among them, R is the radius of curvature of the ellipse of the reference ellipsoid; e is the eccentricity of the sphere; a is the major radius of the reference sphere; d is the minor radius; p is an intermediate variable with no special meaning; h is the third dimension of the geodetic coordinate system (φ, λ, h), indicating the geodetic height, φ is the geodetic latitude; λ is the geodetic longitude.
[0137] The linearized positioning matrix equation and the preset positioning equation are iteratively solved to obtain the final solution, that is, the solution [Δx, Δy, Δz, Δδt u ] T , at this time the altimeter data has been added to the positioning equation for positioning solution.
[0138] The preset update formula is used to update the initial smartphone position coordinates and initial clock difference values corresponding to the positioning equation, generate the intermediate smartphone position coordinates and intermediate clock difference values, and count the number of iterations to obtain the smartphone position coordinates S after the kth iteration update as follows: k The clock difference Δδt u,k That is, the preset update formula is:
[0139]
[0140] δt u,k =δt u,k-1 +Δδtu ;
[0141] Among them, S k S is the updated location coordinates of the smartphone at the kth iteration; k-1 is the updated position coordinate of the smartphone after the k-1th iteration; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation; δt u,k is the estimated clock error of the smartphone at the kth iteration; δt u,k-1 Δδt is the estimated clock error of the smartphone at the k-1th iteration; u is the estimated change in the smartphone clock error.
[0142] When the number of iterations is less than or equal to the preset number of iterations, the intermediate smartphone position coordinates and the intermediate clock difference value are substituted into the preset accuracy calculation formula to generate the accuracy value. The preset accuracy calculation formula, i.e., the basis for judging the accuracy requirement, is Where ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation, the symbol ||·|| represents the two-norm function, and Δδt u It is represented by the clock error of the smartphone obtained from the solution of the positioning equation. Is it less than the preset threshold value? If it is less than the threshold, it means that the solution meets the accuracy requirements, and the intermediate smartphone position coordinates and the intermediate clock difference value are used as the target smartphone position coordinates and the target clock difference value. The altitude change in the barometric altimeter data, the target smartphone position coordinates and the target clock difference value are coupled to the preset positioning equation for least squares solution to obtain the first positioning data corresponding to the smartphone. Otherwise, continue to iterate, that is, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the new initial smartphone position coordinates and the new initial clock difference value, and jump to execute the steps of updating the initial smartphone position coordinates and the initial clock difference value corresponding to the positioning equation using the preset update formula, generating the intermediate smartphone position coordinates and the intermediate clock difference value and counting the number of iterations. When the number of iterations exceeds the preset number of iterations, the position solution fails.
[0143] If the updated solution meets the accuracy requirement, the high-precision location information of the smartphone is obtained. If the above solution does not meet the accuracy requirement, S k ,δt u,k It can be used as the starting point of the k+1th iteration to continue the above Newton iteration operation. According to the tight combination fusion strategy, the pseudo-range observations of the GNSS raw data are collected for pseudo-range positioning, and then the height data of the altimeter is coupled to the positioning equation for least squares solution, and finally the three-dimensional positioning result is obtained.
[0144] Step 206: When the scene type is an open environment scene, data fusion positioning is performed based on the average carrier-to-noise ratio, the average pseudorange multipath error, the barometric altimeter data, and the global navigation satellite system data to generate second positioning data corresponding to the smart phone.
[0145] Further, step 206 may include the following sub-steps S41-S42:
[0146] S41. When the average value of the pseudorange multipath error is less than the third preset value and the average value of the carrier-to-noise ratio is greater than or equal to the fourth preset value, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to the loose combination fusion strategy to generate first three-dimensional positioning data corresponding to the smart phone.
[0147] S42. When the average value of the pseudorange multipath error is within the first preset interval and the average value of the carrier-to-noise ratio is within the second preset interval, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to a tight combination fusion strategy to generate second three-dimensional positioning data corresponding to the smart phone.
[0148] Further, step S41 may include the following sub-steps S411-S414:
[0149] S411, inputting the barometric altimeter data and the global navigation satellite system data into a preset Kalman filter model to perform state variable estimation and generate an estimated state vector.
[0150] S412: Substitute the gain matrix, measurement matrix, measurement matrix and estimated state vector corresponding to the estimated state vector into a preset state variable estimation formula to calculate and obtain a Kalman filter state quantity estimation value.
[0151] S413: Subtract the initial height data in the Kalman filter state quantity estimation value from the height data in the global navigation satellite system data to generate target height data.
[0152] S414: Use the target height data to update the coordinate data corresponding to the Kalman filter state quantity estimation value to generate first three-dimensional positioning data corresponding to the smart phone.
[0153] The third preset value is 3m. The fourth preset value is 35dB-Hz. The first preset interval is 3m≤pseudorange multipath error average value≤5m. The second preset interval is 35dB-Hz≥carrier-to-noise ratio average value≥30dB-Hz.
[0154] In an embodiment of the present invention, when the average value of the pseudo-range multipath error is less than 3m and the average value of the carrier-to-noise ratio is greater than or equal to 35dB-Hz, a loose combination fusion strategy is used to perform data fusion positioning to generate the second positioning data corresponding to the smart phone; otherwise, when 3m≤the average value of the pseudo-range multipath error≤5m and 35dB-Hz≥the average value of the carrier-to-noise ratio≥30dB-Hz, data fusion positioning is performed according to the above-mentioned tight combination fusion strategy to generate the second positioning data corresponding to the smart phone. The central idea of the loose combination fusion strategy is to use the altitude data calculated by the barometric altimeter to directly perform Kalman filtering with the altitude data in the GNSS three-dimensional position to achieve the fusion of multi-source data.
[0155] The following introduces the loose combination fusion strategy, that is, the filter estimation algorithm flow of the fusion of GNSS and barometric altimeter height data, where the change rates of GNSS positioning data and altimeter data are the components in the state variables, and other matrices are other changes in these state variables. The GNSS sensor outputs three-dimensional position coordinate data as (x, y, z g ), the altitude data output by the barometric altimeter PS is z p .
[0156] Based on the Kalman filter model, the state equation and measurement equation can be expressed as:
[0157]
[0158] Among them, X f is the state variable matrix at time f, set X f =[Δx,Δy,Δz]; Φ f,f-1 is the one-step transfer matrix from time f-1 to time f, set to the identity matrix; Z f is the measurement matrix, set to Z f =z g -z p ;H f is the measurement matrix, set its expression to [0,0,1] T ; W f-1 is the system noise matrix at time f-1; V f is the noise matrix measured at time f.
[0159] It is usually assumed that W f , V f is an uncorrelated zero-mean Gaussian white noise that satisfies the following conditions:
[0160]
[0161] Among them, W f represents the system noise matrix at time f; V f represents the measurement noise matrix at time f; Q fis the system noise covariance matrix; W j T is the transpose of the system noise matrix at time j; V j T is the transpose of the measurement noise matrix at time j; R f is the covariance matrix of the measurement noise; is the Kronecker function. If the system noise covariance matrix Q f is a non-negative definite matrix, the measurement noise covariance matrix R f Is a positive definite matrix, then the one-step state prediction equation is:
[0162]
[0163] in, is the estimated state vector from time f-1 to time f, which is the state variable X estimated by the Kalman filter f The state variable is the three-dimensional position change corresponding to the mobile phone positioning data, and X is set f =[Δx, Δy, Δz]; is the estimated state vector at time k-1; Φ f,f-1 is the one-step transfer matrix from time f-1 to time f.
[0164] The one-step estimation error covariance matrix equation is:
[0165]
[0166] Among them, P f,f-1 is the one-step estimation error covariance matrix from time f to time f-1; P f-1 is the estimated error covariance matrix at time f-1; is the one-step transfer matrix Φ from time f to time f-1 f,f-1 The transpose of Q f-1 is the system noise variance matrix at time f-1; is the system noise driving matrix Γ f-1 The transpose of .
[0167] The gain matrix expression is:
[0168]
[0169] Among them, K f is the gain matrix; is the measurement matrix H f The transpose of f,f-1 is the one-step estimation error covariance matrix from time f to time f-1; R f is the covariance matrix of the measurement noise.
[0170] Covariance matrix estimation:
[0171]
[0172] Among them, P f is the one-step estimation error covariance matrix at time f; H f is the measurement matrix, set its expression to [0,0,1] T ;P f,f-1 is the one-step estimation error covariance matrix from time f to time f-1; I = diag (1, 1..., 1) is the identity matrix; R f is the covariance matrix of the measurement noise; is the gain matrix K f The transpose of .
[0173] The default state variable estimation formula is:
[0174]
[0175] in, is the estimated value of the Kalman filter state quantity; is the estimated state vector from time f-1 to time f, which is the state variable X estimated by the Kalman filter f The state variable is the three-dimensional position change corresponding to the mobile phone positioning data, and X is set f =[Δx, Δy, Δz]; K f is the gain matrix; Z f is the measurement matrix, set to Z f =z g -z p , z g is the altitude data in the global navigation satellite system data; p H is the altitude data in the barometric altimeter data; f is the measurement matrix, set its expression to [0,0,1] T .
[0176] The barometric altimeter data and the global navigation satellite system data are input into the preset Kalman filter model for state variable estimation to obtain the estimated state vector. Then the gain matrix, measurement matrix, measurement matrix and estimated state vector corresponding to the estimated state vector are substituted into the preset state variable estimation formula to calculate the estimated value of the Kalman filter state quantity. Then, the height data zg in the global navigation satellite system data in the GNSS three-dimensional position is subtracted from the estimated value of the Kalman filter state quantity. Finally, the fused positioning result (x, y, z) is obtained. That is, the initial height data in the Kalman filter state estimation value is subtracted from the height data in the global navigation satellite system data to generate the target height data. The target height data is used to update the coordinate data corresponding to the Kalman filter state estimation value to generate the first three-dimensional positioning data corresponding to the smartphone.
[0177] In an embodiment of the present invention, a data fusion algorithm of two types of sensors, the global navigation satellite system (GNSS) and the barometric altimeter (PS), is combined to improve the accuracy and robustness of the smart phone to obtain global position information. The above data fusion strategy can be extended from satellite navigation + barometric altimeter to the fusion mode of multiple sensors such as satellite navigation + inertial navigation + barometric altimeter, satellite navigation + inertial navigation + visual navigation + barometric altimeter. Inertial navigation system (INS) related variables, such as position error, speed error, etc., are added to the state variables, and then Kalman filtering is performed to estimate these errors and obtain the precise position, thereby realizing the data loose combination strategy of satellite navigation + inertial navigation + barometric altimeter. The position error, speed error, etc. of the visual navigation system are added to the state variables, thereby realizing the data loose combination strategy of satellite navigation + inertial navigation + visual navigation + barometric altimeter.
[0178] See also Figure 3 , Figure 3 This is a structural block diagram of a smart phone positioning system provided in Embodiment 3 of the present invention.
[0179] A smart phone positioning system provided in Example 3 of the present invention includes:
[0180] The average value generating module 301 is used to obtain the global navigation satellite system data and the barometric altimeter data collected by the smart phone, and calculate the carrier-to-noise ratio average value and the pseudo-range multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudo-range multipath error average value.
[0181] The scene type determination module 302 is used to perform environmental scene recognition according to the average value of the carrier-to-noise ratio and the average value of the pseudo-range multipath error to determine the scene type.
[0182] The first positioning data generating module 303 is used to, when the scene type is a severe multipath scene, use the barometric altimeter data and the global navigation satellite system data to perform data fusion positioning according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone.
[0183] The second positioning data generating module 304 is used to perform data fusion positioning based on the average carrier-to-noise ratio, the average pseudorange multipath error, the barometric altimeter data and the global navigation satellite system data to generate second positioning data corresponding to the smart phone when the scene type is an open environment scene.
[0184] Optionally, the global navigation satellite system data includes multiple satellite signal wavelengths, multiple ionospheric errors, multiple satellite signal powers, multiple bilateral noise power spectrum densities, multiple pseudorange values, multiple carrier phase values, and multiple carrier phase ambiguities. The average value generation module 301 may perform the following steps:
[0185] The ratios between the satellite signal power and the corresponding bilateral noise power spectrum density are calculated respectively to generate multiple carrier-to-noise ratios;
[0186] Calculate the sum of all carrier-to-noise ratios to generate a carrier-to-noise ratio sum value;
[0187] Calculate the ratio between the carrier-to-noise ratio sum value and the corresponding carrier-to-noise ratio quantity to generate a carrier-to-noise ratio average value;
[0188] Substituting the satellite signal wavelength, ionospheric error, pseudorange value, carrier phase value and carrier phase ambiguity into the preset pseudorange multipath error expression for calculation, thereby generating multiple pseudorange multipath errors;
[0189] The preset pseudorange multipath error expression is:
[0190] mp=ρ-Φ·λ-2I+N i λ;
[0191] Where mp is the pseudorange multipath error; ρ is the pseudorange value observed by the smartphone; Φ is the carrier phase value observed by the smartphone; λ is the wavelength of the satellite signal; I is the ionospheric error; N i is the carrier phase ambiguity;
[0192] Calculate the sum of all pseudo-range multipath errors to generate a pseudo-range multipath error sum value;
[0193] The ratio between the pseudorange multipath error sum value and the corresponding error number is calculated to generate a pseudorange multipath error average value.
[0194] Optionally, the scene type determination module 302 may perform the following steps:
[0195] When the average value of the carrier-to-noise ratio is less than the first preset value, and the average value of the pseudorange multipath error is greater than the second preset value, the scene type is a severe multipath scene;
[0196] When the average value of the carrier-to-noise ratio is greater than or equal to the first preset value, and the average value of the pseudorange multipath error is less than the second preset value, the scene type is an open environment scene.
[0197] Optionally, the first positioning data generating module 303 includes:
[0198] The quaternary nonlinear equation construction module is used to construct a quaternary nonlinear equation when the scene type is a severe multipath scene, using the satellite 3D position, smartphone 3D position, pseudorange observation correction value and smartphone clock error in the global navigation satellite system data.
[0199] The linearized positioning matrix equation generation module is used to linearize the quaternary nonlinear equation and generate the linearized positioning matrix equation.
[0200] The first positioning data generating submodule is used to iteratively solve the linearized positioning matrix equation using the Newton iteration method to determine the first positioning data corresponding to the smart phone.
[0201] Optionally, the first positioning data generating submodule may perform the following steps:
[0202] The preset update formula is used to update the initial smartphone position coordinates and initial clock difference values corresponding to the positioning equation, and the intermediate smartphone position coordinates and intermediate clock difference values are generated and the number of iterations is counted;
[0203] The default update formula is:
[0204]
[0205] δt u,k =δt u,k-1 +Δδt u ;
[0206] Among them, S k S is the updated location coordinates of the smartphone at the kth iteration; k-1 is the updated position coordinate of the smartphone after the k-1th iteration; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation; δt u,k is the estimated clock error of the smartphone at the kth iteration; δt u,k-1 Δδt is the estimated clock error of the smartphone at the k-1th iteration; u is the estimated change in the smartphone clock error;
[0207] When the number of iterations is less than or equal to the preset number of iterations, the intermediate smartphone position coordinates and the intermediate clock difference value are substituted into the preset accuracy calculation formula to generate an accuracy value;
[0208] The preset accuracy calculation formula is:
[0209]
[0210] Where A is the accuracy value; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation, and the symbol ||·|| represents the two-norm function; Δδt uis the estimated change in the smartphone clock error;
[0211] When the accuracy value is less than the preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the target smartphone position coordinates and the target clock difference value;
[0212] The height change in the barometric altimeter data, the position coordinates of the target smartphone, and the target clock difference value are coupled to a preset positioning equation to perform a least squares solution to obtain first positioning data corresponding to the smartphone;
[0213] The preset positioning equation is:
[0214]
[0215]
[0216]
[0217] Among them, (φ, λ, h) are the coordinates of the geodetic coordinate system, which correspond to the coordinates of the Earth-centered Earth-fixed coordinate system (x, y, z); h is the third coordinate dimension of the geodetic coordinate system, called the geodetic height; φ is the geodetic latitude; λ is the geodetic longitude; Δδt u is the estimated change in the smartphone clock error; Δh p is the height change; R is the radius of curvature of the ellipse of the reference ellipsoid; e is the eccentricity of the sphere; a is the major radius of the reference sphere; d is the minor radius; p is the intermediate variable;
[0218] When the accuracy value is greater than the preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the new initial smartphone position coordinates and the new initial clock difference value, and the execution is jumped to the step of using the preset update formula to update the initial smartphone position coordinates and the initial clock difference value corresponding to the positioning equation, generating the intermediate smartphone position coordinates and the intermediate clock difference value and counting the number of iterations.
[0219] Optionally, the second positioning data generating module 304 includes:
[0220] The first three-dimensional positioning data generating module is used to perform data fusion positioning using barometric altimeter data and global navigation satellite system data according to a loose combination fusion strategy when the average value of the pseudorange multipath error is less than a third preset value and the average value of the carrier-to-noise ratio is greater than or equal to a fourth preset value, so as to generate the first three-dimensional positioning data corresponding to the smart phone.
[0221] The second three-dimensional positioning data generating module is used to perform data fusion positioning using barometric altimeter data and global navigation satellite system data according to a tight combination fusion strategy when the average value of the pseudorange multipath error is within a first preset interval and the average value of the carrier-to-noise ratio is within a second preset interval, so as to generate second three-dimensional positioning data corresponding to the smart phone.
[0222] Optionally, the first three-dimensional positioning data generating module may perform the following steps:
[0223] Inputting the barometric altimeter data and the global navigation satellite system data into a preset Kalman filter model to estimate state variables and generate an estimated state vector;
[0224] Substituting the gain matrix, measurement matrix, measurement matrix and estimated state vector corresponding to the estimated state vector into the preset state variable estimation formula to calculate the estimated value of the Kalman filter state quantity;
[0225] The default state variable estimation formula is:
[0226]
[0227] in, is the estimated value of the Kalman filter state quantity; is the estimated state vector from time f-1 to time f; K f is the gain matrix; Z f is the measurement matrix; H f is the measurement matrix, set its expression to [0,0,1] T ;
[0228] Subtracting the initial height data in the Kalman filter state quantity estimation value from the height data in the global navigation satellite system data to generate target height data;
[0229] The target height data is used to update the coordinate data corresponding to the Kalman filter state quantity estimation value to generate the first three-dimensional positioning data corresponding to the smart phone.
[0230] See also Figure 4 , Figure 4 This is a structural block diagram of an electronic device provided in Embodiment 3 of the present invention.
[0231] An electronic device according to an embodiment of the present invention includes: a memory 401 and a processor 402, wherein the memory 401 stores a computer program; when the computer program is executed by the processor 402, the processor 402 executes a smart phone positioning method according to any of the above embodiments.
[0232] The memory 401 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk or a ROM. The memory 401 has a storage space 403 for a program code 413 for executing any method step in the above method. For example, the storage space 403 for the program code may include individual program codes 413 for implementing the various steps in the above method, respectively. These program codes may be read from or written to one or more computer program products. These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card or a floppy disk. The program code may be compressed, for example, in an appropriate form. When these codes are run by a computing processing device, the computing processing device performs the various steps in the above-described smart phone positioning method.
[0233] An embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the method for positioning a smart phone according to any of the above embodiments is implemented.
[0234] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0235] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0236] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0237] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0238] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0239] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A smart phone positioning method, characterized in that: include: Acquire global navigation satellite system data and barometric altimeter data collected by the smart phone, and calculate the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value; Perform environmental scene recognition according to the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error to determine the scene type; When the scene type is a severe multipath scene, performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone; When the scene type is an open environment scene, data fusion positioning is performed based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data and the global navigation satellite system data to generate second positioning data corresponding to the smart phone.
2. The smart phone positioning method according to claim 1, characterized in that: The global navigation satellite system data includes multiple satellite signal wavelengths, multiple ionospheric errors, multiple satellite signal powers, multiple bilateral noise power spectrum densities, multiple pseudorange values, multiple carrier phase values, and multiple carrier phase ambiguities; the steps of respectively calculating the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value include: respectively calculating the ratios between the satellite signal power and the corresponding bilateral noise power spectrum density to generate a plurality of carrier-to-noise ratios; Calculating the sum of all the carrier-to-noise ratios to generate a carrier-to-noise ratio sum value; Calculating a ratio between the carrier-to-noise ratio sum value and a corresponding carrier-to-noise ratio quantity to generate a carrier-to-noise ratio average value; Substituting the satellite signal wavelength, the ionospheric error, the pseudorange value, the carrier phase value and the carrier phase ambiguity into a preset pseudorange multipath error expression for calculation, respectively, to generate a plurality of pseudorange multipath errors; The preset pseudorange multipath error expression is: mp=ρ-Φ·λ-2I+N i l; Where mp is the pseudorange multipath error; ρ is the pseudorange value observed by the smartphone; Φ is the carrier phase value observed by the smartphone; λ is the wavelength of the satellite signal; I is the ionospheric error; N i is the carrier phase ambiguity; Calculating the sum of all the pseudorange multipath errors to generate a pseudorange multipath error sum value; The ratio between the pseudorange multipath error sum value and the corresponding error quantity is calculated to generate a pseudorange multipath error average value.
3. The smart phone positioning method according to claim 1, characterized in that: The step of performing environmental scene recognition according to the carrier-to-noise ratio average value and the pseudorange multipath error average value to determine the scene type comprises: When the carrier-to-noise ratio average value is less than a first preset value, and the pseudorange multipath error average value is greater than a second preset value, the scenario type is a severe multipath scenario; When the average value of the carrier-to-noise ratio is greater than or equal to the first preset value, and the average value of the pseudorange multipath error is less than the second preset value, the scene type is an open environment scene.
4. The method for locating a smart phone according to claim 1, characterized in that: When the scene type is a severe multipath scene, the step of performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone includes: When the scenario type is a severe multipath scenario, a quaternary nonlinear equation is constructed using the satellite three-dimensional position, the smartphone three-dimensional position, the pseudorange observation correction value and the smartphone clock error in the global navigation satellite system data; Linearizing the quaternary nonlinear equation to generate a linearized positioning matrix equation; The linearized positioning matrix equation is iteratively solved using the Newton iteration method to determine the first positioning data corresponding to the smart phone.
5. The smart phone positioning method according to claim 4, characterized in that: The step of iteratively solving the linearized positioning matrix equation using the Newton iteration method to determine the first positioning data corresponding to the smart phone includes: Using a preset update formula to update the initial smartphone position coordinates and initial clock difference values corresponding to the positioning equation, generate intermediate smartphone position coordinates and intermediate clock difference values and count the number of iterations; The preset update formula is: δt u,k =δt u,k-1 +Δδt u ; Among them, S k S is the updated location coordinates of the smartphone at the kth iteration; k-1 is the updated position coordinate of the smartphone after the k-1th iteration; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation; δt u,k is the estimated clock error of the smartphone at the kth iteration; δt u,k-1 Δδt is the estimated clock error of the smartphone at the k-1th iteration; u is the estimated change in the smartphone clock error; When the number of iterations is less than or equal to a preset number of iterations, substituting the intermediate smartphone position coordinates and the intermediate clock difference value into a preset accuracy calculation formula to generate an accuracy value; The preset accuracy calculation formula is: Where A is the accuracy value; ΔS = [Δx, Δy, Δz] represents the three-dimensional position change in the solution of the positioning equation, and the symbol ||·|| represents the two-norm function; Δδt u is the estimated change in the smartphone clock error; When the accuracy value is less than a preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as the target smartphone position coordinates and the target clock difference value; The height change in the barometric altimeter data, the position coordinates of the target smartphone, and the target clock difference value are coupled to a preset positioning equation for least squares solution to obtain first positioning data corresponding to the smartphone; The preset positioning equation is: Among them, (φ, λ, h) are the coordinates of the geodetic coordinate system, which correspond to the coordinates of the Earth-centered Earth-fixed coordinate system (x, y, z); h is the third coordinate dimension of the geodetic coordinate system, called the geodetic height; φ is the geodetic latitude; λ is the geodetic longitude; Δδt u is the estimated change in the smartphone clock error; Δh p is the height change; R is the radius of curvature of the ellipse of the reference ellipsoid; e is the eccentricity of the sphere; a is the major radius of the reference sphere; d is the minor radius; p is the intermediate variable; When the accuracy value is greater than a preset threshold value, the intermediate smartphone position coordinates and the intermediate clock difference value are used as new initial smartphone position coordinates and new initial clock difference value, and the step of using a preset update formula to update the initial smartphone position coordinates and initial clock difference value corresponding to the positioning equation is jumped to execute, generating intermediate smartphone position coordinates and intermediate clock difference value and counting the number of iterations.
6. The method for locating a smart phone according to claim 1, characterized in that: The step of performing data fusion positioning based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data, and the global navigation satellite system data to generate second positioning data corresponding to the smart phone includes: When the average value of the pseudorange multipath error is less than a third preset value, and the average value of the carrier-to-noise ratio is greater than or equal to a fourth preset value, performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to a loose combination fusion strategy to generate first three-dimensional positioning data corresponding to the smart phone; When the average value of the pseudorange multipath error is within a first preset interval and the average value of the carrier-to-noise ratio is within a second preset interval, the barometric altimeter data and the global navigation satellite system data are used for data fusion positioning according to the tight combination fusion strategy to generate second three-dimensional positioning data corresponding to the smart phone.
7. The smart phone positioning method according to claim 6, characterized in that: The step of performing data fusion positioning using the barometric altimeter data and the global navigation satellite system data according to the loose combination fusion strategy to generate first three-dimensional positioning data corresponding to the smart phone includes: Inputting the barometric altimeter data and the global navigation satellite system data into a preset Kalman filter model to perform state variable estimation to generate an estimated state vector; Substituting the gain matrix, measurement matrix, measurement matrix and the estimated state vector corresponding to the estimated state vector into a preset state variable estimation formula to calculate a Kalman filter state quantity estimation value; The preset state variable estimation formula is: in, is the estimated value of the Kalman filter state quantity; is the estimated state vector from time f-1 to time f; K f is the gain matrix; Z f is the measurement matrix; H f is the measurement matrix, set its expression to [0,0,1] T ; Subtracting the initial height data in the Kalman filter state quantity estimation value from the height data in the global navigation satellite system data to generate target height data; The target height data is used to update the coordinate data corresponding to the Kalman filter state quantity estimation value to generate first three-dimensional positioning data corresponding to the smart phone.
8. A smart phone positioning system, characterized in that: include: An average value generation module is used to obtain global navigation satellite system data and barometric altimeter data collected by the smart phone, and calculate the carrier-to-noise ratio average value and the pseudorange multipath error average value based on the global navigation satellite system data to generate the carrier-to-noise ratio average value and the pseudorange multipath error average value; A scene type determination module, used to identify the environment scene according to the average value of the carrier-to-noise ratio and the average value of the pseudorange multipath error, and determine the scene type; A first positioning data generating module is used for, when the scene type is a multipath severe scene, using the barometric altimeter data and the global navigation satellite system data to perform data fusion positioning according to a tight combination fusion strategy to generate first positioning data corresponding to the smart phone; The second positioning data generating module is used to perform data fusion positioning based on the carrier-to-noise ratio average value, the pseudorange multipath error average value, the barometric altimeter data and the global navigation satellite system data when the scene type is an open environment scene, so as to generate second positioning data corresponding to the smart phone.
9. An electronic device, characterized in that: It comprises a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of the smart phone positioning method as described in any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed, the smart phone positioning method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Positioning method for suppressing urban canyon multipath satellite signals and positioning system thereof
CN107064974A
Multi-source combined navigation positioning method in complex environment
CN114545475A
Terminal positioning method and related device
CN114779297A
Reading stand which is adjustable to eye-level
KR102585923B1
Positioning method
US20090322607A1