A mobile phone shadow matching positioning method and system in complex urban environments

By extracting satellite SNR distribution characteristics in complex urban environments and using multi-source data to generate candidate location sets, combined with the weighted average positioning method, the problem of large single-point positioning error of mobile phone pseudorange is solved, and dynamic positioning accuracy and stability are improved.

CN120334976BActive Publication Date: 2025-09-02CHINA UNIV OF MINING & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510773271.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-11
Publication Date
2025-09-02
Estimated Expiration
2045-06-11

AI Technical Summary

Technical Problem

In complex urban environments, mobile phone pseudorange single point positioning error is large, which is difficult to meet the needs of dynamic positioning, and the existing shadow matching technology has insufficient positioning performance under dynamic conditions.

Method used

By extracting building boundary and road area blocks from the three-dimensional model of the target area, counting satellite SNR distribution characteristics, combining GNSS observation data, accelerometer, magnetometer and gyroscope data, a candidate position set is generated, and weighted average positioning is used to reduce the noise impact.

Benefits of technology

It improves the accuracy and stability of mobile phone positioning in complex urban environments, reduces positioning errors along the street, and improves positioning performance under dynamic conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120334976B_ABST
    Figure CN120334976B_ABST
Patent Text Reader

Abstract

This invention proposes a mobile phone shadow matching positioning method and system in complex urban environments. The method includes: extracting building boundaries and road area blocks, and calculating satellite SNR distribution characteristics; obtaining mobile phone GNSS observation data and broadcast ephemeris, smoothing the SNR using a low-pass filter, and obtaining the pedestrian's absolute position and satellite position; obtaining accelerometer, magnetometer, and gyroscope data, and obtaining the pedestrian's stride length and heading angle based on the observation data; generating an initial set of candidate positions based on the pedestrian's initial absolute position, and updating the candidate positions based on the pedestrian's stride length and heading angle; predicting satellite visibility characteristics based on satellite positions and building boundaries; scoring and weighting candidate positions based on SNR distribution characteristics, satellite visibility, altitude angle, azimuth angle, and the distance between the candidate positions and the pedestrian's absolute position, and determining the pedestrian's position using a weighted average method. This invention can significantly improve the dynamic positioning accuracy of shadow matching algorithms in complex urban environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite navigation positioning, and in particular to a shadow matching positioning method and system for a mobile phone in a complex urban environment. Background Art

[0002] With the development of society and urban construction, positioning in complex urban environments has attracted increasing attention. The Global Navigation Satellite System (GNSS), with its all-weather and all-day capabilities, plays a vital role in urban navigation. Its pseudo-range single-point positioning accuracy in open areas can reach the meter level. Furthermore, mobile phones, as low-cost satellite signal receiving devices, are dominant in general civilian use due to their portability, affordability, and widespread adoption. However, in complex urban environments, satellite signal propagation is susceptible to multipath effects and is subject to reflection, diffraction, and refraction. Consequently, GNSS satellite signals received by mobile phones contain not only line-of-sight (LOS) signals but also non-line-of-sight (NLOS) signals and multipath signals. Consequently, the signal-to-noise ratio (SNR) of satellite signals can fluctuate significantly. Furthermore, due to their size, mobile phones cannot incorporate hardware devices such as chokes to mitigate the impact of environmental factors on positioning accuracy. Therefore, the error of pseudo-range single-point positioning of mobile phones can reach tens or hundreds of meters. However, mobile phones occupy a dominant position in daily urban scenes, and users also have certain requirements for positioning accuracy. Therefore, it is necessary to improve the accuracy of pseudo-range single-point positioning of mobile phones at the algorithm level. Shadow matching technology can effectively improve the positioning accuracy of GNSS pseudo-range single-point positioning in complex urban environments and in the cross-street direction. Shadow matching technology that takes into account local optimality improves the utilization efficiency of satellites, increases the scoring difference between different candidate positions, and further improves the positioning accuracy of shadow matching. However, its positioning performance in dynamic environments is insufficient, and its positioning performance along the street is not stable enough, which makes it difficult to meet the needs of dynamic positioning of pedestrians. Summary of the Invention

[0003] This invention proposes a shadow matching positioning method and system for mobile phones in complex urban environments to address the problem of insufficient positioning performance of local optimal GNSS shadow matching in dynamic conditions. This method further improves the algorithm's ability to utilize SNR data while reducing the impact of SNR noise on candidate location scores. The technical solutions provided by this invention are as follows:

[0004] In a first aspect, the present invention provides a shadow matching positioning method for a mobile phone in a complex urban environment, comprising the following steps:

[0005] Step 101: extracting building boundaries and road area blocks from the three-dimensional model of the target area, and calculating satellite SNR distribution characteristics of the target area;

[0006] Step 102: Obtain GNSS observation data and broadcast ephemeris from the mobile phone. The GNSS observation data includes GNSS pseudorange and satellite SNR data. Use a low-pass filter to smooth the satellite SNR data. Obtain the pedestrian's initial position, pedestrian's absolute position, and satellite position based on the GNSS observation data and broadcast ephemeris.

[0007] Step 103: Obtain data from the mobile phone's accelerometer, magnetometer, and gyroscope, and obtain the pedestrian's step length and heading angle based on these data;

[0008] Step 104: Generate an initial candidate position set based on the pedestrian's initial position, and update the candidate positions based on the pedestrian's step length and heading angle;

[0009] Step 105: Update the coordinates of each candidate location based on the topological relationship between each candidate location and the road area block, calculate the satellite altitude and azimuth based on the satellite position and the building boundary, and predict the satellite visibility at the candidate location;

[0010] Step 106: Score the candidate locations and determine their weights based on the satellite SNR distribution characteristics, satellite SNR data, satellite visibility, altitude angle, azimuth angle, and the distance between the candidate locations and the pedestrian's absolute location, and determine the pedestrian's location based on the weighted average method.

[0011] Preferably, in step 102, GNSS pseudorange and satellite SNR data are collected, the time of collection is recorded in UTC, and the corresponding broadcast ephemeris is obtained; the position of each satellite at the corresponding epoch is calculated based on the time information of the GNSS observation data and the broadcast ephemeris, and the satellite position is stored in the form of geodetic coordinates;

[0012] The pedestrian's absolute position in each epoch is calculated using the least squares method based on the GNSS pseudorange and satellite positions, and stored in the form of geodetic coordinates (B, L, H).

[0013] The pedestrian's position in the initial epoch is used as the station center, and the pedestrian's station center coordinates (E, N, U) in each epoch are calculated.

[0014] Preferably, the process of obtaining the pedestrian's step length and heading angle in step 103 is: collecting accelerometer, magnetometer and gyroscope data, recording the collection time in UTC, and performing time sequence alignment on the multi-source data based on the time sequence of the GNSS observation data;

[0015] The accelerometer data is used to detect the cadence using a peak detection method, and the stride length is calculated using a Weinberg algorithm;

[0016] The Mahony algorithm is used to correct the accelerometer, magnetometer and gyroscope data to each other, and the heading angle is calculated based on the corrected data.

[0017] Preferably, in step 104, a set of candidate positions conforming to the Gaussian distribution is generated with the station center coordinates of the pedestrian's initial position as the center, and the coordinates of the candidate positions in the geodetic coordinate system and the station center coordinate system are stored; based on the Gaussian random process, the coordinates of each candidate position in each epoch are updated according to the pedestrian's step length and heading angle.

[0018] Preferably, the specific updating formula for updating the candidate position coordinates is as follows:

[0019]

[0020]

[0021]

[0022]

[0023] Where i is the current epoch, L i is the step length, is the step size that adds the random error of the process, is the random error of the process step size, obey distributed, is the step length measurement error; θ i is the heading angle, is the heading angle with the process random error added, is the random error of the heading angle, obeying distributed, is the heading angle measurement error; E i is the E coordinate after the candidate position status is updated, E i-1 is the E coordinate before the candidate position status is updated, N i is the N coordinate after the candidate position status is updated, N i-1 is the N coordinate of the candidate position before the state is updated;

[0024] Calculate the coordinates of the updated candidate position in the geodetic coordinate system.

[0025] Preferably, step 105 is specifically as follows:

[0026] Based on the geodetic coordinates of the candidate location and the road area block, the projection coordinates on the Gaussian plane are calculated. The ray method is used to determine whether the candidate location is within the road area. If the candidate location is inside the road, the candidate location is marked. At the same time, the geodetic H coordinate of the candidate location is interpolated based on the geodetic height of the feature point of the road area block where the candidate location is located, and the U coordinate of the station center is updated.

[0027] The building boundary and the satellite position are converted into station center coordinates with the pedestrian's initial position as the station center; the building feature points and the azimuth and altitude angles of the satellite relative to each candidate position are calculated based on the converted station center coordinates;

[0028] Based on the satellite azimuth and the azimuth of the building feature points, the satellite visibility is predicted, and the invisible satellites are classified as NLOS satellites and the visible satellites are classified as LOS satellites.

[0029] Preferably, step 106 specifically includes:

[0030] Determine the measured satellite visibility based on satellite SNR data;

[0031] At each candidate location, the predicted satellite visibility is compared with the measured satellite visibility. A score is obtained for each candidate location based on the comparison results, satellite SNR distribution characteristics, satellite elevation angle, and azimuth angle. Candidate locations outside the road are assigned a score of 0.

