CN114630416B - Method, device and equipment for positioning mobile terminal - Google Patents
Method, device and equipment for positioning mobile terminal Download PDFInfo
- Publication number
- CN114630416B CN114630416B CN202011470246.7A CN202011470246A CN114630416B CN 114630416 B CN114630416 B CN 114630416B CN 202011470246 A CN202011470246 A CN 202011470246A CN 114630416 B CN114630416 B CN 114630416B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- edge
- determining
- positioning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000015654 memory Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 7
- 238000009826 distribution Methods 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/003—Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The present disclosure provides a method, apparatus and device for positioning a mobile terminal, a computer readable storage medium and a computer program product. The method for positioning the mobile terminal comprises the following steps: determining a location of each of a plurality of reference nodes for positioning; determining one or more edge nodes of the plurality of reference nodes, wherein an edge node is a reference node having no neighboring reference nodes within a predetermined range along one or more predetermined directions; determining a virtual location of one or more edge nodes; and positioning the mobile terminal by using the virtual positions of the one or more edge nodes and the positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine the positioning result of the mobile terminal. The method provided by the disclosure can improve the positioning precision and remarkably optimize the positioning effect, thereby providing more accurate positioning service for positioning software such as a map on the mobile terminal.
Description
Technical Field
The present disclosure relates to the field of positioning technology, and in particular, to a method, an apparatus, and a device for positioning a mobile terminal, a computer-readable storage medium, and a computer program product.
Background
In locating a mobile terminal, such as a cell phone, tablet, portable computer, smart wearable device, etc., the location of the mobile terminal is typically determined using a plurality of signal base stations distributed within a building, such as bluetooth devices, wireless (WiFi) devices, radio Frequency Identification (RFID) devices, etc., that emit wireless signals, or other types of reference nodes. Upon receiving a location request sent by a mobile terminal, a server hosting location services may employ a location algorithm such as a trilateration algorithm, a weighted location algorithm, an angle of arrival (AOA) location algorithm, or the like, or a location model such as K Nearest Neighbor (KNN), K-means (K-means), or the like, to locate the mobile terminal using the locations of a plurality of signal base stations associated with the mobile terminal. However, due to the limitation of the distribution profile of the signal base stations in the building, when the mobile terminal is near the edge of the distribution profile of the signal base stations or even outside the profile edge, the positioning result of the mobile terminal is not accurate.
Disclosure of Invention
In order to solve the above problem, embodiments of the present disclosure provide a method, an apparatus, and a device for positioning a mobile terminal, a computer-readable storage medium, and a computer program product.
According to an aspect of the embodiments of the present disclosure, there is provided a method for positioning a mobile terminal, the method including: determining a location of each of a plurality of reference nodes for positioning; determining one or more edge nodes of the plurality of reference nodes, wherein the edge nodes are reference nodes having no neighboring reference nodes within a predetermined range along one or more predetermined directions; determining a virtual location of the one or more edge nodes; and positioning the mobile terminal by using the virtual positions of the one or more edge nodes and the positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine the positioning result of the mobile terminal.
According to an example of an embodiment of the present disclosure, determining one or more edge nodes of the plurality of reference nodes comprises: for each of the plurality of reference nodes, determining, among the plurality of reference nodes, at least one neighboring reference node that is less than a predetermined distance from the reference node; determining a positional relationship of the reference node to the at least one neighboring reference node; determining whether there are neighboring reference nodes within a predetermined range in one or more predetermined directions with the reference node as a reference point according to the positional relationship; and determining the reference node as an edge node in at least one predetermined direction with the reference node as a reference point in the case where it is determined that there is no neighboring reference node within a predetermined range of the at least one predetermined direction according to the positional relationship, wherein the predetermined distance is determined based on an average distance between the reference nodes.
According to an example of an embodiment of the present disclosure, determining whether there is a neighboring reference node within a predetermined range in one or more predetermined directions with the reference node as a reference point according to the positional relationship includes: for each of the one or more predetermined directions, for each of the at least one neighboring reference node, determining a difference between first coordinates and a difference between second coordinates of the neighboring reference node and the reference node, the neighboring reference node being determined to be within a predetermined range in the predetermined direction when the difference between the first coordinates satisfies a first threshold and the difference between the second coordinates satisfies a second threshold; in a case where each of the at least one neighboring reference node is not within the predetermined range in the predetermined direction, it is determined that there is no neighboring reference node within the predetermined range in the predetermined direction.
According to an example of an embodiment of the present disclosure, the method for positioning a mobile terminal further includes: determining a length parameter of the predetermined range using the average distance between the plurality of reference nodes; determining one or more angle parameters of the predetermined range; and determining the predetermined range using the predetermined distance, the length parameter, and the one or more angle parameters.
According to an example of an embodiment of the present disclosure, the predetermined range is a trapezoidal range, and wherein determining the predetermined range using the predetermined distance, the length parameter, and the one or more angle parameters comprises: determining the trapezoidal range with the predetermined distance as high, the length parameter as lower base, and the one or more angle parameters as base angles.
According to an example of an embodiment of the present disclosure, determining the virtual location of the one or more edge nodes comprises: determining, for each of the one or more edge nodes, an offset for position adjustment of the edge node; and offsetting the position of the edge node by using the offset, and determining the offset position as the virtual position of the edge node.
According to an example of the embodiment of the present disclosure, when the edge node is an edge node in at least two predetermined directions at the same time, determining an offset amount for position adjustment of the edge node includes: for each of the at least two predetermined directions, determining an initial offset of the edge node corresponding to the predetermined direction; and determining the offset amount for position adjustment of the edge node based on an initial offset amount corresponding to each of the at least two predetermined directions.
According to an example of an embodiment of the present disclosure, each of the plurality of reference nodes is a signal base station or a location fingerprint.
According to another aspect of the embodiments of the present disclosure, there is provided a method for positioning a mobile terminal, the method including: receiving a positioning request sent by the mobile terminal; determining a plurality of reference nodes for positioning the mobile terminal; under the condition that one or more edge nodes exist in the plurality of reference nodes, positioning the mobile terminal by using the virtual positions of the one or more edge nodes and the positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine the positioning result of the mobile terminal; and sending the positioning result to the mobile terminal.
According to an example of an embodiment of the present disclosure, the one or more edge nodes are determined by: for each of the plurality of reference nodes, determining, among the plurality of reference nodes, at least one neighboring reference node that is less than a predetermined distance from the reference node; determining a positional relationship of the reference node to the at least one neighboring reference node; determining whether adjacent reference nodes exist in a predetermined range in one or more predetermined directions taking the reference nodes as datum points according to the position relation; and determining the reference node as an edge node in at least one predetermined direction with the reference node as a reference point in the case where it is determined that there is no neighboring reference node within a predetermined range of the at least one predetermined direction according to the positional relationship, wherein the predetermined distance is determined based on an average distance between the reference nodes.
According to an example of an embodiment of the present disclosure, the virtual location of the one or more edge nodes is determined by: determining, for each of the one or more edge nodes, an offset for position adjustment of the edge node; and offsetting the position of the edge node by utilizing the offset, and determining the offset position as the virtual position of the edge node.
According to another aspect of the embodiments of the present disclosure, there is provided an apparatus for positioning a mobile terminal, the apparatus including: a determining unit configured to determine a position of each of a plurality of reference nodes for positioning, determine one or more edge nodes of the plurality of reference nodes, wherein the edge nodes are reference nodes having no neighboring reference nodes within a predetermined range along one or more predetermined directions, and determine virtual positions of the one or more edge nodes; a positioning unit configured to position the mobile terminal by using the virtual positions of the one or more edge nodes and positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine a positioning result of the mobile terminal.
According to an example of an embodiment of the present disclosure, the determining unit is further configured to: for each of the plurality of reference nodes, determining, among the plurality of reference nodes, at least one neighboring reference node that is less than a predetermined distance from the reference node; determining a positional relationship of the reference node to the at least one neighboring reference node; determining whether there are neighboring reference nodes within a predetermined range in one or more predetermined directions with the reference node as a reference point according to the positional relationship; and determining the reference node as an edge node in at least one predetermined direction with the reference node as a reference point in the case where it is determined that there is no neighboring reference node within a predetermined range of the at least one predetermined direction according to the positional relationship, wherein the predetermined distance is determined based on an average distance between the reference nodes.
According to an example of an embodiment of the present disclosure, the determining unit is further configured to: for each of the one or more predetermined directions, for each of the at least one neighboring reference node, determining a difference between first coordinates and a difference between second coordinates of the neighboring reference node and the reference node, the neighboring reference node being determined to be within a predetermined range in the predetermined direction when the difference between the first coordinates satisfies a first threshold and the difference between the second coordinates satisfies a second threshold; in a case where each of the at least one neighboring reference node is not within a predetermined range in the predetermined direction, determining that there is no neighboring reference node within the predetermined range in the predetermined direction.
According to an example of an embodiment of the present disclosure, the determining unit is further configured to: determining a length parameter of the predetermined range using the average distance between the plurality of reference nodes; determining one or more angle parameters of the predetermined range; and determining the predetermined range using the predetermined distance, the length parameter, and the one or more angle parameters.
According to an example of an embodiment of the present disclosure, the predetermined range is a trapezoidal range, and the determining unit is further configured to: determining the trapezoidal range with the predetermined distance as high, the length parameter as lower base, and the one or more angle parameters as base angles.
According to an example of an embodiment of the present disclosure, the determining unit is further configured to: determining, for each of the one or more edge nodes, an offset for position adjustment of the edge node; and offsetting the position of the edge node by utilizing the offset, and determining the offset position as the virtual position of the edge node.
According to an example of an embodiment of the present disclosure, when the edge node is an edge node in at least two predetermined directions at the same time, the determining unit is further configured to: for each of the at least two predetermined directions, determining an initial offset of the edge node corresponding to the predetermined direction; and determining the offset amount for position adjustment of the edge node based on an initial offset amount corresponding to each of the at least two predetermined directions.
According to an example of an embodiment of the present disclosure, each of the plurality of reference nodes is a signal base station or a location fingerprint.
According to another aspect of the embodiments of the present disclosure, there is provided an apparatus for positioning a mobile terminal, the method including: a receiving unit configured to receive a positioning request sent by the mobile terminal; a determining unit configured to determine a plurality of reference nodes for positioning the mobile terminal; a positioning unit configured to, in a case that one or more edge nodes exist in the plurality of reference nodes, position the mobile terminal by using the virtual positions of the one or more edge nodes and positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine a positioning result of the mobile terminal; and a transmitting unit configured to transmit the positioning result to the mobile terminal.
According to another aspect of the embodiments of the present disclosure, there is provided an apparatus for positioning a mobile terminal, including: one or more processors; and one or more memories having computer-readable code stored therein, which when executed by the one or more processors, causes the one or more processors to perform the method of any of the above aspects.
According to another aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium having stored thereon computer-readable instructions, which, when executed by a processor, cause the processor to perform the method of any one of the above aspects.
According to another aspect of embodiments of the present disclosure, there is provided a computer program product comprising computer readable instructions which, when executed by a processor, cause the processor to perform the method of any one of the above aspects.
With the method, the apparatus, the device, the computer-readable storage medium, and the computer program product for positioning a mobile terminal according to various aspects of the embodiments of the present disclosure, by determining an edge node of a plurality of reference nodes and performing position adjustment on the edge node to determine a virtual position of the edge node, a distribution profile of the plurality of reference nodes is adjusted to a virtual distribution profile of a larger range, so that when positioning a mobile terminal located near the distribution profile, positioning calculation can be performed using the virtual position of the edge node, so that a positioning result can break through the constraint of the distribution profile, thereby effectively solving the problem of inaccurate positioning at an edge area of a building, improving positioning accuracy, significantly optimizing positioning effect, and being capable of providing more accurate positioning service to positioning software such as a map on the mobile terminal.
Drawings
The above and other objects, features and advantages of the embodiments of the present disclosure will become more apparent by describing in more detail the embodiments of the present disclosure with reference to the attached drawings. The accompanying drawings are included to provide a further understanding of the embodiments of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the principles of the disclosure and not to limit the disclosure. In the drawings, like reference numbers generally represent like parts or steps.
Fig. 1 illustrates an application scenario of a positioning method according to an embodiment of the present disclosure;
FIG. 2A illustrates an exemplary distribution of signal base stations within a building;
FIG. 2B illustrates an example positioning of an edge region of a building;
FIG. 3 shows a flow chart of a method for locating a mobile terminal according to an embodiment of the present disclosure;
fig. 4 shows a flow diagram of determining edge nodes according to an example of an embodiment of the present disclosure;
fig. 5 shows a schematic diagram of determining edge nodes according to an example of an embodiment of the present disclosure;
FIG. 6 shows a schematic diagram of an example positioning result according to an embodiment of the present disclosure;
fig. 7 shows a flow chart of a method for locating a mobile terminal according to another embodiment of the present disclosure;
fig. 8 is a schematic structural diagram illustrating an apparatus for locating a mobile terminal according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of an apparatus for locating a mobile terminal according to another embodiment of the present disclosure; and
FIG. 10 shows a schematic diagram of an architecture of an exemplary computing device, according to an embodiment of the present disclosure.
Detailed Description
The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. It is to be understood that the described embodiments are merely exemplary of some, and not all, of the present disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without any inventive step, are intended to be within the scope of the present disclosure.
The embodiment of the disclosure provides a method for positioning a mobile terminal. In the embodiment of the present disclosure, the mobile terminal may be any terminal device, such as a smart phone, a tablet computer, a portable computer, and a smart wearable device, which is not limited in the embodiment of the present disclosure. The positioning method provided by the embodiment of the disclosure may be carried on a server, for example, the server may be an independent server, or a server cluster or distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, a cloud database, cloud computing, a cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, positioning service, big data and an artificial intelligence platform. The connection between the mobile terminal and the server may be established, for example, through wireless communication, and the embodiment of the present disclosure does not specifically limit this.
Fig. 1 illustrates an application scenario of a positioning method according to an embodiment of the present disclosure, in fig. 1, one or more mobile terminals 110 may send a positioning request to a server 120 hosting a positioning service. Server 120 performs positioning calculation for mobile terminal 110 after receiving a positioning request of the mobile terminal, and returns the positioning result to mobile terminal 110. For example, when a user performs location query or navigation using positioning software such as a map loaded on mobile terminal 110, mobile terminal 110 will send a positioning request to server 120 through the positioning software, and server 120 performs positioning calculation on mobile terminal 110 after receiving the positioning request, and returns the positioning result to the positioning software such as the map on mobile terminal 110, so that the user obtains his current positioning result.
In general, server 120 may utilize the locations of a plurality of signal base stations associated with mobile terminal 110 to locate mobile terminal 110 using a positioning algorithm, such as a trilateration algorithm, a weighted positioning algorithm, an angle of arrival (AOA) positioning algorithm, or the like, or a positioning model, such as K-nearest neighbor (KNN), K-means (K-means), or the like. For example, in a building as shown in fig. 2A, a large number of signal base stations (as indicated by dotted marks in fig. 2A) are distributed, and when the mobile terminal 110 located in the building sends a positioning request to the server 120, the server 120 may use the positions of the signal base stations to perform positioning calculation on the mobile terminal 110. However, when the mobile terminal 110 is located near the edge of the distribution profile (shown as a rectangle in fig. 2A) of the signal base stations or even outside the profile edge, when the mobile terminal 110 is located by using the above-mentioned location algorithm or location model, the location result may be shifted to the inside of the profile due to the need to perform location calculation using the positions of the signal base stations near or within the profile edge. Often, the edges of the distribution profile of the signal base stations are also often located at the edges of the building, thus meaning that the positioning results may be shifted towards the interior of the building, making the positioning results inaccurate at these locations. For example, as shown in fig. 2B, when the mobile terminal 110 is located at the true position at point a, the positioning result obtained by positioning it may be located at point B, i.e., biased toward the inside of the building, so that the positioning result is inaccurate.
Therefore, the embodiment of the disclosure provides a method for positioning a mobile terminal, which can effectively solve the problem of inaccurate positioning at the edge area of a building, improve the positioning accuracy, and significantly optimize the positioning effect, so that more accurate positioning service can be provided for positioning software such as a map on the mobile terminal.
A method for locating a mobile terminal according to an embodiment of the present disclosure is described below with reference to fig. 3. Fig. 3 shows a flow diagram of a method 300 for locating a mobile terminal according to an embodiment of the disclosure. The positioning method 300 according to the embodiment of the present disclosure may be mounted on a server, for example, the server may be an independent server, or may be a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server that may provide various services such as cloud services and cloud computing, which is not limited in the embodiment of the present disclosure.
As shown in fig. 3, in step S310, a position of each of a plurality of reference nodes for positioning is determined. Here, the reference node may be, for example, a signal base station such as a bluetooth device, a wireless (WiFi) device, a Radio Frequency Identification (RFID) device, or the like, which transmits a wireless signal; or may be other types of reference nodes capable of identifying a location, such as a location fingerprint, etc., which are not specifically limited by the embodiments of the present disclosure. A location fingerprint refers to one or more characteristics associated with a particular location in an actual environment, such as signal reception strength, signal round trip time, signal delay time, etc. at the particular location, which are not specifically limited by embodiments of the present disclosure. The plurality of reference nodes may be distributed, for example, within a building, as shown in the example in fig. 2A, when a mobile terminal located within the building sends a location request to the server, the server may utilize the location of one or more of the reference nodes to locate the mobile terminal. The positions of the multiple reference nodes may be stored in the server in advance, for example, or may be reported to the server by the reference nodes when the server sends a position request to the reference nodes, which is not specifically limited in this disclosure.
In step S320, one or more edge nodes of the plurality of reference nodes are determined. Wherein an edge node refers to a reference node having no neighboring reference nodes within a predetermined range along one or more predetermined directions. For example, for any one of the plurality of reference nodes, when it has no neighboring reference node within a predetermined range in the first predetermined direction, the reference node may be considered as an edge node in the first predetermined direction; likewise, when it has no neighboring reference node within a predetermined range in the second predetermined direction, the reference node may be considered as an edge node in the second predetermined direction; in some cases, the reference node may not have neighboring reference nodes within a predetermined range in both the first predetermined direction and the second predetermined direction, and the reference node is an edge node in both the first predetermined direction and the second predetermined direction.
In the disclosed embodiment, the one or more predetermined directions may refer to, for example, four directions of east, west, south, and north, or eight directions of east, west, south, north, northeast, northwest, southeast, southwest, or any number of other predetermined directions; the predetermined range may be, for example, a trapezoidal range, a rectangular range, a fan-shaped range, or any other type of predetermined range, and the predetermined direction and the predetermined range are not specifically limited in the embodiments of the present disclosure. In the above example, the first predetermined direction may be east, for example, and the second predetermined direction may be west, for example, then the edge node in the first predetermined direction is an edge node on the east side, and the edge node in the second predetermined direction is an edge node on the west side. For example, the east edge node may be a reference node located at the east edge of the building, and the west edge node may be a reference node located at the west edge of the building, which may cause inaccurate positioning results when positioning a mobile terminal located at the edge area, as described above.
Next, in step S330, the virtual positions of the one or more edge nodes are determined, i.e., the positions of the one or more edge nodes are adjusted according to a predetermined rule. According to an example of an embodiment of the present disclosure, for each of one or more edge nodes, an offset for position adjustment of the edge node may be first determined. The offset may be, for example, a value predetermined according to the structure of the building, the distribution of the reference nodes within the building, and the like, and may be determined as an average distance between the reference nodes within the building, for example. The position of each edge node is then shifted using the determined offset. According to an example of the embodiment of the present disclosure, the position of the edge node may be shifted toward the direction in which the edge node is located by using the offset, and the shifted position may be determined as the virtual position of the edge node. For example, when the edge node is an edge node in a first predetermined direction, the position of the edge node may be shifted toward the first predetermined direction with an offset amount. In addition, according to an example of the embodiment of the present disclosure, the absolute value of the offset may be set to be the same in all predetermined directions, or may be set to be different in different predetermined directions according to an actual structure of a building, and the embodiment of the present disclosure is not particularly limited thereto.
In some cases, an edge node may be an edge node in at least two predetermined directions at the same time. For example, for a single column of reference nodes distributed across a north-south oriented corridor in a building, each of these reference nodes is simultaneously an east edge node and a west edge node. In this case, the initial offset amount of the edge node may be determined separately in each of the at least two predetermined directions, and then the final offset amount may be determined based on the initial offset amounts in the respective predetermined directions. For example, for an edge node that is both an east edge node and a west edge node, initial offsets to the east and west of the edge node may be determined, respectively, and then, for example, the initial offsets to the east and west may be summed to obtain a final offset.
In the above steps S320 and S330, the distribution profile of the reference node may be adjusted to a larger range of virtual distribution profiles by determining one or more edge nodes of the plurality of reference nodes and performing position adjustment on the one or more edge nodes to determine the virtual positions thereof. When one or more mobile terminals located near the distribution profile of the reference nodes are located, as shown in step S340, a location calculation may be performed on the mobile terminal using the virtual locations of the one or more edge nodes and the locations of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine a location result of the mobile terminal. Here, the positioning calculation may use any one of various positioning algorithms such as trilateration algorithm, weighted positioning algorithm, AOA positioning algorithm, or various positioning models such as KNN and K-means, which is not specifically limited in the embodiment of the present disclosure. Because the distribution profile of the reference node is adjusted to a virtual distribution profile in a wider range through the virtual positions of the edge nodes, the positioning result of the mobile terminal near the distribution profile can break through the constraint of the distribution profile, so that the positioning result is more accurate.
The step S320 of determining one or more edge nodes of the plurality of reference nodes is described in further detail below with reference to fig. 4. Fig. 4 shows a flow chart of determining an edge node according to an example of an embodiment of the present disclosure. As shown in fig. 4, for each of the plurality of reference nodes, it may be determined whether it is an edge node by the following steps.
In step S321, at least one neighboring reference node from the plurality of reference nodes whose distance from the reference node is less than a predetermined distance is determined. The distance between any other reference node and the reference node may be a euclidean distance between the other reference node and the reference node, and the predetermined distance may be determined according to an average distance between the reference nodes, for example. For example, the average distance between the reference nodes may be first calculated according to the positions of the plurality of reference nodes determined in step S310, and then the average distance may be multiplied by a predetermined distance coefficient to obtain a predetermined distance. The predetermined distance coefficient depends on the distribution of the plurality of reference nodes, and may be stored in the server in advance, for example. For example, the predetermined distance coefficient may reflect a degree of distribution dispersion between the respective reference nodes, and take different values with different distributions of the reference nodes, e.g., reference nodes in different floors within a building may have different predetermined distance coefficients. For example, for a plurality of reference nodes distributed on a certain floor in a building, if the average distance between the reference nodes is determined to be 10 meters by the positions of the plurality of reference nodes, and the predetermined distance coefficient of the plurality of reference nodes on the floor is 3, the predetermined distance may be determined to be 30 meters.
In step S322, the positional relationship of the reference node with at least one neighboring reference node is determined. According to an example of an embodiment of the present disclosure, determining the positional relationship of the reference node and the at least one neighboring reference node may include calculating a coordinate difference, e.g., a lateral coordinate difference dx and a longitudinal coordinate difference dy, of each of the at least one neighboring reference node and the reference node, respectively. Here, the coordinates of the reference node or the adjacent reference node may be, for example, latitude and longitude coordinates, cartesian coordinates, or any other metric that can measure the position relationship between the reference node and the adjacent reference node.
Then, in step S323, it is determined whether or not there is an adjacent reference node within a predetermined range in one or more predetermined directions with the reference node as a reference point, based on the determined positional relationship between each adjacent reference node and the reference node. In one example, for each predetermined direction of the one or more predetermined directions, when a difference between a neighboring reference node and a first coordinate of the reference node satisfies a first threshold and a difference between a second coordinate satisfies a second threshold, then the neighboring reference node is determined to be within a predetermined range in the current predetermined direction. Wherein the first threshold value and the second threshold value are determined according to the shape and size of the predetermined range, the first coordinate and the second coordinate may be, for example, a lateral coordinate x and a longitudinal coordinate y, and the difference between the first coordinate and the second coordinate may be dx and dy, respectively, as described above.
In step S324, if it is determined from the positional relationship that there is no neighboring reference node within a predetermined range of at least one predetermined direction with the reference node as a reference point, it may be determined that the reference node is an edge node in the at least one predetermined direction. For example, if it is determined that there is no neighboring reference node within a predetermined range of the east side of the reference node, it may be determined that the reference node is an edge node of the east side; for example, if it is determined that there is no neighboring reference node within a predetermined range on the west side of the reference node, it may be determined that the reference node is an edge node on the west side; for another example, if it is determined that there are no neighboring reference nodes within a predetermined range of both the east and west sides of the reference node, it may be determined that the reference node is an edge node of both the east and west sides.
Further, when determining one or more edge nodes among the plurality of reference nodes in the above step S320, it is necessary to utilize a predetermined range in one or more predetermined directions. According to an example of the embodiment of the present disclosure, the length parameter of the predetermined range may be determined using an average distance between the plurality of reference nodes, and then one or more angle parameters of the predetermined range may be determined, and then the predetermined range may be determined using the predetermined distance, the length parameter, and the one or more angle parameters determined in step S321. For example, the predetermined range may be a trapezoidal range, which may be determined with the predetermined distance high, the length parameter lower, and the one or more angle parameters lower.
The following specifically describes the process of determining the edge node by taking the predetermined range as a trapezoidal range and taking the predetermined directions as four directions of east, west, south and north, respectively, as examples, with reference to fig. 5. Fig. 5 shows a schematic diagram of determining edge nodes according to an example of an embodiment of the present disclosure.
In the example of fig. 5, for any of a plurality of reference nodes 29520 in a floor of a building, at least one neighboring reference node of the plurality of reference nodes that is less than a predetermined distance from the reference node 29520 is first determined. For example, when the average distance between the plurality of reference nodes in fig. 5 is 10 meters and the distance coefficient for the floor is 3, at least one neighboring reference node having a distance of less than 30 meters from the reference node 29520 may be determined.
The length parameter L of the trapezoidal range in fig. 5 may be determined according to the average distance between the plurality of reference nodes, and for example, may be set to not more than one third of the average distance between the plurality of reference nodes; the trapezoidal range may be set to an isosceles trapezoidal range, for example, and the angle parameter thereof may be set to 45 °, for example. Thus, isosceles trapezoidal ranges in the four directions of east, west, south, and north, respectively, with the predetermined distance as high, L as the bottom, and 45 ° as the bottom angle, with the reference node 29520 as the reference point, can be determined, as shown in fig. 5.
Subsequently, the positional relationship between at least one neighboring reference node of the reference node 29520 and the reference node 29520 is respectively determined, and it is determined whether or not the neighboring reference node exists within each trapezoidal range according to the determined positional relationship.
For example, for any one neighboring reference node 29573 of reference node 29520, its lateral coordinate difference dx and longitudinal coordinate difference dy from reference node 29520 are calculated, and reference node 29520 has an east reference node if dx >0 and | dy | < dx + d (where d = L/2), indicating that neighboring reference node 29573 is within the trapezoidal range of the east of reference node 29520. Here, 0 is the above-mentioned first threshold value, and dx + d is the above-mentioned second threshold value.
For another example, for another neighboring reference node 30965 of reference node 29520, its lateral coordinate difference dx and longitudinal coordinate difference dy from reference node 29520 are calculated, and if dy >0 and | dx | < dy + d, indicating that neighboring reference node 30965 is within the trapezoidal range to the north side of reference node 29520, then reference node 29520 has a north side reference node. Here, 0 is the above-mentioned first threshold value, and dy + d is the above-mentioned second threshold value.
All neighboring reference nodes of reference node 29520 are traversed and the four east, west, south and north directions are determined for each neighboring reference node, respectively, to determine whether a neighboring reference node exists within the respective trapezoidal range of reference node 29520.
The above-mentioned judgment process can be expressed as, for example, the following code logic:
for any reference node, when there is a neighboring reference node in the trapezoidal range in any direction, the corresponding direction variable is true (true), otherwise, false (false) is defaulted. When a reference node has no adjacent reference node in the trapezoid range of one or more directions, that is, when one or more direction variables are false, the reference node is an edge node in the one or more directions. For example, in FIG. 5, reference node 29520 has no neighboring reference nodes within the west trapezoid, and reference node 29520 is a west edge node.
Then, each of the plurality of reference nodes is traversed, and the above-mentioned determination process is repeated to determine whether it is an edge node or not, until all the edge nodes in the plurality of reference nodes are determined. Thereafter, the virtual positions of these edge nodes are determined using the method in step S330 described above.
In the following, the specific steps of determining the virtual position of the edge node are specifically described by taking the predetermined directions as east, west, south and north, respectively, as an example. As described above, after edge nodes in the east, west, south, and north directions are determined, offsets for position adjustment of the edge nodes may be determined, and the positions of the edge nodes may be offset by the offsets. For example, an offset parameter bias may be set in advance, and the offset parameter may be set, for example, not to exceed an average distance between a plurality of reference nodes. Then, the offset parameter bias is used to respectively determine the lateral coordinate offset x _ bias and the longitudinal coordinate offset y _ bias of each edge node. For example, the offset for each edge node may be determined using the following code logic:
in the above example, the same offset parameter bias is used in each direction, for example, when a certain edge node is an east-side edge node and a west-side edge node at the same time, the lateral coordinate offset x _ bias is calculated by overlapping the same offset parameter bias on the east-side and the west-side respectively, and the finally determined lateral coordinate offset x _ bias is 0, that is, the lateral coordinate of the edge node may not be offset. Or, different offset parameters may be set for the east edge node and the west edge node respectively according to actual requirements, and the final lateral coordinate offset may be calculated.
In this example, after the lateral coordinate offset x _ bias and the vertical coordinate offset y _ bias of each edge node are determined, the positions of each edge node are respectively offset by using x _ bias and y _ bias, and the offset positions are determined as the virtual positions of each edge node.
The method for positioning a mobile terminal according to the above embodiment may be used to position any mobile terminal, for example, a smartphone, a tablet, a portable computer, a smart wearable device, and the like, and may be applied to any one of various positioning algorithms such as a trilateration algorithm, a weighted positioning algorithm, an AOA positioning algorithm, and the like, or various positioning models such as KNN, K-means, and the distribution profile of a plurality of reference nodes is adjusted to a virtual distribution profile of a larger range by determining the virtual positions of the edge nodes and the edge nodes, so that when positioning a mobile terminal located near the distribution profile, the virtual position of the edge node may be used to perform positioning calculation, so that the positioning result may break through the constraint of the distribution profile, thereby improving the positioning accuracy. Fig. 6 shows a schematic diagram of a positioning result obtained by using a positioning method according to an embodiment of the present disclosure. As shown in fig. 6, when a mobile terminal located at a point a of an edge area of a building is located by using the locating method according to the embodiment of the present disclosure, the locating result is not shifted to the interior of the building, but can be accurately located at a true location a where the mobile terminal is located. Therefore, the positioning method according to the embodiment of the disclosure can effectively solve the problem of inaccurate positioning at the edge area of the building, and remarkably optimize the positioning effect.
The methods for locating a mobile terminal described above with reference to fig. 3-6 may be applied to locating different mobile terminals or to locating multiple mobile terminals simultaneously. Next, a method for locating a specific mobile terminal is described with reference to fig. 7. Fig. 7 shows a flow diagram of a method 700 for locating a mobile terminal according to another embodiment of the present disclosure. The positioning method 700 according to the embodiment of the present disclosure may be mounted on a server, where the server may be an independent server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server that can provide various services such as cloud services and cloud computing, and the embodiment of the present disclosure is not limited thereto.
As shown in fig. 7, in step S710, a positioning request sent by a mobile terminal is received. As mentioned above, the mobile terminal may be any mobile terminal device such as a smart phone, a tablet, a portable computer, a smart wearable device, etc.
In step S720, a plurality of reference nodes for positioning the mobile terminal are determined. The determination method and number of the plurality of reference nodes depends on the specific positioning algorithm adopted by the server. For example, when performing a positioning calculation using trilateration, the three reference nodes closest to the mobile terminal, or the three reference nodes from which the mobile terminal receives the strongest signals, etc. may be selected. Here, the determination method and the number of reference nodes are not particularly limited in the embodiments of the present disclosure.
Then, in step S730, it is determined whether an edge node exists in the plurality of reference nodes. For example, the method in step S320 may be adopted to determine whether an edge node exists in the plurality of reference nodes; alternatively, when the server has previously stored therein information of the edge node determined by the positioning method according to the above-described embodiment of the present disclosure, it may be determined whether there is an edge node among the plurality of reference nodes by making a query in the server.
Further, in step S730, in the case where one or more edge nodes exist among the plurality of reference nodes, the mobile terminal is located using the virtual positions of the one or more edge nodes and the positions of the other reference nodes than the one or more edge nodes among the plurality of reference nodes. Here, the locations of the plurality of reference nodes may be determined, for example, by querying location information of reference nodes stored in advance in the server; the virtual positions of the edge nodes may be determined, for example, by adopting the method in step S330, or when the server has previously stored therein information of the virtual positions of the edge nodes determined by the positioning method according to the above-described embodiment of the present disclosure, the virtual positions of one or more edge nodes may be determined by performing a query in the server. And when the edge node does not exist in the plurality of reference nodes, positioning the mobile terminal by using the positions of the plurality of reference nodes. For example, the positions of the plurality of reference nodes may be used for positioning calculation using any one of various positioning algorithms, such as trilateration, weighted positioning, AOA positioning, or various positioning models, such as KNN, K-means, to determine the positioning result of the mobile terminal. Then, in step S740, the positioning result is transmitted to the mobile terminal.
By utilizing the method for positioning the mobile terminal according to the embodiment of the disclosure, even if the mobile terminal is positioned in the edge area of a building, the mobile terminal can be accurately positioned, and the positioning effect is remarkably optimized.
An apparatus for locating a mobile terminal according to an embodiment of the present disclosure is described below with reference to fig. 8. Fig. 8 shows a schematic structural diagram of an apparatus 800 for locating a mobile terminal according to an embodiment of the present disclosure. Since the apparatus 800 is the same as the details of the method 300 described above in connection with fig. 3, a detailed description of the same is omitted here for the sake of simplicity. The positioning apparatus 800 according to the embodiment of the present disclosure may be mounted on a server, and the server may be an independent server, a server cluster or a distributed system configured by a plurality of physical servers, or a cloud server that can provide various services such as cloud services and cloud computing.
As shown in fig. 8, an apparatus 800 for locating a mobile terminal includes a determining unit 810 and a locating unit 820. The apparatus 800 may include other components in addition to the two units, however, since these components are not related to the contents of the embodiments of the present disclosure, illustration and description thereof are omitted herein.
The determining unit 810 is configured to determine a location of each of a plurality of reference nodes for positioning. Here, the reference node may be, for example, a signal base station such as a bluetooth device, a wireless (WiFi) device, a Radio Frequency Identification (RFID) device, or the like, which transmits a wireless signal; or may be other types of reference nodes capable of identifying a location, such as a location fingerprint, etc., which are not specifically limited by the embodiments of the present disclosure. A location fingerprint refers to one or more characteristics associated with a particular location in an actual environment, such as signal reception strength, signal round trip time, signal delay time, etc. at the particular location, which are not specifically limited by embodiments of the present disclosure. The plurality of reference nodes may be distributed, for example, within a building, as shown in the example in fig. 2A, when a mobile terminal located within the building sends a location request to the server, the server may utilize the location of one or more of the reference nodes to locate the mobile terminal. The positions of the multiple reference nodes may be stored in the server in advance, for example, or may be reported to the server by the reference nodes when the server sends a position request to the reference nodes, which is not specifically limited in this disclosure.
The determining unit 810 is further configured to determine one or more edge nodes of the plurality of reference nodes. Wherein an edge node refers to a reference node having no neighboring reference nodes within a predetermined range along one or more predetermined directions. For example, for any one of the plurality of reference nodes, when it has no neighboring reference node within a predetermined range in the first predetermined direction, the reference node may be considered as an edge node in the first predetermined direction; likewise, when it has no neighboring reference node within a predetermined range in the second predetermined direction, the reference node may be considered as an edge node in the second predetermined direction; in some cases, the reference node may not have neighboring reference nodes within a predetermined range in both the first predetermined direction and the second predetermined direction, and the reference node is an edge node in both the first predetermined direction and the second predetermined direction.
In the disclosed embodiment, the one or more predetermined directions may refer to, for example, four directions of east, west, south, and north, or eight directions of east, west, south, north, northeast, northwest, southeast, southwest, or any number of other predetermined directions; the predetermined range may be, for example, a trapezoidal range, a rectangular range, a fan range, or any other type of predetermined range, and the predetermined direction and the predetermined range are not particularly limited in the embodiments of the present disclosure. In the above example, the first predetermined direction may be east, for example, and the second predetermined direction may be west, for example, then the edge node in the first predetermined direction is an edge node on the east side, and the edge node in the second predetermined direction is an edge node on the west side. For example, the east edge node may be a reference node located at the east edge of the building, and the west edge node may be a reference node located at the west edge of the building, which may cause inaccurate positioning results when positioning the mobile terminal located at the edge area.
The process of determining one or more edge nodes in the plurality of reference nodes by the determining unit 810 is described in further detail below. For each of the plurality of reference nodes, the determining unit 810 may determine whether it is an edge node by the following procedure.
First, the determining unit 810 is configured to determine at least one neighboring reference node of the plurality of reference nodes, which is less than a predetermined distance from the reference node. The distance between any other reference node and the reference node may be a euclidean distance between the other reference node and the reference node, and the predetermined distance may be determined according to an average distance between the reference nodes, for example. For example, an average distance between the reference nodes may be first calculated from the determined positions of the plurality of reference nodes, and then the average distance may be multiplied by a predetermined distance coefficient to obtain the predetermined distance. The predetermined distance coefficient depends on the distribution of the plurality of reference nodes, and may be stored in the server in advance, for example. For example, the predetermined distance coefficient may reflect a degree of distribution dispersion between the respective reference nodes, and take different values with different distributions of the reference nodes, e.g., reference nodes in different floors within a building may have different predetermined distance coefficients. In one example, for a plurality of reference nodes distributed at a floor within a building, assuming that an average distance between the reference nodes is determined to be 10 meters by the positions of the plurality of reference nodes, and the predetermined distance coefficient of the plurality of reference nodes at the floor is 3, the predetermined distance may be determined to be 30 meters.
Thereafter, the determining unit 810 is configured to determine a positional relationship of the reference node with at least one neighboring reference node. According to an example of an embodiment of the present disclosure, determining the positional relationship of the reference node and the at least one neighboring reference node may include calculating a coordinate difference, e.g., a lateral coordinate difference dx and a longitudinal coordinate difference dy, of each of the at least one neighboring reference node and the reference node, respectively. Here, the coordinates of the reference node or the adjacent reference node may be, for example, latitude and longitude coordinates, cartesian coordinates, or any other metric that can measure the position relationship between the reference node and the adjacent reference node.
Thereafter, the determining unit 810 is configured to determine whether or not there is an adjacent reference node within a predetermined range in one or more predetermined directions with the reference node as a reference point, according to the determined positional relationship between each adjacent reference node and the reference node. In one example, for each predetermined direction of the one or more predetermined directions, when a difference between a neighboring reference node and a first coordinate of the reference node satisfies a first threshold and a difference between a second coordinate satisfies a second threshold, then the determining unit 810 may determine that the neighboring reference node is within a predetermined range in the current predetermined direction. Wherein the first threshold value and the second threshold value are determined according to the shape and size of the predetermined range, the first coordinate and the second coordinate may be, for example, a lateral coordinate x and a longitudinal coordinate y, and the difference between the first coordinate and the second coordinate may be dx and dy, respectively, as described above.
The determination unit 810 may determine that the reference node is an edge node in at least one predetermined direction with the reference node as a reference point if it is determined from the positional relationship that there is no neighboring reference node within a predetermined range of the at least one predetermined direction. For example, if it is determined that there is no neighboring reference node within a predetermined range of the east side of the reference node, the determining unit 810 may determine that the reference node is an edge node of the east side; for example, if it is determined that there is no neighboring reference node within a predetermined range on the west side of the reference node, the determining unit 810 may determine that the reference node is an edge node on the west side; for another example, if it is determined that there is no neighboring reference node within a predetermined range of both the east and west sides of the reference node, the determination unit 810 may determine that the reference node is an edge node of both the east and west sides.
Furthermore, in determining one or more edge nodes in the plurality of reference nodes, it is desirable to utilize a predetermined range in one or more predetermined directions. According to an example of the embodiment of the present disclosure, the determining unit 810 may determine the length parameter of the predetermined range using an average distance between a plurality of reference nodes, then determine one or more angle parameters of the predetermined range, and then determine the predetermined range using the previously determined predetermined distance, length parameter, and one or more angle parameters. For example, the predetermined range may be a trapezoidal range, which may be determined with the predetermined distance high, the length parameter lower, and the one or more angle parameters lower.
Next, the determining unit 810 is further configured to determine the virtual position of the one or more edge nodes, i.e. to perform a position adjustment of the one or more edge nodes according to a predetermined rule. According to an example of an embodiment of the present disclosure, for each of one or more edge nodes, the determining unit 810 may first determine an offset for position adjustment of the edge node. The offset may be, for example, a value predetermined according to the structure of the building, the distribution of the reference nodes within the building, and the like, and may be determined as an average distance between the reference nodes within the building, for example. Subsequently, the determining unit 810 shifts the position of each edge node by using the determined shift amount, for example, the determining unit 810 may shift the position of the edge node toward the direction in which the edge node is located by using the shift amount, and determine the shifted position as the virtual position of the edge node. For example, when the edge node is an edge node in a first predetermined direction, the position of the edge node may be shifted toward the first predetermined direction with an offset amount. In addition, according to an example of the embodiment of the present disclosure, the absolute value of the offset may be set to be the same in all predetermined directions, or may be set to be different in different predetermined directions according to an actual structure of a building, and the embodiment of the present disclosure is not particularly limited thereto.
In some cases, an edge node may be an edge node in at least two predetermined directions at the same time. For example, for a single column of reference nodes distributed across a north-south oriented corridor in a building, each of these reference nodes is simultaneously an east edge node and a west edge node. In this case, an initial offset amount of the edge node may be determined in each of the at least two predetermined directions, respectively, and then a final offset amount may be determined based on the initial offset amount. For example, for an edge node that is both an east edge node and a west edge node, initial offsets to the east and west of the edge node may be determined, respectively, and then, for example, the initial offsets to the east and west may be summed to obtain a final offset.
The determining unit 810 may adjust the distribution profile of the reference node to a larger range of virtual distribution profiles by determining one or more edge nodes of the plurality of reference nodes and performing position adjustment on the one or more edge nodes to determine virtual positions thereof. When one or more mobile terminals located near the distribution profile of the reference nodes are located, the positioning unit 820 may perform positioning calculation on the mobile terminals using the virtual positions of the one or more edge nodes and the positions of other reference nodes than the one or more edge nodes among the plurality of reference nodes to determine a positioning result of the mobile terminals. Here, the positioning calculation may use any one of various positioning algorithms such as trilateration algorithm, weighted positioning algorithm, AOA positioning algorithm, or various positioning models such as KNN, K-means, which is not specifically limited in the embodiments of the present disclosure. Because the distribution profile of the reference node is adjusted to a virtual distribution profile in a wider range through the virtual positions of the edge nodes, the positioning result of the mobile terminal near the distribution profile can break through the constraint of the distribution profile, so that the positioning result is more accurate.
According to the device for positioning the mobile terminal, the problem of inaccurate positioning at the edge area of the building can be effectively solved, and the positioning effect is obviously optimized.
An apparatus for locating a mobile terminal according to another embodiment of the present disclosure is described below with reference to fig. 9. Fig. 9 shows a schematic structural diagram of an apparatus 900 for locating a mobile terminal according to another embodiment of the present disclosure. Since the apparatus 900 is the same as the details of the method 700 described above in connection with fig. 7, a detailed description of the same is omitted here for the sake of simplicity. The positioning apparatus 900 according to the embodiment of the present disclosure may be mounted on a server, for example, the server may be an independent server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server capable of providing various services such as cloud services and cloud computing, which is not limited in the embodiment of the present disclosure.
As shown in fig. 9, the apparatus 900 for locating a mobile terminal includes a receiving unit 910, a determining unit 920, a locating unit 930, and a transmitting unit 940. In addition to these four units, the apparatus 900 may further include other components, however, since these components are not relevant to the content of the embodiments of the present disclosure, illustration and description thereof are omitted here.
The receiving unit 910 is configured to receive a positioning request sent by a mobile terminal. As mentioned above, the mobile terminal may be any mobile terminal device such as a smart phone, a tablet, a portable computer, a smart wearable device, etc.
The determining unit 920 is configured to determine a plurality of reference nodes for positioning the mobile terminal. The method and number of the multiple reference nodes are determined by the specific positioning algorithm adopted by the server. For example, when performing positioning calculation by using trilateration, three reference nodes closest to the mobile terminal, or three reference nodes with strongest signals received by the mobile terminal may be selected. Here, the determination method and the number of reference nodes are not particularly limited in the embodiments of the present disclosure.
Then, the positioning unit 930 may determine whether an edge node exists in the plurality of reference nodes. For example, the method in step S320 may be adopted to determine whether an edge node exists in the plurality of reference nodes; alternatively, when the server has previously stored therein information of the edge node determined by the positioning method according to the above-described embodiment of the present disclosure, it may be determined whether there is an edge node among the plurality of reference nodes by making a query in the server.
In case that one or more edge nodes exist among the plurality of reference nodes, the positioning unit 930 is configured to position the mobile terminal using the virtual positions of the one or more edge nodes and positions of other reference nodes than the one or more edge nodes among the plurality of reference nodes. Here, the locations of the plurality of reference nodes may be determined, for example, by querying location information of reference nodes stored in advance in the server; the virtual positions of the edge nodes may be determined, for example, by adopting the method in step S330, or when the server has previously stored therein information of the virtual positions of the edge nodes determined by the positioning method according to the above-described embodiment of the present disclosure, the virtual positions of one or more edge nodes may be determined by performing a query in the server. When there is no edge node among the plurality of reference nodes, the positioning unit 930 is configured to position the mobile terminal using the positions of the plurality of reference nodes. For example, the positions of the plurality of reference nodes may be used for positioning calculation using any of various positioning algorithms, such as trilateration, weighted positioning, AOA, or various positioning models, such as KNN, K-means, to determine the positioning result of the mobile terminal. Then, the transmitting unit 940 is configured to transmit the positioning result to the mobile terminal.
By utilizing the device for positioning the mobile terminal according to the embodiment of the disclosure, even if the mobile terminal is positioned in the edge area of a building, the mobile terminal can be accurately positioned, and the positioning effect is obviously optimized.
Furthermore, devices (e.g., positioning devices, etc.) according to embodiments of the present disclosure may also be implemented by way of the architecture of an exemplary computing device shown in FIG. 10. Fig. 10 shows a schematic diagram of an architecture of an exemplary computing device 1000, according to an embodiment of the present disclosure. As shown in fig. 10, the computing device 1000 may include a bus 1010, one or more CPUs 1020, a Read Only Memory (ROM) 1030, a Random Access Memory (RAM) 1040, a communication port 1050 connecting to a network, an input/output component 1060, a hard disk 1070, and the like. Storage devices in the computing device 1000, such as the ROM 1030 or the hard disk 1070, may store various data or files used in computer processing and/or communications and program instructions executed by the CPU. Computing device 1000 may also include a user interface 1080. Of course, the architecture shown in FIG. 10 is merely exemplary, and one or more components of the computing device shown in FIG. 10 may be omitted as needed in implementing different devices. The positioning device according to the embodiments of the present disclosure may be configured to perform the method for positioning a mobile terminal according to the above-mentioned embodiments of the present disclosure, or to implement the apparatus for positioning a mobile terminal according to the above-mentioned embodiments of the present disclosure.
Embodiments of the present disclosure may also be implemented as a computer-readable storage medium. A computer readable storage medium according to an embodiment of the present disclosure has computer readable instructions stored thereon. The computer readable instructions, when executed by a processor, may perform the methods for locating a mobile terminal according to the various embodiments of the present disclosure described above with reference to the above figures. Computer-readable storage media include, but are not limited to, volatile memory and/or nonvolatile memory, for example. Volatile memory can include, for example, random Access Memory (RAM), cache memory (or the like). The non-volatile memory may include, for example, read Only Memory (ROM), a hard disk, flash memory, and the like.
There is also provided, in accordance with an embodiment of the present disclosure, a computer program product or computer program, including computer readable instructions, the computer readable instructions being stored in a computer readable storage medium. The processor of the computer device may read the computer readable instructions from the computer readable storage medium, and the processor executes the computer readable instructions to make the computer device execute the method for positioning the mobile terminal described in the above embodiments.
Those skilled in the art will appreciate that the disclosure of the present disclosure is susceptible to numerous variations and modifications. For example, the various devices or components described above may be implemented in hardware, or may be implemented in software, firmware, or a combination of some or all of the three.
Furthermore, as used in this disclosure and in the claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are inclusive in the plural, unless the context clearly dictates otherwise. The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. Similarly, the word "comprising" or "comprises", and the like, means that the element or item preceding the word comprises the element or item listed after the word and its equivalent, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
Furthermore, flow charts are used in this disclosure to illustrate operations performed by systems according to embodiments of the present disclosure. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or one or more operations may be removed from the processes.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
While the present disclosure has been described in detail above, it will be apparent to those skilled in the art that the present disclosure is not limited to the embodiments described in the present specification. The present disclosure can be implemented as modifications and variations without departing from the spirit and scope of the present disclosure defined by the claims. Accordingly, the description of the present specification is for the purpose of illustration and is not intended to be in any way limiting of the present disclosure.
Claims (14)
1. A method for locating a mobile terminal, the method comprising:
determining a location of each of a plurality of reference nodes for positioning;
determining one or more edge nodes of the plurality of reference nodes, wherein the edge nodes are reference nodes having no neighboring reference nodes within a predetermined range along one or more predetermined directions;
obtaining the adjustment positions of the one or more edge nodes according to a preset rule, and determining the adjustment positions as the virtual positions of the one or more edge nodes; and
and positioning the mobile terminal by using the virtual positions of the one or more edge nodes and the positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine the positioning result of the mobile terminal.
2. The method of claim 1, wherein determining one or more edge nodes of the plurality of reference nodes comprises:
for each of the plurality of reference nodes,
determining, among the plurality of reference nodes, at least one neighboring reference node having a distance from the reference node that is less than a predetermined distance;
determining a positional relationship of the reference node to the at least one neighboring reference node;
determining whether there are neighboring reference nodes within a predetermined range in one or more predetermined directions with the reference node as a reference point according to the positional relationship; and
determining the reference node as an edge node in at least one predetermined direction with the reference node as a reference point in a case where it is determined that there is no neighboring reference node within a predetermined range of the at least one predetermined direction according to the positional relationship,
wherein the predetermined distance is determined based on an average distance between the reference nodes.
3. The method of claim 2, wherein determining whether neighboring reference nodes exist within a predetermined range in one or more predetermined directions from which the reference node is a reference point according to the positional relationship comprises:
for each of the one or more predetermined directions,
for each of the at least one neighboring reference node, determining a difference between first coordinates and a difference between second coordinates of the neighboring reference node and the reference node, and determining that the neighboring reference node is within a predetermined range in the predetermined direction when the difference between the first coordinates satisfies a first threshold and the difference between the second coordinates satisfies a second threshold;
in a case where each of the at least one neighboring reference node is not within a predetermined range in the predetermined direction, determining that there is no neighboring reference node within the predetermined range in the predetermined direction.
4. The method of claim 2, further comprising:
determining a length parameter of the predetermined range using the average distance between the plurality of reference nodes;
determining one or more angle parameters of the predetermined range; and
determining the predetermined range using the predetermined distance, the length parameter, and the one or more angle parameters.
5. The method of claim 4, wherein the predetermined range is a trapezoidal range, and wherein determining the predetermined range using the predetermined distance, the length parameter, and the one or more angle parameters comprises:
determining the trapezoidal range with the predetermined distance as high, the length parameter as lower base, and the one or more angle parameters as base angles.
6. The method of any one of claims 1-5, wherein obtaining the adjusted position of the one or more edge nodes according to a predetermined rule and determining the adjusted position as the virtual position of the one or more edge nodes comprises:
for each of the one or more edge nodes,
determining an offset for position adjustment of the edge node; and
and offsetting the position of the edge node by using an offset to obtain the adjusted position, and determining the adjusted position as the virtual position of the edge node.
7. The method of claim 6, wherein determining an offset for position adjustment of the edge node when the edge node is an edge node in at least two predetermined directions at the same time comprises:
for each of the at least two predetermined directions, determining an initial offset of the edge node corresponding to the predetermined direction; and
determining the offset for position adjustment of the edge node based on an initial offset corresponding to each of the at least two predetermined directions.
8. The method of claim 1, wherein each of the plurality of reference nodes is a signal base station or other type of reference node capable of identifying a location.
9. A method for locating a mobile terminal, the method comprising:
receiving a positioning request sent by the mobile terminal;
determining a plurality of reference nodes for positioning the mobile terminal;
under the condition that one or more edge nodes exist in the plurality of reference nodes, positioning the mobile terminal by using the virtual positions of the one or more edge nodes and the positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine the positioning result of the mobile terminal; and
sending the positioning result to the mobile terminal,
wherein the virtual location of the one or more edge nodes is determined by:
and obtaining the adjustment positions of the one or more edge nodes according to a preset rule, and determining the adjustment positions as the virtual positions of the one or more edge nodes.
10. The method of claim 9, wherein the one or more edge nodes are determined by:
for each of the plurality of reference nodes,
determining, among the plurality of reference nodes, at least one neighboring reference node having a distance from the reference node that is less than a predetermined distance;
determining a positional relationship of the reference node to the at least one neighboring reference node;
determining whether adjacent reference nodes exist in a predetermined range in one or more predetermined directions taking the reference nodes as datum points according to the position relation; and
determining the reference node as an edge node in at least one predetermined direction with the reference node as a reference point in a case where it is determined that there is no neighboring reference node within a predetermined range of the at least one predetermined direction according to the positional relationship,
wherein the predetermined distance is determined based on an average distance between the reference nodes.
11. The method of claim 9, wherein the virtual location of the one or more edge nodes is determined by:
for each of the one or more edge nodes,
determining an offset for position adjustment of the edge node; and
and offsetting the position of the edge node by using an offset to obtain the adjusted position, and determining the adjusted position as the virtual position of the edge node.
12. An apparatus for locating a mobile terminal, the apparatus comprising:
a determining unit configured to determine a position of each of a plurality of reference nodes for positioning, determine one or more edge nodes of the plurality of reference nodes, wherein the edge nodes are reference nodes having no neighboring reference nodes within a predetermined range along one or more predetermined directions, and obtain adjusted positions of the one or more edge nodes according to a predetermined rule and determine the adjusted positions as virtual positions of the one or more edge nodes; and
a positioning unit configured to position the mobile terminal by using the virtual positions of the one or more edge nodes and positions of other reference nodes except the one or more edge nodes in the plurality of reference nodes to determine a positioning result of the mobile terminal.
13. An apparatus for locating a mobile terminal, comprising:
one or more processors; and
one or more memories, wherein the memory has stored therein computer-readable code, which, when executed by the one or more processors, causes the one or more processors to perform the method of any one of claims 1-11.
14. A computer readable storage medium having computer readable instructions stored thereon, which, when executed by a processor, cause the processor to perform the method of any one of claims 1-11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011470246.7A CN114630416B (en) | 2020-12-14 | 2020-12-14 | Method, device and equipment for positioning mobile terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011470246.7A CN114630416B (en) | 2020-12-14 | 2020-12-14 | Method, device and equipment for positioning mobile terminal |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114630416A CN114630416A (en) | 2022-06-14 |
CN114630416B true CN114630416B (en) | 2023-03-21 |
Family
ID=81897458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011470246.7A Active CN114630416B (en) | 2020-12-14 | 2020-12-14 | Method, device and equipment for positioning mobile terminal |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114630416B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011191239A (en) * | 2010-03-16 | 2011-09-29 | Mazda Motor Corp | Mobile object position detecting device |
CN104376349A (en) * | 2014-12-10 | 2015-02-25 | 中南大学 | RFID (radio frequency identification) reader-writer positioning method based on boundary labels |
US10119825B1 (en) * | 2017-08-30 | 2018-11-06 | Pitney Bowes Inc. | System and method for geocoding positional accuracy |
CN108957512A (en) * | 2017-05-26 | 2018-12-07 | 苏州宝时得电动工具有限公司 | Positioning device and method and automatic running device |
CN109218961A (en) * | 2018-08-02 | 2019-01-15 | 全球能源互联网研究院有限公司 | A kind of multistation co-interfere localization method and system based on dummy node |
-
2020
- 2020-12-14 CN CN202011470246.7A patent/CN114630416B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011191239A (en) * | 2010-03-16 | 2011-09-29 | Mazda Motor Corp | Mobile object position detecting device |
CN104376349A (en) * | 2014-12-10 | 2015-02-25 | 中南大学 | RFID (radio frequency identification) reader-writer positioning method based on boundary labels |
CN108957512A (en) * | 2017-05-26 | 2018-12-07 | 苏州宝时得电动工具有限公司 | Positioning device and method and automatic running device |
US10119825B1 (en) * | 2017-08-30 | 2018-11-06 | Pitney Bowes Inc. | System and method for geocoding positional accuracy |
CN109218961A (en) * | 2018-08-02 | 2019-01-15 | 全球能源互联网研究院有限公司 | A kind of multistation co-interfere localization method and system based on dummy node |
Non-Patent Citations (2)
Title |
---|
基于机器学习的蜂窝网络节点定位算法研究;王鲁达等;《计算机工程与科学》;20100815(第08期);1-3 * |
建筑内人员定位算法;马丽;《消防科学与技术》;20120515(第05期);1-5 * |
Also Published As
Publication number | Publication date |
---|---|
CN114630416A (en) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743777B (en) | A positioning method, apparatus, electronic device and readable storage medium | |
CN111352069B (en) | Indoor positioning method, server, storage medium and program product | |
JP4934441B2 (en) | Wireless node position estimation method, system, and processing apparatus therefor | |
US9602960B2 (en) | Positioning method | |
US9660740B2 (en) | Signal strength distribution establishing method and wireless positioning system | |
US20140335889A1 (en) | Method and devices for determining the position of a mobile communication device | |
KR20140069196A (en) | Time of arrival based wireless positioning system | |
US20160091341A1 (en) | Method and apparatus for object localization | |
US20120039316A1 (en) | Method of generating map, and method of measuring location of terminal using the map | |
CN106772229A (en) | Indoor orientation method and relevant device | |
EP3308190A1 (en) | Determining of model parameters for positioning purposes | |
US20160124069A1 (en) | Systems and methods for estimating a two-dimensional position of a receiver | |
US12146975B2 (en) | Positioning system and method | |
CN115308684A (en) | Uwb ultra-wideband indoor positioning method and device | |
CN104066175A (en) | Indoor positioning system and method based on WiFi | |
CN110858781B (en) | Method and device for measuring millimeter wave signals | |
KR20190001386A (en) | Indoor Positioning Method and Apparatus Based on Bluetooth Low Energy | |
Hui | RFID-based location tracking system using a peer-to-peer network architecture | |
US20160091349A1 (en) | Method and apparatus for object localizing | |
KR20140119333A (en) | Method and Apparatus for Location Determination to Improve the accuracy of the location | |
CN111565357B (en) | Positioning method and terminal | |
CN114630416B (en) | Method, device and equipment for positioning mobile terminal | |
HK40071455B (en) | Method, apparatus and device for positioning mobile terminal | |
HK40071455A (en) | Method, apparatus and device for positioning mobile terminal | |
CN116249198A (en) | Indoor positioning method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071455 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |