Encompassing ellipse for dual location solutions
12504499 ยท 2025-12-23
Assignee
Inventors
Cpc classification
G01S5/12
PHYSICS
International classification
Abstract
Methods and apparatus are disclosed for determining a confidence ellipse (CEP) that encompasses possible locations of one or more target devices, which is a condition that may exist when a wireless device (WD) is initially travelling on an effectively straight path. The method includes calculating the deviation from the straight line path for the WD. If it is determined that the path is effectively a straight line, the calculation of the sum of squared residuals (SSRs) is extended so as to encompass two possible minima. A grid is then derived comprising all ground plane points, where the SSR values are (i) less than a boundary value and (ii) include the SSRs corresponding to the two possible minima. The grid is converted into a polygon, which is further converted into an ellipse displayed as the CEP. The CEP encompasses two possible locations of a target device.
Claims
1. A method for determining a confidence ellipse (CEP) that encompasses possible locations of one or more target devices, the method comprising: recording a plurality of positions for a wireless device (WD); performing a measurement of a round trip time (RTT) between a target device and the WD at each position of the WD; for the WD, calculating a path deviation from a straight path; determining whether the path deviation is less than a preset value; and in response to the path deviation being less than the preset value: calculating a sum of squared residual (SSR) values so that the SSR values encompass two possible minima; deriving a grid composed of all ground plane points for which the SSR values are (i) less than a boundary value, and (ii) include the SSR values corresponding to the two possible minima; converting the ground plane points in the grid into a polygon that encompasses the grid; and converting the polygon into the CEP, wherein the CEP encompasses two possible locations of the target device.
2. The method of claim 1, wherein the path deviation of the WD is determined by a ratio of eigenvalues of a second order position tensor.
3. The method of claim 1, wherein the grid composed of all the ground plane points corresponds to locations of all points that lie at or below the SSR values of the CEP based on a presumed curvature at point (0, 0).
4. The method of claim 1, wherein converting the polygon into the CEP comprises: rotating principal axes of the polygon to align the principal axes with a latitude (y) component and a longitude (x) component; adjusting the x and y components of the polygon to produce an adjusted polygon so that x and y moments are identical; deriving a circle that encompasses the adjusted polygon; reversing the adjusting of the x and y components; and reversing the rotating of the principal axes of the polygon.
5. The method of claim 4, wherein deriving the circle that encompasses the adjusted polygon comprises applying Welzl's algorithm to determine a smallest enclosing circle.
6. The method of claim 1, wherein calculating the path deviation comprises: calculating average position values of the WD from the plurality of recorded positions; determining a second order moment tensor from the recorded positions; and calculating a ratio of a minor eigenvalue to a major eigenvalue of the second order moment tensor as the path deviation.
7. The method of claim 1, further comprising: in response to the path deviation being greater than or equal to the preset value: calculating the SSR values for a single minimum; and deriving the CEP from the SSR values without performing calculations to identify the two possible minima.
8. The method of claim 7, wherein the SSR values for the single minimum are calculated without generating the grid composed of the ground plane points.
9. The method of claim 1, wherein deriving the grid composed of all ground plane points comprises: removing all containing points not having a second nearest non-containing neighbor on the grid.
10. The method of claim 9, wherein removing the containing points not having the second nearest non-containing neighbor comprises performing a boundary refinement procedure by rows and columns for non-convex shapes.
11. The method of claim 1, wherein converting the ground plane points in the grid into the polygon comprises: sequentially connecting adjacent outer points of the grid to form a continuous closed shape.
12. A wireless communication device configured to determine a confidence ellipse (CEP) that encompasses possible locations of a target station, the device comprising: one or more processors a wireless transmitter configured to transmit data to the target station; a wireless receiver configured to receive response data from the target station; a platform location module configured to provide a location and a heading direction of the wireless communication device to the one or more processors; and a data bus communicatively coupling the wireless transmitter, the wireless receiver, the platform location module, and the one or more processors, wherein the one or more processors are configured to: record a plurality of positions of the wireless communication device; perform a measurement of round trip time (RTT) between the wireless communication device and the target device at each position of the wireless communication device; calculate a path deviation from a straight path of the wireless communication device; determine whether the path deviation is less than a preset value; and in response to the path deviation being less than the preset value: calculate a sum of squared residual (SSR) values to encompass two possible minima; derive a grid composed of all ground plane points for which the SSR values are (i) less than a boundary value, and (ii) include the SSR values corresponding to the two possible minima; convert the ground plane points in the grid into a polygon that encompasses the grid; and convert the polygon into the CEP, wherein the CEP encompasses two possible locations of the target station.
13. The wireless communication device of claim 12, wherein, to determine the path deviation, the one or more processors are further configured to calculate a ratio of eigenvalues of a second order position tensor derived from the recorded positions.
14. The wireless communication device of claim 12, wherein, to convert the polygon into the CEP, the one or more processors are further configured to: rotate principal axes of the polygon to align the principal axes with a latitude (y) component and a longitude (x) component; adjust the x and y components of the polygon to produce an adjusted polygon so that x and y moments are identical; derive a circle that encompasses the adjusted polygon; reverse the adjusting of the x and y components; and reverse the rotating of the principal axes of the polygon.
15. The wireless communication device of claim 12, wherein the grid composed of all ground plane points corresponds to locations of all points that lie at or below the SSR values of the CEP based on a presumed curvature at point (0, 0).
16. The wireless communication device of claim 12, wherein, to derive the circle that encompasses the adjusted polygon, the one or more processors are further configured to: apply Welzl's algorithm to determine a smallest enclosing circle.
17. The wireless communication device of claim 12, wherein, to calculate the path deviation, the one or more processors are further configured to: calculate average position values of the wireless communication device from the plurality of recorded positions; determine a second order moment tensor from the recorded positions; and calculate a ratio of a minor eigenvalue to a major eigenvalue of the second order moment tensor as the path deviation.
18. The wireless communication device of claim 12, wherein the one or more processors are further configured to: in response to the path deviation being greater than or equal to the preset value: calculate the SSR values for a single minimum; and derive the CEP from the SSR values without performing calculations to identify the two minima.
19. The wireless communication device of claim 12, wherein, to derive the grid composed of all ground plane points, the one or more processors are further configured to: remove all containing points not having a second nearest non-containing neighbor on the grid.
20. The wireless communication device of claim 19, wherein, to remove the containing points not having the second nearest non-containing neighbor, the one or more processors are further configured to: perform a boundary refinement procedure by rows and columns for non-convex shapes.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying figures, which are included as part of the present specification, illustrate the presently preferred embodiments and together with the general description given above and the detailed description of the preferred embodiments given below serve to explain and teach the principles described herein.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12) While the present disclosure is subject to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. The present disclosure should not be understood to be limited to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.
DETAILED DESCRIPTION
(13) Methods and apparatus disclosed herein determine the presence of two minima in sums of squared residual (SSR) data, produce a confidence ellipse (CEP) that encompasses both minima, and identify the conditions under which the occurrence of two minima is likely present or absent.
(14)
(15) In the example of
(16)
(17)
(18) A method to convert grid 301 into an equivalent eclipse is disclosed herein.
(19) The first step is to remove from grid 301 any containing points that do not have second non-containing nearest neighbors on the grid, thereby producing an outer boundary 401 of two grid points. It should be noted, however, that using the first nearest neighbors may not ensure a continuous boundary. The grid points may be considered as both rows and columns, where the rows correspond to the X axis (longitude) 201, and the columns correspond to the Y axis (latitude) 202. A boundary refinement procedure may be applied first by rows and then by columns, and then repeated in a reverse order, so as to cater for non-convex shapes.
(20)
(21) Steps 603 to 614 of procedure 500 are similar to steps 503 through 514. At steps 603 through 614, the procedure 500 determines if there are grid points at (R, C) and the following grid points: (R1, C), (R+1,C), (R2,C), (R+2,C), (R1,C1), (R+1,C1), (R1,C+1), (R+1, C+1), (R1, C+1), (R+1,C2), (R2,C+2), and (R+1,C+2), respectively. If at each of these steps (e.g., between steps 603 and 614, and similarly between steps 503 and 514), both grid points are present, then at step 620, grid point (R, C) is assessed as an inside grid point and can be removed. If at any of the steps 603 and 614, grid point (R, C) is present but the other grid point is not present, then at step 621, grid point (R, C) is assessed an outer grid point and is retained. At step 622, row number R is incremented. At step 623, the procedure 500 determines whether row number R is equal to (RowCnt1) and, if not, the procedure 500 returns to step 603. If all row numbers from R=2 to (RowCnt2) have been used, then the procedure 500 proceeds from step 623 to step 624, where the column number C is incremented. At step 625, the procedure 500 checks if column number C is equal to (ColCnt1) and, if not, then the procedure 500 returns to step 603. If all row numbers C=2 to (ColCnt2) have been used, then the procedure 500 proceeds to step 626 where it concludes.
(22) After procedure 500, grid 301 is converted into the outer two grid points boundary 401 shown in
(23) The next step is a procedure for finding the enclosing polygon 402. A procedure may be used that searches for the next adjacent grid point in the outer two grid point boundary 401 and connects successive outer points by a line to form a continuous closed polygon. By way of example and not limitation, the procedure may start by selecting a point (C.sub.1, R.sub.1), where C.sub.1 is the least value of column C, i.e., the leftmost or minimum value column point. From this point, a search for an adjacent point proceeds in a specific order, starting with the up-left direction, i.e., C.sub.2=C.sub.11, R.sub.2=R.sub.11. If no adjacent point is found, the search continues through the other seven possibilities in a clockwise rotation: up (C.sub.1, R.sub.11), up-right (C.sub.1+1, R.sub.11), right (C.sub.1+1, R.sub.1), down-right (C.sub.1+1, R.sub.1+1), down (C.sub.1, R.sub.11), down-left (C.sub.1+1, R.sub.11), and left (C.sub.11, R.sub.1), until the adjacent point is found and the values/coordinates for C.sub.2, R.sub.2 are set accordingly. This will establish a most recent direction of the connecting line, i.e., one of the above eight possibilities. A new search is then made for the next adjacent point, following the same rotation but starting with the point rotated clockwise by one point from the reverse direction. For example, if the previous two points were connected by the direction up-left, up, up-right, right, down-right, down, down-left, or left, then the search would start again with down, down-left left, up-left, up, up-right, right, or down-right, respectively, until a new adjacent point is found. This process proceeds until one arrives back to the first point (e.g., the starting point) and the polygon 402 is produced.
(24)
(25)
(26) As discussed above with reference to
(27) Similar to
(28) Therefore, it is only necessary to perform the extra calculations to look for two minima when the travel path of wireless measuring station 110 is substantially straight. If the path involves turns or significantly deviates from a straight line, it may be assumed that two minima will not be present.
(29) A method is disclosed herein that determines a deviation threshold for the path of wireless measuring station 110 beyond which it is not necessary to perform extra calculations and search for two minima.
(30) For each RTT measurement, the position, (x.sub.i, y.sub.i) of the wireless measuring station 110 is recorded. The averages of the positions, (x.sub.ave y.sub.ave) may first be calculated:
(31)
(32) To determine the deviation in a path, a second order moment of position tensor may be used. A second moment, two-dimensional Tensor M may be defined as follows: where
(33)
(34) Solving for the eigenvalues, .sub.1 and .sub.2, of M will indicate the extent of the alignment of the points or the spread in the data set.
|MI|=0
(35) Major eigenvalue 21 has an eigenfunction at 90 degrees with respect to the prevailing path and roughly measures the length of the path. Minor eigenvalue 12 has an eigenfunction along the path and roughly measures the spread of the path from the prevailing direction. A dimensionless path deviation factor P.sub.dev may then be defined as the ratio of the eigenvalues, which is an indication of path straightness:
P.sub.dev=.sub.1/.sub.2(9).
(36) The path deviation factor P.sub.dev has a value that ranges from 0, which corresponds to a straight-line path, to 1, which corresponds to the maximum deviation from a straight path. A preset threshold value P for P.sub.dev may be defined. If P.sub.dev<P, the extra processing to search for two minima is required. Conversely, if P.sub.dev>P, the extra processing to search for two minima is not required. By way of example and not limitation, a value of P between 0.1 and 0.15 may be used.
(37)
(38) In some embodiments, the wireless transmitter 1010 includes an RF transmitter 1011 and processing circuitry 1020 that includes processor 1021, and memory module 1022. The RF transmitter 1011 may perform the functions of modulation and amplification for the transmission of wireless packets via antenna 1014. In some embodiments processing circuitry 1020 and/or processor 1021 may include integrated circuitry for processing and/or control, e.g., one or more processors, and/or processor cores, and/or FPGAs (Field Programmable Gate Array), and/or ASICs (Application Specific Integrated Circuitry) configured to execute programmatic software instructions. In some embodiments, some functions of RF transmitter 1011 may be performed by processing circuitry 1020. Processing circuitry 1020 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by RF transmitter 1011. Memory module 1022 may be configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software may include instructions that, when executed by the processing circuitry 1020, cause the processing circuitry 1020 to perform the processes described herein with respect to the wireless transmitter 1010.
(39) In some embodiments, wireless receiver 1050 includes an RF front-end 1051, an RF receiver 1052, and processing circuitry 1054 that includes a processor 1055 and a memory module 1056. RF front-end 1051 may perform functions such as low noise amplification, filtering and frequency down conversion so as to condition the received signal suitable for inputting to RF receiver 1052. RF receiver 1052 may demodulate the packets received via antenna 1057 and RF front-end 1051. In some embodiments, wireless transmitter 1010 and wireless receiver 1050 may share the same antenna array along with appropriate RF switches, combiners and splitters.
(40) In some embodiments, RF receiver 1052 and/or processing circuitry 1054 may include integrated circuitry for processing and/or control, e.g., one or more processors, and/or processor cores, and/or FPGAs, ASICs configured to execute programmatic software instructions. In some embodiments, some functions of RF receiver 1052 may be performed by processing circuitry 1054. Processing circuitry 1054 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by wireless receiver 1050. Memory module 1056 may be configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software may include instructions that, when executed by processing circuitry 1054, cause processing circuitry 1054 to perform the processes described herein with respect to wireless receiver 1050.
(41) According to an embodiment of the disclosure, wireless receiver 1050 may be configured to measure and monitor attributes of an input signal, such as one or more of (i) a signal transmitted by wireless transmitter 1010, (ii) data and control packets, and (iii) the response signal, including control packets, transmitted by a station, access point, master or slave. Such packets may include data null, ACK, RTS, CTS, Null, or Poll packets. Memory module 1056 may store instructions for executing any method mentioned in relevant standard(s) of the signal(s) of interest, input signals, and processing results from processor 1055, signals to be outputted and the like. Processing circuitry 1054 may output to general purpose processor 1080 attributes of an exchange of packets, such as RTTs.
(42) According to an embodiment of the disclosure, RF transmitter 1011 may be configured to transmit signals, and processing circuitry 1020 may be configured to prepare the transmitted signal attributes based upon, for example, the IEEE 802.11-2020 or the Standard Bluetooth System or the like. Such transmitted packets may include data packets, control packets and management packets. Such control packets may include RTS packets, paging and Polls. Memory module 1022 may store instructions for executing any method mentioned in the relevant specification, input signals, and processing results from processor 1021, signals to be outputted and the like.
(43) According to another embodiment of the disclosure, wireless receiver 1050 may be configured to receive the transmissions of another wireless communications device, e.g., target station 120, and processing circuitry 1054 may be configured to monitor attributes of the transmission of the other wireless communication devices and determine the received times of packets from the other wireless communication device, as discussed above with reference to
(44) According to an embodiment of the disclosure, wireless transmitter 1010 may be configured to transmit packets to another wireless communication device, and processor 1021 may be configured to prepare the attributes of the packet(s) to be transmitted.
(45) According to an embodiment of the disclosure, general purpose processor 1080 may be used to control the operations of the wireless communication device 1000 and in particular the wireless transmitter 1010 and wireless receiver 1050. General purpose processor 1080 may (i) provide an interface to a user via, for example, a keyboard, a mouse and a display that enables a user to select the attributes of the target (i.e., wireless target station 120); (ii) control the start and stop of the transmissions of packets; and (iii) perform the calculations described herein, including calculating RTTs from a target station 120. General purpose processor 1080 may also carry out the various calculations as described in this disclosure, such as, (i) assessing the deviation of wireless communication device 1000 from a straight path, (ii) processing the SSRs, and (iii) determining a location for the target station 120. General purpose processor 1080 may also prepare the measurement results for presentation to an operator or user. In some embodiments, general purpose processor 1080 may include integrated circuitry for processing and/or control, e.g., one or more processors, and/or processor cores, and/or FPGAs, and/or ASICs configured to execute programmatic software instructions, and may include a memory module to execute programmatic code stored in the general purpose processor or another device. It is also noted that the elements of the wireless communication device 1000 may be included in a single physical device/housing or may be distributed among several different physical devices/housings.
(46) According to an embodiment of the disclosure, platform location module 1060 may be used to input, via the data bus 1090, to the general purpose processor 1080, and/or the processing circuitry 1020, and/or 1054 the location of the platform that is carrying the wireless communication device 1000. Platform location module 1060 may include navigation equipment such as a global positioning system (GPS) receiver and/or a gyroscope, and may provide both the location and a heading direction of the wireless communication device 1000 to the general purpose processor 1080 and processing circuitries 1020 and 1054. The location and the heading direction of the wireless communication device 1000, together with the RTTs, may be used by general purpose processor 1080 to calculate and display the location of the target (i.e., wireless target station 120) and control the size of the resultant CEPs.
(47)
(48) Ranging packets may be received by wireless receiver 1050, with the TODs of each ranging packet recorded in memory module 1056. Response packets may be received from the target station 120 via antenna 1057 and RF front-end 1051, then demodulated by RF receiver 1052. The TOA of each response packet may also be recorded in memory module 1056. The RTTs, for each of the ranging packet, response packet exchanges may be determined and recorded in processing circuitry 1054 and/or general purpose processor 1080.
(49) After a sufficient number of RTTs have been received to enable a location to be calculated, the process 1100 advances to step 1104, where the value of P dev may be calculated as discussed above with reference to equations (7) to (9). The positions of the wireless measuring station 110, recorded in step 1102, may be used to calculate P dev. The P dev calculations may take place in the general purpose processor 1080. At step 1105, the value of P devis compared to a threshold value P.
(50) If at step 1105 it is determined that the value of P dev is less than P, then at step 1110, the extended SSR calculations are carried out as discussed above with reference to
(51) If, at step 1105, P dev is greater than P, then it is assumed that the conditions for the presence of two SSR minima no longer exist, and the process 1100 moves to steps 1120 and 1121. At steps 1120, the SSRs may be calculated and, at step 1121 the CEP may be determined, as discussed above with reference to equations (1) to (6). The calculations required for steps 1120 and 1121 may be performed by general purpose processor 1080 and/or by processing circuitry 1054. Since the path deviation P dev has been determined at step 1105 to have a sufficient deviation, there is no requirement to carry out the extended SSR calculations. Hence, after step 1121, process 1100 continues with steps 1122, 1123, 1124, and 1125, which are identical to steps 1102, 1103, 1120, and 1121. Steps 1122, 1123, 1124, and 1125 are repeated, as the wireless measuring station 110 moves to different positions.
SOME EMBODIMENTS
(52) Some embodiments may include any of the following:
(53) A1. A method in for determining a confidence ellipse (CEP) that encompasses possible locations of one or more target devices. The method includes recording a plurality of positions of a wireless device (WD) and performing a measurement of round trip times (RTT) between a target device and the WD at each position of the WD; for the WD, calculating a path deviation from a straight path; determining whether the path deviation is less than a preset value; and in response to the path deviation being less than the preset value, calculating a sum of squared residual (SSR) values to encompass two possible minima; deriving a grid composed of all ground plane points for which the SSR values are (i) less than a boundary value, and (ii) include the SSR values corresponding to the two possible minima; converting the ground plane points in the grid into a polygon that encompasses the grid; and converting the polygon into the CEP, where the CEP encompasses two possible locations of the target device.
(54) A2. The method in clause A1 can include any of the following components or features, in any combination. The path deviation of the first WD is determined by a ratio of eigenvalues of a second order position tensor.
(55) A3. The method in clause A1 can further include converting the polygon into the CEP by rotating principal axes of the polygon to align the principal axes with a latitude (y) component and a longitude (x) component; adjusting the x and y components of the polygon to produce an adjusted polygon so that x and y moments are identical; deriving a circle that encompasses the adjusted polygon; reversing the adjusting of the x and y components; and reversing the rotating of the principal axes of the polygon. Deriving the circle that encompasses the adjusted polygon includes applying Welzl's algorithm to determine a smallest enclosing circle. Calculating the path deviation includes calculating average position values of the WD from the plurality of recorded positions; determining a second order moment tensor from the recorded positions; and calculating a ratio of a minor eigenvalue to a major eigenvalue of the second order moment tensor as the path deviation. Deriving the grid composed of all ground plane points includes removing all containing points not having a second nearest non-containing neighbor on the grid, where removing the containing points includes performing a boundary refinement procedure by rows and columns for non-convex shapes. Converting the ground plane points in the grid into the polygon includes sequentially connecting adjacent outer points of the grid to form a continuous closed shape.
(56) In response to the path deviation being greater than or equal to the preset value, the method in clause A1 further includes calculating the SSR values for a single minimum and deriving the CEP from the SSR values without performing calculations to identify the two possible minima, where the SSR values for the single minimum are calculated without generating the grid composed of the ground plane points.
ADDITIONAL CONSIDERATIONS
(57) As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, and/or computer program product. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a circuit or module. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that may be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, solid state drives, CD ROMs, optical storage devices, or magnetic storage devices.
(58) Some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(59) These computer program instructions may also be stored in a computer readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
(60) The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
(61) It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
(62) Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Java or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the C programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
(63) While the above description contains many specifics, these should not be construed as limitations on the scope, but rather as an exemplification of several embodiments thereof. Many other variants are possible including, for examples: the details of converting the ground plane grid into a polygon, the method of the fitting of that polygon to an equivalent ellipse, the details of the path deviation derivation and the value of the path deviation limit, the details of the minimization scheme used for the RTT fitting process, the value of RTTs for the ground plane grid projection. Accordingly, the scope should be determined not by the embodiments illustrated, but by the claims and their legal equivalents.
(64) It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.