[0032] Based on the pedestrian's absolute position, calculate the distance between each candidate position and the pedestrian's absolute position, and weight the candidate position based on the distance and the candidate position score;

[0033] The weights of the candidate positions are normalized, and a weighted average is calculated based on the geodetic coordinates of the candidate positions and the normalized weights to obtain the final position of the pedestrian.

[0034] Preferably, satellites with SNR data greater than 31.91 dB-Hz are identified as LOS satellites, and satellites with SNR data less than 26.79 dB-Hz are identified as NLOS satellites. If the satellite SNR data is between the two, these satellites are discarded in subsequent scoring.

[0035] In a second aspect, the present invention provides a mobile phone shadow matching positioning system in a complex urban environment, comprising the following modules:

[0036] Positioning assistance data acquisition module, used to extract building boundaries and road area blocks from the 3D model of the target area and calculate the satellite SNR distribution characteristics of the target area;

[0037] The GNSS data preprocessing module is used to obtain GNSS observation data and broadcast ephemeris from the mobile phone, smooth the satellite SNR data using a low-pass filter, and obtain the pedestrian's absolute position and satellite position based on the GNSS observation data and broadcast ephemeris;

[0038] The PDR data preprocessing module is used to obtain data from the mobile phone's accelerometer, magnetometer, and gyroscope, and obtain the pedestrian's step length and heading angle based on the data;

[0039] The candidate position generation and update module is used to generate an initial candidate position set based on the pedestrian's initial absolute position and update the candidate position based on the pedestrian's step length and heading angle;

[0040] The satellite visibility prediction module is used to update the elevation of each candidate location based on the topological relationship between each candidate location and the road area block, and predict the satellite visibility at the candidate location based on the satellite position and building boundaries;

[0041] The candidate position weighting and pedestrian positioning module scores the candidate positions and determines the weights based on the satellite SNR distribution characteristics, predicted satellite visibility, measured satellite visibility, altitude angle, azimuth angle, and the distance between the candidate position and the pedestrian's absolute position, and determines the pedestrian's position based on the weighted average method.

[0042] Compared with the existing technology, the beneficial effects achieved by the present invention are as follows: the present invention provides a mobile phone shadow matching positioning method and system in a complex urban environment, which collects prior information in the target area and applies the prior probability distribution information of SNR to scoring, so that the shadow matching method is more effective in the target area; by weighting the signal-to-noise ratio, the positioning error of shadow matching in the street direction is effectively limited; the use of SNR prior probability, satellite altitude angle and azimuth angle to score satellites is more effective in reducing the impact of poor quality satellites on positioning results; in addition, the present invention also introduces PDR data, which effectively improves the problem of insufficient street positioning performance of the shadow matching algorithm under dynamic conditions. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0044] Figure 1 This is a flow chart of the shadow matching positioning method for mobile phones in complex urban environments provided by the present invention;

[0045] Figure 2 This is a shadow matching positioning flow chart provided by the present invention;

[0046] Figure 3The SNR prior probability density map provided by the present invention;

[0047] Figure 4 The SNR prior probability distribution diagram provided by the present invention;

[0048] Figure 5 This is a structural diagram of the mobile phone shadow matching positioning system in complex urban environments provided by the present invention. DETAILED DESCRIPTION

[0049] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments 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 making creative efforts are within the scope of protection of the present invention.

[0050] In order to make the purpose, features and effects of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0051] Example 1:

[0052] like Figure 1 and Figure 2 As shown in FIG, a shadow matching positioning method for a mobile phone in a complex urban environment includes:

[0053] Step 101: Extract building boundaries and road area blocks from the three-dimensional model of the target area, and calculate satellite SNR distribution characteristics of the target area.

[0054] Within the target area, a 3D model is established based on the oblique photogrammetry method. The building boundary dataset is divided into building units in the 3D model. The road boundary points are segmented according to the road corner positions to form the road area block dataset. The above datasets are stored in the geodetic coordinate format (B, L, H) under the WGS-84 reference ellipsoid.

[0055] In the target area, the satellite SNR data of LOS and NLOS signals are collected in open and shielded areas respectively, and the data are fitted to obtain the satellite SNR distribution characteristics in the target area, including probability density curve and probability distribution curve, such as Figure 3 and Figure 4 As shown in the figure, a Z test is performed on the probability density curve with a confidence level of 0.98, a right test is performed on the NLOS curve, and a left test is performed on the LOS curve. The lower and upper bounds of the rejection region are respectively taken as the SNR scoring thresholds.

[0056] Step 102: Obtain GNSS observation data and broadcast ephemeris from the mobile phone. The GNSS observation data includes GNSS pseudorange and satellite SNR data. Use a low-pass filter to smooth the satellite SNR data. Obtain the pedestrian's initial position, pedestrian's absolute position, and satellite position based on the GNSS observation data and broadcast ephemeris.

