A positioning method and device of a mobile device, an electronic device, and a storage medium

CN120214852BActive Publication Date: 2026-09-08SILICON RUI TECH (JIANGSU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510370216.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-27
Publication Date
2026-09-08
Estimated Expiration
2045-03-27

AI Technical Summary

Technical Problem

[0003]然而,在城市或森林等复杂环境中,由于建筑物和高大树木的遮挡,移动设备接收到的直射信号会大幅度减弱

Benefits of technology

[0050] This application provides a positioning method, apparatus, electronic device, and storage medium for a mobile device. First, the position, velocity, and positioning data of the target mobile device are calculated. Then, effective and available satellites are selected based on the position residual and velocity residual. The estimated position of the target mobile device is further calculated using the available satellite data. The carrier phase floating-point solution and double-difference ambiguity of each available satellite are calculated. Finally, the high-precision target position of the target mobile device is determined by the carrier phase floating-point solution of the target positioning satellite.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120214852B_ABST
    Figure CN120214852B_ABST
Patent Text Reader

Abstract

The application provides a positioning method and device of a mobile device, an electronic device and a storage medium, including: determining a position residual corresponding to each target satellite, and determining a target satellite whose position residual satisfies a preset condition as an effective satellite; determining a speed residual corresponding to each effective satellite, and determining an effective satellite whose speed residual satisfies a preset condition as an available satellite; determining an estimated position of a target mobile device based on position data of the target mobile device and a plurality of available satellites; determining a carrier phase float solution and double-difference ambiguity corresponding to each available satellite based on the estimated position of the target mobile device and positioning data of the target mobile device; determining a plurality of target positioning satellites by using the double-difference ambiguity corresponding to each available satellite; and determining a target position of the target mobile device by using the carrier phase float solution corresponding to each target positioning satellite. The technical solution provided by the application effectively improves the positioning accuracy and positioning speed in a complex environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of navigation technology, and in particular to a positioning method, apparatus, electronic device, and storage medium for a mobile device. Background Technology

[0002] Real-time dynamic differential positioning (RTK) technology has been widely used in disaster monitoring, autonomous driving, and other fields since the completion of my country's BeiDou system. RTK technology achieves high-precision positioning by receiving signals from multiple satellites and using differential algorithms. In open environments, RTK technology can meet users' positioning needs.

[0003] However, in complex environments such as cities or forests, the direct signal received by mobile devices is significantly weakened due to the obstruction of buildings and tall trees. Simultaneously, mobile devices are also susceptible to interference from indirect signals, and their poor multipath propagation capabilities lead to a decline in positioning performance. Summary of the Invention

[0004] In view of this, embodiments of this application provide a positioning method, apparatus, electronic device, and storage medium for mobile devices, which effectively improves positioning accuracy and speed in complex environments.

[0005] This application mainly includes the following aspects:

[0006] In a first aspect, embodiments of this application provide a positioning method for a mobile device, the positioning method comprising:

[0007] Based on navigation data received by the target mobile device from multiple target satellites, determine the target mobile device's position data, velocity data, and positioning data;

[0008] Based on the location data of the target mobile device, the position residual corresponding to each target satellite is determined, and the target satellite whose position residual meets the preset conditions is determined as a valid satellite;

[0009] Based on the velocity data of the target mobile device, the velocity residual corresponding to each effective satellite is determined, and the effective satellites whose velocity residuals meet the preset conditions are identified as usable satellites;

[0010] Based on location data from multiple available satellites and the target mobile device, the estimated location of the target mobile device is determined;

[0011] Based on the estimated location of the target mobile device and the positioning data of the target mobile device, determine the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite;

[0012] By utilizing the double-difference ambiguity corresponding to each available satellite, multiple target positioning satellites can be identified;

[0013] The target location of the target mobile device is determined by using the floating-point solution of the carrier phase corresponding to each target positioning satellite.

[0014] Furthermore, determining the position residual corresponding to each target satellite based on the location data of the target mobile device includes:

[0015] The location data of the target mobile device is input into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model.

[0016] Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite;

[0017] Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device;

[0018] The position residual for each target satellite is obtained by subtracting the predicted distance of the target mobile device corresponding to each target satellite from the pseudorange observation value corresponding to each target satellite.

[0019] Furthermore, the step of determining the velocity residual corresponding to each valid satellite based on the velocity data of the target mobile device, and identifying valid satellites whose velocity residuals meet preset conditions as usable satellites, includes:

[0020] Determine the velocity observation value corresponding to each valid satellite from the velocity data of the target mobile device;

[0021] If the sampling rate of the target mobile device is less than or equal to a preset sampling rate threshold, the speed data of the target mobile device is input into the first speed estimation model to obtain the predicted speed of the target mobile device output by the first speed estimation model; for each valid satellite, the difference between the predicted speed of the target mobile device and the speed observation value corresponding to the valid satellite is determined as the first speed residual corresponding to the valid satellite; valid satellites whose first speed residual is less than the first preset speed residual are determined as valid satellites that meet the preset conditions, and the valid satellites are determined as usable satellites;

[0022] If the sampling rate of the target mobile device is greater than the preset sampling rate threshold, the velocity data of the target mobile device is input into the second velocity estimation model to obtain the average velocity of the target mobile device between the current epoch and the previous epoch. For each valid satellite, the difference between the average velocity of the target mobile device between the current epoch and the previous epoch and the velocity observation value corresponding to the valid satellite is determined as the second velocity residual corresponding to the valid satellite. Valid satellites whose second velocity residual is less than the second preset velocity residual are determined as valid satellites that meet the preset conditions and are determined as usable satellites.

[0023] Furthermore, determining the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite based on the estimated location of the target mobile device and the positioning data of the target mobile device includes:

[0024] If the sampling rate of the target mobile device is lower than or equal to the preset sampling rate threshold, the predicted speed of the target mobile device will be determined as the virtual speed observation.

[0025] If the sampling rate of the target mobile device is higher than the preset sampling rate threshold, the variance of the average speed of the target mobile device between the current epoch and the previous epoch is weighted and averaged with the variance of the predicted speed of the target mobile device to obtain the weighted speed of the target mobile device, and the weighted speed of the target mobile device is determined as the virtual speed observation.

[0026] The estimated position, virtual velocity observation, and positioning data of the target mobile device are input into the positioning model to obtain the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite output by the positioning model.

[0027] Furthermore, by utilizing the double-difference ambiguity corresponding to each available satellite, multiple target positioning satellites are identified, including:

[0028] For each available satellite, search for it in the historical target satellite set of the previous epoch. If the available satellite is not in the historical target satellite set, then the available satellite is identified as a newly appeared satellite.

[0029] If the number of available satellites is greater than the preset number of satellites, newly appearing satellites with double-difference ambiguity greater than the preset double-difference ambiguity threshold will be removed from the multiple available satellites to obtain multiple target positioning satellites;

[0030] If the number of available satellites is less than or equal to the preset number of satellites, then each available satellite will be designated as the target positioning satellite.

[0031] Furthermore, determining the target location of the target mobile device using the carrier phase floating-point solution corresponding to each target positioning satellite includes:

[0032] Multiple target positioning satellites are combined to form a target positioning satellite set;

[0033] The ambiguity of the carrier phase floating-point solution corresponding to each target positioning satellite in the target positioning satellite set is fixed to obtain the integer ambiguity corresponding to each target positioning satellite;

[0034] The integer ambiguity corresponding to each target positioning satellite is input into the positioning model to obtain the target position of the target mobile device output by the positioning model.

[0035] Secondly, embodiments of this application also provide a positioning device for a mobile device, the device comprising:

[0036] The data processing module determines the target mobile device's position, speed, and location data based on navigation data received from multiple target satellites.

[0037] The position residual calculation module determines the position residual corresponding to each target satellite based on the position data of the target mobile device, and identifies the target satellite whose position residual meets the preset conditions as a valid satellite;

[0038] The velocity residual calculation module determines the velocity residual corresponding to each valid satellite based on the velocity data of the target mobile device, and identifies valid satellites whose velocity residuals meet preset conditions as usable satellites.

[0039] The estimated location determination module determines the estimated location of the target mobile device based on location data from multiple available satellites and the target mobile device.

[0040] The floating-point solution and double-difference ambiguity determination module determines the carrier phase floating-point solution and double-difference ambiguity for each available satellite based on the estimated position and positioning data of the target mobile device.

[0041] The target positioning satellite determination module uses the double-difference ambiguity corresponding to each available satellite to determine multiple target positioning satellites;

[0042] The target location determination module uses the carrier phase floating-point solution corresponding to each target positioning satellite to determine the target location of the target mobile device.

[0043] Furthermore, when determining the position residual corresponding to each target satellite based on the position data of the target mobile device, the position residual calculation module is specifically used for:

[0044] The location data of the target mobile device is input into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model.

[0045] Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite;

[0046] Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device;

[0047] The position residual for each target satellite is obtained by subtracting the predicted distance of the target mobile device corresponding to each target satellite from the pseudorange observation value corresponding to each target satellite.

[0048] Thirdly, embodiments of this application also provide an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory through the bus. The machine-readable instructions are executed by the processor to perform the steps of the positioning method of the mobile device described in the first aspect or any possible implementation of the first aspect.

[0049] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the positioning steps of the mobile device as described in the first aspect or any possible implementation of the first aspect.

[0050] This application provides a positioning method, apparatus, electronic device, and storage medium for a mobile device. First, the position, velocity, and positioning data of the target mobile device are calculated. Then, effective and available satellites are selected based on the position residual and velocity residual. The estimated position of the target mobile device is further calculated using the available satellite data. The carrier phase floating-point solution and double-difference ambiguity of each available satellite are calculated. Finally, the high-precision target position of the target mobile device is determined by the carrier phase floating-point solution of the target positioning satellite.

[0051] This effectively improves positioning accuracy and speed in complex environments.

[0052] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0053] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0054] Figure 1 A flowchart of one of the positioning methods for a mobile device provided in an embodiment of this application is shown;

[0055] Figure 2 A second flowchart of a positioning method for a mobile device provided in an embodiment of this application is shown;

[0056] Figure 3 A flowchart of a mobile device positioning method provided in an embodiment of this application is shown as third;

[0057] Figure 4 A flowchart of a positioning method for a mobile device provided in an embodiment of this application is shown as fourth;

[0058] Figure 5 The fifth flowchart illustrates a positioning method for a mobile device provided in an embodiment of this application;

[0059] Figure 6 A schematic diagram of the structure of a positioning device for a mobile device provided in an embodiment of this application is shown;

[0060] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.

[0062] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0063] The methods, apparatus, electronic devices, or computer-readable storage media described in this application can be applied to any scenario requiring mobile device positioning. This application does not limit specific application scenarios, and any scheme using the mobile device positioning method and apparatus provided in this application is within the protection scope of this application.

[0064] It is worth noting that Real-time Dynamic Differential Positioning (RTK) technology has been widely used in disaster monitoring, autonomous driving, and other fields since the completion of my country's BeiDou system. RTK technology achieves high-precision positioning by receiving signals from multiple satellites and using differential algorithms. In open environments, RTK technology can meet users' positioning needs. However, in complex environments such as cities or forests, the direct signal received by mobile devices is significantly weakened due to the obstruction of buildings and tall trees. At the same time, mobile devices are also subject to interference from non-direct signals (NLOS). Because mobile devices themselves have poor multipath resistance, positioning performance deteriorates.

[0065] To address the aforementioned issues, this application proposes a positioning method, apparatus, electronic device, and storage medium for mobile devices, which effectively improves positioning accuracy and speed in complex environments.

[0066] To facilitate understanding of this application, the technical solutions provided in this application will be described in detail below with reference to specific embodiments.

[0067] Please see Figure 1 , Figure 1 This is one of the flowcharts for a mobile device positioning method provided in an embodiment of this application.

[0068] In this application, mobile devices include vehicles, mobile phones, ships, aircraft, and spacecraft, etc. These mobile devices have satellite navigation receivers that are used to receive navigation data from multiple target satellites.

[0069] like Figure 1 As shown in the figure, the positioning method for a mobile device provided in this application embodiment includes the following steps:

[0070] Step S101: Based on the navigation data received by the target mobile device from multiple target satellites, determine the position data, speed data, and positioning data of the target mobile device.

[0071] Here, navigation data includes Global Navigation Satellite System (GNSS) observation data and navigation messages. GNSS observation data includes pseudorange observations between the receiver and satellites, carrier phase, and Doppler shift. Navigation messages include ephemeris data, almanac data, and time information. The target mobile device's position data is data related to its location. The target mobile device's speed data is data related to its speed. The target mobile device's positioning data is data related to its precise positioning.

[0072] In this step, by processing the navigation data received by the target mobile device from multiple target satellites, the target mobile device's position data, velocity data, and positioning data can be obtained. The target mobile device's position data may include at least one of the following: pseudorange observations from the mobile device to the satellite, satellite coordinates, and satellite clock bias. The target mobile device's velocity data may include at least one of the following: satellite-to-ground distance change, wavelength of the frequency point, Doppler shift, satellite clock speed, ionospheric variation, tropospheric variation, random error variation, direction cosine array between the mobile device and the satellite, satellite position change in the x, y, and z directions, satellite clock bias variation, the difference between carrier differential velocimetry observations and the distance change between the mobile device and the satellite, satellite coordinate vector, and ambiguity difference. The target mobile device's positioning data may include at least one of the following: carrier double-difference observations, pseudorange double-difference observations, pseudorange observations, satellite-to-ground distance, tropospheric error, ionospheric error, carrier observations, wavelength of the frequency point, residual error term, and direction cosine array between the mobile device and the satellite.

[0073] Step S102: Based on the location data of the target mobile device, determine the position residual corresponding to each target satellite, and determine the target satellite whose position residual meets the preset conditions as a valid satellite.

[0074] Here, the residual is the difference between the observed value and the predicted value. In this step, the condition of non-maximum position residual is used as a preset condition; that is, target satellites with non-maximum position residual are retained as valid satellites, while target satellites with maximum position residual are eliminated.

[0075] The following will combine Figure 2 This will illustrate how to determine the position residual for each target satellite based on the position data of the target mobile device.

[0076] Please see Figure 2 , Figure 2 This is a second flowchart of a mobile device positioning method provided in an embodiment of this application.

[0077] like Figure 2 As shown, regarding step S102, determining the position residual corresponding to each target satellite based on the position data of the target mobile device, in a specific implementation, as an example, may include the following steps:

[0078] Step S1021: Input the location data of the target mobile device into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model.

[0079] Here, a positioning observation model is constructed based on the location data of the target mobile device. As an example, the positioning observation model can be represented by formula (1).

[0080]

[0081] in, Let X be the pseudorange observation from mobile device k to satellite s. s ,Y s Z s Let (X) be the coordinates of satellite s. k ,Y k Z k Let dt be the coordinates of the mobile device k, C be the speed of light, and dt be the coordinates of the mobile device k. k Let dt be the clock difference of the mobile device k. s Let be the clock bias of satellite s.

[0082] Substituting the location data of the target mobile device into formula (1), assuming the target mobile device receives navigation data from h target satellites, there are h equations forming a system of equations. Using the least squares or Kalman filtering algorithm for positioning calculation, the coordinates of the mobile device k can be obtained, which is the predicted position of the target mobile device. Here, the coordinates of the mobile device k can only be obtained when the target mobile device receives navigation data from four or more target satellites.

[0083] Step S1022: Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite.

[0084] By substituting the predicted location of the target mobile device into the equations, the predicted distance of the target mobile device corresponding to each target satellite can be obtained.

[0085] Step S1023: Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device.

[0086] Here, pseudorange observations for each target satellite are extracted from the location data of the target mobile device.

[0087] Step S1024: The difference between the predicted distance of the target mobile device corresponding to each target satellite and the pseudorange observation value corresponding to each target satellite is calculated to obtain the position residual corresponding to each target satellite.

[0088] See again Figure 1 In step S103, based on the speed data of the target mobile device, the speed residual corresponding to each valid satellite is determined, and the valid satellites whose speed residuals meet the preset conditions are determined as usable satellites.

