text:
(11) EP 3 525 528 A1
(12) EUROPEAN PATENT APPLICATION
published in accordance with Art. 153(4) EPC
(43) Date of publication:
H04W 64/00 (2009.01)
G01S 5/00 (2006.01)
(86) International application number:
PCT/CN2017/107604
(87) International publication number:
WO 2018/077177 (03.05.2018 Gazette 2018/18)
Designated Extension States:
BA ME
Designated Validation States:
MA MD
(30) Priority: 31.10.2016 CN 201610931502
(71) Applicant: Huawei Technologies Co., Ltd.
Longgang District Shenzhen, Guangdong 518129 (CN)
YANG, Hui
Shenzhen Guangdong 518129 (CN)
(74) Representative: Goddar, Heinz J.
Boehmert & Boehmert Anwaltspartnerschaft mbB Pettenkoferstrasse 22
80336 München (DE)
(54) POSITIONING METHOD AND POSITIONING APPARATUS
(57) This application provides a positioning method and a positioning apparatus. The positioning method includes: obtaining first time information of a first to-be-positioned node, second time information of a second to-be-positioned node, position information of at least three collaborative nodes with known positions, and third time information of the at least three collaborative nodes with known positions; and determining position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions. In this way, the position information of the first to-be-positioned node and the position information of the second to-be-positioned node are obtained during one FTM handshake. In this case, when there are N to-be-positioned nodes, if N is an even number, position information of the N to-be-positioned nodes is obtained by using N/2 FTM handshakes; or if N is an odd number, position information of the N to-be-positioned nodes is obtained by using (N/2)+1 FTM handshakes. This decreases a quantity of FTM handshakes, and therefore reduces signaling overheads in a network.
[0001] This application claims priority to Chinese Patent Application No. 201610931502.5, filed with the Chinese Patent Office on October 31, 2016 and entitled "POSITIONING METHOD AND POSITIONING APPARATUS", which is incorporated herein by reference in its entirety.
[0002] This application relates to the field of positioning technologies, and more specifically, to a positioning method and a positioning apparatus.
[0003] An indoor positioning technology is a technology for navigating to and tracking an indoor object in an indoor environment. Among indoor positioning technologies, a common positioning technology is a ranging-based positioning technology, and a principle of the ranging-based positioning technology is as follows: Distance measurement is performed between a to-be-positioned node and a plurality of anchor nodes, to obtain a plurality of groups of distance information, and then, a position of the to-be-positioned node is determined based on the plurality of groups of distance information and by using a positioning algorithm similar to triangulation or the like.
[0004] FIG. 1 shows a collaborative positioning framework based on FTM (Fine Timing Measurement, fine timing measurement) communication performed between an AP (anchor node) and a to-be-positioned node. In the collaborative positioning framework shown in FIG. 1, a collaborative node SN (which may be specifically S2, S3, or S4 in FIG. 1) located around the AP and the to-be-positioned node collaborates with the AP in positioning U that is regarded as the to-be-positioned node. A positioning process is as follows.
[0005] U sends an FTM request to the AP. After receiving the FTM request, the AP initiates FTM measurement, and sends an FTM action frame (fine timing measurement action frame). After receiving the FTM action frame, U sends a fine timing measurement response frame, for example, sends a feasible manner ACK (Acknowledgement, acknowledgement) of the fine timing measurement response frame. In a process in which the AP sends the FTM action frame and U sends the ACK, the AP obtains a sending time of the FTM action frame and a receiving time of the ACK, U obtains a receiving time of the FTM action frame and a sending time of the ACK, and similarly, each collaborative node SN also obtains t2_SN and t3_SN. t2_SN is a receiving time at which a collaborative node SN receives the FTM action frame, and t3_SN is a receiving time at which a collaborative node SN receives the ACK.
[0006] Then, each collaborative node SN sends obtained time information (t2_SN and t3_SN) and position information of the collaborative node SN to the AP; the AP sends, to U, all time information, position information of the AP, and position information of each SN; and U performs calculation according to the information to obtain position information of U. All the time information sent by the AP includes the time information obtained by each SN, and the sending time of the FTM action frame and the receiving time of the ACK that are obtained by the AP.
[0007] However, in the collaborative positioning framework shown in FIG. 1, within a wireless communications range of the to-be-positioned node, one AP and at least two collaborative nodes SNs with known positions are required, so that the to-be-positioned node can calculate its position information by using one FTM handshake with one AP. If there are N to-be-positioned nodes in the collaborative positioning framework, at least N FTM handshakes are required to obtain position information of all the to-be-positioned nodes, leading to higher signaling overheads in a network. One FTM handshake is equivalent to one interaction between two signaling FTM_K and ACK_K. The FTM_K indicates that the AP sends the FTM action frame for the Kth time, the ACK_K indicates that a STA sends the ACK for the Kth time, and the ACK is a feasible manner of the fine timing measurement response frame.
[0008] This application provides a positioning method and a positioning apparatus, to obtain position information of two to-be-positioned nodes during one FTM handshake, to reduce signaling overheads in a network. Technical solutions are as follows:
[0009] A first aspect of this application provides a positioning method, where the positioning method includes: obtaining first time information of a first to-be-positioned node, where the first time information includes a sending time at which the first to-be-positioned node sends a fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives the fine timing measurement response frame; obtaining second time information of a second to-be-positioned node, where the second time information includes a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame; obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions, where the third time information includes receiving time at which the at least three collaborative nodes receive the fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive the fine timing measurement response frame; and determining position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions.
[0010] It can be learned that the position information of the first to-be-positioned node and the position information of the second to-be-positioned node can be obtained by using one FTM handshake between the first to-be-positioned node and the second to-be-positioned node. In this case, when there are N to-be-positioned nodes, if N is an even number, the N to-be-positioned nodes may obtain their position information by using N/2 FTM handshakes between the N to-be-positioned nodes; or if N is an odd number, the N to-be-positioned nodes may obtain their position information by using (N/2)+1 FTM handshakes between the N to-be-positioned nodes. Compared with the prior art in which position information of N to-be-positioned nodes are obtained by using 2N FTM handshakes, in this application, a quantity of FTM handshakes is decreased. Therefore, signaling overheads in a network are reduced.
[0011] A second aspect of this application provides a positioning apparatus, where the positioning apparatus includes: an obtaining unit, configured to obtain first time information of a first to-be-positioned node, where the first time information includes a sending time at which the first to-be-positioned node sends a fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives the fine timing measurement response frame, where
the obtaining unit is further configured to obtain second time information of a second to-be-positioned node, where the second time information includes a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame; and
the obtaining unit is further configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions, where the third time information includes receiving time at which the at least three collaborative nodes receive the fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive the fine timing measurement response frame; and
a determining unit, configured to determine position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions that are obtained by the obtaining unit.
[0013] In an implementation, the determining position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions includes:
determining a time of flight between the first to-be-positioned node and the second to-be-positioned node according to the first time information and the second time information;
determining a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information, where the time of flight difference includes a difference between a time of flight between any one of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between the any collaborative node and the second to-be-positioned node; and
determining the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the time of flight difference, the position information of the at least three collaborative nodes with known positions, and the time of flight between the first to-be-positioned node and the second to-be-positioned node.
[0014] In an implementation, the positioning method is executed by the first to-be-positioned node, so that the first to-be-positioned node determines the position information of the first to-be-positioned node and the position information of the second to-be-positioned node, thereby reducing a calculation amount of the second to-be-positioned node;
the obtaining first time information of a first to-be-positioned node includes:
sending the fine timing measurement action frame, and obtaining the sending time of the timing measurement action frame; and
receiving the fine timing measurement response frame sent by the second to-be-positioned node, and obtaining the second receiving time; and
the obtaining second time information of a second to-be-positioned node includes:
receiving the second time information sent by the second to-be-positioned node.
[0015] In an implementation, the positioning method is executed by the second to-be-positioned node, so that the second to-be-positioned node determines the position information of the first to-be-positioned node and the position information of the second to-be-positioned node, thereby reducing a calculation amount of the first to-be-positioned node;
receiving the fine timing measurement action frame sent by the first to-be-positioned node, and obtaining the first receiving time; and
sending the fine timing measurement response frame, and obtaining the sending time of the fine timing measurement response frame; and
receiving the first time information sent by the first to-be-positioned node.
[0016] In an implementation, the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions includes: receiving the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0017] In an implementation, the positioning method is executed by the any one of the at least three collaborative nodes with known positions, so that the any collaborative node determines the position information of the first to-be-positioned node and the position information of the second to-be-positioned node, thereby reducing calculation amounts of the first to-be-positioned node and the second to-be-positioned node; the obtaining first time information of a first to-be-positioned node includes: receiving the first time information sent by the first to-be-positioned node;
the obtaining second time information of a second to-be-positioned node includes: receiving the second time information sent by the second to-be-positioned node; and
the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions includes:
obtaining position information of the any collaborative node;
receiving the fine timing measurement action frame sent by the first to-be-positioned node, and obtaining a receiving time at which the any collaborative node receives the fine timing measurement action frame;
receiving the fine timing measurement response frame sent by the second to-be-positioned node, and obtaining a receiving time at which the any collaborative node receives the fine timing measurement response frame; and
receiving position information of other collaborative nodes of the at least three collaborative nodes that is sent by the other collaborative nodes, receiving time at which the other collaborative nodes receive the fine timing measurement action frame, and receiving time at which the other collaborative nodes receive the fine timing measurement response frame.
[0018] In an implementation, the positioning method is executed by a management node, so that the management node determines the position information of the first to-be-positioned node and the position information of the second to-be-positioned node, thereby reducing calculation amounts of the first to-be-positioned node and the second to-be-positioned node; the obtaining first time information of a first to-be-positioned node includes: receiving the first time information sent by the first to-be-positioned node;
receiving the second time information sent by the second to-be-positioned node; and
the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions includes: receiving the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0019] In an implementation, the positioning method is executed by the first to-be-positioned node, and the positioning method further includes: sending the position information of the second to-be-positioned node to the second to-be-positioned node; or
the positioning method is executed by the second to-be-positioned node, and the positioning method further includes: sending the position information of the first to-be-positioned node to the first to-be-positioned node; or
the positioning method is executed by the any one of the at least three collaborative nodes with known positions or a management node, and the positioning method further includes: sending the position information of the first to-be-positioned node to the first to-be-positioned node, and sending the position information of the second to-be-positioned node to the second to-be-positioned node.
[0020] In an implementation, the positioning method is executed by the first to-be-positioned node, and the positioning method further includes: determining the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node.
[0021] In an implementation, the determining the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node includes:
sending a signaling request to a management node, where the signaling request is used to request to perform fine timing measurement; and
receiving a response message sent by the management node, where the response message is used to instruct to perform fine timing measurement between the first to-be-positioned node and the second to-be-positioned node, to determine the second to-be-positioned node; or
sending a ranging measurement request in a broadcast mode; and
receiving a ranging measurement response message sent by the second to-be-positioned node, to determine the second to-be-positioned node.
[0022] In an implementation, the determining a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information includes:
obtaining the difference between the time of flight between the any collaborative node SN and the first to-be-positioned node U1, and the time of flight between SN and the second to-be-positioned node U2 according to the following formula:
where TOF(U1-U2) indicates the time of flight between the first to-be-positioned node and the second to-be-positioned node, TOF(U1-SN) indicates the time of flight between the any collaborative node SN and the first to-be-positioned node U1, TOF(U2-SN) indicates the time of flight between the any collaborative node SN and the second to-be-positioned node U2, t1 indicates the sending time at which the first to-be-positioned node sends the fine timing measurement action frame, t4 indicates the first receiving time, t2_SN indicates a receiving time at which SN receives the fine timing measurement action frame, and t3_SN indicates a receiving time at which SN receives the fine timing measurement response frame.
[0023] In an implementation, the determining the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the time of flight difference, the position information of the at least three collaborative nodes with known positions, and the time of flight between the first to-be-positioned node and the second to-be-positioned node includes:
calculating coordinates of the first to-be-positioned node and coordinates of the second to-be-positioned node according to the following two formulas:
[0024] An error caused because internal clocks of the first to-be-positioned node, the second to-be-positioned node, and the at least three collaborative nodes with known positions cannot be aligned can be eliminated by using the foregoing two formulas, thereby improving calculation precision. In the foregoing formulas, (x1, y1) indicates the coordinates of the first to-be-positioned node, to represent the position information of the first to-be-positioned node; (x2, y2) indicates the coordinates of the first to-be-positioned node, to represent the position information of the second to-be-positioned node; (aN,bN) indicates coordinates of SN, to represent the position information of the any collaborative node SN; c indicates a speed of light, and c is equal to 3∗10^8; t2 indicates the second receiving time; t3 indicates the sending time at which the second to-be-positioned node sends the fine timing measurement response frame; and TOF(U1-U2) indicates the time of flight between the first to-be-positioned node U1 and the second to-be-positioned node U2.
[0025] A third aspect of this application provides a positioning device, where the positioning device includes a memory, a processor, a receiver, and a transmitter, and the processor is configured to execute the positioning method provided in the first aspect and all the foregoing implementations.
[0026] A fourth aspect of this application provides a storage medium, where the storage medium records program code used for executing the positioning method provided in the first aspect and all the foregoing implementations.
BRIEF DESCRIPTION OF DRAWINGS
[0027] To describe the technical solutions in the embodiments of this application or in the prior art more clearly, the following briefly describes the accompanying drawings required for describing the embodiments or the prior art. Apparently, the accompanying drawings in the following description show merely some embodiments of this application, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
FIG. 1 is a schematic diagram of a collaborative positioning framework;
FIG. 2 is a signaling interaction diagram of a positioning method according to an embodiment of this application;
FIG. 3 is a signaling diagram of step 203 to step 205 in the positioning method shown in FIG. 2;
FIG. 5 is a signaling diagram of step 209 and step 210 in the positioning method shown in FIG. 2;
FIG. 6 is another signaling interaction diagram of a positioning method according to an embodiment of this application;
FIG. 7 is still another signaling interaction diagram of a positioning method according to an embodiment of this application;
FIG. 9 is a schematic structural diagram of a positioning apparatus according to an embodiment of this application;
FIG. 10 is another schematic structural diagram of a positioning apparatus according to an embodiment of this application;
FIG. 11 is still another schematic structural diagram of a positioning apparatus according to an embodiment of this application;
FIG. 13 is still another schematic structural diagram of a positioning apparatus according to an embodiment of this application; and
FIG. 14 is a schematic structural diagram of a positioning device according to an embodiment of this application.
DESCRIPTION OF EMBODIMENTS
[0028] FIG. 1 shows a collaborative positioning framework in which a to-be-positioned node U resides. In this collaborative positioning framework, within a wireless communications range of U, there is one AP and a plurality of collaborative nodes SNs with known positions, for example, collaborative nodes S2, S3, and S4 in FIG. 1. The collaborative nodes SNs participate in one FTM handshake between U and the AP. Specifically, each collaborative node SN obtains a receiving time at which FTM_K is received and a receiving time at which ACK_K is received, so that U calculates its position information based on the receiving time, time information of the AP, position information of the AP, and position information of each collaborative node SN. However, when there are N Us in the collaborative positioning framework, at least N FTM handshakes are required to obtain position information of all Us, leading to higher signaling overheads in a network.
[0029] With reference to the collaborative positioning framework shown in FIG. 1, an embodiment of this application provides a positioning method shown in FIG. 2. In FIG. 2, U1 is a first to-be-positioned node, U2 is a second to-be-positioned node, and SN is a collaborative node. In addition, to obtain position information of U1 and position information of U2 during one FTM handshake, at least three SNs with known positions are required. In FIG. 2, an example in which there are three SNs with known positions and the three SNs with known positions are S1, S2, and S3 is used for description. The positioning method shown in FIG. 2 is executed by U1, and includes the following steps.
[0030] 201. U1 sends a signaling request to an AP, where the signaling request is used to request to perform fine timing measurement.
[0031] 202. The AP sends a response message to U1, where the response message is used to instruct to perform fine timing measurement between U1 and U2, to determine U2.
[0032] In this embodiment of this application, the AP is a management node that manages collaborative positioning performed by the collaborative nodes SNs on U1 and U2. The AP may instruct to perform fine timing measurement between any two to-be-positioned nodes Us, and a standard for instructing, by the AP, to perform fine timing measurement between the any two to-be-positioned nodes Us may be as follows: The two to-be-positioned nodes Us can communicate with each other. For example, in step 202, U2 that can bidirectionally communicate with U1 is specified in the response message sent by the AP to U1, so that after step 201 and step 202, U1 determines U2 that performs fine timing measurement with U1.
[0033] Certainly, U1 may alternatively determine, in another manner, U2 that performs fine timing measurement with U1. As shown in step 301 and step 302 in FIG. 2, U1 sends a ranging measurement request in a broadcast mode, and after receiving the ranging measurement request, U2 within a wireless communications range of U1 sends a ranging measurement response message to U1. Then, U1 can perform fine timing measurement with U2.
[0034] 203. U1 sends FTM_K, and obtains a sending time t1 of the FTM_K.
[0035] 204. U2 obtains a second receiving time t2 at which the FTM_K is received.
[0036] 205. The collaborative nodes S1, S2, and S3 obtain receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K. The receiving time t2_SN of the collaborative nodes S1, S2, and S3 are marked as t2_S1, t2_S2, and t2_S3, respectively.
[0037] Step 203 to step 205 shown in FIG. 2 may be demonstrated by a signaling diagram shown in FIG. 3. The FTM_K sent by U1 is received by U2 and the collaborative nodes S1, S2, and S3. Then, U2 may obtain the second receiving time t2 at which the FTM_K is received, and the collaborative nodes S1, S2, and S3 obtain the receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K.
[0038] 206. U2 sends ACK_K, and obtains a sending time t3 of the ACK_K.
[0039] 207. U1 obtains a first receiving time t4 at which the ACK_K is received.
[0040] 208. The collaborative nodes S1, S2, and S3 obtain receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K. The receiving time t3_SN of the collaborative nodes S1, S2, and S3 are marked as t3_S1, t3_S2, and t3_S3, respectively.
[0041] Step 206 to step 208 shown in FIG. 2 may be demonstrated by a signaling diagram shown in FIG. 4. The ACK_K sent by U2 is received by U1 and the collaborative nodes S1, S2, and S3. Then, U1 may obtain the first receiving time t4 at which the ACK_K is received, and the collaborative nodes S1, S2, and S3 obtain the receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K.
[0042] 209. U2 sends the sending time t3 of the ACK_K and the second receiving time t2 to U1.
[0043] After step 203 to step 209, U1 can obtain first time information of U1 and second time information of U2. The first time information includes the sending time at which U1 sends the FTM_K and the first receiving time at which U1 receives the ACK_K. The second time information includes the second receiving time at which U2 receives the FTM_K and the sending time at which U2 sends the ACK_K.
[0044] 210. The collaborative nodes S1, S2, and S3 obtain their coordinates, where the coordinates are used to represent position information of the collaborative nodes.
[0045] 211. The collaborative nodes S1, S2, and S3 send, to U1, their coordinates, the receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and the receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K.
[0046] Step 209 and step 211 shown in FIG. 2 may be demonstrated by a signaling diagram shown in FIG. 5. U1 receives the sending time t3 at which U2 sends the ACK_K and the second receiving time t2, and receives the position information of the collaborative nodes S1, S2, and S3, the receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and the receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K that are sent by the collaborative nodes S1, S2, and S3.
[0047] In addition, after step 205, step 208, step 210, and step 211, U1 can obtain the position information of the collaborative nodes S1, S2, and S3 with known positions and third time information. The third time information includes the receiving time t2_SN at which the three collaborative nodes S1, S2, and S3 receive the FTM_K, and the receiving time t3_SN at which the three collaborative nodes S1, S2, and S3 receive the ACK_K.
[0048] 212. U1 calculates a time of flight between U1 and U2 according to Formula 1:
[0049] 213. U1 calculates a difference between a time of flight between a collaborative node SN and U1, and a time of flight between SN and U2 according to Formula 2:
where TOF(U1-SN) indicates the time of flight between SN and U1, and TOF(U2-SN) indicates the time of flight between SN and U2.
[0050] A process of deriving Formula 2 is as follows:
[0051] In a symmetric link, TOF (U2 - U1) = TOF (U1 - U2). Therefore, the following formula is obtained:
where both TOF (U2 - U1) and TOF (U1 - U2) indicate the time of flight between U1 and U2, while a difference between TOF (U2 - U1) and TOF (U1 - U2) lies in that: TOF (U1 - U2) indicates that calculation is proactively initiated by U1 and TOF (U2 - U1) indicates that calculation is proactively initiated by U2.
[0052] 214. U1 calculates coordinates of U1 and coordinates of U2 according to Formula 3 and Formula 4, where in this embodiment of this application, the coordinates of U1 are used to represent position information of U1, and the coordinates of U2 are used to represent position information of U2:
[0053] In the foregoing formulas, (x1,y1) indicates the coordinates of U1, (x2,y2) indicates the coordinates of U2, (aN,bN) indicates coordinates of SN, c indicates a speed of light, and c is equal to 3∗10^8. It can be learned from Formula 1, Formula 2, Formula 3, and Formula 4 that, right sides of equations of Formula 3 and Formula 4 may be obtained by multiplying the foregoing time information and the speed of light. In addition, Formula 3 and Formula 4 include four unknown quantities: x1, y1, x2, and y2, and therefore, at least four equations are required, that is, at least coordinates of the three SNs, t2_SN, and t3_SN are required to simultaneously calculate the coordinates of U1 and the coordinates of U2 according to Formula 3 and Formula 4.
[0054] 215. U1 sends the coordinates of U2 to U2.
[0055] It can be learned from the foregoing technical solution that, according to the positioning method provided in this embodiment of this application, the coordinates of U1 and the coordinates of U2 can be obtained by using one FTM handshake between U1 and U2. In this case, when there are N to-be-positioned nodes, if N is an even number, the N to-be-positioned nodes may obtain their coordinates by using N/2 FTM handshakes between the N to-be-positioned nodes; or if N is an odd number, the N to-be-positioned nodes may obtain their coordinates by using (N/2)+1 FTM handshakes between the N to-be-positioned nodes. Compared with the prior art in which coordinates of N to-be-positioned nodes are obtained by using 2N FTM handshakes, in this application, a quantity of FTM handshakes is decreased. Therefore, signaling overheads in a network are reduced.
[0056] Referring to FIG. 6, FIG. 6 is another signaling interaction diagram of a positioning method according to an embodiment of this application. Compared with the positioning method shown in FIG. 2, the positioning method shown in FIG. 6 is executed by the second to-be-positioned node U2 instead of being executed by the first to-be-positioned node U1, so that U2 calculates coordinates of U1 and coordinates of U2 according to Formula 1, Formula 2, Formula 3, and Formula 4, and U2 sends the coordinates of U1 to U1, as described in step 612 to step 615.
[0057] In addition, other differences between the positioning method shown in FIG. 6 and the positioning method shown in FIG. 2 lie in the following:
U2 does not send a sending time t3 of ACK_K and a second receiving time t2 to U1;
U1 sends a sending time t1 of FTM_K and a first receiving time t4 to U2, as described in step 609, so that U2 obtains first time information; and
the collaborative nodes S1, S2, and S3 send, to U2, their coordinates, receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K, as described in step 611, instead of sending, to U1, their coordinates, the receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and the receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K, so that U2 obtains position information of the three collaborative nodes S1, S2, and S3 with known positions and third time information.
[0058] Referring to FIG. 7, FIG. 7 is still another signaling interaction diagram of a positioning method according to an embodiment of this application. Compared with the positioning method shown in FIG. 2, the positioning method shown in FIG. 7 is executed by any one of the three collaborative nodes S1, S2, and S3 with known positions, for example, executed by S1, instead of being executed by the first to-be-positioned node U1, so that S1 calculates coordinates of U1 and coordinates of U2 according to Formula 1, Formula 2, Formula 3, and Formula 4, and S1 sends the coordinates of U1 to U1 and sends the coordinates of U2 to U2, as described in step 713 to step 717.
U1 sends a sending time t1 of FTM_K and a first receiving time t4 to S1, as described in step 709, so that S1 obtains first time information;
U2 sends a sending time t3 of ACK_K and a second receiving time t2 to S1, as described in step 710, instead of sending, by U2, the sending time t3 of the ACK_K and the second receiving time t2 to U1, so that S1 obtains second time information; and
S1 does not send, to U1, its coordinates, a receiving time t2_SN at which the FTM_K is received, and a receiving time t3_SN at which the ACK_K is received; and the collaborative nodes S2 and S3 send, to S1, their coordinates, receiving time t2_SN at which the collaborative nodes S2 and S3 receive the FTM_K, and receiving time t3_SN at which the collaborative nodes S2 and S3 receive the ACK_K, as described in step 712, instead of sending, to U1, their coordinates, the receiving time t2_SN at which the collaborative nodes S2 and S3 receive the FTM_K3, and the receiving time t3_SN at which the collaborative nodes S2 and S3 receive the ACK_K, so that S1 obtains position information of the three collaborative nodes S1, S2, and S3 with known positions and third time information.
[0060] Referring to FIG. 8, FIG. 8 is still another signaling interaction diagram of a positioning method according to an embodiment of this application. Compared with the positioning method shown in FIG. 2, the positioning method shown in FIG. 8 is executed by the management node, for example, executed by an AP in FIG. 8, instead of being executed by the first to-be-positioned node U1, so that the AP calculates coordinates of U1 and coordinates of U2 according to Formula 1, Formula 2, Formula 3, and Formula 4, and the AP sends the coordinates of U1 to U1 and sends the coordinates of U2 to U2, as described in step 813 to step 817.
U1 sends a sending time t1 of FTM_K and a first receiving time t4 to the AP, as described in step 809, so that the AP obtains first time information;
U2 sends a sending time t3 of ACK_K and a second receiving time t2 to the AP, as described in step 810, instead of sending, by U2, the sending time t3 of the ACK_K and the second receiving time t2 to U1, so that the AP obtains second time information; and
the collaborative nodes S1, S2, and S3 send, to the AP, their coordinates, receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K, as described in step 812, instead of sending, to U1, their coordinates, the receiving time t2_SN at which the collaborative nodes S1, S2, and S3 receive the FTM_K, and the receiving time t3_SN at which the collaborative nodes S1, S2, and S3 receive the ACK_K, so that the AP obtains position information of the three collaborative nodes S1, S2, and S3 with known positions and third time information.
[0062] With reference to the collaborative positioning framework shown in FIG. 1, an embodiment of this application provides a positioning apparatus shown in FIG. 9. The positioning apparatus may include an obtaining unit 11 and a determining unit 12.
[0063] The obtaining unit 11 is configured to obtain first time information of a first to-be-positioned node, where the first time information includes a sending time at which the first to-be-positioned node sends a fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives a fine timing measurement response frame.
[0064] The obtaining unit 11 is further configured to obtain second time information of a second to-be-positioned node, where the second time information includes a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame.
[0065] The obtaining unit 11 is further configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions, where the third time information includes receiving time at which the at least three collaborative nodes receive the fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive the fine timing measurement response frame.
[0066] The determining unit 12 is configured to determine position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions that are obtained by the obtaining unit 11.
[0067] In an implementation, the determining unit 12 includes a first determining subunit 121, a second determining subunit 122, and a third determining subunit 123, as shown in FIG. 9.
[0068] The first determining subunit 121 is configured to determine a time of flight between the first to-be-positioned node and the second to-be-positioned node according to the first time information and the second time information. In an implementation, the first determining subunit calculates a time of flight TOF (U1 - U2) between U1 and U2 according to Formula 1: TOF (U1 - U2) = ((t4 - t1) - (t3 - t2))/2 (Formula 1), where U1 indicates the first to-be-positioned node U1, U2 indicates the second to-be-positioned node U2, t1 indicates the sending time at which the first to-be-positioned node sends the fine timing measurement action frame, t2 indicates the second receiving time, t3 indicates the sending time at which the second to-be-positioned node sends the fine timing measurement response frame, and t4 indicates the first receiving time.
[0069] The second determining subunit 122 is configured to determine a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information, where the time of flight difference includes a difference between a time of flight between any one of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between the any collaborative node and the second to-be-positioned node.
[0070] In an implementation, the second determining subunit 122 obtains the difference between the time of flight between the any collaborative node SN and the first to-be-positioned node U1, and the time of flight between SN and the second to-be-positioned node U2 according to the following Formula 2:
where TOF(U1-U2) indicates the time of flight between the first to-be-positioned node and the second to-be-positioned node, TOF(U1-SN) indicates the time of flight between the any collaborative node SN and the first to-be-positioned node U1, TOF(U2-SN) indicates the time of flight between the any collaborative node SN and the second to-be-positioned node U2, t2_SN indicates a receiving time at which SN receives the fine timing measurement action frame, and t3_SN indicates a receiving time at which SN receives the fine timing measurement response frame.
[0071] The third determining subunit 123 is configured to determine the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the time of flight difference, the position information of the at least three collaborative nodes with known positions, and the time of flight between the first to-be-positioned node and the second to-be-positioned node.
[0072] In an implementation, the third determining subunit calculates coordinates of U1 and coordinates of U2 according to Formula 3 and Formula 4, where in this embodiment of this application, the coordinates of U1 are used to represent position information of U1, and the coordinates of U2 are used to represent position information of U2:
[0073] By calculating the coordinates of U1 and the coordinates of U2 according to Formula 1, Formula 2, Formula 3, and Formula 4, the determining unit can eliminate an error caused because internal clocks of the first to-be-positioned node, the second to-be-positioned node, and the at least three collaborative nodes with known positions cannot be aligned, thereby improving calculation precision.
[0074] It can be learned from the foregoing technical solution that the position information of the first to-be-positioned node and the position information of the second to-be-positioned node can be obtained by using one FTM handshake between the first to-be-positioned node and the second to-be-positioned node. In this case, when there are N to-be-positioned nodes, if N is an even number, the N to-be-positioned nodes may obtain their position information by using N/2 FTM handshakes between the N to-be-positioned nodes; or if N is an odd number, the N to-be-positioned nodes may obtain their position information by using (N/2)+1 FTM handshakes between the N to-be-positioned nodes. Compared with the prior art in which position information of N to-be-positioned nodes are obtained by using 2N FTM handshakes, in this application, a quantity of FTM handshakes is decreased. Therefore, signaling overheads in a network are reduced.
[0075] In this embodiment of this application, the positioning apparatus shown in FIG. 9 is the first to-be-positioned node. In addition to the units shown in FIG. 9, the positioning apparatus further includes a node determining unit 13. The obtaining unit 11 includes a sending unit 111, a receiving unit 112, and an obtaining subunit 113, as shown in FIG. 10.
[0076] The node determining unit 13 is configured to determine the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node. In this embodiment of this application, implementations of determining the second to-be-positioned node by the node determining unit 13 include but are not limited to the following two implementations:
[0077] One implementation: The node determining unit 13 is configured to: make the sending unit 111 send a signaling request to a management node; obtain a response message sent by the management node and received by the receiving unit 112, where the signaling request is used to request to perform fine timing measurement; and determine the second to-be-positioned node when the response message is used to instruct to perform fine timing measurement between the first to-be-positioned node and the second to-be-positioned node.
[0078] The other implementation: The node determining unit 13 is configured to: make the sending unit 111 send a ranging measurement request in a broadcast mode, and obtain a ranging measurement response message sent by the second to-be-positioned node and received by the receiving unit 112, to determine the second to-be-positioned node.
[0079] An implementation of obtaining the first time information of the first to-be-positioned node by the obtaining unit 11 is: The sending unit 111 sends the fine timing measurement action frame, the obtaining subunit 113 obtains the sending time of the timing measurement action frame, the receiving unit 112 receives the fine timing measurement response frame sent by the second to-be-positioned node, and the obtaining subunit 113 obtains the first receiving time.
[0080] An implementation of obtaining the second time information of the second to-be-positioned node by the obtaining unit 11 is: The receiving unit 112 receives the second time information sent by the second to-be-positioned node.
[0081] An implementation of obtaining the position information of the at least three collaborative nodes with known positions and the third time information of the at least three collaborative nodes with known positions by the obtaining unit 11 is: The receiving unit 112 receives the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0082] The sending unit 111 is further configured to send the position information of the second to-be-positioned node to the second to-be-positioned node.
[0083] It can be learned from the foregoing technical solution that the first to-be-positioned node can calculate the position information of the first to-be-positioned node and the second to-be-positioned node, thereby reducing a calculation amount of the second to-be-positioned node.
[0084] In this embodiment of this application, the positioning apparatus shown in FIG. 9 is the second to-be-positioned node. The obtaining unit 11 in the positioning apparatus includes a sending unit 114, a receiving unit 115, and an obtaining subunit 116, as shown in FIG. 11.
[0085] An implementation of obtaining the second time information of the second to-be-positioned node by the obtaining unit 11 is: The receiving unit 115 receives the fine timing measurement action frame sent by the first to-be-positioned node, the obtaining subunit 116 obtains the second receiving time, the sending unit 114 sends the fine timing measurement response frame, and the obtaining subunit 116 is further configured to obtain the sending time of the fine timing measurement response frame.
[0086] An implementation of obtaining the first time information of the first to-be-positioned node by the obtaining unit 11 is: The receiving unit 115 receives the first time information sent by the first to-be-positioned node.
[0088] The sending unit 114 is further configured to send the position information of the first to-be-positioned node to the first to-be-positioned node.
[0089] It can be learned from the foregoing technical solution that the second to-be-positioned node can calculate the position information of the second to-be-positioned node and the first to-be-positioned node, thereby reducing a calculation amount of the first to-be-positioned node.
[0090] In this embodiment of this application, the positioning apparatus shown in FIG. 9 is the any one of the at least three collaborative nodes with known positions. The positioning apparatus further includes a sending unit 14, and the obtaining unit 11 includes a receiving unit 117 and an obtaining subunit 118, as shown in FIG. 12.
[0093] An implementation of obtaining the position information of the at least three collaborative nodes with known positions and the third time information of the at least three collaborative nodes with known positions by the obtaining unit 11 is: The obtaining subunit 118 obtains position information of the any collaborative node; the receiving unit 117 receives the fine timing measurement action frame sent by the first to-be-positioned node, and the obtaining subunit 118 obtains a receiving time at which the any collaborative node receives the fine timing measurement action frame; the receiving unit 117 receives the fine timing measurement response frame sent by the second to-be-positioned node, and the obtaining subunit obtains a receiving time at which the any collaborative node receives the fine timing measurement response frame; and the receiving unit 117 receives position information of other collaborative nodes of the at least three collaborative nodes, receiving time at which the other collaborative nodes receive the fine timing measurement action frame, and receiving time at which the other collaborative nodes receive the fine timing measurement response frame.
[0094] The sending unit 14 is configured to: send the position information of the first to-be-positioned node to the first to-be-positioned node, and send the position information of the second to-be-positioned node to the second to-be-positioned node.
[0095] It can be learned from the foregoing technical solution that, the any one of the at least three collaborative nodes with known positions can calculate the position information of the first to-be-positioned node and the second to-be-positioned node, and after calculating the position information, send the position information of the first to-be-positioned node to the first to-be-positioned node and send the position information of the second to-be-positioned node to the second to-be-positioned node, thereby reducing calculation amounts of the first to-be-positioned node and the second to-be-positioned node.
[0096] In this embodiment of this application, the positioning apparatus shown in FIG. 9 is a management node. The positioning apparatus further includes a sending unit 15, as shown in FIG. 13.
[0097] An implementation of obtaining the first time information of the first to-be-positioned node by the obtaining unit 11 is: The obtaining unit 11 is configured to receive the first time information sent by the first to-be-positioned node.
[0098] An implementation of obtaining the second time information of the second to-be-positioned node by the obtaining unit 11 is: The obtaining unit 11 is configured to receive the second time information sent by the second to-be-positioned node.
[0099] An implementation of obtaining the position information of the at least three collaborative nodes with known positions and the third time information of the at least three collaborative nodes with known positions by the obtaining unit 11 is: The obtaining unit 11 is configured to receive the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0101] It can be learned from the foregoing technical solution that, the management node can calculate the position information of the first to-be-positioned node and the second to-be-positioned node, and after calculating the position information, send the position information of the first to-be-positioned node to the first to-be-positioned node and send the position information of the second to-be-positioned node to the second to-be-positioned node, thereby reducing calculation amounts of the first to-be-positioned node and the second to-be-positioned node.
[0102] In addition, with reference to the collaborative positioning framework shown in FIG. 1, an embodiment of this application further provides a positioning device shown in FIG. 14. The positioning device includes a transmitter 21, a receiver 22, a memory 23, and a processor 24.
[0103] The processor 24 is configured to: obtain first time information of a first to-be-positioned node, second time information of a second to-be-positioned node, position information of at least three collaborative nodes with known positions, and third time information of the at least three collaborative nodes with known positions; and determine position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the obtained first time information, second time information, third time information, and position information of the at least three collaborative nodes with known positions.
[0104] The third time information includes receiving time at which the at least three collaborative nodes receive a fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive a fine timing measurement response frame. The first time information includes a sending time at which the first to-be-positioned node sends the fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives the fine timing measurement response frame. The second time information includes a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame.
[0105] The memory 23 is configured to store the first time information of the first to-be-positioned node, the second time information of the second to-be-positioned node, the position information of the at least three collaborative nodes with known positions, and the third time information of the at least three collaborative nodes with known positions.
[0106] In this embodiment of this application, an implementation of determining, by the processor 24, the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the obtained first time information, second time information, third time information, and position information of the at least three collaborative nodes with known positions is:
the processor 24 determines a time of flight between the first to-be-positioned node and the second to-be-positioned node according to the first time information and the second time information; determines a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information, where the time of flight difference includes a difference between a time of flight between any one of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between the any collaborative node and the second to-be-positioned node; and determines the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the time of flight difference, the position information of the at least three collaborative nodes with known positions, and the time of flight between the first to-be-positioned node and the second to-be-positioned node.
[0107] In an implementation, the processor 24 calculates a time of flight TOF (U1 - U2) between U1 and U2 according to Formula 1: TOF (U1 - U2) = ((t4 - t1) - (t3 - t2))/2 (Formula 1), where U1 indicates the first to-be-positioned node U1, U2 indicates the second to-be-positioned node U2, t1 indicates the sending time at which the first to-be-positioned node sends the fine timing measurement action frame, t2 indicates the second receiving time, t3 indicates the sending time at which the second to-be-positioned node sends the fine timing measurement response frame, and t4 indicates the first receiving time.
[0108] In an implementation, the processor 24 obtains the difference between the time of flight between the any collaborative node SN and the first to-be-positioned node U1, and the time of flight between SN and the second to-be-positioned node U2 according to the following Formula 2:
[0109] In an implementation, the processor 24 calculates coordinates of U1 and coordinates of U2 according to Formula 3 and Formula 4, where in this embodiment of this application, the coordinates of U1 are used to represent position information of U1, and the coordinates of U2 are used to represent position information of U2:
[0110] By calculating the coordinates of U1 and the coordinates of U2 according to Formula 1, Formula 2, Formula 3, and Formula 4, when calculating the coordinates of the first to-be-positioned node and the coordinates of the second to-be-positioned node, the processor 24 can eliminate an error caused because internal clocks of the first to-be-positioned node, the second to-be-positioned node, and the at least three collaborative nodes with known positions cannot be aligned, thereby improving calculation precision.
[0112] In an implementation, the positioning device is the first to-be-positioned node in FIG. 2, and an implementation of obtaining, by the processor 24, the first time information of the first to-be-positioned node, the second time information of the second to-be-positioned node, the position information of the at least three collaborative nodes with known positions, and the third time information of the at least three collaborative nodes with known positions is:
the processor 24 makes the transmitter 21 send the fine timing measurement action frame, the processor 24 obtains the sending time of the timing measurement action frame, the processor 24 makes the receiver 22 receive the fine timing measurement response frame sent by the second to-be-positioned node, and the processor 24 obtains the first receiving time;
the processor 24 makes the receiver 22 receive the second time information sent by the second to-be-positioned node; and
the processor 24 makes the receiver 22 receive the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0113] In addition, the processor 24 is further configured to determine the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node. In this embodiment of this application, implementations of determining, by the processor 24, the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node include but are not limited to the following two implementations:
[0114] One implementation: The processor 24 makes the transmitter 21 send a signaling request to a management node; obtains a response message sent by the management node and received by the receiver 22, where the signaling request is used to request to perform fine timing measurement; and determines the second to-be-positioned node when the response message is used to instruct to perform fine timing measurement between the first to-be-positioned node and the second to-be-positioned node.
[0115] The other implementation: The processor 24 makes the transmitter 21 send a ranging measurement request in a broadcast mode, and obtains a ranging measurement response message sent by the second to-be-positioned node and received by the receiver 22, to determine the second to-be-positioned node.
[0116] The transmitter 21 is configured to send the position information of the second to-be-positioned node to the second to-be-positioned node.
[0118] In an implementation, the positioning device is the second to-be-positioned node in FIG. 2, and an implementation of obtaining, by the processor 24, the first time information of the first to-be-positioned node, the second time information of the second to-be-positioned node, the position information of the at least three collaborative nodes with known positions, and the third time information of the at least three collaborative nodes with known positions is:
the processor 24 makes the receiver 22 receive the fine timing measurement action frame sent by the first to-be-positioned node, the processor 24 obtains the second receiving time, the processor 24 makes the transmitter 21 send the fine timing measurement response frame, and the processor 24 obtains the sending time of the fine timing measurement response frame;
the processor 24 makes the receiver 22 receive the first time information sent by the first to-be-positioned node; and
[0119] The transmitter 21 is further configured to send the position information of the first to-be-positioned node to the first to-be-positioned node.
[0121] In an implementation, the positioning device is any one of the at least three collaborative nodes with known positions in FIG. 2, and an implementation of obtaining, by the processor 24, the first time information of the first to-be-positioned node, the second time information of the second to-be-positioned node, the position information of the at least three collaborative nodes with known positions, and the third time information of the at least three collaborative nodes with known positions is:
the processor 24 makes the receiver 22: receive the first time information sent by the first to-be-positioned node; receive the second time information sent by the second to-be-positioned node; and receive position information of other collaborative nodes of the at least three collaborative nodes that is sent by the other collaborative nodes, receiving time at which the other collaborative nodes receive the fine timing measurement action frame, and receiving time at which the other collaborative nodes receive the fine timing measurement response frame; and
the processor 24 obtains position information of the any collaborative node, the processor 24 makes the receiver 22 receive the fine timing measurement action frame sent by the first to-be-positioned node, and the processor 24 obtains a receiving time at which the any collaborative node receives the fine timing measurement action frame.
[0122] The transmitter 21 is configured to: send the position information of the first to-be-positioned node to the first to-be-positioned node, and send the position information of the second to-be-positioned node to the second to-be-positioned node.
[0124] In an implementation, the positioning device may be the management node in FIG. 2, for example, the AP, and an implementation of obtaining, by the processor 24, the first time information of the first to-be-positioned node, the second time information of the second to-be-positioned node, the position information of the at least three collaborative nodes with known positions, and the third time information of the at least three collaborative nodes with known positions is:
the processor 24 makes the receiver 22 receive the first time information sent by the first to-be-positioned node; makes the receiver 22 receive the second time information sent by the second to-be-positioned node; and makes the processor 22 receive the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
[0127] In addition, an embodiment of this application further provides a storage medium, where the storage medium records program code used for executing a positioning method by any one of the first to-be-positioned node, the second to-be-positioned node, the any one of at least three collaborative nodes with known positions, and the management node.
[0128] The embodiments in this specification are all described in a progressive manner. Each embodiment focuses on a difference from other embodiments. For same or similar parts in the embodiments, mutual reference may be made between these embodiments.
[0129] The embodiments disclosed above are described to make a person skilled in the art implement or use the present invention. Various modifications to the embodiments are obvious to the person skilled in the art, and general principles defined in this specification may be implemented in other embodiments without departing from the scope of the present invention. Therefore, the present invention is not intended to be limited to these embodiments illustrated in this specification, but shall be construed in the widest scope consistent with the principles and novel features disclosed in this specification.
1. A positioning method, wherein the positioning method comprises:
obtaining first time information of a first to-be-positioned node, wherein the first time information comprises a sending time at which the first to-be-positioned node sends a fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives the fine timing measurement response frame;
obtaining second time information of a second to-be-positioned node, wherein the second time information comprises a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame;
obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions, wherein the third time information comprises receiving time at which the at least three collaborative nodes receive the fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive the fine timing measurement response frame; and
determining position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions.
2. The positioning method according to claim 1, wherein the determining position information of the first to-be-positioned node and position information of the second to-be-positioned node according to the first time information, the second time information, the third time information, and the position information of the at least three collaborative nodes with known positions comprises:
determining a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information, wherein the time of flight difference comprises a difference between a time of flight between any one of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between the any collaborative node and the second to-be-positioned node; and
3. The positioning method according to claim 1 or 2, wherein the positioning method is executed by the first to-be-positioned node;
the obtaining first time information of a first to-be-positioned node comprises:
the obtaining second time information of a second to-be-positioned node comprises:
4. The positioning method according to claim 1 or 2, wherein the positioning method is executed by the second to-be-positioned node; the obtaining second time information of a second to-be-positioned node comprises:
5. The positioning method according to claim 3 or 4, wherein the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises: receiving the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
6. The positioning method according to claim 1 or 2, wherein the positioning method is executed by the any one of the at least three collaborative nodes with known positions; the obtaining first time information of a first to-be-positioned node comprises: receiving the first time information sent by the first to-be-positioned node;
the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises:
7. The positioning method according to claim 1 or 2, wherein the positioning method is executed by a management node; the obtaining first time information of a first to-be-positioned node comprises: receiving the first time information sent by the first to-be-positioned node;
the obtaining second time information of a second to-be-positioned node comprises: receiving the second time information sent by the second to-be-positioned node; and
the obtaining position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises: receiving the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
8. The positioning method according to claim 1 or 2, wherein the positioning method is executed by the first to-be-positioned node, and the positioning method further comprises: sending the position information of the second to-be-positioned node to the second to-be-positioned node; or
the positioning method is executed by the second to-be-positioned node, and the positioning method further comprises: sending the position information of the first to-be-positioned node to the first to-be-positioned node; or
the positioning method is executed by the any one of the at least three collaborative nodes with known positions or a management node, and the positioning method further comprises: sending the position information of the first to-be-positioned node to the first to-be-positioned node, and sending the position information of the second to-be-positioned node to the second to-be-positioned node.
9. The positioning method according to any one of claims 1 to 3, wherein the positioning method is executed by the first to-be-positioned node, and the positioning method further comprises: determining the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node.
10. The positioning method according to claim 9, wherein the determining the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node comprises:
sending a signaling request to a management node, wherein the signaling request is used to request to perform fine timing measurement; and
receiving a response message sent by the management node, wherein the response message is used to instruct to perform fine timing measurement between the first to-be-positioned node and the second to-be-positioned node, to determine the second to-be-positioned node; or
11. The positioning method according to claim 2, wherein the determining a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information comprises:
wherein TOF(U1 - U2) indicates the time of flight between the first to-be-positioned node and the second to-be-positioned node, TOF(U1-SN) indicates the time of flight between the any collaborative node SN and the first to-be-positioned node U1, TOF(U2-SN) indicates the time of flight between the any collaborative node SN and the second to-be-positioned node U2, t1 indicates the sending time at which the first to-be-positioned node sends the fine timing measurement action frame, t4 indicates the first receiving time, t2_SN indicates a receiving time at which SN receives the fine timing measurement action frame, and t3_SN indicates a receiving time at which SN receives the fine timing measurement response frame.
12. A positioning apparatus, wherein the positioning apparatus comprises:
an obtaining unit, configured to obtain first time information of a first to-be-positioned node, wherein the first time information comprises a sending time at which the first to-be-positioned node sends a fine timing measurement action frame and a first receiving time at which the first to-be-positioned node receives the fine timing measurement response frame, wherein
the obtaining unit is further configured to obtain second time information of a second to-be-positioned node, wherein the second time information comprises a second receiving time at which the second to-be-positioned node receives the fine timing measurement action frame and a sending time at which the second to-be-positioned node sends the fine timing measurement response frame; and
the obtaining unit is further configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions, wherein the third time information comprises receiving time at which the at least three collaborative nodes receive the fine timing measurement action frame and receiving time at which the at least three collaborative nodes receive the fine timing measurement response frame; and
13. The positioning apparatus according to claim 12, wherein the determining unit comprises:
a first determining subunit, configured to determine a time of flight between the first to-be-positioned node and the second to-be-positioned node according to the first time information and the second time information;
a second determining subunit, configured to determine a time of flight difference between a time of flight between each of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between each of the at least three collaborative nodes with known positions and the second to-be-positioned node according to the time of flight between the first to-be-positioned node and the second to-be-positioned node, the first time information, and the third time information, wherein the time of flight difference comprises a difference between a time of flight between any one of the at least three collaborative nodes with known positions and the first to-be-positioned node, and a time of flight between the any collaborative node and the second to-be-positioned node; and
a third determining subunit, configured to determine the position information of the first to-be-positioned node and the position information of the second to-be-positioned node according to the time of flight difference, the position information of the at least three collaborative nodes with known positions, and the time of flight between the first to-be-positioned node and the second to-be-positioned node.
14. The positioning apparatus according to claim 12 or 13, wherein the positioning apparatus is the first to-be-positioned node;
the obtaining unit comprises a sending unit, a receiving unit, and an obtaining subunit; that the obtaining unit is configured to obtain first time information of a first to-be-positioned node comprises: the sending unit is configured to send the fine timing measurement action frame, the obtaining subunit is configured to obtain the sending time of the timing measurement action frame, the receiving unit is configured to receive the fine timing measurement response frame sent by the second to-be-positioned node, and the obtaining subunit is further configured to obtain the first receiving time; and
that the obtaining unit is configured to obtain second time information of a second to-be-positioned node comprises: the receiving unit is further specifically configured to receive the second time information sent by the second to-be-positioned node.
15. The positioning apparatus according to claim 14, wherein the sending unit is further configured to send the position information of the second to-be-positioned node to the second to-be-positioned node.
16. The positioning apparatus according to claim 14 or 15, wherein the positioning apparatus further comprises: a node determining unit, configured to determine the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node.
17. The positioning apparatus according to claim 16, wherein that the node determining unit is configured to determine the second to-be-positioned node that performs fine timing measurement with the first to-be-positioned node comprises:
the node determining unit is configured to: make the sending unit send a signaling request to a management node; obtain a response message sent by the management node and received by the receiving unit, wherein the signaling request is used to request to perform fine timing measurement; and determine the second to-be-positioned node when the response message is used to instruct to perform fine timing measurement between the first to-be-positioned node and the second to-be-positioned node; or
the node determining unit is configured to: make the sending unit send a ranging measurement request in a broadcast mode, and obtain a ranging measurement response message sent by the second to-be-positioned node and received by the receiving unit, to determine the second to-be-positioned node.
18. The positioning apparatus according to claim 12 or 13, wherein the positioning apparatus is the second to-be-positioned node;
the obtaining unit comprises a sending unit, a receiving unit, and an obtaining subunit; that the obtaining unit is configured to obtain second time information of a second to-be-positioned node comprises: the receiving unit is configured to receive the fine timing measurement action frame sent by the first to-be-positioned node, the obtaining subunit obtains the second receiving time, the sending unit is configured to send the fine timing measurement response frame, and the obtaining subunit is further configured to obtain the sending time of the fine timing measurement response frame; and
that the obtaining unit is configured to obtain first time information of a first to-be-positioned node comprises: the receiving unit is further configured to receive the first time information sent by the first to-be-positioned node.
19. The positioning apparatus according to claim 18, wherein the sending unit is further configured to send the position information of the first to-be-positioned node to the first to-be-positioned node.
20. The positioning apparatus according to any one of claims 14 to 19, wherein that the obtaining unit is configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises: the receiving unit is further configured to receive the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
21. The positioning apparatus according to claim 12 or 13, wherein the positioning apparatus is the any one of the at least three collaborative nodes with known positions;
the obtaining unit comprises a receiving unit and an obtaining subunit; that the obtaining unit is configured to obtain first time information of a first to-be-positioned node comprises:
the receiving unit is configured to receive the first time information sent by the first to-be-positioned node;
that the obtaining unit is configured to obtain second time information of a second to-be-positioned node comprises: the receiving unit is further configured to receive the second time information sent by the second to-be-positioned node; and
that the obtaining unit is configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises:
the obtaining subunit is configured to obtain position information of the any collaborative node;
the receiving unit is configured to receive the fine timing measurement action frame sent by the first to-be-positioned node, and the obtaining subunit is further configured to obtain a receiving time at which the any collaborative node receives the fine timing measurement action frame;
the receiving unit is further configured to receive the fine timing measurement response frame sent by the second to-be-positioned node, and the obtaining subunit is further configured to obtain a receiving time at which the any collaborative node receives the fine timing measurement response frame; and
the receiving unit is further configured to receive position information of other collaborative nodes of the at least three collaborative nodes that is sent by the other collaborative nodes, receiving time at which the other collaborative nodes receive the fine timing measurement action frame, and receiving time at which the other collaborative nodes receive the fine timing measurement response frame.
22. The positioning apparatus according to claim 21, wherein the positioning apparatus further comprises a sending unit, configured to: send the position information of the first to-be-positioned node to the first to-be-positioned node, and send the position information of the second to-be-positioned node to the second to-be-positioned node.
23. The positioning apparatus according to claim 12 or 13, wherein the positioning apparatus is the management node;
that the obtaining unit is configured to obtain first time information of a first to-be-positioned node comprises: the obtaining unit is configured to receive the first time information sent by the first to-be-positioned node;
that the obtaining unit is configured to obtain second time information of a second to-be-positioned node comprises: the obtaining unit is configured to receive the second time information sent by the second to-be-positioned node; and
that the obtaining unit is configured to obtain position information of at least three collaborative nodes with known positions and third time information of the at least three collaborative nodes with known positions comprises: the obtaining unit is configured to receive the position information of the at least three collaborative nodes and the third time information that are sent by the at least three collaborative nodes.
25. The positioning apparatus according to claim 13, wherein the second determining subunit is configured to:
obtain the difference between the time of flight between the any collaborative node SN and the first to-be-positioned node U1, and the time of flight between SN and the second to-be-positioned node U2 according to the following formula:
CN201610931502 [0001]