[0057] Specifically, a mobile phone is used to collect GNSS pseudorange and satellite SNR data, and the collection time is recorded in UTC to obtain the corresponding broadcast ephemeris. Under the WGS-84 reference ellipsoid, the position of each satellite in each epoch is solved according to the epoch time sequence and the broadcast ephemeris. Based on the solved satellite positions and GNSS pseudoranges, the pedestrian's absolute position in each epoch is solved using the least squares method. The position in the initial epoch is the pedestrian's initial position, and the above position is stored in the form of geodetic coordinates. The absolute position of the pedestrian and the least squares formula are calculated as follows:

[0058]

[0059]

[0060]

[0061] In the formula is the pseudorange measurement, is the actual distance between the satellite and the phone, is the receiver clock error, is the satellite clock error, is the tropospheric error, is the ionospheric error, is the measurement noise, V is the observation correction number, B is the coefficient matrix, X is the coordinate correction number, L is a constant vector, T is the transpose symbol, is the speed of light, is the weight matrix of the observations.

[0062] The pedestrian's initial position is used as the station center, and the station center coordinates (E, N, U) in each epoch are calculated.

[0063] In actual applications, the satellite SNR data collected by mobile phones has serious noise and large fluctuations, which affects the subsequent shadow matching score. Since this noise is white noise, a low-pass filter is used to filter the satellite SNR data. The specific formula is as follows:

[0064]

[0065]

[0066] In the formula is the smoothing factor (0.1~0.2), is the SNR data of the kth satellite in the i-th epoch, is the smoothed SNR data of the kth satellite in the i-th epoch, is the i-th epoch, is the epoch at which the signal lost lock, T is the time threshold for filter reset.

[0067] Step 103: Obtain the accelerometer, magnetometer, and gyroscope data from the mobile phone, and obtain the pedestrian's step length and heading angle based on this data.

[0068] Specifically, the sampling frequency is set to 50 Hz, and the accelerometer, magnetometer and gyroscope data are collected using a mobile phone, which are recorded as (a x , a y , a z )、(m x , m y , m z )、(ω x ,ω y ,ω z ), record the time of collection in UTC, and align the multi-source data based on the time series of GNSS observation data;

[0069] Based on the accelerometer data, the acceleration modulus is calculated and a Butterworth filter is used to filter out false peaks and troughs. The peak detection method is used to detect the peaks and troughs of the acceleration modulus. A set of peaks and troughs is used as a step to record the pedestrian's cadence. Based on the peaks and troughs, the single-step stride length is calculated based on the Weinberg empirical model. The specific formula is as follows:

[0070]

[0071] in L i For the Step length, K is an empirical constant, a max For the crest, a min For the trough.

[0072] According to the Mahony algorithm, the accelerometer, magnetometer and gyroscope data are corrected with each other, and the attitude quaternion (q0, q1, q2, q3) is calculated based on the corrected data, and the heading angle is then calculated from it. , The N direction is the starting direction.

[0073] Step 104: Generate an initial candidate position set based on the pedestrian's initial position, and update the candidate positions based on the pedestrian's step length and heading angle.

[0074] Specifically, with the pedestrian's initial position as the center of the station coordinate system and a radius of 10-20 m (or the measurement error of the GNSS pseudo-range single point positioning in the target area), generate M (e.g., 1000) candidate positions that conform to the Gaussian distribution, and calculate the coordinates of the candidate positions in the station center coordinate system;

[0075] After obtaining the final positioning result, the candidate position needs to be updated in the next epoch, and the update process conforms to the Gaussian random process. The specific update formula is as follows:

[0076]

[0077]

[0078]

[0079]

[0080] Where, is the step size that adds the random error of the process, is the random error of the process step size, obey distributed, is the step length measurement error; is the heading angle with the process random error added, is the random error of the heading angle, obeying distributed, is the heading angle measurement error; E i is the E coordinate after the candidate position status is updated, E i-1 is the E coordinate before the candidate position status is updated, N i is the N coordinate after the candidate position status is updated, N i-1 is the N coordinate of the candidate location before the state is updated.

[0081] It is also necessary to calculate the coordinates of the updated candidate position in the geodetic coordinate system.

[0082] Step 105: Update the coordinates of each candidate location based on the topological relationship between each candidate location and the road area block, and predict the satellite visibility at the candidate location based on the satellite position and the building boundary.

[0083] Specifically, based on the geodetic coordinates of the candidate position and the road area block, their projection coordinates on the Gaussian plane are calculated, and the ray method is used to determine whether the candidate position is within the road area. If the candidate position is inside the road, the candidate position is marked. At the same time, based on the geodetic height of the feature point of the road area block where the candidate position is located, the geodetic height of the candidate position is interpolated and the U coordinate is updated.

[0084] Before predicting satellite visibility, the building boundaries and satellite positions need to be converted into station-centered coordinates with the pedestrian's initial position as the station center. At the current epoch, the azimuth and altitude angles of the building feature points and the satellite relative to each candidate position are calculated based on the converted station-centered coordinates. The specific calculation formula is as follows:

[0085]

[0086]

[0087] Where, el is the altitude angle, az is the azimuth.

[0088] Based on the satellite azimuth and the azimuth of the building feature point, it is determined whether there is a building in the direction of the satellite. If there is no building, the satellite is predicted to be a LOS satellite for the candidate location. Otherwise, the elevation angle is interpolated based on the azimuth of the satellite and the building feature point to obtain the elevation angle of the building boundary in the direction of the satellite relative to the candidate location. This elevation angle is compared with the satellite elevation angle. If it is greater than the satellite elevation angle, the satellite is positioned as an NLOS satellite. Otherwise, it is a LOS satellite.

[0089] Step 106: Score the candidate positions and determine their weights based on satellite SNR data, satellite visibility, altitude angle, azimuth angle, and the distance between the candidate positions and the pedestrian's absolute position, and determine the pedestrian's position based on a weighted average method.

[0090] Specifically, before scoring, it is necessary to determine whether the candidate position is marked as a road interior candidate position. If so, the candidate position scoring step is entered. Otherwise, the candidate position is assigned 0 points. The measured satellite visibility is determined based on the satellite SNR data, combined with the Figure 3 The SNR scoring threshold obtained in the , identifies satellites with SNR greater than 31.91dB-Hz as LOS satellites, and satellites with SNR less than 26.79dB-Hz as NLOS satellites. If the satellite SNR is between the two, then these satellites will be discarded in the subsequent scoring. At each candidate position, the predicted satellite visibility is compared with the measured satellite visibility, and the satellite visibility is combined with the predicted satellite visibility. Figure 4 Satellites are scored according to the following formula:

[0091]

[0092]

[0093] Where, is the score of the kth satellite at the i-th epoch, is the visibility match of the kth satellite at the i-th epoch, which is 1 if the visibility is consistent, otherwise -1. is the smoothed signal-to-noise ratio of the kth satellite at the i-th epoch, is the corresponding value of the kth satellite on the probability distribution curve of the LOS signal, is the corresponding value of the kth satellite on the probability distribution curve of the NLOS signal; based on the measured satellite visibility being LOS or NLOS, the corresponding formula is used to score.

[0094] The satellite scores are weighted according to the satellite's azimuth and altitude angles. The specific formula is as follows:

[0095]

[0096]

[0097] In the formula is the fractional weight of the kth satellite in the i-th epoch, is the altitude angle of the kth satellite in the i-th epoch, is the azimuth of the kth satellite in the i-th epoch, is the smoothed heading angle of the i-th epoch. When the measured satellite visibility is LOS as determined by the satellite SNR data, the above formula is used, otherwise the following formula is used. At the candidate position, the weighted sum of the satellite scores is used to obtain the score of the candidate position. The specific formula is as follows:

[0098]

[0099] Where, is the score of the mth candidate position in the i-th epoch.

[0100] After obtaining the candidate position score, the candidate position is weighted according to the 2D distance between the candidate position and the GNSS pseudorange positioning result and the candidate position score. The specific formula is as follows:

[0101]

[0102] Where, is the weight of the mth candidate position in epoch i, is the score of the mth candidate position in epoch i, is the plane coordinate (E, N) of the GNSS pseudorange single point positioning result of the i-th epoch in the station center coordinate system, is the plane coordinate (E, N) of the mth candidate position in the station center coordinate system in the i-th epoch, R is the measurement error of GNSS pseudorange single point positioning.

[0103] Normalize the weights of the candidate positions and perform weighted average calculation based on the geodetic coordinates of the candidate positions and the normalized weights to obtain the final position of the pedestrian. The specific formula is as follows:

[0104]

[0105]

[0106] Where, is the normalized weight of the mth candidate position in the i-th epoch, is the coordinates (B, L, H) of the pedestrian in the geodetic coordinate system at the i-th epoch, is the coordinates (B, L, H) of the mth candidate position in the geodetic coordinate system in the i-th epoch.

[0107] Example 2:

[0108] In order to execute the method corresponding to the above-mentioned embodiment 1 and achieve the corresponding functions and technical effects, a mobile phone shadow matching and positioning system in a complex urban environment is provided below.

[0109] like Figure 5 As shown, a mobile phone shadow matching positioning system in a complex urban environment includes:

[0110] The positioning assistance data acquisition module 501 is used to extract building boundaries and road area blocks from the three-dimensional model of the target area and to calculate the satellite SNR distribution characteristics of the target area.

