Positioning method, device, electronic device and computer storage medium

By using Bayesian probability model and fingerprint library technology in the positioning method, the joint probability of the terminal in the grid is calculated and the position is solved, the problem of poor positioning accuracy in the existing technology is solved, and higher positioning accuracy is achieved .

CN114585078BActive Publication Date: 2025-02-14CHINA MOBILE CHENGDU INFORMATION & TELECOMM TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011384057.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-01
Publication Date
2025-02-14
Estimated Expiration
2040-12-01

AI Technical Summary

Technical Problem

The positioning method in the prior art has poor positioning accuracy and cannot effectively solve this problem.

Method used

By obtaining the sampled data of the terminal, based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the joint probability of the terminal being in the target grid is calculated using the Bayesian probability model, and the terminal is solved based on this. target position.

Benefits of technology

The positioning accuracy is improved, and positioning accuracy can be effectively improved by using Bayesian probability model for positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114585078B_ABST
    Figure CN114585078B_ABST
Patent Text Reader

Abstract

The present application provides a positioning method, device, electronic device and computer storage medium. The positioning method includes: obtaining sampling data of a terminal; using a Bayesian probability model based on a probability distribution density curve of each base station in a grid in a preset fingerprint library, calculating the joint probability that the terminal is in a target grid; and solving the target position of the terminal based on the joint probability. According to the embodiments of the present application, the positioning accuracy can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of wireless signal positioning, and in particular, relates to a positioning method, device, electronic equipment and computer storage medium. Background Art

[0002] At present, the positioning method in the related technology includes: calculating the reference signal strength of each AP at each reference point according to the transmission power of each wireless access point AP in the area to be positioned and the preset ray tracing algorithm; for each AP, calculating the signal strength probability distribution model of the AP according to the pre-acquired Gaussian mixture model composition parameters of the AP at the preset collection point, the reference signal strength of the AP and the preset probability distribution model calculation formula; when receiving the positioning request sent by the terminal carrying the detection signal strength of each AP at the point to be positioned, determining the position of the point to be positioned according to the signal strength probability distribution model of each AP and the detection signal strength of each AP through the Bayesian algorithm. However, the positioning accuracy of this method is poor.

[0003] Therefore, how to improve positioning accuracy is a technical problem that technical personnel in this field urgently need to solve. Summary of the invention

[0004] The embodiments of the present application provide a positioning method, device, electronic device and computer storage medium, which can improve positioning accuracy.

[0005] In a first aspect, an embodiment of the present application provides a positioning method, including:

[0006] Get the sampling data of the terminal;

[0007] Based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the joint probability of the terminal being in the target grid is calculated using the Bayesian probability model;

[0008] Based on the joint probability, the target location of the terminal is calculated.

[0009] Optionally, before calculating the joint probability that the terminal is in the target grid using a Bayesian probability model based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the method further includes:

[0010] Collect fingerprint sample data;

[0011] Cleaning fingerprint sample data;

[0012] Compress the cleaned fingerprint sample data;

[0013] Generate a fingerprint library based on the compressed fingerprint sample data.

[0014] Optionally, after generating a fingerprint library based on the compressed fingerprint sample data, the method further includes:

[0015] Iteratively update the fingerprint library.

[0016] Optionally, iterative update of the fingerprint library includes:

[0017] Clean and cache the acquired existing network positioning data;

[0018] Using the preset SSGAN model, in semi-supervised mode, adversarial deep learning is performed on the cached existing network positioning data;

[0019] Update the existing network positioning data after adversarial deep learning to the fingerprint library.

[0020] Optionally, based on the joint probability, the target location of the terminal is calculated, including:

[0021] Based on the joint probability, the grid position is weighted using a weighted algorithm to calculate the target position of the terminal.

[0022] In a second aspect, an embodiment of the present application provides a positioning device, including:

[0023] An acquisition module, used to acquire sampling data of the terminal;

[0024] A calculation module, for calculating the joint probability of the terminal being in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library and using the Bayesian probability model;

[0025] The calculation module is used to calculate the target position of the terminal based on the joint probability.

[0026] Optionally, the device further comprises:

[0027] A collection module, used for collecting fingerprint sample data;

[0028] A cleaning module, used to clean fingerprint sample data;

[0029] Compression module, used to compress the cleaned fingerprint sample data;

[0030] The generation module is used to generate a fingerprint library based on the compressed fingerprint sample data.

[0031] Optionally, the device further comprises:

[0032] Update module, used to iteratively update the fingerprint library.

[0033] Optionally, update modules include:

[0034] A cleaning cache unit, used for cleaning and caching the acquired existing network positioning data;

[0035] The adversarial deep learning unit is used to perform adversarial deep learning on the cached existing network positioning data in a semi-supervised mode using a preset SSGAN model;

[0036] The updating unit is used to update the existing network positioning data after adversarial deep learning into the fingerprint library.

[0037] Optional, solver modules, including:

[0038] The solving unit is used to solve the target position of the terminal by weighting the grid position based on the joint probability using a weighted algorithm.

[0039] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising: a processor and a memory storing computer program instructions;

[0040] When the processor executes the computer program instructions, the positioning method shown in the first aspect is implemented.

[0041] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, the positioning method as shown in the first aspect is implemented.

[0042] The positioning method, device, electronic device and computer storage medium of the embodiments of the present application can improve positioning accuracy. The positioning method obtains the sampling data of the terminal; based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the Bayesian probability model is used to calculate the joint probability that the terminal is in the target grid; based on the joint probability, the target position of the terminal is solved. It can be seen that during the fingerprint solution, the Bayesian probability model is used to solve the position, which can effectively improve the positioning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0044] Figure 1 It is a flowchart of a positioning method provided by an embodiment of the present application;

[0045] Figure 2 This is a schematic diagram of the SSGAN model structure provided by an embodiment of the present application;

[0046] Figure 3 This is a flow chart of a data identification process provided by an embodiment of the present application;

[0047] Figure 4 is a schematic diagram of the structure of a positioning device provided by an embodiment of the present application;

[0048] Figure 5 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0049] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0050] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0051] In order to solve the problems in the prior art, the embodiments of the present application provide a positioning method, device, electronic device and computer storage medium. The positioning method provided by the embodiments of the present application is first introduced below.

[0052] Figure 1 FIG. 1 is a flow chart of a positioning method provided by an embodiment of the present application. Figure 1 As shown, the positioning method includes:

[0053] S101: Acquire sampling data of a terminal.

[0054] S102: Based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the joint probability of the terminal being in the target grid is calculated using a Bayesian probability model.

[0055] In one embodiment, before calculating the joint probability that the terminal is in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library using the Bayesian probability model, the method also includes: collecting fingerprint sample data; cleaning the fingerprint sample data; compressing the cleaned fingerprint sample data; and generating a fingerprint library based on the compressed fingerprint sample data.

[0056] In one embodiment, after generating the fingerprint library based on the compressed fingerprint sample data, the method further includes: iteratively updating the fingerprint library.

[0057] In one embodiment, iterative updating of the fingerprint library includes: cleaning and caching the acquired existing network positioning data; using a preset SSGAN model to perform adversarial deep learning on the cached existing network positioning data in a semi-supervised mode; and updating the existing network positioning data after adversarial deep learning into the fingerprint library.

[0058] S103. Calculate the target location of the terminal based on the joint probability.

[0059] In one embodiment, the target position of the terminal is calculated based on the joint probability, including: based on the joint probability, using a weighted algorithm to weight the grid position to calculate the target position of the terminal.

[0060] The positioning method obtains the sampling data of the terminal; based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the Bayesian probability model is used to calculate the joint probability that the terminal is in the target grid; based on the joint probability, the target position of the terminal is solved. It can be seen that during the fingerprint solution, the use of the Bayesian probability model for position solution can effectively improve the positioning accuracy.

[0061] The above technical solution is described below with a specific embodiment.

[0062] During the construction period of the fingerprint library, this embodiment uses normal distribution curve parameters to replace traditional measurement values ​​to create the fingerprint library, which effectively reduces the fingerprint storage space and is strongly coupled to the wireless propagation model; during the fingerprint solution, the Bayesian probability model is used to solve the position, which effectively improves the positioning accuracy; during the fingerprint library maintenance stage, SSGAN (generative adversarial network in semi-supervised mode) is used for fingerprint learning, which effectively solves the difficulty of adaptive update iteration of the fingerprint library, and is a high-quality fingerprint data maintenance and high-precision positioning method. On the other hand, the fingerprint library establishment, solution, and maintenance method of the present invention can be applied to various positioning test data, such as RSSI, AOA, AOD, TOA, TDOA, etc., and has a certain universality. Its specific functions are as follows:

[0063] 1. Establishment of basic fingerprint database.

[0064] The wireless signal sampling value x collected by the terminal can be the base station signal strength value RSSI in the traditional sense, or it can be the AOA / AOD arrival angle, TOA (arrival time), UTDOA (uplink arrival time difference), OTDOA (observed arrival time difference) and other data of the high-precision positioning system, as well as the combination of these data. In the solution method of the present invention, it is independent of the specific collection data type and has a certain universality.

[0065] (1) Fingerprint sample data collection:

[0066] For indoor situations, first rasterize the indoor electronic map, then hold the collection terminal and walk at a constant speed along the preset path. During the walking process, the terminal samples according to the preset sampling period T, collects BaseID (i.e. base station ID) and sampled data x. When starting and stopping walking, mark the time on the terminal and record the time T b 、T e , and thus calculate the number of sampling points N = (T e -T b ) / T, and then divide the travel path into N segments, each segment corresponds to a specific grid, thereby forming a grid measurement value vector X={GradID,BaseID,x}, where GradID is the corresponding grid number, and BaseID,x is the base station ID and sampling value collected on this grid.