[0089] Here, valid satellites whose velocity residuals do not meet the preset conditions are eliminated.

[0090] If there are enough valid satellites (e.g., 30), they are sorted in descending order according to the size of the residual value, and satellites with larger residuals are removed one by one until the number of valid remaining satellites reaches the preset empirical threshold. As an example, the preset empirical threshold is 25. Other empirical values ​​can also be set here, and there is no restriction.

[0091] The following will combine Figure 3 This explains how to determine the velocity residual for each valid satellite based on the velocity data of the target mobile device.

[0092] Please see Figure 3 , Figure 3 This is a third flowchart of a mobile device positioning method provided in an embodiment of this application.

[0093] like Figure 3 As shown, regarding step S103, determining the velocity residual corresponding to each valid satellite based on the velocity data of the target mobile device, in a specific implementation, as an example, may include the following steps:

[0094] Step S1031: Determine the velocity observation value corresponding to each valid satellite from the velocity data of the target mobile device.

[0095] Here, the change in satellite-to-ground distance between the mobile device and the effective satellites is extracted from the velocity data of the target mobile device. The change in satellite-to-ground distance between the mobile device and the effective satellites is divided by the time interval between the current epoch and the previous epoch to obtain the velocity observation value corresponding to each effective satellite.

[0096] Step S1032: If the sampling rate of the target mobile device is less than or equal to the preset sampling rate threshold, the speed data of the target mobile device is input into the first speed estimation model to obtain the predicted speed of the target mobile device output by the first speed estimation model.

[0097] Here, as an example, the preset sampling rate threshold is 5 Hz.

[0098] Here, a first velocity estimation model is constructed based on the velocity data of the target mobile device. As an example, the first velocity estimation model can be represented by formula (2).

[0099]

[0100] λ represents the change in satellite-to-ground distance, i.e., the change in distance between the mobile device k and the satellite s, and λ represents the wavelength of the frequency point. In this application, the frequency points include: L1 frequency point, L2 frequency point, and L5 frequency point. k s This is the Doppler frequency shift, which is the frequency shift caused by the relative motion between the mobile device k and the satellite s; Let k be the clock speed of the mobile device. Let s be the clock speed of satellite s. The change in the ionosphere, This represents the tropospheric variation. This represents the change in random error. Let be the change in distance between mobile device k and satellite s at time t. Here, the changes in the ionosphere and troposphere are the changes between epochs. When the epoch interval is short, the changes in the ionosphere and troposphere are approximately 0. Therefore, in this application, the changes in the ionosphere and troposphere are both set to 0. As an example, the epoch interval can be within 1 second. In this application, the change in random error is set to 0. As an example, the change in distance between mobile device k and satellite s at time t can be calculated using formula (3).

[0101]

[0102] in, Let k be the direction cosine matrix between mobile device k and satellite s at time t. These represent the changes in position of satellite s in the x, y, and z directions at time t, i.e., the satellite's velocity. Let x, y, and z be the changes in position of mobile device k in the x, y, and z directions at time t, respectively, which are the speeds of mobile device k.

[0103] Substitute the speed data of the target mobile device into formulas (2) and (3) to... After correcting for Earth's rotation, the least squares method can be used to calculate the position changes of the mobile device in the x, y, and z directions at time t, which is the predicted speed of the target mobile device.

[0104] Step S1033: For each valid satellite, the difference between the predicted velocity of the target mobile device and the velocity observation value corresponding to the valid satellite is determined as the first velocity residual corresponding to the valid satellite.

[0105] Step S1034: Determine the effective satellite whose first velocity residual is less than the first preset velocity residual as an effective satellite that meets the preset conditions, and determine the effective satellite as an available satellite.

[0106] Step S1035: If the sampling rate of the target mobile device is greater than the preset sampling rate threshold, the speed data of the target mobile device is input into the second speed estimation model to obtain the average speed of the target mobile device between the current epoch and the previous epoch.

[0107] Here, a second velocity estimation model is constructed based on the velocity data of the target mobile device. As an example, the second velocity estimation model can be represented by Equation (4).

[0108]

[0109] Where v is the speed of the mobile device k, Δδt k Let k be the change in clock bias of the mobile device, and l be the difference between the carrier differential velocity measurement observation and the change in distance between the mobile device k and the satellite s. Let r be the direction cosine matrix between mobile device k and satellite s, and r be the coordinate vector of mobile device k; Δr is the change in coordinates of mobile device k. R represents the difference in ambiguity. s Let be the coordinate vector of satellite s, t1 be time t1, t2 be time t2, and Δδt be the coordinate vector of satellite s. s denoted as s, representing the change in satellite clock bias.

[0110] Substituting the location data of the target mobile device into formula (4), the velocity of the mobile device can be obtained using the least squares method, which is the average velocity of the target mobile device between the current epoch and the previous epoch. Here, the velocity of the mobile device can only be obtained when the target mobile device receives navigation data from more than four target satellites.

[0111] Step S1036: For each valid satellite, the difference between the average velocity of the target mobile device between the current epoch and the previous epoch and the velocity observation value corresponding to the valid satellite is determined as the second velocity residual corresponding to the valid satellite.

[0112] Step S1037: Determine the effective satellite whose second velocity residual is less than the second preset velocity residual as an effective satellite that meets the preset conditions, and determine the effective satellite as an available satellite.