[0111] The GNSS data preprocessing module 502 is used to obtain the mobile phone GNSS observation data and broadcast ephemeris, use low-pass filtering to smooth the satellite SNR data, and obtain the pedestrian's absolute position and satellite position based on the GNSS observation data and broadcast ephemeris.

[0112] The GNSS data preprocessing module specifically includes: a GNSS data acquisition unit, which uses a mobile phone to collect GNSS observation data, including GNSS pseudorange and corresponding satellite SNR data, and obtains the broadcast ephemeris corresponding to the observation data; an SNR smoothing unit, which uses a low-pass filter to smooth the collected satellite SNR data; a satellite coordinate solution unit, which calculates the position of each satellite in the corresponding epoch based on the time information of the GNSS observation data and the broadcast ephemeris, and stores the geodetic coordinates of the satellite; a pedestrian coordinate solution unit, which uses the least squares method to solve and store the coordinates of the pedestrian in the geodetic coordinate system based on the GNSS observation data and the satellite position, and calculates the station center coordinates of the pedestrian in each epoch with the initial position of the pedestrian as the station center.

[0113] The PDR data preprocessing module 503 is used to obtain the accelerometer, magnetometer, and gyroscope data on the mobile phone, and obtain the pedestrian's step length and heading angle based on the data.

[0114] The PDR data preprocessing module specifically includes: a PDR data acquisition and preprocessing unit, which uses a mobile phone to collect accelerometer, magnetometer, and gyroscope data, and performs time alignment of multi-source data according to the time information of the data and the time information of the GNSS observation data; a PDR step length calculation unit, which detects the cadence of the accelerometer data based on the peak detection method and calculates the step length using the Weinberg algorithm; a PDR heading angle calculation unit, which calculates the heading angle based on the accelerometer, magnetometer, and gyroscope data based on the Mahony algorithm.

[0115] The candidate position generation and update module 504 is used to generate an initial candidate position set according to the pedestrian's initial absolute position, and update the candidate positions according to the pedestrian's step length and heading angle.

[0116] The candidate position generation and update module specifically includes: an initial candidate position generation unit, which generates a set of candidate positions that conform to the Gaussian distribution based on the pedestrian's initial position, and stores the coordinates of the candidate positions in the geodetic coordinate system and the station center coordinate system; a candidate position update unit, which updates the coordinates of each candidate position in each epoch based on the pedestrian's step length and heading angle based on a Gaussian random process.

[0117] The satellite visibility prediction module 505 is used to update the elevation of each candidate location according to the topological relationship between each candidate location and the road area block, and predict the satellite visibility at the candidate location according to the satellite position and the building boundary.

[0118] The satellite visibility prediction module specifically includes: a candidate position coordinate updating unit, which interpolates the elevation of the candidate position located inside the road based on the topological relationship between the candidate position and the road area block and the elevation information of the road area block, and stores the elevation as geodetic height and U coordinates; a coordinate conversion unit, which converts the building boundary and satellite coordinates into station center coordinates with the pedestrian's initial position as the station center; and a satellite visibility prediction unit, which predicts the visibility of each satellite at the candidate position inside the road based on the building boundary and satellite coordinates, and classifies invisible satellites as NLOS satellites and visible satellites as LOS satellites.

[0119] The candidate position weighting and pedestrian positioning module 506 scores the candidate positions and determines the weights based on the satellite SNR distribution characteristics, predicted satellite visibility, measured satellite visibility, altitude angle, azimuth angle, and the distance between the candidate position and the pedestrian's absolute position, and determines the pedestrian's position based on the weighted average method.

[0120] The candidate position weighting and pedestrian positioning module specifically includes: a measured satellite visibility determination unit, which determines the visibility of each satellite based on the measured satellite SNR data; a satellite scoring unit, which performs satellite visibility matching based on the satellite visibility prediction and measured conditions of the candidate positions inside the road, and scores the satellites at each candidate position based on the matching results and the satellite SNR distribution characteristics, satellite altitude angle and azimuth angle; a candidate position scoring unit, which calculates the candidate position score based on the satellite score, altitude angle and azimuth angle at the candidate position, and assigns 0 points to the candidate position outside the road; a candidate position weighting unit, which calculates the distance between each candidate position and the pedestrian position based on the pedestrian position, and weights the candidate position based on the distance and the candidate position score; a pedestrian positioning unit, which normalizes the candidate position weights and obtains the pedestrian position coordinates of the current epoch based on the geodetic coordinates of the candidate position.

[0121] Example 3:

[0122] An embodiment of the present invention provides an electronic device including a memory and a processor, wherein the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the mobile phone shadow matching positioning method in a complex urban environment provided in Example 1.