[0067] For outdoor situations, a GPS receiver can be equipped on the terminal to collect base station data and GPS longitude and latitude information during travel, and then match the longitude and latitude information to the corresponding grid on the electronic map to form a grid measurement value vector X = {GradID, BaseID, x}.

[0068] After traversing the measurement path, the measurement value vector X collected in each sampling period forms a collection of measurement values ​​{X}. {X} is the data sampled in each grid, and multiple sampled data will be generated in each grid. The data volume is huge and may contain some abnormal data affected by the wireless environment. Therefore, the original sampled data must be cleaned and compressed before being added to the fingerprint library in the subsequent fingerprint library establishment process.

[0069] In the subsequent location calculation using the Bayesian probability model, the occupancy probability of the grid (i.e., the probability value of the terminal being located in the grid in the actual geographical environment) is required to participate in the calculation. Therefore, after the electronic map is rasterized, the occupancy probability P of the terminal being located in the grid can be configured a priori for each grid according to the actual distribution characteristics of the geographical location. GridID, as the basic probability attribute data of the grid, for subsequent probability calculation. For example, the probability value of being located in the center of the lake is small, and the probability of being located on the central street is large. A rough probability budget is made according to the region. If the geographic scope of the rasterized electronic map is large and it is difficult to preset the grid occupancy probability on a large scale, P can also be preset. GridID =1, the subsequent fingerprint library iteration method is used to further refine and optimize the grid occupancy probability.

[0070] (2) Cleaning of fingerprint sample data:

[0071] Since wireless signals have slow fading and fast fading characteristics, the wireless signal sampling value x collected on the same grid has fluctuations caused by human factors and environmental factors. In order to improve the accuracy of subsequent positioning solutions, the collected sample data needs to be cleaned.

[0072] In the data cleaning process, for a certain GradID, first traverse the collection measurement value set {X} to form a GradID i Based on BaseID j Measurement data vector That is, the signal measurement value vector of base station j collected on grid i. Then calculate According to the wireless signal distribution theory, the measured data {x1,x2,......x n The distribution of} should satisfy the normal distribution with mean μ and mean square deviation σ, and its probability distribution function is Sequentially change x k Substitute the probability density formula, calculate its probability value, remove the measurement values ​​with probability values ​​less than 0.1, that is, the sampling values ​​with large deviation, and then form the cleaned sample data vector

[0073] Traverse the sample data set after data cleaning For base station BaseID j and all unequal measurements x k , Count can be calculated j,k =Count:{BaseID=BaseID j ,x=x k}, that is, in the data set Within, BaseID j A measurement value x k The number of occurrences is used to calculate the BaseID j The measured value x k The probability of appearing in the entire data set P(BaseID,x k )=Count j,k / ∑ m ∑ n Count m,n , that is, the probability of the base station measurement value, P(BaseID,x k ) will be used to subsequently solve the position based on the Bayesian probability model.

[0074] (3) Compression of fingerprint sample data:

[0075] Considering that the area to be positioned in actual engineering applications is relatively large, and at the same time, in order to improve the positioning accuracy, the grid spacing is relatively small, and in the data sampling process, there are multiple signal acquisition data on each grid. Therefore, a large amount of sample data is collected during the data collection process. In the process of establishing the fingerprint library, the storage problem of massive data needs to be fully considered. Multiple measurements x i Fit and calculate the parameters μ, σ of the normal distribution, and convert {x1, x2, ... x m} is compressed into 2 parameters to realize the compressed storage of the fingerprint library. The following are the calculation steps.

[0076] Using the cleaned sample data Recalculate the mean μ and mean square error σ of x for the grid GradID i BaseID of the base station j , only the calculated mean and variance are stored, thus forming a grid GradID i Fingerprint sample vector B(GradID i )={(BaseID1,μ1,σ1),...(BaseID n ,μ n , σ n )}, that is, grid GradID i The normal distribution curve parameters of the sampling signal of each base station on the GradID can be calculated according to the measured BaseID and the sampling value x value in the subsequent positioning solution process. i The probability value within .

[0077] In the fingerprint sample vector B(GradID i ), add GradID i The grid occupancy probability forms GradID i Fingerprint sample vector Used to generate fingerprint sample library.

[0078] (4) Generation of fingerprint database:

[0079] Iterate over the fingerprint-like vector The fingerprint database grid table GradIDTable is established with BaseID as the index. The database table structure includes BaseID, GradID, P GradID , μ, σ fields, namely the grid number occupied by the base station BaseID, the occupancy probability of the grid, and the normal distribution curve parameters of the BaseID in this grid. k ), establish the fingerprint database base station measurement value probability table BaseSampPTable, the database table structure includes BaseID, sampling value x, probability value field, that is, the sampling value x of the base station BaseID and its probability value.

[0080] 2. Calculate the terminal position based on the fingerprint database.

[0081] (1) Basic algorithm for position calculation:

[0082] The terminal position is calculated based on the actual sampling value vector X′={(BaseID1,x1)......(BaseID n ,x n )}, combined with the fingerprint library, the terminal position is calculated, that is, the GradID of the grid where the terminal is located is calculated, so as to obtain the position vector W (GradID) of the terminal.

[0083] When the terminal is located at a certain geographical location, its sampling value is X′={(BaseID1,x1)......(BaseID n ,x n )}. For a certain base station BaseID i In the GradIDTable table in the fingerprint library, multiple GradIDs will contain BaseID i When sampling in adjacent grids, it is also very likely that the base station BaseID i data, and their signal sampling values ​​x are relatively close, and may even be equal when the grid division is small. Therefore, a simple comparison of a few single base stations cannot be used to solve the position. Since a total of n base stations’ data are collected in this collection, the probability distribution density curve of each base station in the grid in the fingerprint library can be combined with the Bayesian probability model to calculate the joint probability that the terminal is in a certain grid. Through the calculation and judgment of the joint probability, the GradID where the terminal is located is finally solved, that is, the terminal’s solution position vector W (GradID) based on the GradID.

[0084] The position calculation process firstly targets the sampled data X′={(BaseID1,x1)......(BaseID n ,x n The sampling value B of each base station ini =(BaseID i ,x i ), using the Bayesian probability model, calculate B i The conditional probability P(GradID|B) within GradID is that since the sampling values ​​B of different base stations are independent random variables, the sampling data X′={(BaseID1,x1)......(BaseID n ,x n )} The joint probability of being located in the grid GradID is the product of the probabilities P(GradID|B) of each base station, thereby solving the joint probability P(GradID|X′) of the sampled data X′ being located in GradID.

[0085] Specifically, the Bayesian probability model is applied to positioning solution, and the probability calculation formula is as follows:

[0086] P(GradID|B)=P(GradID)P(B|GradID) / P(B)

[0087] Among them, P(GradID) is the prior probability of the terminal appearing in the grid GradID, P(B) is the prior probability of the sample value B = (BaseID, x) appearing, P(GradID|B) is the conditional probability that the terminal is located in the grid GradID when the sample value is known to be B, and P(B|GradID) is the conditional probability of sampling the sample value B in the grid GradID. The solution process is to calculate Max(P(B|GradID)), that is, when the sample value is known to be B, find the grid corresponding to the maximum conditional probability, and then solve the position vector W(GradID). P(B) is the probability of the sample value B = (BaseID, x) appearing, that is, the base station measurement value probability P(BaseID, x) calculated in the cleaning of the fingerprint sample data, and P(GradID) is the grid occupancy probability P configured in the rasterization of the electronic map. GradID Therefore, according to the Bayesian probability model, the position solution goal is to find:

[0088] P max =Max(P(B|GradID)P(GradID) / P(B))=Max(P(B|GradID)*P GradID / P(BaseID,x)

[0089] Among them, P GradID , P(BaseID,x) can be found in the fingerprint database. In the subsequent solution, we only need to find P(B|GradID) (that is, the conditional probability of sampling the sample value B in the grid GradID) to solve P max , then calculate Pmax The corresponding grid realizes the terminal position solution.

[0090] The specific solution process of solving P(B|GradID) is as follows: first, according to the base station set {BaseID1,...BaseID n}Query the fingerprint database table GradIDTable to obtain the base station BaseID in the base station set i The corresponding grid and probability curve parameter vector Y i ={(Grad1,μ1,σ1)......(Grad m ,μ m ,σ m )}, where i is the ID of the sampling data relay station. Then, BaseID i The sample value x i Substitute into Y i In each grid, according to its normal distribution curve parameters μ, σ, the probability value p in each grid is calculated to form a probability distribution for BaseID i Probability vectors in different grids

[0091] In the probability vector P i The probability value in For the GradID in the grid k The conditional probability of sampling to the sample value BaseID,x is the aforementioned P(B|GradID), so according to the Bayesian formula, P k,i Indicates the GradID in the grid k Internal sampling to (BaseID i ,x i ) probability value. By traversing all the measurement data, the probability set {P k,i}, for the grid GradID k , the base station signals sampled on this grid are independent random variables, so in the grid GradID k Collected X′={(BaseID1,x1)......(BaseID n ,x n )} k , should be the product of the probability values ​​of each base station, that is, Traverse all P k , and then we can find Thus, the grid with the largest probability value is determined, that is, the position vector W (GradID) is solved.

[0092] (2) Weighted algorithm for position solution:

[0093] Considering the actual engineering application, for a set of measured quantities, the calculated partial grid probability value P k It is possible that they are very close. If only the grid with the maximum probability is selected, a large positioning error will result. Therefore, it can be k The top K values ​​with higher probability (i.e., TOP_K grids) are selected, grid positions are weighted, and the final terminal position is solved: Where W i is the center coordinate of the TOP_K grid, and W is the positioning coordinate after weighted calculation.

[0094] 3. Iterative optimization of fingerprint library.

[0095] On the one hand, in actual engineering applications, there are a large number of network optimization projects such as base station relocation, addition, antenna adjustment, etc. On the other hand, wireless signals will be affected by changes in environmental factors, such as new buildings, building demolition, etc. Such changes will have a greater impact on wireless signals. Therefore, the data in the fingerprint library needs to be updated and optimized regularly. The conventional method is to re-collect fingerprint data, which has a huge amount of engineering and cannot control the iteration interval of the fingerprint library well. The present invention uses the existing network positioning data cleaning and caching to store the newly added base stations and newly collected data in the grid, and caches part of the existing network data actually collected, and then uses the SSGAN model (semi-supervisedGAN) in a semi-supervised mode to use an adversarial neural network to perform deep learning and identification on the existing network positioning data, and the data after adversarial learning is supplemented and entered into the fingerprint library to achieve adaptive update and iteration of the fingerprint library.

[0096] (1) Cleaning and caching of existing network positioning data.

[0097] For the terminal in the existing network, the data vector X′={(BaseID1,x1)......(BaseID n ,x n )}, firstly, the BaseID is identified. For the base station ID not included in the fingerprint library, the engineering parameter table is queried, and the location ID of the base station is supplemented and inserted into the base station measurement value probability table BaseSampPTable.

[0098] For the existing network positioning data, a certain amount of collected data is stored regularly. Using the existing fingerprint library and solution algorithm, each collected data vector X' calculates the positioning grid GradID to form a solution and original data vector R(GradID) = {(BaseID1, x1)......(BaseID n ,x n)}. In the data set {R(GradID)}, for the same GradID, traverse the data set, for the same BaseID i , the mean and mean square error can be calculated by using multiple sampling values ​​x, and then the data cache vector Z(GradID)={(BaseID1,μ1,σ1)......(BaseID n ,μ n ,σ n )}.

[0099] The R (GradID) and Z (GradID) vectors are divided into two categories. The first category is the data whose grid GradID in the original fingerprint library contains BaseID, that is, the existing network positioning data cache vectors R1 (GradID) and Z1 (GradID). The second category is the data whose grid GradID in the original fingerprint library does not contain BaseID, that is, the newly added positioning data cache vectors R2 (GradID) and Z2 (GradID). This type of data includes newly added base stations and newly collected data in a certain grid.

[0100] Each time data is cached, a corresponding data vector is generated. By caching data multiple times, a set of numbers R = {R (GradID)}, Z = {Z (GradID)} and R can be generated. i = {R i (GradID)}, Z i = {Z i (GradID)}(i=1,2).

[0101] (2) Iterative optimization of grid occupancy probability and base station measurement value probability:

[0102] The data cache set Z of the existing network positioning data is the data set where the actual collected data is located at the GradID. Therefore, Z can be used to calculate the GradID occupancy probability P. GridID =The number of times the GradID is located / the number of cached data points, the GradID occupancy probability P can be achieved GridID Update; data cache set R (GradID), including the collected BaseID and sampling value, so all data in R can be traversed and updated according to (BaseID i ,x i ) is used for statistics, and the base station measurement value probability P(BaseID,x) can be calculated as (BaseID,x) = number of occurrences of (BaseID,x) / number of cached data points, so that the base station measurement value probability P(BaseID,x) can be updated.

[0103] (3) Iterative optimization of fingerprint library based on SSGAN model:

[0104] Generative Adversarial Networks (GAN) is a deep learning model and one of the most promising methods for unsupervised learning on complex distributions in recent years. The model achieves Nash equilibrium through the mutual game between the two neural network modules in the framework: the generator G (Generative Model) and the discriminator D (Discriminative Model), and finally learns the data distribution law and generates high-quality data. In the current popular algorithms, deep neural networks are generally used as G and D, where the generator G is a data generation neural network that receives a random noise, generates corresponding data through this noise, and sends it to the discriminator D for binary identification. Considering that after the positioning platform is put into use, a large number of terminals will collect massive measured data, and solve the corresponding position coordinates through the fingerprint algorithm, these massive solved data are subjected to adversarial training, so that the SSGAN network can learn the data distribution law, thereby realizing the adaptive update and iteration of the fingerprint library. Therefore, the present invention utilizes the SSGAN model (semi-supervised GAN), and the data input to the discriminator includes the original fingerprint library data, measurement solution data and generator D data, so that the generator and the discriminator perform adversarial deep learning under semi-supervised conditions, self-learn the data distribution law, and screen and calculate high-quality data, and finally realize adaptive deletion and addition of the fingerprint library.

[0105] The fingerprint database contains the original fingerprint data C (GradID) of each grid point. Through real-time data collection and combined with the fingerprint database, the data cache set can be solved, namely the existing network positioning data cache set Z1 (GradID) and the newly added data cache set Z2 (GradID). The three types of data have their own classification labels. Using the GAN network in the semi-supervised mode, the design is as follows Figure 2 The SSGAN model shown in the figure contains data templates C, Z1 and Z2 in the classifier of the data sample. The fingerprint library data C is used as the real data input, the existing network positioning data Z1 and the newly added positioning data Z2 are used as the suspected data input. In the generator model G, random noise is added as the fake data input. The data samples are classified as follows: C is the first category, Z1 is the second category, Z2 is the third category, and D is the fourth category. k =(y=k|x) indicates the probability that the input data is x and the discriminator model D is classified as class k.

[0106] The traditional standard classification is supervised learning, and the model obtains the optimal network parameters by minimizing the cross entropy loss. For the current SSGAN network, the output of the generator network is taken as the fourth category, and the corresponding discriminant network becomes a classification problem of four categories of data. In this SSGAN network, the generator D tries its best to learn the distribution characteristics of the real data according to the loss function, hoping to generate high-quality data with the distribution characteristics of the real data to deceive the discriminator; on the other hand, the discriminator tries its best to distinguish whether the data comes from the real data or the generator by continuously increasing its own discrimination ability, and feeds the loss function calculated by the gradient back to the generator so that the generator can generate higher quality data. The generator and the discriminator reach Nash equilibrium through continuous optimization learning and game, at which point the generator can generate data close to the distribution characteristics of the real data to the greatest extent, and the discriminator can identify data classification to the greatest extent. In the process of training and learning the positioning fingerprint data through the SSGAN network, the focus is on the training of the discriminator, so that it can recognize the data in the original fingerprint library and the high-quality data in the existing network cache data with a high probability, thereby realizing the addition and deletion of the positioning fingerprint library. Using the SSGAN network and the loss function, the four types of data can be classified through adversarial training of the generator and the discriminator, and the classification probability value P of each input data can be calculated. i (i=1,2,3,4).

[0107] In the training of the generator G and the discriminator D, the loss function is set as:

[0108] V(D,G)=V(D,G) supervised +V(D,G) unsupervised

[0109] Among them, V(D,G) supervised =E x,y~pdata(x,y) logp(y|x,y≤3) is the loss function of the supervised part, that is, the loss function of samples 1, 2, and 3. x,y~pdata(x,y) is the mathematical expectation of input data and output classifications of 1, 2, and 3; V(D,G) unsupervised =E x,y~pdata(x,y) log[1-p(y=4|x)]+E x~G [logp(y=4|x)] is the loss function of the unsupervised part, which includes the loss of samples 1, 2, and 3 that are judged as pseudo data and the loss of samples generated by the generator. x~G is the mathematical expectation of the input generator.

[0110] In the training process, V(D,G) is actually optimized by using the stochastic gradient descent method to minimize the maximum value and solve it iteratively. That is, when training and optimizing the generator G, V(D,G) is achievedunsupervised Minimization Make the output probability of the data generated by the generator approach 0 after being identified by the discriminator; when training and optimizing the discriminator D, achieve V(D,G) supervised Maximization This makes the output probability of the real data through the discriminator approach 1. After cross-training the generator G and the discriminator D, Nash equilibrium is finally reached. At this time, both G and D reach the best state.

[0111] When G and D are both in the best state, continue to input the three types of data collected and cached, input the first three types of data (3D data), and use the generator G to generate pseudo data (1D data). The discriminator output of the constructed SSGAN network is 4D data, including the data classification results and the corresponding probabilities. Using the aforementioned loss function V(D,G)=V(D,G) supervised +V(D,G) unsupervised Continue to train the discriminator and generator, obtain the classification results and probability values ​​of the input data, and realize adaptive deletion and addition of the fingerprint library. Since the sampling data of the terminal is massive in the actual existing network, the data generated by the generator can be ignored in the optimization and iteration of the fingerprint library. The generator only acts as a confrontation with the discriminator. After the discriminator achieves a good training effect, it can identify high-quality data from the existing network positioning data and the newly added positioning data to realize the optimization and iteration of the fingerprint library. The data identification process is as follows: Figure 3 shown.

[0112] According to the input data and the calculated output 4-dimensional vector, the data probability transfer matrix is ​​generated as shown in Table 1:

[0113] Table 1

[0114]

[0115] In Table 1, “-” indicates the output data type that is not of interest. In the adaptive iteration process of the fingerprint library, firstly, according to the formula P k =(y=k|x), the adaptive iteration of the fingerprint library includes the following three methods:

[0116] (1) For the input data of the first type of fingerprint library data C, the output classification is 4 (i.e., pseudo data), for the data whose probability value is greater than the threshold P M1 The data is deleted in the fingerprint database. Such data corresponds to the abnormal data in the original fingerprint database after the wireless environment parameters change (such as base station removal, etc.);

[0117] (2) For the input data of the second type of existing network positioning data Z1, the output classification is 1 (i.e., real data), for the data whose probability value is greater than the threshold P M2The data vector Z1′(GradID)={(BaseID1,μ1,σ1)......(BaseID n ,μ n ,σ n )}, forming a reliable data set Z1′={Z1′(GradID)}. Traversing the data set {Z1′(GradID)}, for GradID and BaseID, forming a data vector S(GradID,BaseID)={(μ1,σ1),......(μ m ,σ m )}, that is, the normal distribution parameter value vector of BaseID in GradID. Because this type of data is used to correct the original fingerprint database data, it is necessary to further verify the reliability of this type of data. Therefore, the K-Means algorithm (K-means clustering algorithm) is further used to perform clustering on the data vector {(μ1,σ1),......(μ m ,σ m )} to classify, the data set is divided into K categories in total. If the largest cluster set {S max The number of cluster points in is N max , then calculate the proportion of the number of data points of this type of set in the total number of data points m. If N max , that is, more than 90% of the data is located in S max If the data is in the data, then this type of data is considered to be reliable data, and S is further calculated. max The cluster center point of the internal data (μ c , σ c ), and correct the (μ, σ) corresponding to GradID, BaseID in the fingerprint library GradIDTable table to (μ c , σ c ), complete the modification of the fingerprint database; if N max , that is, more than 10% of the data are not in S max This indicates that such data is not yet completely reliable, and the fingerprint database will not be corrected at this time.

[0118] (3) For the data whose input data is the newly added positioning data Z2 of the third category and whose output classification is 1 (i.e., true data), for the data whose probability value is greater than the threshold P M3 The data is added to the fingerprint library. Such data corresponds to the reliable fingerprint data of the changes in wireless environment parameters or the addition of new base stations.

[0119] Through the above-mentioned SSGAN training and data screening, the deletion, correction and addition of fingerprint library data can be realized. It is an efficient and intelligent fingerprint library adaptive iteration method based on adversarial neural network.

[0120] In the process of creating the fingerprint database, this embodiment uses the characteristics of the wireless signal sampling data satisfying the normal distribution probability curve, and through data cleaning, data compression and other technical means, effectively ensures the reliability of the fingerprint data, while reducing the database storage and data query time;

[0121] In view of the difficulty of updating and iterating the fingerprint database, this embodiment uses the massive data measured and solved in the existing network, and effectively identifies high-quality reliable data through adversarial learning of the SSGAN network, which is used for adaptive optimization and iteration of the fingerprint database, solves the difficulty of fingerprint database iteration, is suitable for deleting abnormal data and adding new data in the fingerprint database, and systematically solves the problem of fingerprint data changes caused by station removal, new base stations and changes in the wireless environment;

[0122] This embodiment proposes a unified method for positioning base stations and wireless signal sampling values. The sampling measurement value can be the signal strength RSSI, or the angle value of AOA / AOD, and the time difference value of TOA and TDOA, or a combination of multiple measurement values. It is a more universal positioning method.

[0123] This embodiment uses the Bayesian probability model to establish a fingerprint database based on multiple base stations, and uses the Bayesian formula to jointly solve the position of the grid probability P(GradID|B) involved in the sampling data. It is a high-precision and efficient fingerprint positioning algorithm.

[0124] like Figure 4 As shown, the embodiment of the present application also provides a positioning device, including:

[0125] The acquisition module 401 is used to acquire the sampling data of the terminal;

[0126] The calculation module 402 is used to calculate the joint probability of the terminal being in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library and using the Bayesian probability model;

[0127] The calculation module 403 is used to calculate the target position of the terminal based on the joint probability.

[0128] In one embodiment, the apparatus further comprises:

[0129] A collection module, used for collecting fingerprint sample data;

[0130] A cleaning module, used to clean fingerprint sample data;

[0131] Compression module, used to compress the cleaned fingerprint sample data;

[0132] The generation module is used to generate a fingerprint library based on the compressed fingerprint sample data.

[0133] In one embodiment, the apparatus further comprises:

[0134] Update module, used to iteratively update the fingerprint library.

[0135] In one embodiment, the update module includes:

[0136] A cleaning cache unit, used for cleaning and caching the acquired existing network positioning data;

[0137] The adversarial deep learning unit is used to perform adversarial deep learning on the cached existing network positioning data in a semi-supervised mode using a preset SSGAN model;

[0138] The updating unit is used to update the existing network positioning data after adversarial deep learning into the fingerprint library.

[0139] In one embodiment, the solution module 403 includes:

[0140] The solving unit is used to solve the target position of the terminal by weighting the grid position based on the joint probability using a weighted algorithm.

[0141] Figure 4 Each module / unit in the device shown has the function of realizing Figure 1 The functions of each step in the process can achieve the corresponding technical effects, which will not be described in detail here for the sake of brevity.

[0142] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application is shown.

[0143] The electronic device may include a processor 501 and a memory 502 storing computer program instructions.

[0144] Specifically, the processor 501 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0145] The memory 502 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 502 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 502 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 502 may be inside or outside the electronic device. In a particular embodiment, the memory 502 may be a non-volatile solid-state memory.

[0146] In one example, the memory 502 may be a read-only memory (ROM). In one example, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or a flash memory, or a combination of two or more of these.

[0147] The processor 501 implements any one of the positioning methods in the above embodiments by reading and executing computer program instructions stored in the memory 502 .

[0148] In one example, the electronic device may further include a communication interface 503 and a bus 510. Figure 5 As shown, the processor 501, the memory 502, and the communication interface 503 are connected via a bus 510 and communicate with each other.

[0149] The communication interface 503 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0150] Bus 510 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 510 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.

[0151] In addition, the embodiments of the present application may be implemented by providing a computer storage medium having computer program instructions stored thereon; when the computer program instructions are executed by a processor, any one of the positioning methods in the above embodiments is implemented.

[0152] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0153] The functional modules shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. Programs or code segments can be stored in machine-readable media, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable media" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0154] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0155] The above reference is according to the method of the embodiment of the present application, the flow chart of the device (system) and the computer program product and / or the block diagram described various aspects of the present application.It should be understood that each square box in the flow chart and / or the block diagram and the combination of each square box in the flow chart and / or the block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the realization of the function / action specified in one or more square boxes of the flow chart and / or the block diagram.Such a processor can be but is not limited to a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.It can also be understood that each square box in the block diagram and / or the flow chart and the combination of the square boxes in the block diagram and / or the flow chart can also be realized by the dedicated hardware that performs the specified function or action, or can be realized by the combination of dedicated hardware and computer instructions.

[0156] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A positioning method, characterized in that: include: Acquire sampling data of the terminal, where the sampling data includes n sampling values; Based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, the joint probability of the terminal being in the target grid is calculated using the Bayesian probability model; Based on the joint probability, calculating the target position of the terminal; The method of calculating the joint probability of the terminal being in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library and using the Bayesian probability model includes: For the i-th sampling value among the n sampling values, based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, using the Bayesian probability model, calculate the conditional probability that the i-th sampling value is located in the target grid, and obtain n conditional probabilities; The product of the n conditional probabilities is determined as the joint probability that the terminal is in the target grid.

2. The positioning method according to claim 1, characterized in that: Before calculating the joint probability of the terminal being in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library by using a Bayesian probability model, the method further includes: Collect fingerprint sample data; Cleaning the fingerprint sample data; Compress the cleaned fingerprint sample data; The fingerprint library is generated based on the compressed fingerprint sample data.

3. The positioning method according to claim 2, characterized in that: After generating the fingerprint library based on the compressed fingerprint sample data, the method further includes: The fingerprint library is updated iteratively.

4. The positioning method according to claim 3, characterized in that: The iterative updating of the fingerprint library comprises: Clean and cache the acquired existing network positioning data; Using the preset SSGAN model, in semi-supervised mode, adversarial deep learning is performed on the cached existing network positioning data; The existing network positioning data after adversarial deep learning is updated to the fingerprint library.

5. The positioning method according to claim 1, characterized in that: The calculating the target position of the terminal based on the joint probability includes: Based on the joint probability, a weighted algorithm is used to weight the grid positions to calculate the target position where the terminal is located.

6. A positioning device, characterized in that: include: An acquisition module, used to acquire sampling data of a terminal, wherein the sampling data includes n sampling values; A calculation module, used to calculate the joint probability that the terminal is in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library and using the Bayesian probability model; A calculation module, used for calculating the target position of the terminal based on the joint probability; The calculation module is specifically used to calculate the conditional probability that the i-th sampling value among the n sampling values ​​is located in the target grid based on the probability distribution density curve of each base station in the grid in the preset fingerprint library, and use the Bayesian probability model to obtain n conditional probabilities; determine the product of the n conditional probabilities as the joint probability that the terminal is in the target grid.

7. The positioning device according to claim 6, characterized in that: The device also includes: A collection module, used for collecting fingerprint sample data; A cleaning module, used for cleaning the fingerprint sample data; Compression module, used to compress the cleaned fingerprint sample data; The generation module is used to generate the fingerprint library based on the compressed fingerprint sample data.

8. The positioning device according to claim 7, characterized in that: The device also includes: An updating module is used to iteratively update the fingerprint library.

9. The positioning device according to claim 8, characterized in that: The update module includes: A cleaning cache unit, used for cleaning and caching the acquired existing network positioning data; The adversarial deep learning unit is used to perform adversarial deep learning on the cached existing network positioning data in a semi-supervised mode using a preset SSGAN model; An updating unit is used to update the existing network positioning data after adversarial deep learning into the fingerprint library.

10. The positioning device according to claim 6, characterized in that: The solution module comprises: A solving unit is used to solve the target position where the terminal is located by weighting the grid position based on the joint probability using a weighting algorithm.

11. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the positioning method according to any one of claims 1 to 5 is implemented.

12. A computer storage medium, characterized in that: The computer storage medium stores computer program instructions, and when the computer program instructions are executed by the processor, the positioning method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Positioning method and device based on fingerprint database, and computer readable storage medium

    CN108181607A

  • Mobile terminal positioning method and device, electronic equipment and storage medium

    CN110225453A