LOCALIZING TARGETS IN A DISTRIBUTED RADAR ENVIRONMENT BASED ON CORRELATED BLOCKING LIKELIHOOD
20200124717 ยท 2020-04-23
Assignee
Inventors
- Hatim M. Behairy (Riyadh, SA)
- Sundar Aditya (Los Angeles, CA, US)
- Andreas F. Molisch (Los Angeles, CA, US)
Cpc classification
G01S13/88
PHYSICS
G06Q10/087
PHYSICS
G01S2013/468
PHYSICS
G01S7/026
PHYSICS
G01S13/878
PHYSICS
G01S13/78
PHYSICS
International classification
G01S13/78
PHYSICS
G01S13/88
PHYSICS
Abstract
A method may include receiving radar data from a plurality of TX-RX pairs (TRPs); generating a plurality of first ellipses representing a first portion of the received radar data; determining a blocking likelihood at a point of intersection between the plurality of first ellipses; generating a new or additional ellipse representing a second portion of the received radar data; and updating, based on generating the new or additional ellipse, the blocking likelihood at the point of intersection between the first plurality of ellipses.
Claims
1. A method comprising: receiving, by a computing device, radar data from a plurality of TX-RX pairs (TRPs); generating, by the computing device, a plurality of first ellipses representing a first portion of the received radar data; determining, by the computing device, a blocking likelihood at a point of intersection between the plurality of first ellipses; generating, by the computing device, a new or additional ellipse representing a second portion or remainder of the received radar data; and updating, by the computing device based on generating the new or additional ellipse, the blocking likelihood at the point of intersection between the first plurality of ellipses.
2. The method of claim 1, wherein the intersection between the plurality of first ellipses represents a potential target location.
3. The method of claim 2, further comprising: determining whether the blocking likelihood at a point of intersection between the plurality of first ellipses satisfies a threshold; determining that the point of intersection between the plurality of first ellipses is a potential target location when the blocking likelihood satisfies the threshold; and determining that the point of intersection between the plurality of first ellipses is not a potential target location when the blocking likelihood does not satisfy the threshold.
4. The method of claim 1, further comprising: generating a blocking likelihood at a point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses; and storing or outputting information regarding the blocking likelihood and the point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses.
5. The method of claim 1, wherein the radar data includes multipath components (MPCs) and each ellipse of the first plurality of ellipses or the new or additional ellipse represents the MPCs.
6. The method of claim 1, wherein determining the blocking likelihood or updating the blocking likelihood is based on the expression log (k.sub.t) in which k.sub.t is a blocking vector.
7. The method of claim 1, wherein receiving the radar data from the plurality of TRPs includes filtering signals using a background cancellation technique.
8. The method of claim 1, further comprising compensating for noise corruption by identifying the point of intersection based on the point being within a threshold distance between the first plurality of ellipses.
9. A computer program product for identifying target locations in a distributed radar system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to: select two of a plurality of TX-RX pairs (TRPs) in the distributed radar system; generate a plurality of first ellipses representing radar data received from the selected TRPs; determine a blocking likelihood at a point of intersection between the plurality of first ellipses; generate a new or additional ellipse representing radar data received from an additional TRP of the plurality of TRPs; and update, based on generating the new or additional ellipse, the blocking likelihood at the point of intersection between the first plurality of ellipses.
10. The computer program product of claim 9, wherein the intersection between the plurality of first ellipses represents a potential target location.
11. The computer program product of claim 10, wherein the program instructions further cause the computing device to: determine whether the blocking likelihood at a point of intersection between the plurality of first ellipses satisfies a threshold; determine that the point of intersection between the plurality of first ellipses is a potential target location when the blocking likelihood satisfies the threshold; and determine that the point of intersection between the plurality of first ellipses is not a potential target location when the blocking likelihood does not satisfy the threshold.
12. The computer program product of claim 9, wherein the program instructions further cause the computing device to: generate a blocking likelihood at a point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses; and store or output information regarding the blocking likelihood and the point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses.
13. The computer program product of claim 9, wherein determining the blocking likelihood or updating the blocking likelihood is based on the expression: log (k.sub.t) in which k.sub.t is a blocking vector.
14. The computer program product of claim 9, wherein receiving the radar data from the plurality of TRPs includes filtering signals using a background cancellation technique.
15. The computer program product of claim 9, wherein receiving the radar data from the plurality of TRPs includes receiving orthogonal signals from the TRPs.
16. A system comprising: a CPU, a computer readable memory and a computer readable storage medium associated with a computing device; program instructions to generate a plurality of first ellipses representing multipath components (MPCs) extracted from a plurality of TX-RX pairs (TRPs); program instructions to determine a blocking likelihood at a point of intersection between the plurality of first ellipses; program instructions to generate a new or additional ellipse representing MPCs extracted from an additional TRP of the plurality of TRPs; program instructions to update, based on generating the new or additional ellipse, the blocking likelihood at the point of intersection between the first plurality of ellipses; program instructions to determine correlated blocking information; and program instructions to store or output information regarding the blocking likelihood and the point of intersection between the first plurality of ellipses, wherein the correlated blocking information, the blocking likelihood, or the point of intersection between the first plurality of ellipses are used to localize one or more targets; wherein the program instructions are stored on the computer readable storage medium for execution by the CPU via the computer readable memory.
17. The system of claim 16, further comprising: program instructions to determine whether the blocking likelihood at a point of intersection between the plurality of first ellipses satisfies a threshold; program instructions to determine that the point of intersection between the plurality of first ellipses is a potential target location when the blocking likelihood satisfies the threshold; program instructions to store or output information indicating that the point of intersection is a potential target location; program instructions to determine that the point of intersection between the plurality of first ellipses is not a potential target location when the blocking likelihood does not satisfy the threshold; program instructions to store or output information indicating that the point of intersection is not a potential target location.
18. The system of claim 16, further comprising: program instructions to generate a blocking likelihood at a point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses; and program instructions to store or output information regarding the blocking likelihood and the point of intersection between the new or additional ellipse and one or more of the plurality of first ellipses.
19. The system of claim 16, wherein determining the blocking likelihood or updating the blocking likelihood is based on the expression: log (k.sub.t) in which k.sub.t is a blocking vector.
20. The system of claim 16, further comprising: program instructions to extract the MPCs from impulse responses at the plurality of TRPs; program instructions to estimate a probability of blockage between prospective target locations and the plurality of TRPs; and program instructions to determine that the potential target location is an actual target locations based on the estimated probability of blockage.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present invention is described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
DETAILED DESCRIPTION
[0014] The invention relates to localizing targets in a distributed radar environment, and more particularly, to localizing targets in a distributed radar environment based on correlated blocking likelihood. Aspects of the present invention may include logic by which a single-antenna distributed multiple-input multiple-output (MIMO) radar system can simultaneously localize an unknown number of targets in an indoor or outdoor environment whose map may be unknown. In embodiments, aspects of the present invention may also include logic to determine the location of an unknown number of targets, all having the same or similar radar signature, in an unknown indoor or outdoor environment that poses blocking and/or multipath (non-target reflections).
[0015] In embodiments, potential target locations are identified from single-antenna radar devices, and blocking likelihoods are determined for these potential target locations. The blocking likelihoods relate to a probability that a potential target location is an actual target location. In embodiments, multiple-path components (MPCs) are extracted at each TX-RX pair, and analyzed for potential target locations. MPCs are analyzed iteratively (e.g., one at a time) and blocking likelihoods for each potential target location are updated each time an additional MPC is analyzed. As the blocking likelihoods are updated, potential targets may be eliminated from consideration as actual targets when the blocking likelihood no longer satisfies a threshold. Once all MPCs have been analyzed, the remaining potential target locations may be deemed to be actual target locations.
[0016] Aspects of the present invention may not require angle-of-arrival information from the targets to be available. Advantageously, considerable cost savings may be realized by employing single-antenna TXs and RXs instead of more expensive antenna arrays. Aspects of the present invention may also be advantageously combined with angular information, if available.
[0017] The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
[0018] The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0019]
[0020] The TX 202 and RX 204 constitute a TX-RX pair (TRP). The example of
[0021] Multipath components (MPCs) may be extracted at a TRP. For example, the received signals by the RX 204 may be represented as MPCs. In embodiments, certain received signals are filtered out or removed by a background cancellation technique. For example, a background cancellation technique may include removing signal strengths that are too weak (e.g., below a threshold). Additionally, or alternatively, a background cancellation technique may include removing MPCs that do not involve a reflection off of a target.
[0022] In accordance with embodiments of the present invention, extracted MPCs (e.g., MPCs from signals that have not been removed or filtered by a background cancellation technique) may represent a direct path (DP) to one or more targets which results when the target has line-of-sight (LoS) to both the TX and RX in question, an indirect path (IP) or a noise peak. In the example of
[0023] As described herein, each MPC gives rise to a time of arrival (ToA) estimate which, in turn, corresponds to a range (round-trip distance) estimate. At each TRP, there could, in general, be a collection of MPCs. Aspects of the present invention may identify all the DPs corresponding to a particular target.
[0024] Aspects of the present invention may localize a group of targets by obtaining the correct matching for a given collection of MPCs from all the TRPs in a distributed radar system. Once a matching is obtained, all the MPCs that are DPs to a particular target may be grouped. As described herein, each MPC gives rise to an ellipse with a TX and an RX at the foci of the ellipse. If an MPC happens to be a DP to a target, then the corresponding ellipse passes through the target location. Three or more such DP ellipses may determine the target location (e.g., triangulation). As described herein, the terms ellipses and MPCs may be used interchangeably.
[0025]
[0026]
[0027] As described herein, if one of two closely situated TXs has LoS to a target, then it is highly likely that the other does as well. Similarly, if one of the TXs has no LoS to the target, it is highly likely that the other TX also has no LoS. In other words, the DP blocking probabilities for the different TX-RX pairs (TRPs) at a (potential) target location are, in general, correlated and the extent of correlation may be a function of the relative positions of the TXs and RXs with respect to the target location. This is the phenomenon of correlated blocking and it can be used to improve the reliability of target localization in accordance with aspects of the present invention. Aspects of the present invention, as described in greater detail below, may extract MPCs from impulse responses at TRPs, estimate a probability of blockage between prospective target locations and the plurality of TRPs, and determine that a potential target location is an actual target locations based on the estimated probability of blockage.
[0028] As an example, assume that the i-th TRP has N.sub.i MPCs extracted from its signal. Let r.sub.ij denote the range of the j-th extracted MPC for the i-th TRP and let r.sub.i=[r.sub.i1, r.sub.i2, . . . , r.sub.iN.sub.
[0029] The following example equations may model the DP blocking events, although other models can also be used. In particular, correlated blocking can be used for localization. In the below equations, {(x.sub.t, y.sub.t):t=1, . . . , T} are target locations, and T is the number of targets. The number of targets is unknown in which aspects of the present invention may determine the number of targets as well as the target locations. However, knowledge of the number of targets can be used to further improve the accuracy of localization, but knowledge of the number of targets is not necessary.
[0030] Let the number of targets and scatterers be denoted by T and M, respectively. One approach to target localization is to account for every MPC. For this, the following variables are defined:
[0031] The values of k.sub.it and {g.sub.imts}, may depend on the environment and may be estimated from r, if the map of the environment is unavailable. This may be accomplished by defining the following decision variables that help determine if an MPC r.sub.ij is a DP, IP or noise peak,
The estimates of k.sub.it and g.sub.imts, denoted by {circumflex over (k)}.sub.it and .sub.imts, respectively, may then be derived as follows:
{circumflex over (k)}.sub.it=.sub.j{tilde over (k)}.sub.ijt (6)
.sub.imts=.sub.j{tilde over (g)}.sub.ijmts (7)
[0032] Let k, g, {circumflex over (k)}, , {tilde over (k)}, {tilde over (g)} and {tilde over (z)} denote the vector of all k.sub.it, g.sub.imts, {circumflex over (k)}.sub.it, .sub.imts, {tilde over (k)}.sub.ijt, {tilde over (g)}.sub.imts and {tilde over (z)}.sub.ij, respectively. Let .sub.tar={(x.sub.t,y.sub.t):t=1, . . . , T} and .sub.sc={(u.sub.m, v.sub.m):1, . . . , M} denote the collection of target and scatterer locations, respectively, and let {tilde over (p)}.sub.dec=[{tilde over (k)}, {tilde over (g)}, {tilde over (z)}] denote the vector of all decision variables. The location of all targets and scatterers can be formulated as a Bayesian estimation problem (P1) in the following manner.
[0033] A detailed explanation of all the terms and constraints in (8)-(12) is provided below:
[0034] (a) The term (k, g|.sub.tar, .sub.sc) captures the geometry of the environment, such as the blocked TRPs for each target, the IPs (if any) between a given TRP, target and scatterer etc. Let (c.sub.i, d.sub.i) and (a.sub.i, b.sub.i) denote, respectively, the location of the TX and RX corresponding to the i-th TRP and let .sub.TX={(c.sub.i, d.sub.i):i=1, . . . , I} and .sub.RX={(a.sub.i, b.sub.i):i=1, . . . , I} denote the collection of TX and RX locations, respectively. The set of variables .sub.env={.sub.TX, .sub.RX, .sub.tar, .sub.sc} denote the environment and the values of k and g are deterministic functions of .sub.env, denoted by k.sup.(det)(.sub.env) and g.sup.(det)(.sub.env), respectively. Hence,
(b) The estimates {circumflex over (k)}.sub.it, .sub.imts may differ from their respective ground truths, k.sub.it, g.sub.imts due to noise or IPs. The probability of such events is captured by the following term:
({circumflex over (k)}, |.sub.tar, .sub.tar, .sub.sc, k, g)=
({circumflex over (k)}, |k.sup.(det)(.sub.env), g.sup.(det)(.sub.env)) (14)
[0035] Further, given the assumption that the estimate {circumflex over (k)}.sub.it, (or .sub.imts) is conditionally independent of other estimates, given the ground truth k.sub.it, (or g.sub.imts), the result is:
({circumflex over (k)}, |k.sup.(det)(.sub.env), g.sup.(det)(.sub.env))=.sub.imts
({circumflex over (k)}.sub.it|{circumflex over (k)}.sub.it.sup.(det)(.sub.env)).Math.
(.sub.imt|.sub.imt.sup.(det)(.sub.env)) (15)
(c) ({tilde over (p)}.sub.dec is a sufficient statistic for estimating k and g. Hence,
(r|{tilde over (p)}.sub.dec, .sub.tar, .sub.sc, k, g)=(r|{tilde over (p)}.sub.dec, .sub.tar, .sub.sc). Thus,
where .sub.DP(r|.sub.tar, {tilde over (k)}) denotes the joint DP distribution of r, given .sub.tar and
{tilde over (k)}; .sub.IP(r|.sub.tar, .sub.sc, {tilde over (g)}) denotes the joint IP distribution of r, given .sub.tar, .sub.sc and {tilde over (g)}; and
.sub.n(r|{tilde over (z)}) denotes the joint noise-peak distribution of r, given {tilde over (z)}. Further, if the noise on each r.sub.ij is independent, the right-hand side of (18) decomposes into product form.
.sub.DP(r|.sub.tar, {tilde over (k)}).sub.IP(r|.sub.tar, .sub.sc, {tilde over (g)}).sub.n(r|{tilde over (z)})=.sub.i, j, m, t, s(.sub.DP(r.sub.ij|x.sub.t, y.sub.t)).sup.{tilde over (k)}.sup.
[0036] While P1 may capture the problem of target localization in the most general case, an alternative approach to localization that accounts for only the DPs may be derived from P1 by retaining those terms involving just DPs in (8)-(12). This approach may be especially useful when the map of the environment is unknown and gives rise to the following problem, P2, which is also a Bayesian estimation problem:
which the scatterers are placed at random.
[0037] The vector k.sub.t=[k.sub.1t, . . . , k.sub.It] consists of dependent Bernoulli random variables (as described herein with respect to (k|.sub.tar)=
(k.sub.1; . . . ; k.sub.T). In general, two or more blocking vectors may also be dependent as nearby targets can experience similar blocking. Thus, the joint distribution
(k.sub.1; . . . ; k.sub.T) may capture the correlated blocking in its entirety. Consequently, target-by-target localization may not be optimal, in general. In terms of the blocking vector terminology, P2 may be re-written as follows:
[0038] While P2 captures the problem of target localization using correlated blocking in the most general case, a number of simplifications may be made based on real-world scenarios and/or for ease of computation. These are detailed below.
[0039] For ease of computation, independent blocking vectors at distinct locations may be assumed, although this assumption may not always be true, i.e.,
(k.sub.1; . . . ; k.sub.T).sub.t
(k.sub.t) (24)
[0040] Given k.sub.it, it may be assumed that {circumflex over (k)}.sub.it is conditionally independent of all other variables. As a result,
({circumflex over (k)}.sub.1; . . . ; {circumflex over (k)}.sub.T|k.sub.1; . . . ;k.sub.T)=.sub.i,t
({circumflex over (k)}.sub.it|k.sub.it) (25)
[0041] Combined with the previous assumption, this yields the following simplification.
z({circumflex over (k)}.sub.1; . . . ; {circumflex over (k)}.sub.T|k.sub.1; . . . ; k.sub.T)(k.sub.1; . . . ; k.sub.T)=.sub.t
({circumflex over (k)}.sub.t) (26)
[0042] The additive white Gaussian noise (AWGN) assumption holds for most real-world electronic receivers. As a result,
.sup.2 denotes the noise variance and r.sub.i(x.sub.t, y.sub.t) denotes the range to the t-th target from the i-th TRP.
[0043] Based on the above assumptions, P2 can be reduced to the following optimization problem P3
Aspects of the prevent invention include techniques for solving P3.
[0044] A blocking vector k.sub.t=[k.sub.1t . . . k.sub.It] for the t-th target can be obtained by stacking all the k.sub.it's together, in which I denotes the number of TRPs. This may be a random vector comprising of dependent Bernoulli random variables, since the blocking events are correlated, in general. The random vector may have a probability distribution, which is a function of a given distributed radar environment. This distribution, which may be empirical, may be known apriori so that the environment-specific blocking characteristics can be used in order to obtain more accurate location estimates for the targets.
[0045] As an example, let (k.sub.t) represent the probability of obtaining a blocking vector k.sub.t. A blocking likelihood of k.sub.t may be defined as equal to log
(k.sub.t). The blocking likelihood encapsulates the blocking characteristics of the given distributed radar environment.
[0046] In embodiments, the vector k.sub.t may be based on matching determinations. In embodiments, if a DP exists between a target and a TRP, then both the TX and RX corresponding to that TRP have a LoS to the target. Thus, blocking information may be derived from a matching determination.
[0047] As described herein, blocking vectors and likelihoods are determined for potential target locations identified by ellipse intersections. For example, assume that three of four ellipses intersect at a particular point. Further, assume that the ellipses extracted from TRP 1, TRP 2, and TRP 3 intersect at the particular point, but the ellipse from TRP 4 does not. Given this assumption, the blocking vector at this intersection is [1 1 1 0] in which the order of the values in the vector represent intersections by the ellipses from TRP 1, TRP 2, TRP 3, and TRP 4, respectively. As another example, if the ellipses extracted from TRP 1, TRP 3, and TRP 4 intersected at a point, but the ellipse extracted from TRP 2 does not intersect at the point, the blocking vector at the point is [1 0 1 1]. That is, a value of 1 represents the existence of a DP from the corresponding TRP at the potential target location (e.g., an ellipse intersection). Blocking likelihoods are determined based on the blocking vector.
[0048]
[0049] In embodiments, a target may be assumed to be present at the point in which the ellipses intersect. Further, it may be assumed that the intersecting ellipses are all DPs to the prospective target. As shown in (k (n, o)=[1 1]), log
(k (u, v)=[1 1]), log
(k (x, y)=[1 1]) at points (n, o), (u, v), and (x, y) since these points lie on ellipses for both TRP 1 and TRP 2. Even if two points have the same blocking vector, the blocking likelihood can change since the probability distribution of the blocking vector k is different from point to point. Specifically, for point (n, o), an ellipse associated with TRP 1 (e.g., ellipse a.sub.2) intersects with the ellipse associated with TRP 2 (e.g., ellipse b) at point (n, o). Thus, the blocking vector for point (n, o) is [1 1] since the point (n, o) lies on an ellipse for TRP 1 and TRP 2. For point (u, v), an ellipse associated with TRP 1 (e.g., ellipse a.sub.1) intersects with the ellipse associated with TRP 2 (e.g., ellipse b) at the point (u, v). Thus, the blocking vector for point (u, v) is [1 1] since the point (u, v) lies on an ellipse for TRP 1 and TRP 2. For point (x, y), an ellipse associated with TRP 1 (e.g., ellipse a.sub.1) intersects with the ellipse associated with TRP 2 (e.g., ellipse b) at point (x, y). Thus, the blocking vector for point (x, y) is [1 1] since the point (x, y) lies on an ellipse for TRP 1 and TRP 2. For clarity, blocking likelihoods are shown at points (n, o), (u, v), (x, y). However, in practice, blocking likelihoods may be determined at all points of intersection.
[0050] Referring to (k(n, o)=[1 1 0]) since points (n, o) and (u, v) lie on an ellipse for TRP 1 (e.g., ellipse a.sub.2 and a.sub.1 respectively), the ellipse for TRP 2 (e.g., ellipse b) but not on the ellipse for TRP 3 (e.g., ellipse c). The blocking likelihood at point (x, y) is updated to log
(k (x, y)=[1 1 1]) since point (x, y) lies on ellipses associated with TRP 1, TRP 2, and TRP 3. As further shown in
(k (p, q)=[1 0 1]) since point (p, q) lies on an ellipse of TRP 1 (e.g., ellipse a.sub.2) and the ellipse of TRP 3 (e.g., ellipse c).
[0051] In a similar manner as described herein, ellipses for additional MPCs extracted at additional TRPs in the distributed radar environment are generated iteratively (e.g., one at a time). As additional ellipses are generated, the blocking likelihoods for existing ellipse intersections are updated, and the blocking likelihoods for new intersections are determined. As the blocking likelihoods are updated, the intersections whose likelihoods drop below a particular threshold may be eliminated from consideration as a target location. After all ellipses have been considered, the ellipse intersections having blocking likelihoods satisfying the threshold are determined as the target locations. In the example of
[0052] In embodiments, the threshold may be selected based on a trade-off between accuracy and comprehensiveness. For example, satisfying a low blocking threshold would indicate that the identified targets are more likely to be actual targets. However, a low blocking threshold may cause actual targets to be erroneously eliminated from consideration as targets. A high blocking threshold would reduce the chances of erroneously eliminating actual targets from consideration, but may yield a greater number of false positives in which non-targets are identified as targets. Knowledge of the number of targets or estimating the number of targets using another technique can be used advantageously to reduce the number of false positives.
[0053] Blocking likelihoods may be determined for all points of intersection. In embodiments, TRPs are not limited to the TRPs shown in
[0054]
[0055] As shown in
TABLE-US-00001 TABLE 1 Example TRP definitions TRP TX RX TRP 1 TX 1 RX 1 TRP 2 TX 1 RX 2 TRP 3 TX 1 RX 3 TRP 4 TX 2 RX 1 TRP 5 TX 2 RX 2 TRP 6 TX 2 RX 3 TRP 7 TX 3 RX 1 TRP 8 TX 3 RX 2 TRP 9 TX 3 RX 3
[0056] At step 610, two TRPs are selected. In embodiments, the two TRPs may be selected based on a pre-determined processing order. As an example, assume that TRP 1 and TRP 2 are selected.
[0057] At step 615, an MPC extracted from a first TRP (e.g., TRP 1) is paired with an MPC extracted from a second TRP (e.g., TRP 2). At step 620, ellipses corresponding to the MPCs are generated.
[0058] At step 625, a determination is made as to whether any intersections are present between the ellipses. For example, the ellipses are analyzed and searched for intersections. If intersections are present (step 625YES), blocking likelihoods for these intersections is determined at step 630. For example, as described above, the blocking likelihoods are determined using the expression log (k.sub.t).
[0059] At step 635, a determination is made as to whether each blocking likelihood satisfies a threshold. For example, as described herein, the value of the blocking likelihood is compared to a pre-defined threshold . If the blocking likelihood satisfies the threshold (step 635YES), information is stored indicating that the ellipse intersection is determined to be a potential target location at step 640. Also, the blocking likelihood for the ellipse intersection is stored. If, on the other hand, the blocking likelihood does not satisfy the threshold (step 635NO), the ellipse intersection is discarded from consideration as a potential target location at step 645. For example, the ellipse intersection may be cleared from memory, or an indication may be stored that the ellipse intersection is no longer considered a potential target. Additionally, or alternatively, another technique may be used to indicate the determination that the ellipse intersection is not a potential target.
[0060] In either case, the process continues to step 650 in which a determination is made as to whether additional MPC pairs are present at the TRPs currently being analyzed. Also, the process may proceed to step 650 in the event no intersections were present at step 625 (step 625NO). If additional MPC pairs are present (step 650YES), the process may return to step 620 in which ellipses corresponding to the additional MPC pairs are generated. If additional MPC pairs are not present (step 650NO), the process may continue to step 655 in which a determination is made as to whether all of the defined TRPs (e.g., as defined at step 605) have been analyzed. For example, a TRP is considered to have been analyzed once all ellipses for all MPCs associated with the TRP have been generated, and once the blocking likelihood for any intersecting points on the ellipses have been determined.
[0061] If all the TRPs have not been analyzed (step 655NO), the process may continue to step 660 in which ellipses corresponding to MPCs for a subsequent TRP are generated. The process may return to step 625 in which a determination is made as to whether intersections are present. When continuing to step 630 (e.g., at 625YES), new blocking likelihoods are determined for new ellipse intersections that occur as a result of generating ellipses associated with the subsequent TRP. The process continues to step 635 in which a determination is made as to whether the blocking likelihoods (e.g., the updated blocking likelihoods and/or the newly generated blocking likelihoods) satisfy the threshold. For blocking likelihoods that do satisfy the threshold, information regarding these ellipse intersections are stored as potential target locations, while those ellipse locations whose blocking likelihoods do not satisfy the threshold are discarded. The process continues until all MPC pairs and all TRPs have been analyzed iteratively (e.g., one by one). Once all MPC pairs and all TRPs have been analyzed, the stored potential target locations that remain (e.g., that were not discarded throughout the process) are determined to be target locations at step 665. Information regarding the target locations may be output to a user via a display or message.
[0062] As described herein, a first portion of data from TRPs is analyzed (e.g., an initial set of ellipses are generated and blocking likelihoods at ellipse intersections are determined). A second portion of data from the TRPs is analyzed in an iterative manner, e.g., ellipses are generated one by one, and with each new ellipse, blocking likelihoods for new ellipse intersections are generated, and blocking likelihoods for existing ellipses are updated). Once all data from the TRPs has been analyzed (e.g., once all ellipses have been generated), any ellipse intersections whose blocking likelihoods satisfy the threshold may be determined to be the target locations.
[0063]
[0064] The computing device 14 includes a processor 20 e.g., CPU), memory 22A, an I/O interface 24, and a bus 26. The memory 22A can include local memory employed during actual execution of program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. In addition, the computing device includes random access memory (RAM), a read-only memory (ROM), and an operating system (O/S).
[0065] The computing device 14 is in communication with external I/O device/resource 28 and storage system 22B. For example, I/O device 28 can comprise any device that enables an individual to interact with computing device 14 e.g., user interface) or any device that enables computing device 14 to communicate with one or more other computing devices using any type of communications link. The external I/O device/resource 28 may be for example, a handheld device, PDA, handset, keyboard etc. It should be understood that multiple RXs may be connected to the computing device 14 and the signal received from each RX is transferred to the computing device 14 which may execute the processes and analysis described herein to localize target locations (e.g., using the target location determination component 46), and display/store the results.
[0066] In general, processor 20 executes computer program code e.g., program control 44), which can be stored in memory 22A and/or storage system 22B. Moreover, in accordance with aspects of the invention, program control 44 controls a target location determination component 46, e.g., the processes described herein. For example, target location determination component 46 can implement the processes shown of
[0067] The computing device 14 can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon e.g., a personal computer, server, etc.). However, it is understood that computing device 14 is only representative of various possible equivalent-computing devices that may perform the processes described herein. To this extent, in embodiments, the functionality provided by computing device 14 can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or computer program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively.
[0068] Similarly, server 12 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in embodiments, server 12 comprises two or more computing devices e.g., a server cluster) that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the processes described herein, one or more computing devices on server 12 can communicate with one or more other computing devices external to server 12 using any type of communications link. The communications link can comprise any combination of wired and/or wireless links; any combination of one or more types of networks e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.); and/or utilize any combination of transmission techniques and protocols.
[0069] As described herein, if one of two closely situated TXs has LoS to a target, then it is highly likely that the other does as well. Similarly, if one of the TXs has no LoS to the target, it is highly likely that the other TX also has no LoS. In other words, the DP blocking probabilities for the different TX-RX pairs (TRPs) at a (potential) target location are, in general, correlated and the extent of correlation may be a function of the relative positions of the TXs and RXs with respect to the target location. This is the phenomenon of correlated blocking and it can be used to improve the reliability of target localization in accordance with aspects of the present invention. Aspects of the present invention, as described in greater detail below, may extract MPCs from impulse responses at TRPs, estimate a probability of blockage between prospective target locations and the plurality of TRPs, and determine that a potential target location is an actual target locations based on the estimated probability of blockage.
[0070] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.