[0123] In practical applications, the above-mentioned electronic device may be a server.

[0124] In practical applications, an electronic device includes at least one processor, a memory, a bus, and a communications interface.

[0125] Wherein: the processor, the communication interface, and the memory communicate with each other via a communication bus.

[0126] Communication interface, used to communicate with other devices.

[0127] The processor is used to execute the program, and specifically can execute the method described in the above embodiment.

[0128] Specifically, the program may include program codes including computer operation instructions.

[0129] The processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The one or more processors included in an electronic device may be processors of the same type, such as one or more CPUs, or processors of different types, such as one or more CPUs and one or more ASICs.

[0130] Memory, used to store programs. Memory may include high-speed RAM (RAM) or non-volatile memory, such as at least one disk drive.

[0131] Based on the description of the above embodiments, the present invention provides a storage medium on which computer program instructions are stored. The computer program instructions can be executed by a processor to implement the method described in any embodiment.

[0132] The shadow matching positioning system for mobile phones in complex urban environments provided by the embodiments of the present application exists in various forms, including but not limited to:

[0133] (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and their primary purpose is to provide voice and data communications. These terminals include smartphones (such as iPhones), multimedia phones, feature phones, and low-end phones.

[0134] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, have computing and processing capabilities, and generally also have mobile Internet access capabilities. These terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.

[0135] (3) Portable entertainment devices: These devices can display and play multimedia content. These devices include audio and video players (such as iPods), handheld game consoles, e-books, smart toys, and portable car navigation devices.

[0136] (4) Other electronic devices with data interaction functions.

[0137] Thus far, specific embodiments of the present subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

[0138] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0139] For ease of description, the above devices are described in terms of their functions and are divided into various units. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware. Those skilled in the art will appreciate that the embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0140] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0141] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0142] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0143] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0144] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0145] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM),

[0146] Digital versatile discs (DVDs) or other optical storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices

[0147] Or any other non-transmission medium that can be used to store information that can be accessed by a computing device. According to the definition in the present invention, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0148] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0149] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0150] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Reference can be made to the common and similar parts between the various embodiments. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method description.

[0151] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art will be able to modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein with equivalents. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A shadow matching positioning method for mobile phones in complex urban environments, characterized by: The following steps are involved: Step 101: extracting building boundaries and road area blocks from the three-dimensional model of the target area, and calculating satellite SNR distribution characteristics of the target area; Step 102: Obtain GNSS observation data and broadcast ephemeris from the mobile phone. The GNSS observation data includes GNSS pseudorange and satellite SNR data. Use a low-pass filter to smooth the satellite SNR data. Obtain the pedestrian's absolute position and satellite position based on the GNSS observation data and broadcast ephemeris. The pedestrian's absolute position at the initial epoch is defined as the pedestrian's initial position. Step 103: Obtain data from the mobile phone's accelerometer, magnetometer, and gyroscope, and obtain the pedestrian's step length and heading angle based on these data; Step 104: Generate an initial candidate position set based on the pedestrian's initial position, and update the candidate positions based on the pedestrian's step length and heading angle; Step 105: Update the coordinates of each candidate location based on the topological relationship between each candidate location and the road area block, calculate the satellite altitude and azimuth based on the satellite position and the building boundary, and predict the satellite visibility at the candidate location; Step 106: Score the candidate locations and determine their weights based on the satellite SNR distribution characteristics, satellite SNR data, satellite visibility, altitude angle, azimuth angle, and the distance between the candidate locations and the pedestrian's absolute location, and determine the pedestrian's location based on the weighted average method.

2. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 1 is characterized in that: In step 102, GNSS pseudorange and satellite SNR data are collected, the collection time is recorded in UTC, and the corresponding broadcast ephemeris is obtained; Calculate the position of each satellite at the corresponding epoch based on the time information of GNSS observation data and broadcast ephemeris, and store the satellite position in the form of geodetic coordinates; The pedestrian's absolute position in each epoch is calculated using the least squares method based on the GNSS pseudorange and satellite positions, and stored in the form of geodetic coordinates (B, L, H). The pedestrian's position in the initial epoch is used as the station center, and the pedestrian's station center coordinates (E, N, U) in each epoch are calculated.

3. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 2 is characterized in that: The process of obtaining the pedestrian's stride length and heading angle in step 103 is as follows: collecting accelerometer, magnetometer, and gyroscope data, recording the time of collection in UTC, and performing time alignment on the multi-source data based on the time sequence of GNSS observation data; The accelerometer data is used to detect the cadence using a peak detection method, and the stride length is calculated using a Weinberg algorithm; The Mahony algorithm is used to correct the accelerometer, magnetometer and gyroscope data to each other, and the heading angle is calculated based on the corrected data.

4. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 2 is characterized in that: In step 104, a set of candidate positions conforming to a Gaussian distribution is generated with the station center coordinates of the pedestrian's initial position as the center, and the coordinates of the candidate positions in the geodetic coordinate system and the station center coordinate system are stored; Based on a Gaussian random process, the coordinates of each candidate position in each epoch are updated according to the pedestrian's step length and heading angle.

5. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 4 is characterized in that: The specific update formula for updating the candidate position coordinates is as follows: ; ; ; ; Where i is the current epoch, L i is the step length, is the step size that adds the random error of the process, is the random error of the process step size, obey distributed, is the step length measurement error; θ i is the heading angle, is the heading angle with the process random error added, is the random error of the heading angle, obeying distributed, is the heading angle measurement error; E i is the E coordinate after the candidate position status is updated, E i-1 is the E coordinate before the candidate position status is updated, N i is the N coordinate after the candidate position status is updated, N i-1 is the N coordinate of the candidate position before the state is updated; Calculate the coordinates of the updated candidate position in the geodetic coordinate system.

6. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 4, characterized in that: Step 105 is specifically as follows: Based on the geodetic coordinates of the candidate location and the road area block, the projection coordinates on the Gaussian plane are calculated. The ray method is used to determine whether the candidate location is within the road area. If the candidate location is inside the road, the candidate location is marked. At the same time, the geodetic H coordinate of the candidate location is interpolated based on the geodetic height of the feature point of the road area block where the candidate location is located, and the U coordinate of the station center is updated. The building boundary and the satellite position are converted into station center coordinates with the pedestrian's initial position as the station center; the building feature points and the azimuth and altitude angles of the satellite relative to each candidate position are calculated based on the converted station center coordinates; Based on the satellite azimuth and the azimuth of the building feature points, the satellite visibility is predicted, and the invisible satellites are classified as NLOS satellites and the visible satellites are classified as LOS satellites.

7. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 6, characterized in that: Step 106 specifically includes: Determine the measured satellite visibility based on satellite SNR data; At each candidate location, the predicted satellite visibility is compared with the measured satellite visibility. A score is obtained for each candidate location based on the comparison results, satellite SNR distribution characteristics, satellite elevation angle, and azimuth angle. Candidate locations outside the road are assigned a score of 0. Based on the pedestrian's absolute position, calculate the distance between each candidate position and the pedestrian's absolute position, and weight the candidate position based on the distance and the candidate position score; The weights of the candidate positions are normalized, and a weighted average is calculated based on the geodetic coordinates of the candidate positions and the normalized weights to obtain the final position of the pedestrian.

8. The shadow matching positioning method for a mobile phone in a complex urban environment according to claim 7, characterized in that: Satellites with SNR data greater than 31.91 dB-Hz are identified as LOS satellites, satellites with SNR data less than 26.79 dB-Hz are identified as NLOS satellites, and satellites with SNR data above 26.79 dB-Hz and below 31.91 dB-Hz are discarded in subsequent scoring.

9. A mobile phone shadow matching positioning system in a complex urban environment, used to execute a mobile phone shadow matching positioning method in a complex urban environment as claimed in any one of claims 1 to 8, characterized in that: Includes the following modules: Positioning assistance data acquisition module, used to extract building boundaries and road area blocks from the 3D model of the target area and calculate the satellite SNR distribution characteristics of the target area; The GNSS data preprocessing module is used to obtain GNSS observation data and broadcast ephemeris from the mobile phone, smooth the satellite SNR data using a low-pass filter, and obtain the pedestrian's absolute position and satellite position based on the GNSS observation data and broadcast ephemeris; The PDR data preprocessing module is used to obtain data from the mobile phone's accelerometer, magnetometer, and gyroscope, and obtain the pedestrian's step length and heading angle based on the data; The candidate position generation and update module is used to generate an initial candidate position set based on the pedestrian's initial absolute position and update the candidate position based on the pedestrian's step length and heading angle; The satellite visibility prediction module is used to update the elevation of each candidate location based on the topological relationship between each candidate location and the road area block, and predict the satellite visibility at the candidate location based on the satellite position and building boundaries; The candidate position weighting and pedestrian positioning module scores the candidate positions and determines the weights based on the satellite SNR distribution characteristics, predicted satellite visibility, measured satellite visibility, altitude angle, azimuth angle, and the distance between the candidate position and the pedestrian's absolute position, and determines the pedestrian's position based on the weighted average method.

10. An electronic device, characterized in that: It includes a memory and a processor, the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute a mobile phone shadow matching positioning method in a complex urban environment as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Satellite positioning method in urban canyons based on 3D urban model assistance

    CN107966724A

  • Shadow matching improved algorithm based on a Beidou GEO satellite

    CN110579780A