[0113] Here, the average velocity of the target mobile device between the current epoch and the previous epoch is the inter-epoch velocity. When the mobile device's velocity maneuvering is large, the average velocity performance is poor. Therefore, steps S1035-S1037 are only executed when the mobile device's receiver sampling rate is greater than 5 Hz and the corresponding mobile device maneuvering is small. When the mobile device's receiver sampling rate is greater than 5 Hz, the accuracy of velocity estimation using the second velocity estimation model is higher.

[0114] See again Figure 1 Step S104: Based on the location data of multiple available satellites and the target mobile device, determine the estimated location of the target mobile device.

[0115] Here, the location data of the target mobile device and the location data of multiple available satellites are input into the positioning observation model. The least squares or Kalman filtering algorithm is used to perform positioning calculation, obtain the estimated position of the target mobile device output by the positioning observation model, and update the predicted position of the target mobile device.

[0116] Step S105: Based on the estimated location of the target mobile device and the positioning data of the target mobile device, determine the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite.

[0117] Here, the carrier phase floating-point solution is the carrier phase single-difference deviation.

[0118] The following will combine Figure 4 This illustrates how to determine the carrier phase floating-point solution for each available satellite based on the estimated location of the target mobile device and the target mobile device's positioning data.

[0119] Please see Figure 4 , Figure 4 This is the fourth flowchart of a mobile device positioning method provided in an embodiment of this application.

[0120] like Figure 4 As shown, regarding step S105, in a specific implementation, as an example, the following steps may be included:

[0121] Step S1051: If the sampling rate of the target mobile device is lower than or equal to the preset sampling rate threshold, then the predicted speed of the target mobile device is determined as the virtual speed observation.

[0122] Here, the virtual velocity observation is used to constrain the state vector.

[0123] Step S1052: If the sampling rate of the target mobile device is higher than the preset sampling rate threshold, the variance of the average speed of the target mobile device between the current epoch and the previous epoch is weighted and averaged with the variance of the predicted speed of the target mobile device to obtain the weighted speed of the target mobile device, and the weighted speed of the target mobile device is determined as the virtual speed observation.

[0124] Here, as an example, the weighted average of the variance of the target mobile device's average speed between the current epoch and the previous epoch is taken from the variance of the target mobile device's predicted speed, and the weighted speed of the target mobile device is expressed by formula (5).

[0125]

[0126] Where V is the weighted velocity of mobile device k, v1 is the predicted velocity of mobile device k, and v2 is the average velocity of mobile device k between the current epoch and the previous epoch. Let be the variance of the predicted speed of mobile device k. Let V be the variance of the average speed of mobile device k between the current epoch and the previous epoch.

[0127] Step S1053: Input the estimated position, virtual velocity observation and positioning data of the target mobile device into the positioning model, and obtain the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite output by the positioning model.

[0128] Here, a positioning model is constructed based on the estimated position of the target mobile device, virtual velocity observations, and positioning data of the target mobile device. As an example, the positioning model can be represented by Equation (6).

[0129] V = L - AX(6)

[0130] Where L is the observed value, A is the coefficient matrix, X is the state vector, and V is the residual vector of the observed value. As an example, the observed value, coefficient matrix, and state vector can be represented by formula (7).

[0131]

[0132] Where D is the coefficient matrix, λ1 is the wavelength at frequency L1, λ2 is the wavelength at frequency L2, and λ3 is the wavelength at frequency L5. Let v be the location vector of the mobile device. r T For the velocity vector of the mobile device, These are the carrier phase single-difference deviations at frequencies L1, L2, and L5, respectively. The carrier double-difference observations are for three frequency points: L1, L2, and L5. V represents the pseudorange double-difference observations at frequencies L1, L2, and L5. T For virtual velocity observations, the E matrix is... Let I be the directional cosine array of the mobile device and the satellite, and let I be the identity array.

[0133] In this step, the estimated position of the target mobile device is used as the initial value of the mobile device's position vector. The positioning data of the target mobile device is substituted into formulas (6) and (7), and the carrier phase floating-point solution corresponding to each available satellite can be obtained using Kalman filtering. Furthermore, based on the carrier phase floating-point solution corresponding to each satellite, as well as matrix A and matrix X, the double-difference ambiguity is obtained.

[0134] See again Figure 1 Step S106: Use the double-difference ambiguity corresponding to each available satellite to determine multiple target positioning satellites.

[0135] Regarding step S106, as an example in specific implementation, it may include the following steps:

[0136] First, for each available satellite, search for it in the historical target satellite set of the previous epoch. If the available satellite is not in the historical target satellite set, then the available satellite is identified as a newly appeared satellite.

[0137] Subsequently, if the number of available satellites is greater than the preset number of satellites, newly appearing satellites with double-difference ambiguity greater than the preset double-difference ambiguity threshold are removed from the multiple available satellites to obtain multiple target positioning satellites.

[0138] Here, as an example, the default number of satellites is 15.

[0139] If the number of available satellites is less than or equal to the preset number of satellites, then each available satellite will be designated as the target positioning satellite.

[0140] Step S107: Determine the target location of the target mobile device using the carrier phase floating-point solution corresponding to each target positioning satellite.

[0141] The following will combine Figure 5 This will illustrate how to use the carrier phase floating-point solution corresponding to each target positioning satellite to determine the target location of the target mobile device.

[0142] Please see Figure 5 , Figure 5 This is the fifth flowchart of a mobile device positioning method provided in an embodiment of this application.

[0143] like Figure 5 As shown, regarding step S107, in a specific implementation, as an example, the following steps may be included:

[0144] Step S1071: Combine multiple target positioning satellites to form a target positioning satellite set.

[0145] Step S1072: Fix the ambiguity of the carrier phase floating-point solution corresponding to each target positioning satellite in the target positioning satellite set to obtain the integer ambiguity corresponding to each target positioning satellite.

[0146] Here, the correlation of ambiguity is reduced by transforming the matrix Z, making the search domain closer to a circle. As an example, the integer variation and ambiguity search conditions can be as shown in Equation (8).

[0147]

[0148] Where N is the ambiguity vector, For each target positioning satellite, there is a floating-point solution for the carrier phase, and M is the transformed ambiguity vector. This is the carrier phase floating-point solution for each target positioning satellite after transformation. The inverse of the covariance matrix of the original ambiguity floating-point solution. This is the inverse of the covariance matrix of the transformed ambiguity floating-point solution. From formula (8), it can be seen that the original narrow search space N is transformed into M, and the coefficient matrix changes from the original... Transform into When the transformed coefficient matrix is ​​a diagonal matrix, the optimal solution is a vector. The result of the rounding method. Then, the optimal solution... The optimal solution for integer ambiguity can be obtained by inverse row transformation. As an example, the optimal solution can be obtained through formula (9). Row inverse transformation.

[0149]

[0150] Step S1073: Input the integer ambiguity corresponding to each target positioning satellite into the positioning model to obtain the target position of the target mobile device output by the positioning model.

[0151] Here, the integer ambiguity corresponding to each target positioning satellite is input into the positioning model to update the mobile device's position vector and velocity vector.

[0152] In this application, the double-difference integer ambiguity corresponding to each target positioning satellite is converted into a single-difference carrier phase deviation and stored in the state vector. The single-difference carrier phase deviation corresponding to each target positioning satellite can be used as the initial value of the single-difference carrier phase deviation in formula (7) when calculating the target position of the target mobile device in the next epoch.

[0153] The core of GNSS positioning lies in ambiguity fixation, and the key to improving ambiguity fixation rate and fixation speed is to comprehensively utilize multiple information sources for gross error detection and satellite selection. Addressing the challenges of low GNSS data quality, significant multipath effects, and severe non-direct-spot (NLOS) interference in complex environments such as urban areas or forests, this invention proposes a comprehensive RTK positioning algorithm. This algorithm combines velocity-assisted gross error detection, partial ambiguity fixation, and post-hoc residual verification, effectively improving positioning accuracy and efficiency.

[0154] In the entire RTK solution process, the floating-point solution calculation and ambiguity fixing stages have a significant impact on positioning accuracy and positioning time. In this application, residual verification is performed to remove satellites with large errors, and newly appearing satellites and satellites with large double-difference ambiguities are also removed. These multiple removal operations further improve the speed and accuracy of ambiguity fixing. This application proposes a robust RTK algorithm that integrates velocity-assisted gross error detection, partial ambiguity fixing, and post-verification residual verification.

[0155] This application provides a positioning method for a mobile device, which effectively improves positioning accuracy and speed in complex environments.

[0156] Based on the same application concept, this application also provides a positioning device for a mobile device corresponding to the positioning method of the mobile device provided in the above embodiments. Since the principle of the device in this application is similar to the positioning method of the mobile device in the above embodiments of this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0157] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of a positioning device for a mobile device provided in an embodiment of this application.

[0158] like Figure 6 As shown in the illustration, the positioning device 210 for a mobile device provided in this application embodiment includes:

[0159] Data processing module 211 determines the position data, speed data and positioning data of the target mobile device based on navigation data received from multiple target satellites.

[0160] The position residual calculation module 212 determines the position residual corresponding to each target satellite based on the position data of the target mobile device, and identifies the target satellite whose position residual meets the preset conditions as a valid satellite.

[0161] The velocity residual calculation module 213 determines the velocity residual corresponding to each effective satellite based on the velocity data of the target mobile device, and identifies the effective satellites whose velocity residuals meet the preset conditions as usable satellites.

[0162] The estimated location determination module 214 determines the estimated location of the target mobile device based on the location data of multiple available satellites and the target mobile device.

[0163] The floating-point solution and double-difference ambiguity determination module 215 determines the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite based on the estimated position of the target mobile device and the positioning data of the target mobile device.

[0164] The target positioning satellite determination module 216 uses the double-difference ambiguity corresponding to each available satellite to determine multiple target positioning satellites;

[0165] The target location determination module 217 uses the carrier phase floating-point solution corresponding to each target positioning satellite to determine the target location of the target mobile device.

[0166] Furthermore, when the position residual calculation module 212 is used to determine the position residual corresponding to each target satellite based on the position data of the target mobile device, it is also specifically used for:

[0167] The location data of the target mobile device is input into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model.

[0168] Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite;

[0169] Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device;

[0170] The position residual for each target satellite is obtained by subtracting the predicted distance of the target mobile device corresponding to each target satellite from the pseudorange observation value corresponding to each target satellite.

[0171] Furthermore, the velocity residual calculation module 213 is specifically used for:

[0172] Determine the velocity observation value corresponding to each valid satellite from the velocity data of the target mobile device;

[0173] If the sampling rate of the target mobile device is less than or equal to a preset sampling rate threshold, the speed data of the target mobile device is input into the first speed estimation model to obtain the predicted speed of the target mobile device output by the first speed estimation model; for each valid satellite, the difference between the predicted speed of the target mobile device and the speed observation value corresponding to the valid satellite is determined as the first speed residual corresponding to the valid satellite; valid satellites whose first speed residual is less than the first preset speed residual are determined as valid satellites that meet the preset conditions, and the valid satellites are determined as usable satellites;

[0174] If the sampling rate of the target mobile device is greater than the preset sampling rate threshold, the velocity data of the target mobile device is input into the second velocity estimation model to obtain the average velocity of the target mobile device between the current epoch and the previous epoch. For each valid satellite, the difference between the average velocity of the target mobile device between the current epoch and the previous epoch and the velocity observation value corresponding to the valid satellite is determined as the second velocity residual corresponding to the valid satellite. Valid satellites whose second velocity residual is less than the second preset velocity residual are determined as valid satellites that meet the preset conditions and are determined as usable satellites.

[0175] Furthermore, the floating-point solution and double-difference ambiguity determination module 215 is specifically used for:

[0176] If the sampling rate of the target mobile device is lower than or equal to the preset sampling rate threshold, the predicted speed of the target mobile device will be determined as the virtual speed observation.

[0177] If the sampling rate of the target mobile device is higher than the preset sampling rate threshold, the variance of the average speed of the target mobile device between the current epoch and the previous epoch is weighted and averaged with the variance of the predicted speed of the target mobile device to obtain the weighted speed of the target mobile device, and the weighted speed of the target mobile device is determined as the virtual speed observation.

[0178] The estimated position, virtual velocity observation, and positioning data of the target mobile device are input into the positioning model to obtain the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite output by the positioning model.

[0179] Furthermore, the target positioning satellite determination module 216 is specifically used for:

[0180] For each available satellite, search for it in the historical target satellite set of the previous epoch. If the available satellite is not in the historical target satellite set, then the available satellite is identified as a newly appeared satellite.

[0181] If the number of available satellites is greater than the preset number of satellites, newly appearing satellites with double-difference ambiguity greater than the preset double-difference ambiguity threshold will be removed from the multiple available satellites to obtain multiple target positioning satellites;

[0182] If the number of available satellites is less than or equal to the preset number of satellites, then each available satellite will be designated as the target positioning satellite.

[0183] Furthermore, the target location determination module 217 is specifically used for:

[0184] Multiple target positioning satellites are combined to form a target positioning satellite set;

[0185] The ambiguity of the carrier phase floating-point solution corresponding to each target positioning satellite in the target positioning satellite set is fixed to obtain the integer ambiguity corresponding to each target positioning satellite;

[0186] The integer ambiguity corresponding to each target positioning satellite is input into the positioning model to obtain the target position of the target mobile device output by the positioning model.

[0187] This application provides a positioning device for a mobile device, which effectively improves positioning accuracy and speed in complex environments.

[0188] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0189] like Figure 7As shown, the electronic device 300 includes a processor 310, a memory 320, and a bus 330.

[0190] The memory 320 stores machine-readable instructions executable by the processor 310. When the electronic device 300 is running, the processor 310 and the memory 320 communicate via the bus 330. When the machine-readable instructions are executed by the processor 310, they can perform the operations described above. Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 The steps of the mobile device positioning method in the illustrated method embodiment can be found in the method embodiment for specific implementation, and will not be repeated here.

[0191] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can perform the above-described actions. Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 The steps of the mobile device positioning method in the illustrated method embodiment can be found in the method embodiment for specific implementation, and will not be repeated here.

[0192] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.

[0193] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0194] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0195] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0196] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A positioning method for a mobile device, characterized in that, The positioning method includes: Based on navigation data received by the target mobile device from multiple target satellites, determine the target mobile device's position data, velocity data, and positioning data; Based on the location data of the target mobile device, the position residual corresponding to each target satellite is determined, and the target satellite whose position residual meets the preset conditions is determined as a valid satellite; Based on the velocity data of the target mobile device, the velocity residual corresponding to each effective satellite is determined, and the effective satellites whose velocity residuals meet the preset conditions are identified as usable satellites; Based on location data from multiple available satellites and the target mobile device, the estimated location of the target mobile device is determined; Based on the estimated location of the target mobile device and the positioning data of the target mobile device, determine the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite; By utilizing the double-difference ambiguity corresponding to each available satellite, multiple target positioning satellites can be identified; The target location of the target mobile device is determined by using the floating-point solution of the carrier phase corresponding to each target positioning satellite; The step of determining the velocity residual corresponding to each valid satellite based on the velocity data of the target mobile device, and identifying valid satellites whose velocity residuals meet preset conditions as usable satellites, includes: Determine the velocity observation value corresponding to each valid satellite from the velocity data of the target mobile device; If the sampling rate of the target mobile device is less than or equal to a preset sampling rate threshold, the speed data of the target mobile device is input into the first speed estimation model to obtain the predicted speed of the target mobile device output by the first speed estimation model; for each valid satellite, the difference between the predicted speed of the target mobile device and the speed observation value corresponding to the valid satellite is determined as the first speed residual corresponding to the valid satellite; valid satellites whose first speed residual is less than the first preset speed residual are determined as valid satellites that meet the preset conditions, and the valid satellites are determined as usable satellites; If the sampling rate of the target mobile device is greater than the preset sampling rate threshold, the velocity data of the target mobile device is input into the second velocity estimation model to obtain the average velocity of the target mobile device between the current epoch and the previous epoch. For each valid satellite, the difference between the average velocity of the target mobile device between the current epoch and the previous epoch and the velocity observation value corresponding to the valid satellite is determined as the second velocity residual corresponding to the valid satellite. Valid satellites whose second velocity residual is less than the second preset velocity residual are determined as valid satellites that meet the preset conditions and are determined as usable satellites.

2. The positioning method according to claim 1, characterized in that, The determination of the position residual for each target satellite based on the location data of the target mobile device includes: The location data of the target mobile device is input into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model. Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite; Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device; The position residual for each target satellite is obtained by subtracting the predicted distance of the target mobile device corresponding to each target satellite from the pseudorange observation value corresponding to each target satellite.

3. The positioning method according to claim 1, characterized in that, The determination of the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite based on the estimated location and positioning data of the target mobile device includes: If the sampling rate of the target mobile device is lower than or equal to the preset sampling rate threshold, the predicted speed of the target mobile device will be determined as the virtual speed observation. If the sampling rate of the target mobile device is higher than the preset sampling rate threshold, the variance of the average speed of the target mobile device between the current epoch and the previous epoch is weighted and averaged with the variance of the predicted speed of the target mobile device to obtain the weighted speed of the target mobile device, and the weighted speed of the target mobile device is determined as the virtual speed observation. The estimated position, virtual velocity observation, and positioning data of the target mobile device are input into the positioning model to obtain the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite output by the positioning model.

4. The positioning method according to claim 1, characterized in that, Using the double-difference ambiguity corresponding to each available satellite, multiple target positioning satellites are identified, including: For each available satellite, search for it in the historical target satellite set of the previous epoch. If the available satellite is not in the historical target satellite set, then the available satellite is identified as a newly appeared satellite. If the number of available satellites is greater than the preset number of satellites, newly appearing satellites with double-difference ambiguity greater than the preset double-difference ambiguity threshold will be removed from the multiple available satellites to obtain multiple target positioning satellites; If the number of available satellites is less than or equal to the preset number of satellites, then each available satellite will be designated as the target positioning satellite.

5. The positioning method according to claim 1, characterized in that, The step of determining the target location of the target mobile device using the carrier phase floating-point solution corresponding to each target positioning satellite includes: Multiple target positioning satellites are combined to form a target positioning satellite set; The ambiguity of the carrier phase floating-point solution corresponding to each target positioning satellite in the target positioning satellite set is fixed to obtain the integer ambiguity corresponding to each target positioning satellite; The integer ambiguity corresponding to each target positioning satellite is input into the positioning model to obtain the target position of the target mobile device output by the positioning model.

6. A positioning device for a mobile device, characterized in that, The device includes: The data processing module determines the target mobile device's position, speed, and location data based on navigation data received from multiple target satellites. The position residual calculation module determines the position residual corresponding to each target satellite based on the position data of the target mobile device, and identifies the target satellite whose position residual meets the preset conditions as a valid satellite; The velocity residual calculation module determines the velocity residual corresponding to each valid satellite based on the velocity data of the target mobile device, and identifies valid satellites whose velocity residuals meet preset conditions as usable satellites. The estimated location determination module determines the estimated location of the target mobile device based on location data from multiple available satellites and the target mobile device. The floating-point solution and double-difference ambiguity determination module determines the carrier phase floating-point solution and double-difference ambiguity corresponding to each available satellite based on the estimated position of the target mobile device and the positioning data of the target mobile device. The target positioning satellite determination module uses the double-difference ambiguity corresponding to each available satellite to determine multiple target positioning satellites; The target location determination module uses the carrier phase floating-point solution corresponding to each target positioning satellite to determine the target location of the target mobile device; Specifically, the velocity residual calculation module is used for: Determine the velocity observation value corresponding to each valid satellite from the velocity data of the target mobile device; If the sampling rate of the target mobile device is less than or equal to a preset sampling rate threshold, the speed data of the target mobile device is input into the first speed estimation model to obtain the predicted speed of the target mobile device output by the first speed estimation model; for each valid satellite, the difference between the predicted speed of the target mobile device and the speed observation value corresponding to the valid satellite is determined as the first speed residual corresponding to the valid satellite; valid satellites whose first speed residual is less than the first preset speed residual are determined as valid satellites that meet the preset conditions, and the valid satellites are determined as usable satellites; If the sampling rate of the target mobile device is greater than the preset sampling rate threshold, the velocity data of the target mobile device is input into the second velocity estimation model to obtain the average velocity of the target mobile device between the current epoch and the previous epoch. For each valid satellite, the difference between the average velocity of the target mobile device between the current epoch and the previous epoch and the velocity observation value corresponding to the valid satellite is determined as the second velocity residual corresponding to the valid satellite. Valid satellites whose second velocity residual is less than the second preset velocity residual are determined as valid satellites that meet the preset conditions and are determined as usable satellites.

7. The positioning device according to claim 6, characterized in that, The position residual calculation module, when used to determine the position residual corresponding to each target satellite based on the position data of the target mobile device, is also specifically used for: The location data of the target mobile device is input into the positioning observation model to obtain the predicted location of the target mobile device output by the positioning observation model. Based on the predicted location of the target mobile device, determine the predicted distance of the target mobile device corresponding to each target satellite; Determine the pseudorange observation value corresponding to each target satellite from the location data of the target mobile device; The position residual for each target satellite is obtained by subtracting the predicted distance of the target mobile device corresponding to each target satellite from the pseudorange observation value corresponding to each target satellite.

8. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. The machine-readable instructions are executed by the processor to perform the steps of the positioning method for the mobile device as described in any one of claims 1 to 5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the positioning method for a mobile device as described in any one of claims 1 to 5.