Indoor fingerprint positioning method, system, equipment and medium

Through GeoHash encoding and dual filtering algorithm, historical trajectory points are classified and data processed, fingerprint database is built, and online matching is performed, which solves the problem of low positioning efficiency in the existing technology and achieves faster and more accurate fingerprint positioning.

CN119826826APending Publication Date: 2025-04-15BEIDOU TIANDI CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411980700.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The existing fingerprint positioning method requires a lot of manpower and material resources to survey in the stage of building an offline fingerprint library, and the algorithm requires huge memory space, resulting in low positioning efficiency.

Method used

By using GeoHash encoding, the latitude and longitude of historical track points are dimensionally transformed, grid division and fuzzy leading matching are performed, Hampel filtering and mean filtering are performed, fingerprint database is constructed, and real-time fingerprint information is matched online with the database.

Benefits of technology

It effectively improves fingerprint data storage and algorithm computing efficiency, quickly generates accurate fingerprint databases, and improves positioning efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119826826A_ABST
    Figure CN119826826A_ABST
Patent Text Reader

Abstract

The invention provides an indoor fingerprint positioning method, system and device and a medium, and belongs to the technical field of localization, the method comprises the following steps: using GeoHash codes to carry out dimension conversion on track point locations in a historical track point location time sequence database to obtain historical track GeoHash codes; grid division is carried out on the fingerprint positioning data space, and a block-level GeoHash coding table is generated; performing fuzzy preamble matching on the historical track GeoHash codes and the block-level GeoHash code table, and classifying the historical track GeoHash codes; performing Hampel filtering and mean filtering processing on corresponding original measurement data in the historical track GeoHash code according to a classification result to obtain fingerprint information of a corresponding position, and constructing a fingerprint database; and collecting real-time fingerprint information, and carrying out online matching on the real-time fingerprint information and the fingerprint database to obtain a fingerprint positioning result. According to the invention, the positioning result can be efficiently obtained.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of positioning technology, and in particular relates to an indoor fingerprint positioning method, system, equipment and medium. Background Art

[0002] Fingerprint positioning methods are usually divided into two stages: offline and online. The offline stage mainly collects fingerprint information (such as CSI, RSS, TOA, TDOA, etc.) at each reference point in the positioning location to establish a location fingerprint database; the online stage refers to when positioning is needed, the real-time fingerprint information collected by the device is matched with the fingerprint information in the database through an appropriate algorithm to determine the location.

[0003] The technical disadvantage of this method is the stage of building an offline fingerprint library. In this stage, fingerprints at various locations need to be collected, and in order to ensure data accuracy and stability, a large amount of tedious surveys need to be carried out in the designated area, which consumes a lot of manpower and material resources. When this method operates on the entire trajectory data set, the memory space required by the algorithm is quite large. Summary of the invention

[0004] In order to overcome the disadvantage of low positioning efficiency of the existing positioning method, the present invention provides an indoor fingerprint positioning method, comprising the following steps:

[0005] Based on the historical trajectory point time series database storing the positioning results, the longitude and latitude of the trajectory points in the historical trajectory point time series database are transformed into dimensions using GeoHash coding to obtain the historical trajectory GeoHash coding;

[0006] Grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results;

[0007] According to the classification results, the corresponding original measurement data in the GeoHash encoding of the historical trajectory is processed by Hampel filtering and mean filtering to obtain the corresponding position fingerprint information, and a fingerprint database is constructed through the corresponding position fingerprint information;

[0008] Collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain fingerprint positioning results.

[0009] Preferably, the classifying of the historical trajectory GeoHash codes according to the matching results comprises the following steps:

[0010] Obtain the maximum longitude, minimum longitude, maximum latitude, minimum latitude and grid division parameters of the fingerprint positioning data space, and grid the fingerprint positioning data space according to the maximum longitude, minimum longitude, maximum latitude, minimum latitude and grid division parameters;

[0011] Perform GeoHash encoding on the four vertices of the mesh, and generate a block-level GeoHash encoding table by using the mesh serial number and vertex GeoHash encoding. Use the block-level GeoHash encoding table to extract the prefix tree.

[0012] Traverse the prefix tree in the block-level GeoHash code table, perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results.

[0013] Preferably, the method of performing Hampel filtering and mean filtering on the corresponding original measurement data in the GeoHash encoding of the historical trajectory according to the classification result to obtain the corresponding position fingerprint information, and constructing a fingerprint database through the corresponding position fingerprint information includes the following steps:

[0014] According to the historical trajectory GeoHash coding classification results, the corresponding original measurement data in the same category are summarized, and Hampel filtering is used to preprocess each type of original measurement data to remove outliers;

[0015] The preprocessed data is subjected to mean filtering to obtain the corresponding position fingerprint information, and a fingerprint database is constructed based on the corresponding position fingerprint information.

[0016] Preferably, the collecting of real-time fingerprint information and online matching of the real-time fingerprint information with a fingerprint database comprises the following steps:

[0017] Calculating the Euclidean distance between the real-time fingerprint information obtained in real time and the fingerprint data in the fingerprint database;

[0018] According to the calculated Euclidean distance, the data is sorted from small to large, and the first K closest position fingerprints after sorting are selected;

[0019] Assign a weight to each selected position fingerprint, and calculate the final coordinate position of the point to be measured according to the weight calculation result and corresponding coordinates corresponding to each position fingerprint.

[0020] Preferably, the original measurement data includes channel state information CSI, signal strength RSS, arrival time TOA and arrival time difference TDOA.

[0021] The present invention also provides an indoor fingerprint positioning system, comprising:

[0022] The historical trajectory GeoHash encoding module uses GeoHash encoding to convert the latitude and longitude of the trajectory points in the historical trajectory point time series database based on the historical trajectory point time series database that stores the positioning results, and obtains the historical trajectory GeoHash encoding;

[0023] The matching module is used to grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results;

[0024] The fingerprint database acquisition module is used to perform Hampel filtering and mean filtering on the corresponding original measurement data in the GeoHash encoding of the historical trajectory according to the classification results to obtain the corresponding position fingerprint information, and construct a fingerprint database through the corresponding position fingerprint information;

[0025] The positioning module is used to collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain the fingerprint positioning result.

[0026] The present invention also provides a computer device, comprising a memory and a processor; the memory stores a computer program, and the processor is used to run the computer program in the memory to execute the indoor fingerprint positioning method.

[0027] The present invention also provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the indoor fingerprint positioning method.

[0028] The indoor fingerprint positioning method, system, device and medium provided by the present invention have the following beneficial effects:

[0029] The present invention can classify the historical trajectory GeoHash codes by performing fuzzy leading matching with the block-level GeoHash code table; according to the classification result, the corresponding original measurement data in the historical trajectory GeoHash code can be processed by Hampel filtering and mean filtering to obtain the corresponding position fingerprint information. The present invention can effectively improve the fingerprint data storage and algorithm operation efficiency by eliminating abnormal values ​​by using GeoHash coding and double filtering algorithm, so as to generate a more accurate fingerprint database more quickly; by matching the collected real-time fingerprint information with the constructed fingerprint database online, the positioning result can be obtained efficiently. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the embodiment of the present invention and its design scheme, the following briefly introduces the drawings required for this embodiment. The drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0031] Figure 1 The figure is a flow chart of an indoor fingerprint positioning method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0032] In order to enable those skilled in the art to better understand the technical solution of the present invention and implement it, the present invention is described in detail below in conjunction with the accompanying drawings and specific embodiments. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and cannot be used to limit the scope of protection of the present invention.

[0033] In the description of the present invention, it is to be understood that the terms “center”, “longitudinal”, “lateral”, “length”, “width”, “thickness”, “up”, “down”, “front”, “back”, “left”, “right”, “vertical”, “horizontal”, “top”, “bottom”, “inside”, “outside”, “axial”, “radial”, “circumferential”, etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the technical solutions of the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention.

[0034] In addition, the terms "first", "second", etc. are used for descriptive purposes only and are not to be understood as indicating or implying relative importance. In the description of the present invention, it should be noted that, unless otherwise clearly specified or limited, the terms "connected" and "connected" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances. In the description of the present invention, unless otherwise specified, "plurality" means two or more, which will not be described in detail here.

[0035] Example

[0036] The present invention provides an indoor fingerprint positioning method, specifically as follows Figure 1 As shown, the following steps are included:

[0037] Step 1: Based on the historical trajectory point time series database that stores the positioning results, use GeoHash coding to transform the latitude and longitude of the trajectory points in the historical trajectory point time series database to obtain the historical trajectory GeoHash coding.

[0038] Among them, the historical trajectory point time series database is an existing database that stores all positioning results.

[0039] Step 2: Grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results, including the following steps:

[0040] The maximum and minimum longitude and latitude of the fingerprint positioning data space and the set number of grids are clarified, and the fingerprint positioning data space is divided into grids, where the fingerprint positioning data space refers to the area that needs to be positioned using the fingerprint positioning method.

[0041] Definition: MaxLat is the maximum latitude, MinLat is the minimum latitude, MaxLon is the maximum longitude, MinLon is the minimum longitude, row is the number of rows, col is the number of columns, Length is the grid length, Width is the grid width, G i,j is the mesh (containing four vertex coordinates), N i,j is the grid number, and its calculation formula is as follows:

[0042]

[0043] N i,j =j+i*row(0 <i<row,0<j<col);

[0044] The four vertices of the mesh are GeoHash encoded, and the mesh serial number and vertex GeoHash encoding are generated into a block-level GeoHash encoding table, and the prefix tree is extracted using the block-level GeoHash encoding table.

[0045] Fuzzy leading matching is performed based on the historical trajectory GeoHash code and the prefix tree traversal in the block-level GeoHash code table, and the historical trajectory GeoHash code is classified according to the matching results.

[0046] Step 3: According to the classification results, the corresponding original measurement data in the GeoHash encoding of the historical trajectory is processed by Hampel filtering and mean filtering to obtain the corresponding position fingerprint information. The fingerprint database is constructed based on the corresponding position fingerprint information, including the following steps:

[0047] According to the GeoHash coding classification results, the corresponding original measurement data (such as CSI, RSS, TOA, TDOA, etc.) in the same category are summarized.

[0048] Data preprocessing is performed for each type of original measurement data, and Hampel filtering is used to eliminate outliers.

[0049] Definition: MAD is the median absolute deviation, Median is the median calculation formula, X is the data set, X i represents each data point, N is the number of data, 3σ is the outlier judgment threshold, and the calculation formula is as follows:

[0050]

[0051] MAD=Median(|X i -Median(X)|);

[0052]

[0053] The preprocessed data set is processed by mean filtering to obtain the fingerprint information of the corresponding position and store it in the fingerprint library, as follows:

[0054]

[0055] Where y(n) is the processed fingerprint information.

[0056] Step 4: Collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain the fingerprint positioning result.

[0057] Calculate the Euclidean distance between the real-time fingerprint information obtained in real time and the fingerprint data in the fingerprint database;

[0058] Definition: X = {x 1 ,x 2 ,...,x m} is the real-time fingerprint information, Y={y 1 ,y 2 ,...,y n} is the corresponding value in the fingerprint database, d is the Euclidean distance, and its calculation formula is as follows:

[0059]

[0060] In the formula, X m Represents one item in real-time fingerprint information, y n Represents a fingerprint information in the fingerprint database, m and n represent different numbers, X i Represents real-time fingerprint information, Y jRepresents information in a fingerprint database.

[0061] According to the calculated Euclidean distance, the data is sorted from small to large, and the first K closest position fingerprints after sorting are selected;

[0062] Assign a weight to each selected location fingerprint. The weight is usually proportional to the inverse of the distance, but in order to avoid the denominator being zero, a small positive number ε is added;

[0063] According to the weight calculation results and corresponding coordinates corresponding to each position fingerprint, the final coordinate position of the point to be measured is calculated.

[0064] Definition: (x, y) is the coordinate of the point to be measured, (x i ,y i ) is the position fingerprint coordinate, and the specific calculation formula is as follows:

[0065]

[0066] The present invention also provides an indoor fingerprint positioning system, comprising:

[0067] The historical trajectory GeoHash encoding module uses GeoHash encoding to convert the latitude and longitude of the trajectory points in the historical trajectory point time series database based on the historical trajectory point time series database that stores the positioning results, and obtains the historical trajectory GeoHash encoding;

[0068] The matching module is used to grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results;

[0069] The fingerprint database acquisition module is used to perform Hampel filtering and mean filtering on the corresponding original measurement data in the GeoHash encoding of the historical trajectory according to the classification results to obtain the corresponding position fingerprint information, and construct a fingerprint database through the corresponding position fingerprint information;

[0070] The positioning module is used to collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain the fingerprint positioning result.

[0071] The present invention also provides a computer device, comprising a memory and a processor; the memory stores a computer program, and the processor is used to run the computer program in the memory to execute the indoor fingerprint positioning method.

[0072] The present invention also provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the indoor fingerprint positioning method.

[0073] The Chinese full names of the English abbreviations appearing in this invention are explained as follows:

[0074] GeoHash: A geocoding method.

[0075] Hampel: An outlier detection method based on median and median absolute deviation;

