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.
Accurate indoor radar solutions can support a multitude of applications, ranging from providing location-based advertising for users in a shopping mall to better solutions for tracking inventory in a warehouse. Typically, multiple targets are present in which many or all of these targets may have very similar or nearly identical radar signatures. For example, from the perspective of radar devices, passive objects and/or individuals may appear similar in terms of size, shape and material. Thus, these mobile devices reflect radio waves similarly as well and hence, it may be difficult to distinguish between two different targets, thereby making localization difficult. In addition, each transmitter (TX) and receiver (RX) in a radar network may be equipped with a single antenna only, for reasons of cost and energy efficiency. In such cases, the radar cannot determine target locations based on direction of arrival (e.g., assuming that only signal propagation time is available for triangulating the target locations).
Localizing indoor targets may also be difficult and/or inaccurate, for example, because targets can be blocked by non-target scatterers such as walls, furniture, etc. Also, scatterers give rise to multipath (indirect paths or IPs) which need to be distinguished from direct line-of-sight paths (DPs) in order to accurately localize the targets. Further, accurately identifying all the DPs corresponding to a particular target, i.e., matching, can be difficult and/or inaccurate (e.g., since all the targets may have the same or similar radar signature). An incorrect matching of DPs to targets (e.g., when a DP is incorrectly matched to the wrong target) would yield erroneous target locations.
In an aspect of the invention, a method includes 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.
In an aspect of the invention, there is a computer program product for identifying target locations in a distributed radar system. The computer program product includes 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.
In an aspect of the invention, a system includes 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 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, where 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. The program instructions are stored on the computer readable storage medium for execution by the CPU via the computer readable memory.
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.
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).
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.
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.
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.
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.
The TX 202 and RX 204 constitute a TX-RX pair (TRP). The example of
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.
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
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.
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.
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.
As an example, assume that the i-th TRP has Ni MPCs extracted from its signal. Let rij denote the range of the j-th extracted MPC for the i-th TRP and let ri=[ri1, ri2, . . . , riN
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, {(xt, yt):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.
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:
The values of kit and {gimts}, 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 rij is a DP, IP or noise peak,
The estimates of kit and gimts, denoted by {circumflex over (k)}it and ĝimts, respectively, may then be derived as follows:
{circumflex over (k)}it=Σj{tilde over (k)}ijt (6)
ĝimts=Σj{tilde over (g)}ijmts (7)
Let k, g, {circumflex over (k)}, ĝ, {tilde over (k)}, {tilde over (g)} and {tilde over (z)} denote the vector of all kit, gimts, {circumflex over (k)}it, ĝimts, {tilde over (k)}ijt, {tilde over (g)}imts and {tilde over (z)}ij, respectively. Let Θtar={(xt,yt):t=1, . . . , T} and Θsc={(um, vm):1, . . . , M} denote the collection of target and scatterer locations, respectively, and let {tilde over (p)}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.
A detailed explanation of all the terms and constraints in (8)-(12) is provided below:
(a) The term (k, g|Θtar, Θ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 (ci, di) and (ai, bi) denote, respectively, the location of the TX and RX corresponding to the i-th TRP and let ΘTX={(ci, di):i=1, . . . , I} and ΘRX={(ai, bi):i=1, . . . , I} denote the collection of TX and RX locations, respectively. The set of variables Θenv={ΘTX, ΘRX, Θtar, Θsc} denote the environment and the values of k and g are deterministic functions of Θenv, denoted by k(det)(Θenv) and g(det)(Θenv), respectively. Hence,
(b) The estimates {circumflex over (k)}it, ĝimts may differ from their respective ground truths, kit, gimts due to noise or IPs. The probability of such events is captured by the following term:
({circumflex over (k)}, ĝ|Θtar, Θtar, Θsc, k, g)=
({circumflex over (k)}, ĝ|k(det)(Θenv), g(det)(Θenv)) (14)
Further, given the assumption that the estimate {circumflex over (k)}it, (or ĝimts) is conditionally independent of other estimates, given the ground truth kit, (or gimts), the result is:
({circumflex over (k)}, ĝ|k(det)(Θenv), g(det)(Θenv))=Πimts
({circumflex over (k)}it|{circumflex over (k)}it(det)(Θenv))·
(ĝimt|ĝimt(det)(Θenv)) (15)
(c) ({tilde over (p)}dec is a sufficient statistic for estimating k and g. Hence,
ƒ(r|{tilde over (p)}dec, Θtar, Θsc, k, g)=ƒ(r|{tilde over (p)}dec, Θtar, Θsc). Thus,
where ƒDP(r|Θtar, {tilde over (k)}) denotes the joint DP distribution of r, given Θtar and
{tilde over (k)}; ƒIP(r|ƒtar, Θsc, {tilde over (g)}) denotes the joint IP distribution of r, given Θtar, Θsc and {tilde over (g)}; and
ƒn(r|{tilde over (z)}) denotes the joint noise-peak distribution of r, given {tilde over (z)}. Further, if the noise on each rij is independent, the right-hand side of (18) decomposes into product form.
ƒDP(r|Θtar, {tilde over (k)})ƒIP(r|Θtar, Θsc, {tilde over (g)})ƒn(r|{tilde over (z)})=Πi, j, m, t, s(ƒDP(rij|xt, yt)){tilde over (k)}
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.
The vector kt=[k1t, . . . , kIt] consists of dependent Bernoulli random variables (as described herein with respect to (k|Θtar)=
(k1; . . . ; kT). In general, two or more blocking vectors may also be dependent as nearby targets can experience similar blocking. Thus, the joint distribution
(k1; . . . ; kT) 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:
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.
For ease of computation, independent blocking vectors at distinct locations may be assumed, although this assumption may not always be true, i.e.,
(k1; . . . ; kT)˜Πt
(kt) (24)
Given kit, it may be assumed that {circumflex over (k)}it is conditionally independent of all other variables. As a result,
({circumflex over (k)}1; . . . ; {circumflex over (k)}T|k1; . . . ;kT)=Πi,t
({circumflex over (k)}it|kit) (25)
Combined with the previous assumption, this yields the following simplification.
z÷({circumflex over (k)}1; . . . ; {circumflex over (k)}T|k1; . . . ; kT)(k1; . . . ; kT)=Πt
({circumflex over (k)}t) (26)
The additive white Gaussian noise (AWGN) assumption holds for most real-world electronic receivers. As a result,
σ2 denotes the noise variance and ri(xt, yt) denotes the range to the t-th target from the i-th TRP.
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.
A blocking vector kt=[k1t . . . kIt] for the t-th target can be obtained by stacking all the kit'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.
As an example, let (kt) represent the probability of obtaining a blocking vector kt. A blocking likelihood of kt may be defined as equal to −log
(kt). The blocking likelihood encapsulates the blocking characteristics of the given distributed radar environment.
In embodiments, the vector kt 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.
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.
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 “a2”) 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 “a1”) 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 “a1”) 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.
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 “a2” and “a1” 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 “a2”) and the ellipse of TRP 3 (e.g., ellipse “c”).
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
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.
Blocking likelihoods may be determined for all points of intersection. In embodiments, TRPs are not limited to the TRPs shown in
As shown in
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.
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.
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 625—YES), blocking likelihoods for these intersections is determined at step 630. For example, as described above, the blocking likelihoods are determined using the expression −log (kt).
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 635—YES), 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 635—NO), 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.
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 625—NO). If additional MPC pairs are present (step 650—YES), 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 650—NO), 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.
If all the TRPs have not been analyzed (step 655—NO), 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 625—YES), 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.
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.
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).
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.
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
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.
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.
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.
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.