Wireless signal-based positioning method and device, storage medium and computer device
By constructing multi-layer maps and performing cluster analysis, a set of wireless signals is generated and virtual access points are set, which solves the problems of high matching complexity and large computational overhead in wireless positioning and achieves more accurate and stable positioning results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- RAJAX NETWORK &TECHNOLOGY (SHANGHAI) CO LTD
- Filing Date
- 2023-04-17
- Publication Date
- 2026-06-26
Smart Images

Figure CN116390227B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless positioning technology, and in particular to a positioning method, apparatus, storage medium, and computer equipment based on wireless signals. Background Technology
[0002] Wireless signals are widely used in indoor positioning technology. In current mainstream positioning solutions, wireless signals need to be collected offline in advance, and a wireless signal fingerprint database needs to be built based on the collected wireless signals. Then, during the positioning process, the wireless signals received by the user are matched with the wireless signals in the online wireless signal fingerprint database, and the user's location is determined based on the signal strength of the matched wireless signals.
[0003] However, in actual positioning, a single wireless signal device can usually transmit multiple wireless signals. These wireless signals significantly increase the number of wireless signals in the wireless signal fingerprint database, resulting in a huge complexity in wireless signal matching and a huge overhead in positioning calculations. At the same time, it also leads to insufficient accuracy and stability of the user's positioning results. Summary of the Invention
[0004] In view of this, this application provides a positioning method, apparatus, storage medium and computer device based on wireless signals, the main purpose of which is to solve the technical problems of high complexity of wireless signal matching and large positioning computation overhead in wireless positioning technology.
[0005] According to a first aspect of the present invention, a positioning method based on wireless signals is provided, the method comprising:
[0006] Acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple feature information of a wireless signal;
[0007] Based on various feature information of the wireless signal, a multi-layer graph is constructed, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of one feature information of the wireless signal;
[0008] Cluster analysis is performed on the multi-layer spectrum to obtain multiple wireless signal sets. The wireless signals in each wireless signal set are set to the same virtual access point, and a wireless signal feature library is created based on the wireless signals and the corresponding virtual access points.
[0009] The system receives target beacon frame data sent by a user terminal and obtains location information based on the matching results between the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature database.
[0010] Optionally, before acquiring multiple beacon frame data groups, the method further includes: receiving multiple beacon frame data collected by a signal acquisition device at multiple locations within a preset area; numbering the multiple beacon frame data collected at each location according to the acquisition time of the beacon frame data to obtain an initial beacon frame data group; and parsing the beacon frame data in each initial beacon frame data group to obtain multiple feature information of the wireless signal in each beacon frame data, thereby generating the beacon frame data group.
[0011] Optionally, constructing a multi-layer map based on multiple feature information of the wireless signal includes: determining an initial beacon frame data group and multiple iterative beacon frame data groups among the multiple beacon frame data groups; for the initial beacon frame data group, constructing an initial multi-layer map based on the similarity of each feature information of the wireless signal in every two beacon frame data groups, wherein the feature information of the wireless signal includes a wireless signal identification number, a wireless signal name, a wireless signal timestamp, and a wireless signal strength; for each iterative beacon frame data group, iteratively updating the initial multi-layer map based on the similarity of each feature information of the wireless signal in every two beacon frame data groups to obtain the multi-layer map.
[0012] Optionally, the step of constructing an initial multi-layer graph for the initial beacon frame data group based on the similarity of each feature information of the radio signals in every two beacon frame data includes: for the initial beacon frame data group, generating nodes for each layer of the multi-layer graph based on the radio signals corresponding to each beacon frame data, wherein each node corresponds to one radio signal; calculating the similarity of each feature information of every two radio signals based on each feature information of the radio signals in each beacon frame data, and determining whether the similarity of each feature information of every two radio signals reaches a preset similarity threshold; if the similarity of any feature information of two radio signals reaches the preset similarity threshold, generating an edge between the nodes corresponding to the two radio signals in the graph corresponding to the feature information; and integrating the graphs corresponding to each feature information to obtain the initial multi-layer graph.
[0013] Optionally, the step of iteratively updating the initial multi-layer map based on the similarity of each feature information of the radio signals in each pair of beacon frame data for each iterative beacon frame data group to obtain the multi-layer map includes: for each iterative beacon frame data group, adding a node corresponding to the radio signal in each layer of the initial multi-layer map based on the radio signal corresponding to each beacon frame data; calculating the similarity of each feature information of each pair of radio signals based on each feature information of the radio signals in each beacon frame data, and determining whether the similarity of each feature information of each pair of radio signals reaches a preset similarity threshold; if the similarity of any feature information of two radio signals reaches the preset similarity threshold, generating an edge between the nodes corresponding to the two radio signals in the map corresponding to the feature information; and integrating the maps corresponding to each feature information to obtain the multi-layer map.
[0014] Optionally, the step of calculating the similarity of each feature information of every two wireless signals based on each feature information of the wireless signal in each beacon frame data, and determining whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold, includes: calculating the similarity of each two wireless signal names based on the wireless signal name in each beacon frame data, and determining whether the similarity of each two wireless signal names is greater than a preset name similarity threshold; calculating the similarity of each two wireless signal identification numbers based on the wireless signal identification number in each beacon frame data, and determining whether the similarity of each two wireless signal identification numbers is greater than a preset identification number similarity threshold; calculating the difference between each two wireless signal timestamps based on the wireless signal timestamp in each beacon frame data, and determining whether the difference between each two wireless signal timestamps is less than a preset timestamp similarity threshold; and calculating the difference between each two wireless signal strength values based on the wireless signal strength value in each beacon frame data, and determining whether the difference between each two wireless signal strength values is less than a preset signal strength similarity threshold.
[0015] Optionally, before integrating the graphs corresponding to each feature information to obtain the multi-layer graph, the method further includes: for each beacon frame data group, calculating the similarity of each feature information of every two wireless signals based on each feature information of the wireless signals in each beacon frame data group; calculating the similarity statistics of each feature information of every two wireless signals based on the similarity of each feature information of every two wireless signals in each beacon frame data group; calculating the weight value of the edge between the nodes corresponding to each two wireless signals based on the similarity statistics of each feature information of every two wireless signals; and adding the weight value of the edge between the nodes corresponding to each two wireless signals to the graph corresponding to each feature information.
[0016] Optionally, the step of performing cluster analysis on the multi-layer spectrum to obtain multiple wireless signal sets includes: using a community detection algorithm to perform community detection on each layer of the multi-layer spectrum to obtain multiple communities in each layer; aggregating all communities in the multi-layer spectrum to obtain multiple communities in the multi-layer spectrum, wherein each community corresponds to a wireless signal set; or, integrating the multi-layer spectrum into a single-layer spectrum and using a community detection algorithm to perform community detection on the single-layer spectrum to obtain multiple communities in the single-layer spectrum, wherein each community corresponds to a wireless signal set.
[0017] Optionally, the step of receiving target beacon frame data sent by the user terminal and obtaining positioning information based on the matching results of the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature database includes: receiving at least one target beacon frame data sent by the user terminal, and matching the wireless signals in each target beacon frame data with the wireless signals in the wireless signal feature database to obtain the target virtual access point corresponding to the wireless signals in each target beacon frame data; converting the at least one target beacon frame data sent by the user terminal into at least one target virtual access point, and performing positioning calculations based on the signal strength of a wireless signal corresponding to each target virtual access point to obtain the positioning information.
[0018] According to a second aspect of the present invention, a wireless signal-based positioning device is provided, the device comprising:
[0019] The data acquisition module is used to acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple feature information of a wireless signal;
[0020] The graph construction module is used to construct a multi-layer graph based on multiple feature information of the wireless signal, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of one feature information of the wireless signal;
[0021] The clustering analysis module is used to perform clustering analysis on the multi-layer spectrum to obtain multiple wireless signal sets, set the wireless signals in each wireless signal set to the same virtual access point, and create a wireless signal feature library based on the wireless signals and the corresponding virtual access points.
[0022] The positioning calculation module is used to receive target beacon frame data sent by the user terminal, and determine the location information of the user terminal based on the matching result of the wireless signal in the target beacon frame data and the wireless signal in the wireless signal feature database.
[0023] Optionally, the device further includes: a data acquisition module for receiving multiple beacon frame data collected by the signal acquisition device at multiple locations within a preset area; the data acquisition module for receiving multiple beacon frame data collected by the signal acquisition device at multiple locations within a preset area; and for each initial beacon frame data group, parsing the beacon frame data to obtain multiple feature information of the wireless signal in each beacon frame data group, and generating the beacon frame data group.
[0024] Optionally, the map construction module is specifically used to determine an initial beacon frame data group and multiple iterative beacon frame data groups among the multiple beacon frame data groups; for the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the wireless signal in every two beacon frame data groups, wherein the feature information of the wireless signal includes wireless signal identification number, wireless signal name, wireless signal timestamp, and wireless signal strength; for each iterative beacon frame data group, the initial multi-layer map is iteratively updated based on the similarity of each feature information of the wireless signal in every two beacon frame data groups to obtain the multi-layer map.
[0025] Optionally, the graph construction module is further configured to, for the initial beacon frame data group, generate nodes for each layer of the multi-layer graph based on the radio signal corresponding to each beacon frame data, wherein each node corresponds to a radio signal; calculate the similarity of each feature information of every two radio signals based on each feature information of the radio signal in each beacon frame data, and determine whether the similarity of each feature information of every two radio signals reaches a preset similarity threshold; if the similarity of any feature information of two radio signals reaches the preset similarity threshold, generate an edge between the nodes corresponding to the two radio signals in the graph corresponding to the feature information; and integrate the graphs corresponding to each feature information to obtain the initial multi-layer graph.
[0026] Optionally, the graph construction module is further configured to, for each of the iterative beacon frame data groups, add nodes corresponding to the wireless signals in each layer of the initial multi-layer graph based on the wireless signals corresponding to each beacon frame data; calculate the similarity of each feature information of every two wireless signals based on each feature information of the wireless signals in each beacon frame data, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold; if the similarity of any feature information of two wireless signals reaches the preset similarity threshold, generate an edge between the nodes corresponding to the two wireless signals in the graph corresponding to the feature information; and integrate the graphs corresponding to each feature information to obtain the multi-layer graph.
[0027] Optionally, the map construction module is further configured to: calculate the similarity between any two wireless signal names based on the wireless signal names in each beacon frame data, and determine whether the similarity between any two wireless signal names is greater than a preset name similarity threshold; calculate the similarity between any two wireless signal identification numbers based on the wireless signal identification numbers in each beacon frame data, and determine whether the similarity between any two wireless signal identification numbers is greater than a preset identification number similarity threshold; calculate the difference between any two wireless signal timestamps based on the wireless signal timestamps in each beacon frame data, and determine whether the difference between any two wireless signal timestamps is less than a preset timestamp similarity threshold; and calculate the difference between any two wireless signal strength values based on the wireless signal strength values in each beacon frame data, and determine whether the difference between any two wireless signal strength values is less than a preset signal strength similarity threshold.
[0028] Optionally, the graph construction module is further configured to, for each beacon frame data group, calculate the similarity of each feature information of every two wireless signals based on each feature information of the wireless signals in each beacon frame data group; calculate the similarity statistical value of each feature information of every two wireless signals based on the similarity of each feature information of every two wireless signals in each beacon frame data group; calculate the weight value of the edge between the nodes corresponding to the two wireless signals based on the similarity statistical value of each feature information of every two wireless signals; and add the weight value of the edge between the nodes corresponding to the two wireless signals to the graph corresponding to each feature information.
[0029] Optionally, the clustering analysis module is specifically used to employ a community detection algorithm to perform community detection on each layer of the multi-layer spectrum, obtaining multiple communities in each layer, and to aggregate all communities in the multi-layer spectrum to obtain multiple communities in the multi-layer spectrum, wherein each community corresponds to a set of wireless signals; or to integrate the multi-layer spectrum into a single-layer spectrum and employ a community detection algorithm to perform community detection on the single-layer spectrum to obtain multiple communities in the single-layer spectrum, wherein each community corresponds to a set of wireless signals.
[0030] Optionally, the positioning calculation module is specifically configured to receive at least one target beacon frame data sent by the user terminal, and match the wireless signal in each target beacon frame data with the wireless signal in the wireless signal feature database to obtain the target virtual access point corresponding to the wireless signal in each target beacon frame data; convert the at least one target beacon frame data sent by the user terminal into at least one target virtual access point, and perform positioning calculation based on the signal strength of a wireless signal corresponding to each target virtual access point to obtain the positioning information.
[0031] According to a third aspect of the present invention, a storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the above-described wireless signal-based positioning method.
[0032] According to a fourth aspect of the present invention, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the above-described wireless signal-based positioning method.
[0033] This invention provides a positioning method, apparatus, storage medium, and computer device based on wireless signals. First, multiple beacon frame data groups are acquired, and these are used to obtain various feature information of multiple sets of wireless signals collected at multiple locations. Then, a multi-layer map composed of wireless signals is constructed based on the similarity of each feature information of each set of wireless signals. Next, cluster analysis is performed on this multi-layer map to obtain multiple sets of wireless signals. The wireless signals in each set are set as having the same virtual access point. A wireless signal feature library is created based on each wireless signal and its corresponding virtual access point, thereby achieving the binding between wireless signals and virtual access points. Finally, target beacon frame data sent by a user terminal is received, and the positioning information of the user terminal is obtained based on the matching results between the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature library. The above method constructs a multi-layer spectrum based on the feature similarity of wireless signals and performs cluster analysis on the multi-layer spectrum, which can map multiple wireless signals to the same virtual access point. Therefore, when performing positioning calculations, it can map the wireless signals in the target beacon frame data sent by the user terminal to a certain virtual access point, thereby reducing the matching complexity of wireless signals and enhancing the accuracy and stability of positioning. At the same time, the above method can also reduce the number of wireless signals in the positioning algorithm, thereby reducing the computational overhead of the positioning algorithm.
[0034] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0035] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0036] Figure 1 A schematic flowchart of a wireless signal-based positioning method provided by an embodiment of the present invention is shown.
[0037] Figure 2 This illustration shows a schematic diagram of the structure of a multi-layer map in a wireless signal-based positioning method provided by an embodiment of the present invention;
[0038] Figure 3 A schematic diagram of a wireless signal-based positioning device provided in an embodiment of the present invention is shown.
[0039] Figure 4 A schematic diagram of another wireless signal-based positioning device provided in an embodiment of the present invention is shown. Detailed Implementation
[0040] The present invention will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present application can be combined with each other.
[0041] In one embodiment, such as Figure 1 As shown, a wireless signal-based positioning method is provided. Taking the application of this method to computer devices such as servers as an example, the method includes the following steps:
[0042] 101. Acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple characteristic information of a wireless signal.
[0043] In this context, a beacon frame data group refers to a data set composed of multiple beacon frame data collected from the same location. Beacon frame data refers to the data obtained by parsing beacon frames (BF). A beacon frame is an important component of the wireless signal defined by the IEEE 802.11 protocol, including various characteristic information describing the wireless network. Generally, beacon frames are periodically emitted by wireless signal transmitting devices in the form of broadcast packets. Specifically, signal receiving devices (such as smartphones, laptops, and other terminal devices equipped with wireless signal receiving modules) can passively sense wireless signal transmitting devices in the surrounding space by parsing the data in the beacon frames.
[0044] For example, a beacon frame data group can be represented in the form [bf_1, bf_2, ..., bf_n], where each data bf_i in the beacon frame data group represents a beacon frame data. Each beacon frame data bf_i contains various characteristic information of a wireless signal, which may include the wireless signal identification number (BSSID), the wireless signal name (SSID), the wireless signal timestamp (TIME_STAMP), and the wireless signal strength (BSSID), etc. Based on this, each beacon frame data bf_i can be represented in the following form: {bf_i: ssid_i, bssid_i, time_stamp_i, rssi_i}, where ssid_i, bssid_i, time_stamp_i, and rssi_i correspond to the four characteristic information of a wireless signal: wireless signal name, wireless signal identification number, wireless signal timestamp, and wireless signal strength, respectively.
[0045] Specifically, before performing location based on wireless signals, it is necessary to first create a wireless signal feature database composed of multiple wireless signals. In this embodiment, the first step in creating the wireless signal feature database is to collect a large amount of beacon frame data. Collecting beacon frames requires selecting multiple location locations within a pre-defined location space. These locations can be pre-defined or randomly selected. Then, following a certain order, multiple beacon frame data are collected one by one at each location, and the collected beacon frame data is uploaded to a computer device such as a server. Finally, the computer device processes the multiple beacon frame data collected at each location by sorting, packaging, and parsing, resulting in multiple beacon frame data groups. In this embodiment, each beacon frame data group includes multiple beacon frame data collected from the same location. Each beacon frame data includes various feature information such as the wireless signal identification number, wireless signal name, wireless signal timestamp, and wireless signal strength of a wireless signal.
[0046] It should be noted that a wireless signal transmitting device may emit one or more wireless signals, each signal being a VAP. Multiple wireless signals emitted by the same wireless signal device will have different wireless signal identification numbers, and the signal names of multiple wireless signals emitted by the same wireless signal device may be the same or different. Furthermore, passively acquiring wireless signals in the surrounding space by the signal receiving device results in lower scanning power consumption and a higher scanning frequency compared to actively acquiring wireless signals in the surrounding space. In this embodiment, the wireless signal can be a Wi-Fi signal; however, it can also be other wireless signals that can be used for positioning, and this embodiment does not specifically limit it.
[0047] 102. Based on multiple feature information of wireless signals, construct a multi-layer graph, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of one feature information of the wireless signal.
[0048] Specifically, computer equipment can construct a network based on multiple wireless signals in multiple beacon frame data groups, such as... Figure 2The multi-layer graph is shown below. Specifically, in constructing a multi-layer graph, firstly, for the data in a beacon frame data group—that is, for the radio signals corresponding to multiple beacon frame data collected from the same location—a multi-layer graph containing n nodes (n is an integer greater than or equal to 1) is constructed using a graph algorithm. Each node in the multi-layer graph corresponds to a radio signal. Then, for each feature information of the radio signal, a single layer of the graph structure is used to represent it; that is, the edge between every two nodes in each layer of the graph is constructed based on the similarity of a feature information of the radio signals corresponding to the two nodes. Further, for other beacon frame data groups for which multi-layer graphs have not yet been constructed, the same method can be used to gradually add nodes corresponding to the radio signals and edges between every two nodes to the constructed multi-layer graph, until the graph construction is completed for all beacon frame data groups, resulting in the final multi-layer graph.
[0049] In this embodiment, the wireless signal contains four types of feature information: wireless signal name, wireless signal identification number, wireless signal timestamp, and wireless signal strength. A layer of graph can be constructed based on the similarity between each feature information of every two wireless signals in the same beacon frame data group. Specifically, in a multi-layer graph, the edge between every two nodes in each layer can be constructed by comparing the similarity of wireless signal names, wireless signal identification numbers, wireless signal timestamps, and wireless signal strengths with corresponding similarity thresholds. That is, by comparing the similarity of a feature information of every two wireless signals in the same beacon frame data group with the similarity threshold corresponding to that feature information, it can be determined whether the two wireless signals are similar in that feature information. If the similarity of a certain feature information of the two wireless signals is greater than the corresponding similarity threshold, an edge between the nodes corresponding to these two wireless signals can be constructed in the graph corresponding to that feature information; otherwise, no edge is constructed.
[0050] It's important to note that the multi-layer spectrum is actually constructed based on the similarity of names, identifiers, timestamps, and signal strength between any two wireless signals. For multiple wireless signals emitted by the same device, these signals often share certain commonalities. However, due to widespread sampling noise, differences in local area network configurations, and differences in device manufacturers, these commonalities are not always certain. For example, multiple wireless signals emitted by the same device may have similar identifiers, similar names, or be audible within short time intervals with similar signal strengths. Utilizing these characteristics, a multi-layer spectrum can be constructed to objectively reflect the similarity between any two wireless signals in each type of feature information.
[0051] 103. Perform cluster analysis on the multi-layer spectrum to obtain multiple wireless signal sets. Set the wireless signals in each wireless signal set to the same virtual access point, and create a wireless signal feature library based on the wireless signals and their corresponding virtual access points.
[0052] Specifically, computer equipment can employ community detection algorithms, such as the Louvain algorithm and other clustering analysis algorithms, to perform clustering analysis on multi-layer graphs. This allows for the identification of tightly connected communities at each layer of the graph, aggregating these communities into a wireless signal set. Each wireless signal set contains at least one node, with each node corresponding to a wireless signal. Furthermore, for each wireless signal within the same set, these signals can be mapped to the same virtual access point (AP), thus classifying them as being emitted from the same wireless transmitting device. Finally, the computer equipment can create a wireless signal feature library based on each wireless signal in the multi-layer graph and its corresponding virtual access point. Each wireless signal in the feature library is mapped to a specific virtual access point.
[0053] 104. Receive target beacon frame data sent by the user terminal, and obtain positioning information based on the matching results of the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature database.
[0054] Specifically, when performing wireless positioning based on a pre-created wireless signal feature database, the system first receives target beacon frame data sent by the user terminal. The number of target beacon frame data sent by the user terminal can be one or more. Then, the computer device can match the wireless signal in each target beacon frame data with the wireless signals in the wireless signal feature database. Specifically, it can match the wireless signal by its identification number and / or name to find the wireless signal in the wireless signal feature database that is the same as the wireless signal in the target beacon frame data, as well as the virtual access point corresponding to that wireless signal, thereby finding the virtual access point corresponding to the wireless signal in the target beacon frame data.
[0055] Furthermore, after locating the virtual access point corresponding to the wireless signal in the target beacon frame data, the location of the user terminal can be determined based on the signal strength of the wireless signal corresponding to that virtual access point, thereby obtaining the user terminal's location information. It is understandable that when there are multiple target beacon frame data points, and each target beacon frame data point corresponds to a virtual access point, the user terminal's location information can also be calculated based on the signal strength of the wireless signals corresponding to multiple virtual access points. This embodiment reduces the computational overhead of calculating location information from wireless signals by mapping multiple wireless signals to the same virtual access point and calculating the user terminal's location information based on the signal strength of the wireless signal corresponding to the virtual access point. In addition, since the virtual access point for calculating location information is relatively fixed, the calculated location result is relatively accurate and stable, thus avoiding the problem of frequent location jumps during the positioning process.
[0056] The wireless signal-based positioning method provided in this embodiment first acquires multiple beacon frame data groups, and then uses these to obtain various feature information of multiple sets of wireless signals collected at multiple locations. Next, based on the similarity of each feature information of each set of wireless signals, a multi-layered map composed of wireless signals is constructed. This multi-layered map is then subjected to cluster analysis to obtain multiple sets of wireless signals. The wireless signals in each set are set as having the same virtual access point. Furthermore, a wireless signal feature library is created based on each wireless signal and its corresponding virtual access point, thereby achieving the binding between wireless signals and virtual access points. Finally, target beacon frame data sent by the user terminal is received, and the user terminal's positioning information is obtained based on the matching results between the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature library. The above method constructs a multi-layer spectrum based on the feature similarity of wireless signals and performs cluster analysis on the multi-layer spectrum, which can map multiple wireless signals to the same virtual access point. Therefore, when performing positioning calculations, it can map the wireless signals in the target beacon frame data sent by the user terminal to a certain virtual access point, thereby reducing the matching complexity of wireless signals and enhancing the accuracy and stability of positioning. At the same time, the above method can also reduce the number of wireless signals in the positioning algorithm, thereby reducing the computational overhead of the positioning algorithm.
[0057] In one embodiment, prior to step 101, the above-mentioned wireless signal-based positioning method may further include the following steps: First, receiving multiple beacon frame data collected by a signal acquisition device at multiple locations within a preset area; then, for the multiple beacon frame data collected at each location, numbering the beacon frame data according to the acquisition time of the beacon frame data to obtain an initial beacon frame data group; finally, for each initial beacon frame data group, parsing the beacon frame data to obtain multiple feature information of the wireless signal in each beacon frame data, and generating a beacon frame data group.
[0058] In the above embodiments, the signal acquisition device refers to a terminal device equipped with a wireless signal receiving module, such as a smartphone, smart wearable device, or laptop computer. The preset area refers to an area that can be located via wireless signals, such as an office building or shopping mall. Specifically, after receiving multiple beacon frame data collected by the signal acquisition device from multiple locations within the preset area, the computer device can sort, number, and parse the multiple beacon frame data collected at each location to obtain multiple beacon frame data groups for subsequent creation of multi-layer maps and construction of a wireless signal feature library. This embodiment classifies the collected beacon frame data according to time and spatial dimensions to obtain multiple beacon frame data groups, which makes the data in the same beacon frame data group more closely related, thereby improving the accuracy of the data.
[0059] In one embodiment, the construction of the multi-layer map in step 102 specifically includes the following steps: First, among multiple beacon frame data groups, an initial beacon frame data group and multiple iterative beacon frame data groups are determined. Then, for the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the wireless signal in every two beacon frame data groups. The feature information of the wireless signal includes the wireless signal identification number, the wireless signal name, the wireless signal timestamp, and the wireless signal strength. Finally, for each iterative beacon frame data group, the initial multi-layer map is iteratively updated based on the similarity of each feature information of the wireless signal in every two beacon frame data groups to obtain the multi-layer map.
[0060] In the above embodiments, the initial beacon frame data group can be pre-specified or randomly selected. For example, it can be set as the initial beacon frame data group based on the time sequence of data acquisition, where multiple beacon frame data are acquired at the first location. Alternatively, it can be set as the initial beacon frame data group based on the beacon frame data acquired at a designated location within the positioning area. Using the initial beacon frame data group, an initial multi-layer graph can be established. In this initial multi-layer graph, each node in each layer corresponds to a wireless signal, and the edge between any two nodes is constructed based on the similarity of a feature information of the two wireless signals. Further, the iterative beacon frame data group refers to the other beacon frame data groups besides the initial beacon frame data group among the multiple beacon frame data groups obtained in step 101. Through multiple iterative beacon frame data groups, new nodes and edges between nodes can be gradually added to the initial multi-layer graph, and the graph structure of each layer can be optimized by continuously adding data until all data is consumed, thus obtaining the multi-layer graph. This embodiment constructs a multi-layered map, which can objectively reflect the similarity of each pair of wireless signals in each feature information.
[0061] In one embodiment, the method for constructing an initial multi-layer graph using an initial beacon frame data set can be implemented through the following steps: First, for the initial beacon frame data set, nodes for each layer of the multi-layer graph are generated based on the radio signal corresponding to each beacon frame data set, wherein each node corresponds to a radio signal. Then, based on each feature information of the radio signal in each beacon frame data set, the similarity of each feature information of every two radio signals is calculated, and it is determined whether the similarity of each feature information of every two radio signals reaches a preset similarity threshold. If the similarity of any feature information of two radio signals reaches the preset similarity threshold, an edge between the nodes corresponding to the two radio signals is generated in the graph corresponding to the feature information. Finally, the graphs corresponding to each feature information are integrated to obtain the initial multi-layer graph.
[0062] In one embodiment, the method for constructing a multi-layer graph by iteratively using beacon frame data groups can be implemented through the following steps: First, for each iterative beacon frame data group, based on the radio signal corresponding to each beacon frame data, a node corresponding to the radio signal is added to each layer of the initial multi-layer graph. Then, based on each feature information of the radio signal in each beacon frame data, the similarity of each feature information of every two radio signals is calculated, and it is determined whether the similarity of each feature information of every two radio signals reaches a preset similarity threshold. If the similarity of any feature information of two radio signals reaches the preset similarity threshold, an edge between the nodes corresponding to the two radio signals is generated in the graph corresponding to the feature information. The graphs corresponding to each feature information are then integrated to obtain a multi-layer graph.
[0063] In one embodiment, a method for calculating and judging the similarity of each feature information of every two wireless signals during the construction of a multi-layer map may include the following steps: First, based on the wireless signal name in each beacon frame data, calculate the similarity of every two wireless signal names and determine whether the similarity of every two wireless signal names is greater than a preset name similarity threshold; second, based on the wireless signal identification number in each beacon frame data, calculate the similarity of every two wireless signal identification numbers and determine whether the similarity of every two wireless signal identification numbers is greater than a preset identification number similarity threshold; further, based on the wireless signal timestamp in each beacon frame data, calculate the difference between every two wireless signal timestamps and determine whether the difference between every two wireless signal timestamps is less than a preset timestamp similarity threshold; finally, based on the wireless signal strength value in each beacon frame data, calculate the difference between every two wireless signal strength values and determine whether the difference between every two wireless signal strength values is less than a preset signal strength similarity threshold.
[0064] In the above embodiments, the similarity calculation for each feature information of every two wireless signals is only applied to beacon frame data within the same beacon frame data group. Beacon frame data from different beacon frame data groups are not comparable due to significant differences in data collection location and time. Furthermore, the similarity calculation method and threshold comparison method for each feature information are selected based on the way the feature information is expressed. For example, for the name and identification number of a wireless signal, text similarity can be used to determine whether the names or identification numbers of two wireless signals are similar. If the similarity exceeds the corresponding similarity threshold, the names or identification numbers of the two wireless signals are considered similar, and a connection can be established between the two wireless signals based on these two features. Similarly, for the timestamp and signal strength of a wireless signal, the difference can be calculated to determine whether the timestamps or signal strengths of two wireless signals are similar. If the difference is less than the corresponding similarity threshold, the timestamps or signal strengths of the two wireless signals are considered relatively similar, and a connection can be established between the two wireless signals based on these two features.
[0065] In one embodiment, after generating the graph corresponding to each feature information, the above method for constructing a multi-layer graph may further include the following steps: First, for each beacon frame data group, calculate the similarity of each feature information of each pair of wireless signals based on each feature information of the wireless signals in each beacon frame data group; then, calculate the similarity statistics of each feature information of each pair of wireless signals based on the similarity of each feature information of each pair of wireless signals in each beacon frame data group; and calculate the weight value of the edge between the nodes corresponding to each pair of wireless signals based on the similarity statistics of each feature information of each pair of wireless signals; finally, add the weight value of the edge between the nodes corresponding to each pair of wireless signals to the graph corresponding to each feature information.
[0066] In the above embodiments, after calculating the similarity of each feature information of every two wireless signals in each beacon frame data group, a similarity statistic can be calculated from the calculated similarity values. The similarity statistic can be obtained by averaging or medianing the multiple similarities. Furthermore, the weight value of the edge between two nodes can be calculated using the calculated similarity statistic. It is understood that the higher the similarity of two wireless signals in a certain feature information, the greater the weight value of the edge between the corresponding nodes of the two wireless signals. Moreover, this embodiment does not specifically limit the specific calculation methods for the similarity statistic and weight values. Further, after calculating the edge weight values for each layer of the graph, the calculated weight values can be added to the graph of the corresponding layer, thereby optimizing the multi-layer graph into a weighted undirected graph.
[0067] For example, in three data groups within multiple beacon frame data groups, each contains node 1 and node 2. For each beacon frame data group, the timestamp differences between node 1 and node 2 are calculated as time_stamp_difference_1, time_stamp_difference_2, and time_stamp_difference_3, respectively. The timestamp difference between node 1 and node 2 can then be calculated using the average of these three timestamp differences. The weight value of the edge between node 1 and node 2 can then be calculated using the average of these three timestamp differences, and this weight value is added to the edge between node 1 and node 2 in the graph corresponding to the timestamp. In this embodiment, at least one layer of the multi-layer graph can be selected for weight value processing. For example, the two layers corresponding to the timestamp and signal strength can be selected for weighted undirected graph optimization. Alternatively, weight value processing can be performed on each layer of the multi-layer graph; this embodiment does not impose specific limitations on this. This embodiment transforms the multilayer graph into a weighted undirected graph, which improves the accuracy of aggregation and classification in subsequent clustering analysis, thereby effectively enhancing the accuracy of wireless signal positioning.
[0068] In one embodiment, the method for performing cluster analysis on the multi-layer spectrum to obtain the wireless signal set in step 103 can be implemented in two ways: First, a community detection algorithm is used to detect communities in each layer of the multi-layer spectrum, obtaining multiple communities in each layer. Then, all communities in the multi-layer spectrum are aggregated to obtain multiple communities in the multi-layer spectrum, where each community corresponds to a wireless signal set. Second, the multi-layer spectrum is integrated into a single-layer spectrum, and a community detection algorithm is used to detect communities in this single-layer spectrum, obtaining multiple communities in the single-layer spectrum, where each community corresponds to a wireless signal set.
[0069] In the above embodiments, the method of aggregating and classifying multi-layer graphs to obtain multiple wireless signal sets can be implemented in two ways: either by first performing community detection on the multi-layer graph and then aggregating it, or by first aggregating the multi-layer graph into a single-layer graph and then performing community detection on the single-layer graph. The essence of these two methods is the same: both use community detection and aggregation to find communities that are closely connected at each layer of the multi-layer graph, thereby setting the wireless signals corresponding to each node in these communities to the same virtual access point, and thus classifying these wireless signals as being emitted by the same wireless signal transmitting device. In this embodiment, multiple wireless signals classified into the same wireless signal set have at least one or more similarities in terms of name, identification number, timestamp, and signal strength. It is understood that the algorithms and execution standards for community detection and aggregation can be set according to actual conditions, and this embodiment does not impose specific limitations. This embodiment uses community detection and aggregation to perform cluster analysis on multi-layer graphs to obtain multiple wireless signal sets, which can improve the accuracy of mapping virtual access points through wireless signals.
[0070] In one embodiment, the method for location calculation by wireless signal matching in step 104 can be implemented through the following steps: First, at least one target beacon frame data sent by the user terminal is received, and the wireless signal in each target beacon frame data is matched with the wireless signal in the wireless signal feature library. Specifically, the matching can be performed by the identification number and / or name of the wireless signal to obtain the target virtual access point corresponding to the wireless signal in each target beacon frame data. Then, at least one target beacon frame data sent by the user terminal can be converted into at least one target virtual access point. Finally, the location calculation is performed based on the signal strength of a wireless signal corresponding to each target virtual access point to obtain the location information, that is, the location information of the user terminal.
[0071] In the above embodiments, the wireless signal used to calculate location information corresponding to the virtual access point can be pre-specified. For example, a wireless signal with relatively stable signal strength corresponding to the virtual access point can be set as the wireless signal used to calculate location information. Furthermore, if the specified wireless signal is turned off, other active wireless signals corresponding to the virtual access point can also be used as the wireless signal for calculating location information. This embodiment maps at least one target beacon frame data to at least one target virtual access point and calculates the user terminal's location information using the signal strength of a wireless signal corresponding to the target virtual access point. This reduces the computational overhead of calculating location information via wireless signals. Moreover, since the target virtual access point is relatively fixed, the calculated location result is also relatively accurate and stable, thus avoiding the problem of frequent location jumps during the positioning process.
[0072] Furthermore, as Figure 1 , Figure 2 The specific implementation of the method shown in this embodiment provides a positioning device based on wireless signals, such as... Figure 3 As shown, the device includes: a data acquisition module 31, a map construction module 32, a cluster analysis module 33, and a location calculation module 34.
[0073] The data acquisition module 31 can be used to acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple feature information of a wireless signal;
[0074] The graph construction module 32 can be used to construct a multi-layer graph based on multiple feature information of the wireless signal, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of a feature information of the wireless signal;
[0075] The clustering analysis module 33 can be used to perform clustering analysis on the multi-layer spectrum to obtain multiple wireless signal sets, set the wireless signals in each wireless signal set to the same virtual access point, and create a wireless signal feature library based on the wireless signals and the virtual access points corresponding to the wireless signals.
[0076] The positioning calculation module 34 can be used to receive target beacon frame data sent by the user terminal, and determine the location information of the user terminal based on the matching result of the wireless signal in the target beacon frame data and the wireless signal in the wireless signal feature database.
[0077] In specific application scenarios, such as Figure 4 As shown, the device further includes: a data acquisition module 35, used to receive multiple beacon frame data collected by the signal acquisition device at multiple locations within a preset area; a data acquisition module, used to receive multiple beacon frame data collected by the signal acquisition device at multiple locations within a preset area; for each initial beacon frame data group, the beacon frame data is parsed to obtain multiple feature information of the wireless signal in each beacon frame data, and the beacon frame data group is generated.
[0078] In a specific application scenario, the map construction module 32 is specifically used to determine an initial beacon frame data group and multiple iterative beacon frame data groups from the multiple beacon frame data groups; for the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the wireless signal in every two beacon frame data groups, wherein the feature information of the wireless signal includes wireless signal identification number, wireless signal name, wireless signal timestamp, and wireless signal strength; for each iterative beacon frame data group, the initial multi-layer map is iteratively updated based on the similarity of each feature information of the wireless signal in every two beacon frame data groups to obtain the multi-layer map.
[0079] In a specific application scenario, the graph construction module 32 is further configured to, for the initial beacon frame data group, generate nodes for each layer of the multi-layer graph based on the wireless signal corresponding to each beacon frame data, wherein each node corresponds to a wireless signal; calculate the similarity of each feature information of every two wireless signals based on each feature information of the wireless signal in each beacon frame data, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold; if the similarity of any feature information of two wireless signals reaches the preset similarity threshold, then generate an edge between the nodes corresponding to the two wireless signals in the graph corresponding to the feature information; and integrate the graphs corresponding to each feature information to obtain the initial multi-layer graph.
[0080] In a specific application scenario, the graph construction module 32 is further configured to, for each of the iterative beacon frame data groups, add nodes corresponding to the wireless signals in each layer of the initial multi-layer graph based on the wireless signals corresponding to each beacon frame data; calculate the similarity of each feature information of every two wireless signals based on each feature information of the wireless signals in each beacon frame data, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold; if the similarity of any feature information of two wireless signals reaches the preset similarity threshold, then generate an edge between the nodes corresponding to the two wireless signals in the graph corresponding to the feature information; and integrate the graphs corresponding to each feature information to obtain the multi-layer graph.
[0081] In specific application scenarios, the map construction module 32 is further configured to: calculate the similarity between any two wireless signal names based on the wireless signal names in each beacon frame data, and determine whether the similarity between any two wireless signal names is greater than a preset name similarity threshold; calculate the similarity between any two wireless signal identification numbers based on the wireless signal identification numbers in each beacon frame data, and determine whether the similarity between any two wireless signal identification numbers is greater than a preset identification number similarity threshold; calculate the difference between any two wireless signal timestamps based on the wireless signal timestamps in each beacon frame data, and determine whether the difference between any two wireless signal timestamps is less than a preset timestamp similarity threshold; and calculate the difference between any two wireless signal strength values based on the wireless signal strength values in each beacon frame data, and determine whether the difference between any two wireless signal strength values is less than a preset signal strength similarity threshold.
[0082] In specific application scenarios, the graph construction module 32 is further configured to, for each beacon frame data group, calculate the similarity of each feature information of every two wireless signals based on each feature information of the wireless signals in each beacon frame data group; calculate the similarity statistical value of each feature information of every two wireless signals based on the similarity of each feature information of every two wireless signals in each beacon frame data group; calculate the weight value of the edge between the nodes corresponding to the two wireless signals based on the similarity statistical value of each feature information of the two wireless signals; and add the weight value of the edge between the nodes corresponding to the two wireless signals to the graph corresponding to each feature information.
[0083] In specific application scenarios, the clustering analysis module 33 is specifically used to employ a community detection algorithm to perform community detection on each layer of the multi-layer spectrum, obtaining multiple communities in each layer of the spectrum, and to aggregate all communities in the multi-layer spectrum to obtain multiple communities in the multi-layer spectrum, wherein each community corresponds to a set of wireless signals; or to integrate the multi-layer spectrum into a single-layer spectrum, and to employ a community detection algorithm to perform community detection on the single-layer spectrum to obtain multiple communities in the single-layer spectrum, wherein each community corresponds to a set of wireless signals.
[0084] In a specific application scenario, the positioning calculation module 34 is specifically used to receive at least one target beacon frame data sent by the user terminal, and match the wireless signal in each target beacon frame data with the wireless signal in the wireless signal feature library to obtain the target virtual access point corresponding to the wireless signal in each target beacon frame data; convert the at least one target beacon frame data sent by the user terminal into at least one target virtual access point, and perform positioning calculation based on the signal strength of a wireless signal corresponding to each target virtual access point to obtain the positioning information.
[0085] It should be noted that other corresponding descriptions of the functional units involved in the wireless signal-based positioning device provided in this embodiment can be found in [reference needed]. Figure 1 , Figure 2 The corresponding descriptions in [the document] will not be repeated here.
[0086] Based on the above, Figure 1 , Figure 2 Accordingly, this embodiment also provides a storage medium storing a computer program that, when executed by a processor, implements the above-described method. Figure 1 , Figure 2 The method shown is a wireless signal-based positioning method.
[0087] Based on this understanding, the technical solution of this application can be embodied in the form of a software product. The software product to be identified can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, or portable hard drive), including several instructions to cause a computer device (such as a personal computer, server, or network device) to execute the methods described in the various implementation scenarios of this application.
[0088] Based on the above, Figure 1 , Figure 2 The method shown, and Figure 3 and Figure 4 The illustrated embodiment of a wireless signal-based positioning device, in order to achieve the above objectives, also provides a computer device for wireless signal-based positioning, which can be a personal computer, server, smartphone, tablet computer, smartwatch, or other network device, etc. The computer device includes a storage medium and a processor; the storage medium is used to store computer programs and an operating system; the processor is used to execute the computer program to implement the methods shown in the above embodiments of wireless signal-based positioning methods.
[0089] Optionally, the computer device may also include internal memory, a communication interface, a network interface, a camera, radio frequency (RF) circuitry, sensors, audio circuitry, a wireless signal module, a display screen, and input devices such as a keyboard. The communication interface may also include a USB interface, a card reader interface, etc. The network interface may optionally include a standard wired interface or a wireless interface (such as a wireless signal interface).
[0090] Those skilled in the art will understand that the computer device structure for recognizing operational actions provided in this embodiment does not constitute a limitation on the computer device, and may include more or fewer components, or combine certain components, or have different component arrangements.
[0091] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the aforementioned computer hardware and the software resources to be identified, supporting the operation of information processing programs and other software and / or programs to be identified. The network communication module is used to enable communication between the various components within the storage medium, as well as communication with other hardware and software in the information processing computer device.
[0092] Through the above description of the implementation methods, those skilled in the art can clearly understand that this application can be implemented using software plus necessary general-purpose hardware platforms, or it can be implemented in hardware. First, multiple beacon frame data groups are acquired, and various feature information of multiple sets of wireless signals collected at multiple locations is obtained. Then, a multi-layer map composed of wireless signals is constructed based on the similarity of each feature information of each set of wireless signals. Cluster analysis is then performed on this multi-layer map to obtain multiple sets of wireless signals. The wireless signals in each set are set as the same virtual access point, and a wireless signal feature library is created based on each wireless signal and its corresponding virtual access point, thereby achieving the binding between wireless signals and virtual access points. Finally, target beacon frame data sent by the user terminal is received, and the user terminal's location information is obtained based on the matching results between the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature library. Compared with the prior art, the above method can map multiple wireless signals to the same virtual access point, thereby reducing the matching complexity of wireless signals during location calculation and enhancing the accuracy and stability of location. Simultaneously, it can reduce the number of wireless signals in the location algorithm, thereby reducing the computational overhead of the location algorithm.
[0093] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of a preferred embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing this application. Those skilled in the art will understand that the modules in the apparatus of the embodiment can be distributed within the apparatus of the embodiment as described, or can be modified to be located in one or more apparatuses different from this embodiment. The modules of the above-described embodiment can be combined into one module, or further divided into multiple sub-modules.
[0094] The serial numbers in this application are for descriptive purposes only and do not represent the superiority or inferiority of any particular implementation scenario. The above disclosures are merely a few specific implementation scenarios of this application; however, this application is not limited thereto, and any variations conceived by those skilled in the art should fall within the protection scope of this application.
Claims
1. A positioning method based on wireless signals, characterized in that, The method includes: Acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple characteristic information of a wireless signal, wherein the multiple characteristic information of the wireless signal includes wireless signal identification number, wireless signal name, wireless signal timestamp, and wireless signal strength; Based on various feature information of the wireless signal, a multi-layer graph is constructed, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of one feature information of the wireless signal; Cluster analysis is performed on the multi-layer spectrum to obtain multiple wireless signal sets. The wireless signals in each wireless signal set are set to the same virtual access point, and a wireless signal feature library is created based on the wireless signals and the corresponding virtual access points. The system receives target beacon frame data sent by a user terminal and obtains location information based on the matching results between the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature database.
2. The method according to claim 1, characterized in that, Before acquiring multiple beacon frame data groups, the method further includes: Receive signal acquisition equipment collects multiple beacon frame data from multiple locations within a preset area; For multiple beacon frame data collected at each location, the beacon frame data are numbered according to the collection time of the beacon frame data to obtain an initial beacon frame data group; For each initial beacon frame data group, the beacon frame data is parsed to obtain various feature information of the wireless signal in each beacon frame data, and the beacon frame data group is generated.
3. The method according to claim 1, characterized in that, The construction of a multi-layer map based on various feature information of the wireless signal includes: Among the plurality of beacon frame data groups, an initial beacon frame data group and a plurality of iterative beacon frame data groups are determined; For the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the wireless signal in every two beacon frame data groups; For each of the iterative beacon frame data groups, the initial multilayer map is iteratively updated based on the similarity of each feature information of the wireless signal in every two of the beacon frame data groups to obtain the multilayer map.
4. The method according to claim 3, characterized in that, For the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the radio signal in every two beacon frame data groups, including: For the initial beacon frame data group, nodes of each layer of the multi-layer map are generated according to the radio signal corresponding to each beacon frame data, wherein each node corresponds to a radio signal; Based on each feature information of the wireless signal in each beacon frame data, calculate the similarity of each feature information of every two wireless signals, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold. If the similarity of any feature information of two wireless signals reaches a preset similarity threshold, then an edge between the nodes corresponding to the two wireless signals is generated in the graph corresponding to the feature information. The initial multilayer map is obtained by integrating the maps corresponding to each feature information.
5. The method according to claim 3, characterized in that, For each of the iterative beacon frame data groups, the initial multi-layer map is iteratively updated based on the similarity of each feature information of the radio signal in every two beacon frame data groups to obtain the multi-layer map, including: For each of the iterative beacon frame data groups, based on the radio signal corresponding to each beacon frame data, a node corresponding to the radio signal is added to each layer of the initial multi-layer map; Based on each feature information of the wireless signal in each beacon frame data, calculate the similarity of each feature information of every two wireless signals, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold. If the similarity of any feature information of two wireless signals reaches a preset similarity threshold, then an edge between the nodes corresponding to the two wireless signals is generated in the graph corresponding to the feature information. The multi-layered map is obtained by integrating the maps corresponding to each feature information.
6. The method according to claim 4 or 5, characterized in that, The step of calculating the similarity of each feature information of every two wireless signals based on each feature information of the wireless signal in each beacon frame data, and determining whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold, includes: Based on the wireless signal name in each beacon frame data, calculate the similarity between any two wireless signal names, and determine whether the similarity between any two wireless signal names is greater than a preset name similarity threshold. Based on the wireless signal identification number in each beacon frame data, calculate the similarity between every two wireless signal identification numbers, and determine whether the similarity between every two wireless signal identification numbers is greater than a preset identification number similarity threshold. Based on the wireless signal timestamp in each beacon frame data, calculate the difference between every two wireless signal timestamps, and determine whether the difference between every two wireless signal timestamps is less than a preset timestamp similarity threshold. Based on the wireless signal strength value in each beacon frame data, the difference between every two wireless signal strengths is calculated, and it is determined whether the difference between every two wireless signal strength values is less than a preset signal strength similarity threshold.
7. The method according to claim 5, characterized in that, Before integrating the maps corresponding to each feature information to obtain the multi-layer map, the method further includes: For each beacon frame data group, the similarity of each feature information of every two wireless signals is calculated based on each feature information of the wireless signal in each beacon frame data group; Calculate the similarity statistics of each feature information of each pair of wireless signals based on the similarity of each feature information of each pair of wireless signals in each beacon frame data group; Calculate the weight value of the edge between the nodes corresponding to each of the two wireless signals based on the similarity statistics of each feature information of each pair of wireless signals. The weight value of the edge between each pair of nodes corresponding to the wireless signals is added to the graph corresponding to each feature information.
8. The method according to claim 1, characterized in that, The clustering analysis of the multi-layer spectrum yields multiple sets of wireless signals, including: A community detection algorithm is used to detect communities in each layer of the multi-layer spectrum, resulting in multiple communities in each layer. All communities in the multi-layer spectrum are then aggregated to obtain multiple communities in the multi-layer spectrum, where each community corresponds to a set of wireless signals. Alternatively, the multi-layered graph can be integrated into a single-layered graph, and a community detection algorithm can be used to detect communities in the single-layered graph to obtain multiple communities in the single-layered graph, wherein each community corresponds to a set of wireless signals.
9. The method according to claim 1, characterized in that, The method of receiving target beacon frame data sent by the user terminal and obtaining location information based on the matching results of the wireless signals in the target beacon frame data and the wireless signals in the wireless signal feature database includes: Receive at least one target beacon frame data sent by a user terminal, and match the wireless signal in each target beacon frame data with the wireless signal in the wireless signal feature database to obtain the target virtual access point corresponding to the wireless signal in each target beacon frame data; The user terminal sends at least one target beacon frame data, which is then converted into at least one target virtual access point. The location information is obtained by performing a location calculation based on the signal strength of a wireless signal corresponding to each target virtual access point.
10. A positioning device based on wireless signals, characterized in that, The device includes: The data acquisition module is used to acquire multiple beacon frame data groups, wherein each beacon frame data group includes multiple beacon frame data collected from the same location, and the beacon frame data includes multiple feature information of a wireless signal, wherein the multiple feature information of the wireless signal includes wireless signal identification number, wireless signal name, wireless signal timestamp and wireless signal strength; The graph construction module is used to construct a multi-layer graph based on multiple feature information of the wireless signal, wherein the graph structure of each layer of the multi-layer graph is constructed according to the similarity of one feature information of the wireless signal; The clustering analysis module is used to perform clustering analysis on the multi-layer spectrum to obtain multiple wireless signal sets, set the wireless signals in each wireless signal set to the same virtual access point, and create a wireless signal feature library based on the wireless signals and the virtual access points corresponding to the wireless signals. The positioning calculation module is used to receive target beacon frame data sent by the user terminal, and determine the location information of the user terminal based on the matching result of the wireless signal in the target beacon frame data and the wireless signal in the wireless signal feature database.
11. The apparatus according to claim 10, characterized in that, The device further includes: The data acquisition module is used to receive multiple beacon frame data collected by the signal acquisition device at multiple locations within a preset area; For multiple beacon frame data collected at each location, the beacon frame data are numbered according to the collection time of the beacon frame data to obtain an initial beacon frame data group; For each initial beacon frame data group, the beacon frame data is parsed to obtain various feature information of the wireless signal in each beacon frame data, and the beacon frame data group is generated.
12. The apparatus according to claim 10, characterized in that, The map construction module is specifically used to determine an initial beacon frame data group and multiple iterative beacon frame data groups from the multiple beacon frame data groups; For the initial beacon frame data group, an initial multi-layer map is constructed based on the similarity of each feature information of the wireless signal in every two beacon frame data groups; For each of the iterative beacon frame data groups, the initial multilayer map is iteratively updated based on the similarity of each feature information of the wireless signal in every two of the beacon frame data groups to obtain the multilayer map.
13. The apparatus according to claim 12, characterized in that, The map construction module is further configured to generate nodes for each layer of the multi-layer map based on the radio signal corresponding to each beacon frame data group, wherein each node corresponds to a radio signal. Based on each feature information of the wireless signal in each beacon frame data, calculate the similarity of each feature information of every two wireless signals, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold. If the similarity of any feature information of two wireless signals reaches a preset similarity threshold, then an edge between the nodes corresponding to the two wireless signals is generated in the graph corresponding to the feature information. The initial multilayer map is obtained by integrating the maps corresponding to each feature information.
14. The apparatus according to claim 12, characterized in that, The map construction module is further configured to, for each of the iterative beacon frame data groups, add a node corresponding to the wireless signal in each layer of the initial multi-layer map based on the wireless signal corresponding to each beacon frame data; Based on each feature information of the wireless signal in each beacon frame data, calculate the similarity of each feature information of every two wireless signals, and determine whether the similarity of each feature information of every two wireless signals reaches a preset similarity threshold. If the similarity of any feature information of two wireless signals reaches a preset similarity threshold, then an edge between the nodes corresponding to the two wireless signals is generated in the graph corresponding to the feature information. The multi-layered map is obtained by integrating the maps corresponding to each feature information.
15. The apparatus according to claim 13 or 14, characterized in that, The map construction module is further configured to calculate the similarity between any two wireless signal names based on the wireless signal names in each beacon frame data, and determine whether the similarity between any two wireless signal names is greater than a preset name similarity threshold. Based on the wireless signal identification number in each beacon frame data, calculate the similarity between every two wireless signal identification numbers, and determine whether the similarity between every two wireless signal identification numbers is greater than a preset identification number similarity threshold. Based on the wireless signal timestamp in each beacon frame data, calculate the difference between every two wireless signal timestamps, and determine whether the difference between every two wireless signal timestamps is less than a preset timestamp similarity threshold. Based on the wireless signal strength value in each beacon frame data, the difference between every two wireless signal strengths is calculated, and it is determined whether the difference between every two wireless signal strength values is less than a preset signal strength similarity threshold.
16. The apparatus according to claim 14, characterized in that, The map construction module is also used to calculate the similarity of each feature information of each two wireless signals for each beacon frame data group, based on each feature information of the wireless signal in each beacon frame data. Calculate the similarity statistics of each feature information of each pair of wireless signals based on the similarity of each feature information of each pair of wireless signals in each beacon frame data group; Calculate the weight value of the edge between the nodes corresponding to each of the two wireless signals based on the similarity statistics of each feature information of each pair of wireless signals. The weight value of the edge between each pair of nodes corresponding to the wireless signals is added to the graph corresponding to each feature information.
17. The apparatus according to claim 10, characterized in that, The clustering analysis module is specifically used to employ a community detection algorithm to perform community detection on each layer of the multi-layer spectrum, obtaining multiple communities in each layer. All communities in the multi-layer spectrum are then aggregated to obtain multiple communities in the multi-layer spectrum, where each community corresponds to a set of wireless signals; or The multi-layer map is integrated into a single-layer map, and a community detection algorithm is used to detect communities in the single-layer map to obtain multiple communities in the single-layer map, wherein each community corresponds to a set of wireless signals.
18. The apparatus according to claim 10, characterized in that, The positioning calculation module is specifically used to receive at least one target beacon frame data sent by the user terminal, and match the wireless signal in each target beacon frame data with the wireless signal in the wireless signal feature database to obtain the target virtual access point corresponding to the wireless signal in each target beacon frame data. The user terminal converts at least one target beacon frame data sent by the user terminal into at least one target virtual access point, and performs positioning calculations based on the signal strength of a wireless signal corresponding to each target virtual access point to obtain the location information of the user terminal.
19. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 9.
20. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 9.