[0076] WKNN: Improved K Nearest Neighbor Algorithm

[0077] CSI: Channel State Information

[0078] RSS: Signal Strength

[0079] TOA: Time of Arrival

[0080] TDOA: Time Difference of Arrival.

[0081] The embodiments described above are only preferred specific implementation modes of the present invention, and the protection scope of the present invention is not limited thereto. Any simple changes or equivalent replacements of the technical solutions that can be obviously obtained by any technician familiar with the field within the technical scope disclosed in the present invention belong to the protection scope of the present invention.

Claims

1. An indoor fingerprint positioning method, characterized in that: The steps include: Based on the historical trajectory point time series database storing the positioning results, the longitude and latitude of the trajectory points in the historical trajectory point time series database are transformed into dimensions using GeoHash coding to obtain the historical trajectory GeoHash coding; Grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results; According to the classification results, the corresponding original measurement data in the GeoHash encoding of the historical trajectory is processed by Hampel filtering and mean filtering to obtain the corresponding position fingerprint information, and a fingerprint database is constructed through the corresponding position fingerprint information; Collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain fingerprint positioning results.

2. The indoor fingerprint positioning method according to claim 1, characterized in that: The process of classifying the GeoHash codes of the historical trajectories according to the matching results includes the following steps: Obtain the maximum longitude, minimum longitude, maximum latitude, minimum latitude and grid division parameters of the fingerprint positioning data space, and grid the fingerprint positioning data space according to the maximum longitude, minimum longitude, maximum latitude, minimum latitude and grid division parameters; Perform GeoHash encoding on the four vertices of the mesh, and generate a block-level GeoHash encoding table by using the mesh serial number and vertex GeoHash encoding. Use the block-level GeoHash encoding table to extract the prefix tree. Traverse the prefix tree in the block-level GeoHash code table, perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results.

3. The indoor fingerprint positioning method according to claim 1, characterized in that: According to the classification result, the corresponding original measurement data in the GeoHash code of the historical trajectory is subjected to Hampel filtering and mean filtering to obtain the corresponding position fingerprint information, and a fingerprint database is constructed through the corresponding position fingerprint information, including the following steps: According to the historical trajectory GeoHash coding classification results, the corresponding original measurement data in the same category are summarized, and Hampel filtering is used to preprocess each type of original measurement data to remove outliers; The preprocessed data is subjected to mean filtering to obtain the corresponding position fingerprint information, and a fingerprint database is constructed based on the corresponding position fingerprint information.

4. The indoor fingerprint positioning method according to claim 1, characterized in that: The collecting of real-time fingerprint information and online matching of the real-time fingerprint information with the fingerprint database comprises the following steps: Calculating the Euclidean distance between the real-time fingerprint information obtained in real time and the fingerprint data in the fingerprint database; According to the calculated Euclidean distance, the data is sorted from small to large, and the first K closest position fingerprints after sorting are selected; Assign a weight to each selected position fingerprint, and calculate the final coordinate position of the point to be measured according to the weight calculation result and corresponding coordinates corresponding to each position fingerprint.

5. The indoor fingerprint positioning method according to claim 1, characterized in that: The original measurement data includes channel state information CSI, signal strength RSS, arrival time TOA and arrival time difference TDOA.

6. The indoor fingerprint positioning system according to claim 1, characterized in that: include: The historical trajectory GeoHash encoding module uses GeoHash encoding to convert the latitude and longitude of the trajectory points in the historical trajectory point time series database based on the historical trajectory point time series database that stores the positioning results, and obtains the historical trajectory GeoHash encoding; The matching module is used to grid the fingerprint positioning data space and generate a block-level GeoHash code table; perform fuzzy leading matching between the historical trajectory GeoHash code and the block-level GeoHash code table, and classify the historical trajectory GeoHash code according to the matching results; The fingerprint database acquisition module is used to perform Hampel filtering and mean filtering on the corresponding original measurement data in the GeoHash encoding of the historical trajectory according to the classification results to obtain the corresponding position fingerprint information, and construct a fingerprint database through the corresponding position fingerprint information; The positioning module is used to collect real-time fingerprint information, match the real-time fingerprint information with the fingerprint database online, and obtain the fingerprint positioning result.

7. A computer device, characterized in that: It comprises a memory and a processor; the memory stores a computer program, and the processor is used to run the computer program in the memory to execute the indoor fingerprint positioning method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the indoor fingerprint positioning method according to any one of claims 1 to 5.