Apparatus and method for 3-D network localization

11218886 · 2022-01-04

    Inventors

    Cpc classification

    International classification

    Abstract

    An apparatus and a method for simultaneous localization of multiple targets in 3-D cooperative wireless sensor networks (WSNs), utilizing combined measurements of received signal strength (RSS) and angle of arrival (AoA) are disclosed herein. By exploiting the convenient nature of spherical representation of the considered problem, the measurement models are linearized and a sub-optimal estimator is formulated. The method disclosed herein has a straightforward adaptation to the case where the target's transmit power is also not known. A representative set of simulations and experiments verify the potential performance improvement realized with embodiments of the method for RSS/AoA network localization in 3-D space.

    Claims

    1. An apparatus for 3-D received signal strength/angle of arrival (RSS/AoA) information-based cooperative network localization for a sensor network with at least a sensor called anchor equipped with global navigation satellite system (GNSS) receiver and a set of sensors without GNSS receiver called targets that communicate between them through radio links comprising: at least a directive or an antenna array in each sensor; a central processing unit to process the received RSS information sent by each sensor and that computes the distance between the sensors; the central processing unit configured to process the AoA information and compute the AoA of the incoming signal transmitted by each sensor present in the wireless network; the central processing unit configured to compute a convertsion from Cartesian coordinates of the RSS and AoA information to spherical coordinates to merge the RSS and AoA information; the central processing unit configured to classify the nearby sensors by introducing weights to be used in a weighted least squares (WLS) criterion employed in the computation of targets' locations estimates; the central processing unit configured to compute simultaneously the estimated locations of all target sensors, based on the merged measurements of RSS and AoA, and the WLS criterion; wherein, to compute the AOA of each incoming signal, to compute the conversion from Cartesian coordinates of the RSS and AoA information to spherical coordinates, to introduce the weights to be used in the WLS criterion and to silmultaneous compute the estimated locations of all target sensors, when transmitted power information P.sub.T is known, the central processing unit is further configured to: a. first, from f ( P ij | X ) = 1 2 πσ n ij 2 exp { - ( P ij - P 0 + 10 γlog 10 d ij d 0 ) 2 2 σ n ij 2 } , from where d.sub.o(d.sub.0≤d.sub.ij) is a reference distance, X=[x.sub.1,x.sub.2, . . . , x.sub.M], (Xϵcustom character.sup.3×M), P.sub.0 is the reference RSS at distance d.sub.o, P.sub.ij denotes the RSS at distance d.sub.ij, γ is the path loss exponent (PLE), and d.sub.ij is the distance between sensors i and j and σ.sub.n.sub.ij.sup.2 represents the variance of the log-normal shadowing term, n.sub.ij, modeled as zero-mean Gaussian random variable n.sub.ij˜N(O, σ.sub.n.sub.ij.sup.2), compute the distance that best estimates ∥x.sub.i−s.sub.j∥, with x.sub.i=[x.sub.ix,x.sub.iy,x.sub.iz].sup.T and s.sub.j=[s.sub.jx,s.sub.jy,s.sub.jz].sup.T denoting the coordinates of the i-th target and its j-th neighboring sensor, by d ^ ij = d 0 10 P 0 - P ij 10 γ ; ( 7 ) b. from f ( ϕ ij | X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( ϕ ij - ϕ ~ ij ) } , and f ( α ij | X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( α ij - α ~ ij ) } , where κ.sub.ij is the concentration parameter of the azimuth angle measurement noise, m.sub.ij, and the elevation angle measurement noise, v.sub.ij, modeled as zero-means von Mises random variables m.sub.ij˜VM(0,κ.sub.ij), v.sub.ij˜VM(0,κ.sub.ij), I.sub.0(*) isthe modified Bessel function of first kind of order 0, and {tilde over (ϕ)}.sub.ij and {tilde over (α)}.sub.ij are respectively the true azimuth angle and the true elevation angle between the i-th target and its j-th neighboring sensor. compute the angles which estimate the azimuth angle, ϕ.sub.ij, and the elevation angle, α.sub.ij, between the i-th target and its j-th neighboring sensor, using the formulas ϕ ^ ij = tan - 1 ( x iy - s jy x ix - s jx ) , ( 8 a ) α ^ ij = cos - 1 ( x iz - s jz .Math. x i - s j .Math. ) , ( 8 b ) c. compute, from (7) and (8)
    λ.sub.ij∥x.sub.i−s.sub.j∥≈ηd.sub.0,   (9)
    c.sub.ij.sup.T(x.sub.i−s.sub.j)≈0,  (10a)
    and k.sup.T(x.sub.i−s.sub.j)≈∥x.sub.i−s.sub.j∥cos(α.sub.ij)  (10b) where λ ij = 10 P ij 10 γ , η = 10 P 0 10 γ , c.sub.ij=[−sin(ϕ.sub.ij),cos(ϕ.sub.ij),0].sup.T,and k=[0,0,1 ].sup.T; d. apply the Cartesian to spherical coordinates conversion to (9) and (10b), and multiply with 1 (formed as u.sub.ij.sup.Tu.sub.ij, with u.sub.ij=[cos(ϕ.sub.ij)sin(α.sub.ij),sin (ϕ.sub.ij)sin (α.sub.ij), cos (α.sub.ij)].sup.T being the estimated unit direction vector), to get
    λ.sub.iju.sub.ij.sup.Tr.sub.iju.sub.ij ≈ηd.sub.o⇔λ.sub.iju.sub.ij.sup.T(x.sub.i−s.sub.i)≈ηd.sub.o,  (11) and
    k.sup.Tr.sub.iju.sub.ij≈u.sub.ij.sup.Tr.sub.iju.sub.ijcos(α.sub.ij)⇔(cos(α.sub.ij)u.sub.ij−k).sup.T(x.sub.i−s.sub.j)≈0;  (12) e. give more importance to nearby links, by introducing weights, w=[√{square root over ({tilde over (w)}.sub.ij)}], with each w.sub.ij defined as w ij = 1 - d ^ ij .Math. ( i , j ) .Math. d ^ ij ; ( 13 ) f. apply the weighted least squares (WLS) criterion to (11), (10a), (12), and (13), and obtain X ^ = argmin X .Math. ( i , j ) .Math. w ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 14 ) where x=[x.sub.1,x.sub.2, . . . , x.sub.M], (Xϵcustom character.sup.3×M) and ε denotes the tuple set of all sensors within communication range, and minimize minimize x .Math. W ( Ax - b ) .Math. 2 , ( 15 ) where x=[x.sub.1,x.sub.2, . . . , x.sub.M].sup.T,(xϵcustom character.sup.3M×1), W=I.sub.3 .Math. diag (w), denoting the Kronecker product, and
    A.sub.t,3(i−1)+1:3i=λ.sub.iju.sub.ij.sup.T, b.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij+ηd.sub.0, ∀(i,j)ϵcustom character, t=1, . . . , |custom character|;
    A.sub.t,3(i−1)+1:3i=c.sub.ij.sup.T, b.sub.t=c.sub.ij.sup.Tα.sub.ij,∀(i,jcustom character, t=|custom character|+1 , . . . , 2|custom character|;
    A.sub.t,3(i−1)+1:3i=(cos(α.sub.ij)u.sub.ij−k).sup.T, b.sub.t=(cos(α.sub.ij)u.sub.ij−k).sup.Tα.sub.j, ∀(i,jcustom character, t=2|custom character|+1, . . . , 3|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j]=[λ.sub.iju.sub.ij.sup.T, −λ.sub.iju .sub.ij .sup.T], b.sub.t=ηd.sub.0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j ]=[c.sub.ij.sup.T, −c .sub.ij.sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character|+1, . . . , 3|custom character|custom character|+2|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j ]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, −(cos(α.sub.ij)u.sub.ij−k).sup.T], b.sub.t=0, ∀(i,jcustom character, t=3 |custom character|+2|custom character|+1, . . . , 3|custom character|+3|custom character|; with custom character and custom character denoting the tuple sets of all target/anchor and target/target sensors within communication range of each other respectively, and |*|representing the cardinality of a set, by computing
    {circumflex over (x)}=(A.sup.TW.sup.TWA).sup.−1(A.sup.TW.sup.TWb); wherein the central processing unit, to compute the AOA of each incoming signal, to compute the conversion from Cartesian coordinates of the RSS and AoA information to spherical coordinates, to introduce the weights to be used in the WLS criterion and to silmultaneous compute the estimated locations of all target sensors, when transmitted power information P.sub.T is unknown, is further configured to: g. compute from d ^ ij = d 0 10 P 0 - P ij 10 γ , where d.sub.o(d.sub.0≤d.sub.ij) is a reference distance, P.sub.0 is the reference RSS at distance d.sub.o, P.sub.ij , denotes the RSS at distance d.sub.ij, γ is the path loss exponent (PLE), and d.sub.ij is the distance between sensors i and j
    λ.sub.ij∥x.sub.i−s.sub.j∥≈ηd.sub.σ  (9)
    c.sub.ij .sup.T(x.sub.i−s.sub.j)≈0,  (10a)
    k.sup.T(x.sub.i−s.sub.j)≈∥x.sub.i−s.sub.j∥cos(α.sub.ij),  (10b) where x.sub.i=[x.sub.ix,x.sub.iy,x.sub.iz].sup.T and s.sub.j=[s.sub.jx,s.sub.jy,s.sub.jz].sup.T denote the coordinates of the i-th target and its j-th neighboring sensor, respectively, λ ij = 10 P ij 10 γ , η = 10 P 0 10 γ , c.sub.ij=[−sin(ϕ.sub.ij), cos(ϕ.sub.ij), 0].sup.T, and k=[0,0,1].sup.T; h. apply the Cartesian to spherical coordinate conversion to (9) and (10b), and multiply with 1 (formed as u.sub.ij.sup.Tu.sub.ij, with u.sub.ij=[cos(ϕ.sub.ij)sin(α.sub.ij), sin(ϕ.sub.ij)sin(α.sub.ij), cos(α.sub.ij)].sup.T being the estimated unit direction vector), to get
    λ.sub.iju.sub.ij.sup.Tr.sub.iju.sub.ij≈ηd.sub.o⇔λ.sub.iju.sub.ij .sup.T(x.sub.i−s.sub.j)≈ηd.sub.o,  (11) and
    k.sup.Tr.sub.iju.sub.ij≈u.sub.ij.sup.Tr.sub.iju.sub.ijcos(α.sub.ij)⇔(cos(α.sub.ij)u.sub.ij−k).sup.T(x.sub.i−s.sub.j)≈0;   (12) i. give more importance to nearby links, introducing weights, {tilde over (w)}=[√{tilde over (w)}.sub.ij], with each {tilde over (w)}.sub.ij defined as w ~ ij = 1 - P ij .Math. ( i , j ) .Math. P ij ; ( 16 ) j. apply the weighted least squares (WLS) criterion to (11), (10a), (12) and (16), to obtain the estimator X ^ = argmin X - η .Math. ( i , j ) .Math. w ~ ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ~ ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ~ ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 17 ) where X=[x.sub.1,x.sub.2, . . . , X.sub.M], (Xϵcustom character.sup.3×M) and ε denotes the tuple set of the all sensors within communication range, and minimize minimize y .Math. W ~ ( A ~ y - b ~ ) .Math. 2 , ( 18 ) where y=[x.sub.1,x.sub.2, . . . , x.sub.Mη].sup.T, (y=ϵcustom character.sup.(3M+1)x1), {tilde over (W)}=I.sub.3 .Math. diag({tilde over (w)}), with .Math. denoting the Kronecker product, and
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[λ.sub.iju.sub.ij.sup.T, −d.sub.0], {tilde over (b)}.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij; ∀(i,jcustom character, t=1, . . . , |custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[c.sub.ij.sup.T,0], {tilde over (b)}.sub.t=c.sub.ij.sup.Tα.sub.ij, ∀(i,j) ϵcustom character, t=|custom character|+1, . . . , 2 |custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, 0], {tilde over (b)}.sub.t=(cos(α.sub.ij)u.sub.ij−k).sup.T α.sub.j, ∀(i,jcustom character, t=2|custom character+1, . . . , 3|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j, 3M+1]=[λ.sub.iju.sub.ij.sup.T, −λ.sub.iju.sub.ij.sup.T, −d.sub.0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j, 3M+1]=[c.sub.ij.sup.T, −c.sub.ij.sup.T, 0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character|+z1, . . . , 3|custom character|+2|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j, 3M+1]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, −(cos(α.sub.ij)u.sub.ij−k).sup.T, 0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+2|custom character|+1, . . . , 3|custom character|+2|custom character|+1, . . . , 3|custom character|+3|custom character|; with custom character and custom character denoting the tuple sets of all target/anchor and target/target sensors within communication range of each other respectively, and |*| representing the cardinalitv of a set, by computing
    ŷ=(Â.sup.TŴ.sup.T{tilde over (W)}Ã).sup.−(Â.sup.TŴ.sup.TŴ{tilde over (b)}).

    2. A method for 3-D received signal strength/angle of arrival (RSS/AoA) information-based cooperative network localization for a sensor network with at least a sensor called anchor equipped with global navigation satellite system (GNSS) receiver and a set of sensors without GNSS receiver called targets that communicate between them through radio links comprising: processing the RSS information and computing the distance between a pair of sensors; computing the AoA information of the incoming signal transmitted by each sensor present in the wireless network; computing a conversion from Cartesian coordinates of the RSS and AoA information to spherical coordinates to merge the RSS and AoA information; assigning weights to the radio links to reinforce the importance of the nearby radio links, these weights being used in a weighted least squares (WLS) criterion employed in the computation of targets' locations estimates; computing simultaneously all the unknown target locations, without resorting to any relaxation technique, based on the acquired AoA measurements and the fusion of the RSS and AoA information; wherein, when transmitted power information P.sub.T is known, the computation of AoA information of each incoming signal, the computation of the conversion from Cartesian to spherical coordinates of RSS and AoA information, the assignment of weights to radio links used in the WLS criterion and the simultaneous computation of all the unknown target locations, comprises the following steps: a. first, from f ( P ij .Math. X ) = 1 2 π σ n ij 2 exp { - ( P ij - P 0 + 10 γ log 10 d ij d 0 ) 2 2 σ n ij 2 } , where d.sub.o(d.sub.0≤d.sub.ij) is a reference distance, where X=[x.sub.1,x.sub.2, . . . , x.sub.M], (Xϵcustom character.sup.3×M), P.sub.0 is the reference RSS at distance d.sub.o, P.sub.ij denotes the RSS at distance d.sub.ij, γ is the path loss exponent (PLE), and d.sub.ij is the distance between sensors i and j, and σ.sub.n.sub.ij.sup.2 represents the variance of the log-normal shadowing term, n.sub.ij modeled as zero-mean Gaussian random variable n.sub.ij˜N(0, σ.sub.n.sub.ij.sup.2), compute the distance that best estimates ∥x.sub.i−s.sub.j∥, with x.sub.i=[x.sub.ix,x.sub.iy,x.sub.iz].sup.T and s.sub.j=[s.sub.jxs.sub.jy,s.sub.jz].sup.T denoting the coordinates of the i-th target and its j-th neighboring sensor, by d ^ ij = d 0 10 P 0 - P ij 10 γ ; ( 7 ) b. from f ( ϕ ij .Math. X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( ϕ ij - ϕ _ ij ) } , and f ( ϕ ij .Math. X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( α ij - α _ ij ) } , where κ.sub.ij is the concentration parameter of the azimuth angle measurement noise, m.sub.ij, and the elevation angle measurement noise, v.sub.ij, modeled as zero-means von Mises random variables m.sub.ij˜VM(0,κ.sub.ij), v.sub.ij˜FM(0, κ.sub.ij), I.sub.0(*) is the modified Bessel function of first kind of order 0, and ϕ.sub.ij and α.sub.ij are respectively the true azimuth angle and the true elevation angle between the i-th target and its j-th neighboring sensor. compute the angles which estimate the azimuth angle, ϕ.sub.ij, and the elevation angle, α.sub.ij, between the i-th target and its j-th neighboring sensor, using the formulas ϕ ^ ij = tan - 1 ( x iy - s jy x ix - s jx ) , ( 8 a ) α ^ ij = cos - 1 ( x iz - s jz .Math. x i - s j .Math. ) , ( 8 b ) c. from (7) and (8), compute
    λ.sub.ij∥x.sub.i−s.sub.j∥≈ηd.sub.0,  (9)
    c.sub.ij.sup.T(x.sub.i−s.sub.j)≈0,  (10a)
    and k.sup.T(x.sub.i−s.sub.j)≈∥x.sub.i−s.sub.j∥cos(α.sub.ij),  (10b) where λ ij = 10 P ij 10 γ , η = 10 P 0 10 γ , c.sub.ij=[−sin(ϕ.sub.ij), cos(ϕ.sub.ij), 0].sup.T, and k=[0,0,1].sup.t; d. apply the Cartesian to spherical coordinates convertsion to (9) and (10b), and multiply with 1 (formed as u.sub.ij.sup.Tu.sub.ij, with u.sub.ij=[cos(ϕ.sub.ij)sin(α.sub.ij), sin(ϕ.sub.ij)sin(α.sub.ij), cos(α.sub.ij)].sup.T being the estimated unit direction vector), to get
    λ.sub.iju.sub.ij.sup.Tr.sub.iju.sub.ij≈ηd.sub.o⇔λ.sub.iju.sub.ij.sup.T(x.sub.i−s.sub.j)≈ηd.sub.o,  (11) and
    κ.sup.Tr.sub.iju.sub.ij≈u.sub.ij.sup.Tr.sub.iju.sub.ijcos(α.sub.ij)u.sub.ij−k).sup.T(x.sub.i−s.sub.j)≈0;  (12) e. give more importance to nearby links, by introducing weights, w=[√{square root over ({tilde over (w)}.sub.ij)}], with each w.sub.ij defined as w ij = 1 - d ij ^ .Math. ( i , j ) .Math. d ^ ij ; ( 13 ) f. apply the weighted least squares (WLS) criterion to (11), (10a), (12), and (13), and obtain X ^ = argm in x .Math. ( i , j ) .Math. w ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 14 ) where X=[x.sub.1,x.sub.2, . . . , x.sub.M], (Xϵcustom character.sup.3×M) and ε denotes the tuple set of all sensors within communication range, and minimize
    minimize ∥W(Ax −b)∥.sup.2,  (15) where x=[x.sub.1,x.sub.2, . . . , x.sub.M].sup.T, (xϵcustom character.sup.3M×1), W=I.sub.3 .Math. denoting the Kronecker product, and
    A.sub.t,3(i−1)+1:3i=λ.sub.iju.sub.ij.sup.T, b.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij+ηd.sub.0, ∀(i,jcustom character, t=1, . . . , |custom character|;
    A.sub.t,3(i−1)+1:3i=c.sub.ij.sup.T, b.sub.t=c.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=|custom character|+1, . . . , 2 |custom character|;
    A.sub.t,3(i−1)+1:3i=(cos(α.sub.ij)u.sub.ij −k).sup.T, b.sub.t=(cos(α.sub.ij)u.sub.ij−k).sup.Tα.sub.j, ∀(i,jcustom character, t=2|custom character.sub.A|1, . . . , 3|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j]=[λ.sub.iju.sub.ij.sup.T, −λ.sub.iju.sub.ij.sup.T], b.sub.t=ηd.sub.0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j ]=[c.sub.ij.sup.T,−c.sub.ij.sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character|+1, . . . , 3|custom character|+2|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j ][(cos(α.sub.ij)u.sub.ij−k).sup.T, −(cos(α.sub.ij)u.sub.ij−k).sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+3|custom character|; with custom character and custom character denoting the tuple sets of all target/anchor and target/target sensors within communication range of each other respectively, and |*| representing the cardinality of a set, by computing
    {circumflex over (x)}=(A.sup.TW.sup.TWA).sup.−1(A.sup.TW.sup.TWb); computing simultaneously all the unknown target locations, without resorting to any relaxation technique, based on the acquired AoA measurements and the fusion of the RSS and AoA information wherein, when the transmitted power information P.sub.T is unknown, the computation of AoA information of each incoming signal, the computation of a conversion from Cartesian to spherical coordinates of RSS and AoA information, the assignment of weights to radio links used in the WLS criterion and the simultaneous computation of all the unknown target locations, comprises the following steps: g. from d ^ ij = d 0 10 P 0 - P ij 10 γ , where d.sub.o (d.sub.0≤d.sub.ij) is a reference distance, P.sub.0 is the reference RSS at distance d.sub.o,P.sub.ij denotes the RSS at distance d.sub.ij, γ is the path loss exponent (PLE), and d.sub.ij is the distance between sensors i and j compute
    λ.sub.ij∥x.sub.i−s.sub.j∥≈ηd.sub.σ  (9)
    c.sub.ij.sup.T(x.sub.i−s.sub.j)≈0,  (10a)
    k.sup.T(x.sub.i−s.sub.j)≈∥x.sub.i−s.sub.j∥cos(α.sub.ij),  (10b) where x.sub.i=[x.sub.ixx.sub.iy,x.sub.iz].sup.T and s.sub.j=[s.sub.jx,s.sub.jy,s.sub.jz].sup.T denote the coordinates of the i-th target and its j-th neighboring sensor, respectively, λ ij = 10 P ij 10 γ , η = 10 P 0 10 γ , c.sub.ij=[−sin(ϕ.sub.ij),cos(ϕ.sub.ij),0].sup.T, and k=[0,0,1].sup.T; h. apply the Cartesian to spherical coordinate conversion to (9) and (10b), and multiply with 1 (formed as u.sub.ij.sup.Tu.sub.ij, with u.sub.ij=[cos(ϕ.sub.ij)sin(α.sub.ij), sin(ϕ.sub.ij)sin(α.sub.ij), cos (α.sub.ij)].sup.T being the estimated unit direction vector), to get
    λ.sub.iju.sub.ij.sup.Tr.sub.iju.sub.ij≈ηd.sub.o⇔λ.sub.iju.sub.ij.sup.T(x.sub.i−s.sub.j)≈ηd.sub.o,  (11) and
    k.sup.Tr.sub.iju.sub.ij≈u.sub.ij.sup.Tr.sub.iju.sub.ijcos(α.sub.ij)⇔(cos(α.sub.ij)u.sub.ij−k).sup.T(x.sub.i−s.sub.j)≈0;  (12 ) i. give more importance to nearby links, introducing weights, {tilde over (w)}=[√{square root over (_e,otl w)}.sub.ij], with each w.sub.ij defined as w ~ ij = P ij .Math. ( i , j ) .Math. P ij ; ( 16 ) j. apply the weighted least squares (WLS) criterion to (11), (10a), (12) and (16), to obtain the estimator X ^ = argm in x , η .Math. ( i , j ) .Math. w ~ ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ~ ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ~ ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 17 ) where X=[x.sub.1,x.sub.2, . . . , x.sub.M], (Xϵcustom character.sup.3×M) and ε a denotes the tuple set of the all sensors within communication range, and minimize minimize y .Math. W ~ ( A ~ y - b ~ ) .Math. 2 , ( 18 ) where y=[x.sub.1,x.sub.2, . . . , x.sub.M, η].sup.T, (yϵcustom character.sup.(3M+1)×1), {tilde over (W)}=I.sub.3 .Math. diag ({tilde over (w)}), with .Math. denoting the Kronecker product, and
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[λ.sub.iju.sub.ij.sup.T,−d.sub.0], {tilde over (b)}.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=1, . . . , |custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[c.sub.ij.sup.T, 0], {tilde over (b)}.sub.t=c.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=|custom character|+1, . . . , 2|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3M+1]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, 0], {tilde over (b)}.sub.t=(cos(α.sub.aj)u.sub.ij−k).sup.T α.sub.j, ∀(i,jcustom character, t=2|custom character|+1, . . . , 3|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j, 3M+1]=[λ.sub.iju.sub.ij.sup.T, −λ.sub.iju.sub.ij.sup.T, −d.sub.0], {tilde over (b)}hd t=0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(i−1)+1:3j, 3M+1]=[c.sub.ij.sup.T, −c.sub.ij.sup.T, 0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character+1, . . . , 3|custom character|+2|custom character|;
    Ã.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j, 3M+1]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, −(cos(α.sub.ij)u.sub.ij−k).sup.T, 0], {tilde over (b)}.sub.t=0, ∀(i,j)ϵε.sub.T, t=3|ε.sub.A|+2|ε.sub.T|+1, . . . 3 |ε.sub.A|+3|ε.sub.T|; with custom character and custom character denoting the tuple sets of all target/anchor and target/target sensors within communication range of each other respectively, and |*| representing the cardinality of a set, by computing
    ŷ=(Ã.sup.T{tilde over (W)}.sup.T{tilde over (W)}Ã).sup.−1(Ã.sup.T{tilde over (W)}.sup.T{tilde over (W)}{tilde over (b)}).

    3. A method for 3-D received signal strength/angle of arrival (RSS/AoA) information based cooperative network localization as in claim 2 in which the computational complexity is always linear in the number of sensors.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    (1) Various aspects of embodiments disclosed here, including features and advantages of the present invention outlined above, are described in detail together with the drawings, where like reference numerals refer to like elements throughout, in which:

    (2) FIG. 1 is a block diagram of the localization apparatus, where block 101 represents the j th sensor receiver that receives the signal sent from the i-th target. The receiver gives as output RSS measurements. Block 102 is the j-th sensor receiver that receives the signal sent from the i-th target and calculates the azimuth and the elevation angles, giving these values as the output. Note that any sensor can have multiple antennas or directional antennas for extracting AoA measurements, i.e., azimuth and elevation angles. Block 103 is a central node (fusion center), which gathers all RSS and AoA measurements acquired in the network and carries out all data processing. The block 104 represents the central node with the proposed estimator adapted to the case where the transmit power is not known;

    (3) FIG. 2 shows the geometry of the problem, i.e., it depicts an anchor and a target locations in a 3-D space, where x.sub.i=[x.sub.ix,x.sub.iy,x.sub.iz].sup.T and α.sub.j=[α.sub.jx,α.sub.jy,α.sub.jz].sup.T represent the coordinates of the i-th target and the j-th anchor, respectively, while d.sub.ij, ϕ.sub.ij and α.sub.ij denote respectively the distance, the azimuth angle and the elevation angle between the i-th target and the j-th anchor;

    (4) FIG. 3 shows the normalized mean square error (NRMSE) versus N comparison, for the case where M=30 and R=4 m. The PLE was fixed to γ=2.5. However, to account for a realistic measurement model mismatch and test the robustness of the new algorithm to imperfect knowledge of the PLE, the true PLE was drawn from a uniform distribution on the interval [2.2, 2.8], i.e., γ.sub.i˜custom character[2.2, 2.8], ∀(i,j)ϵε. All sensors were deployed randomly within a box with an edge length B=10 m, and the rest of the parameters were set as follows. L.sub.0=40 dB, d.sub.0=1 m, M.sub.c=50000. Finally, σ.sub.n.sub.ij=10 dB and κ.sub.ij=25.9, which corresponds to the circular standard deviation of σ.sub.m.sub.ij=σ.sub.v.sub.ij=σ.sub.ij=8 degrees, since σ.sub.ij.sup.2=1−l.sub.1(κ.sub.ij)/l.sub.0(κ.sub.ij);

    (5) FIG. 4 shows the NRMSE versus M comparison, for the case where N=7, R=5 m, γ=2.5, γ.sub.i˜custom character[2.2, 2.8], ∀(i,j)ϵε, B=10 m, L.sub.0=40 dB, d.sub.0=1 m, M.sub.c=50000, σ.sub.n.sub.ij=10 dB, and κ.sub.ij=25.9;

    (6) FIG. 5 shows the NRMSE versus R(m) comparison, for the case where N=5, M=20, γ=2.5, γ.sub.i˜custom character[2.2, 2.8], ∀(i,j)ϵε, B=10 m, L.sub.0=40 dB, d.sub.0=1 m, M.sub.c=50000, σ.sub.n.sub.ij=10 dB, and θKhd ij=25.9;

    (7) FIG. 6 illustrates of the estimation process by using WLS algorithm in a single Monte Carlo run for N=8, M=20, R=8 (m), γ=2.5, γ.sub.i˜custom character[2.2, 2.8], ∀(i,j)ϵε, B=10 m, L.sub.0=40 dB, d.sub.0=1 m, σ.sub.n.sub.ij=10 dB, and κ.sub.ij=25.9. The part (a) of the figure shows a particular network example, whereas the part (b) of the figure shows the estimation results for all targets in the network individually.

    DETAILED DESCRIPTION OF THE INVENTION

    (8) The present application describes the apparatus and a method for network localization based on integrated RSS and AoA measurements in 3-D space. Let x.sub.iϵcustom character.sup.3 be the unknown location of the i-th target (i=1, . . . , M) and α.sub.jϵcustom character.sup.3 be the known location of the j-th anchor (j=1, . . . , N). As shown in FIG. 2. x.sub.i=[x.sub.ix,x.sub.iy,x.sup.iz].sup.T and α.sub.j=[α.sub.jx,α.sub.jy,α.sub.jz].sup.T represent the coordinates of the i-th target and the j-th anchor, respectively, while d.sub.ij, ϕ.sub.ij and α.sub.ij denote respectively the distance, the azimuth angle and the elevation angle between the i-th target and the j-th anchor.

    (9) The determination of the locations is done by using a hybrid system that combines distance and angle measurements obtained at the blocks 101 and 102 of FIG. 1, respectively. The combination of the two radio signal measurements provides more information for the user and is capable of enhancing estimation accuracy.

    (10) It is assumed that the distance is drawn in 101 from the RSS information exclusively, since ranging based on RSS does not require additional hardware [1]. The noise-free RSS between two sensors i and j is defined as [32, Ch.3]

    (11) P ij ( W ) = P T ( d 0 d ij ) γ 10 - L 0 10 , ( i , j ) .Math. ( 1 )
    where P.sub.T is the transmit power of the target,

    (12) L 0 = 10 log 10 P T P 0
    is the path loss value measured at a short reference distance d.sub.0(d.sub.0≤d.sub.ij) and P.sub.0 is the received signal strength (RSS) at d.sub.0, γ is the path loss exponent (PLE), and d.sub.ij is the distance between sensors i and j. Furthermore, the tuple set ε={(i,j):∥x.sub.i−s.sub.j∥≤R, for i=1, . . . ,N, j=1, . . . , M, M+1, . . . ,M+N, i≠j} denotes the existance of an edge between two sensors. The RSS model in (1) can be rewritten in a logarithmic form as

    (13) P ij = P 0 - 10 γ log 10 .Math. x i - s j .Math. d 0 + n ij , ( i , j ) .Math. ( 2 )
    where s.sub.j is the j-th neighboring sensor (either a target or an anchor) of the i-th target and n.sub.ij˜custom character(0,σ.sub.n.sub.ij.sup.2) is the log-normal shadowing term modeled as zero-mean Gaussian random variable with variance σ.sub.n.sub.ij.sup.2. It is assumed that all sensors are static during the estimation process and there is no sensor and/or link failure, and all sensors may transmit their measurements to a central processor represented by the block 103 in FIG. 1.

    (14) The AoA measurements acquired within the block 102 can be obtained by installing directional antenna or antenna array [15], or even video cameras [33]) at sensors. Thus, in 102, by applying simple geometry, azimuth and elevation angle measurements are modeled respectively as [5]:
    ϕ.sub.ij={circumflex over (ϕ)}.sub.ij+m.sub.ij, ∀(i,j)ϵε  (3a)
    α.sub.ij={circumflex over (α)}.sub.ij+v.sub.ij, ∀(i,j)ϵε  (3n)
    where

    (15) ϕ ~ ij = tan - 1 ( x iy - s jy x ix - s jx ) , α ~ ij = cos - 1 ( x iz - s jz .Math. x i - s j .Math. ) ,
    and m.sub.ij and v.sub.ij are the measurement errors of the azimuth and the elevation angles respectively, modeled as a zero-mean von Mises random variables with the concentration parameters, κ.sub.m.sub.ij, κ.sub.v.sub.ijϵ[0,∞), i.e., m.sub.ij˜custom character(0,κ.sub.m.sub.ij) and v.sub.ijcustom character(0,κ.sub.v.sub.ij). Without loss of generality, we assume that κ.sub.m.sub.ij=κ.sub.v.sub.ij=κ.sub.ij. The von Mises distribution is a circular analogue of the Gaussian one, and since we are dealing with directional data here, it comes more natural to consider this distribution rather than the Gaussian one [35], [36]. The mean direction and the concentration parameter can be related to the mean and variance in the Gaussian distribution [35], [36].

    (16) For the sake of simplicity, we stack all unknown vectors into a single matrix, i.e., X=[x.sub.1, . . . , x.sub.M], (Xϵcustom character.sup.3×M). From (2), the conditional probability density function (PDF) of an RSS observation is given

    (17) f ( P ij | X ) = 1 2 πσ n ij 2 exp { - ( P ij - P 0 + 10 γlog 10 d ij d o ) 2 2 σ n ij 2 } . ( 4 )

    (18) Similarly, from (3) we can write the conditional PDF of an azimuth and elevation observations as

    (19) f ( ϕ ij | X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( ϕ ij - ϕ ~ ij ) } , ( 5 a ) f ( α ij | X ) = 1 2 π I 0 ( κ ij ) exp { κ ij cos ( α ij - α ~ ij ) } , ( 5 b )
    where l.sub.k(*) is the modified Bessel function of first kind of order k [35], [36].

    (20) By maximizing (4) and (5), a maximum likelihood (ML) estimator of X can be obtained [34, Ch. 7], i.e.,

    (21) 0 X ^ = argmin x .Math. ( i , j ) .Math. ( 1 σ n ij 2 ( P ij - P 0 + 10 γlog 10 .Math. x i - s j .Math. d 0 ) ) 2 + .Math. ( i , j ) .Math. κ ij cos ( ϕ ij - ϕ ~ ij ) + .Math. ( i , j ) .Math. κ ij cos ( α ij - α ~ ij ) . ( 6 )

    (22) Although the ML solution is asymptotically optimal, the problem in (5) is highly non-convex with no closed-form solution. The 3-D localization method in wireless networks disclosed in this application is implemented in the block 104, and it aproximates (6) by another estimator whose solution is found efficiently, and it is comprises the following steps:

    (23) First, from (4), the distance that best estimates ∥x.sub.i−α.sub.j∥ in the ML sense is:

    (24) d ^ ij = d 0 10 P 0 - P ij 10 γ . ( 7 )

    (25) Similarly, from (5), the angles which best estimate ϕ.sub.ij and α.sub.ij in the ML sense are respectively

    (26) ϕ ~ ij = tan - 1 ( x iy - s jy x ix - s jx ) , ( 8 a ) α ~ ij = cos - 1 ( x iz - s jz .Math. x i - s j .Math. ) , ( 8 b )
    since (5) is maximized when the cosines in the arguments are equal to 1, i.e., when {circumflex over (ϕ)}.sub.ij={circumflex over (ϕ)}.sub.ij and {circumflex over (α)}.sub.ij={circumflex over (α)}.sub.ij.

    (27) From (7) and (8), we can respectively write
    λ.sub.ij∥x.sub.i−s.sub.j∥≈¢d.sub.0,  (9)
    c.sub.ij.sup.T(x.sub.i−s.sub.j)≈0,  (10a)
    k.sup.T(x.sub.i−s.sub.j)≈∥x.sub.i−s.sub.j∥cos(α.sub.ij),  (10b)
    where

    (28) λ ij = 10 P ij 10 γ , η = 10 P 0 10 γ ,
    c.sub.ij=[−sin(ϕ.sub.ij), cos(ϕ.sub.ij),0].sup.T and k=[0,0,1].sup.T. If we switch from Cartesian to spherical coordinates, we can write x.sub.i−s.sub.j=r.sub.iju.sub.ij, with r.sub.ij≥0 and ∥u.sub.ij=1, i.e., u.sub.ij=[cos(ϕ.sub.ij)sin(α.sub.ij),sin(ϕ.sub.ij)sin(α.sub.ij),cos(α.sub.ij)].sup.T is the estimated unit vector.

    (29) Apply the described conversion to (9) and (10b), and multiply with 1 (formed as u.sub.ij.sup.Tu.sub.ij), to respectively get:
    λ.sub.iju.sub.ij.sup.Tr.sub.iju.sub.ij≈ηd.sub.0⇔λ.sub.iju.sub.ij.sup.T(x.sub.i−s.sub.j)≈ηd.sub.0,  (11)
    and
    k.sup.Tr.sub.iju.sub.ij≈u.sub.ij.sup.Tr.sub.iju.sub.ijcos(α.sub.ij)⇔(cos(α.sub.ij)u.sub.ij−k).sup.T(x.sub.i−s.sub.j)≈0.  (12)

    (30) To give more importance to nearby links, introduce weights, w=[√{square root over (w.sub.ij)}], where each w.sub.ij is defined as

    (31) w ij = 1 - d ^ ij .Math. ( i , j ) .Math. d ^ ij . ( 13 )

    (32) Next, according to the WLS criterion and (11), (10a), (12) and (13), obtain the following estimator:

    (33) X ^ = argmin X .Math. ( i , j ) .Math. w ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 14 )
    which can be writers as

    (34) minimize x .Math. W ( Ax - b ) .Math. 2 , ( 15 )
    where x=[x.sub.1,x.sub.2, . . . ,x.sub.M].sup.T, (xϵcustom character.sup.3M×1), W=I.sub.3.Math.diag(w), with .Math. denoting the Kronecker product, and
    A.sub.t,3(i−1)+1:3i=λ.sub.iju.sub.ij.sup.T, b.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij+ηd.sub.0, ∀(i,jcustom character, t=1, . . . ,|custom character|;
    A.sub.t,3(i−1)+1:3i=c.sub.ij.sup.T, b.sub.t=c.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=|custom character|+1, . . . , 2|custom character|;
    A.sub.t,3(i−1)+1:3i=(cos(α.sub.ij)u.sub.ij−k).sup.T, b.sub.t=(cos(α.sub.ij)u.sub.ij−k).sup.Tα.sub.j, ∀(i,jcustom character, t=2|custom character|+1, . . . ,3|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j]=[c.sub.ij.sup.T,−c.sub.ij.sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+1, . . . ,3|custom character|+|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j][c.sub.ij.sup.T,−c.sub.ij.sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character|+1, . . . ,3|custom character|+2|custom character|;
    A.sub.t,[3(i−1)+1:3i, 3(j−1)+1:3j]=[(cos(α.sub.ij)u.sub.ij−k).sup.T, −(cos(α.sub.ij)u.sub.ij−k).sup.T], b.sub.t=0, ∀(i,jcustom character, t=3|custom character|+2|custom character|+1, . . . ,3|custom character|+3|custom character|;
    with custom character and custom character denoting the tuple sets of all target/anchor and target/target edges respectively, and |*| representing the cardinality of a set. The solution to (15) is given as
    {circumflex over (x)}=(A.sup.TW.sup.TWA).sup.−1(A.sup.TW.sup.Tb).

    (35) When the transmitted power information, P.sub.T, is not known, it translates to η in (9) being unknown. In such a case, the derivation procedure is somewhat different, and it goes as follows.

    (36) To give more importance to nearby links, introduce weights, ŵ=[√{square root over ({tilde over (w)})}.sub.ij], where each {tilde over (w)}.sub.ij is defined as

    (37) w ~ ij = 1 - P ij .Math. ( i , j ) .Math. P ij ; ( 16 )

    (38) According to the WLS criterion and (11), (10a), (12) and (16), obtain the following estimator:

    (39) X ^ = argmin X , η .Math. ( i , j ) .Math. w ~ ij ( λ ij u ij T ( x i - s j ) - η d 0 ) 2 + .Math. ( i , j ) .Math. w ~ ij ( c ij T ( x i - s j ) ) 2 + .Math. ( i , j ) .Math. w ~ ij ( ( cos ( α ij ) u ij - k ) T ( x i - s j ) ) 2 , ( 17 )
    which can be writes as

    (40) minimize y .Math. W ~ ( A ~ y - b ~ ) .Math. 2 , ( 18 )
    where y=[x.sub.1,x.sub.2, . . . , x.sub.M,η].sup.T, (yϵcustom character.sup.(3M+1)×1), {tilde over (W)}=l.sub.3.Math.diag({tilde over (w)}), and
    Ã.sub.t=[A.sub.t, −d.sub.0], {tilde over (b)}.sub.t=λ.sub.iju.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=1, . . . , |custom character|;
    Ã.sub.t=[A.sub.t, 0], {tilde over (b)}.sub.t=c.sub.ij.sup.Tα.sub.ij, ∀(i,jcustom character, t=|custom character|+1, . . . , 2|custom character|;
    Ã.sub.t=[A.sub.t, 0], {tilde over (b)}.sub.t=(cos(α.sub.ij)u.sub.ij−k).sup.Tα.sub.j, ∀(i,jcustom character, t=2|custom character+1, . . . ,3|custom character|;
    Ã.sub.t=[A.sub.t, −d.sub.0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+1, . . . , 3|custom character|+|custom character|;
    Ã.sub.t=[A.sub.t, 0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+|custom character|+1, . . . , 3|custom character|+2|custom character|;
    Ã.sub.t=[A.sub.t, 0], {tilde over (b)}.sub.t=0, ∀(i,jcustom character, t=3|custom character|+2|custom character|+1, . . . , 3|custom character|+3|custom character|.
    The solution of (18) is given as
    {tilde over (y)}=(Ã.sup.T{tilde over (W)}.sup.T{tilde over (W)}Ã).sup.−1(Ã.sup.T{tilde over (W)}.sup.T{tilde over (b)}).

    (41) Table 1 provides an overview of the considered algorithms together with their worst case computational complexities.

    (42) TABLE-US-00001 TABLE 1 Summary of the Considered Algorithms Algorithm Descripton Complexity WLS The proposed WLS method for known P.sub.T 0 𝒪 ( MN + M ( M - 1 ) 2 ) WLS-U The proposed WLS method for unknown P.sub.T 𝒪 ( MN + M ( M - 1 ) 2 ) LLS The LLS method disclosed in [37] 𝒪 ( MN + M ( M - 1 ) 2 ) SDP The SDP method disclosed in [21] 𝒪 ( M 4.5 ( N + M 2 ) 2 )

    (43) Table 1 shows that the computational complexity of the considered methods depends mainly on the network size, i.e., the total number of sensors in the network. This property is a characteristic of methods operating in a centralized manner [21], where all information is conveyed to a central processor. From Table 1, we can see that the computational complexity of the proposed method is linear.

    (44) Performance of the proposed algorithm was verified through computer simulations. It was assumed that radio measurements were generated by using (2), (3) and (4). All sensors were deployed randomly inside a box with an edge length B=10 m in each Monte Carlo (M.sub.c) run. The reference distance is set to d.sub.0=1 m, the reference path loss to L.sub.0=40 dB, and the PLE was fixed to γ=2.5 . However, to account for a realistic measurement model mismatch and test the robustness of the new algorithm to imperfect knowledge of the PLE, the true PLE was drawn from a uniform distribution on the interval [2.2, 2.8], i.e., γ.sub.i˜μ[2.2, 2.8], ∀(i,j)ϵε. Finally, σ.sub.n.sub.ij=10 dB and κ.sub.ij=25.9, which corresponds to the circular standard deviation of σ.sub.m.sub.ij=σ.sub.v.sub.ij=σ.sub.ij=8 degrees, since σ.sub.ij.sup.2=1−l.sub.1(κ.sub.ij)/l.sub.0(κ.sub.ij). The performance metric used here is the normalized root mean square error (NRMSE), defined as

    (45) NRMSE = .Math. j = 1 M c .Math. i = 1 M .Math. x ij - x ^ ij .Math. 2 MM c ,
    where {circumflex over (x)}.sub.ij denotes the estimate of the true location of the i-th target, x.sub.ij, in the j-th M.sub.c run.

    (46) The performance of the WLS estimator is compared to the existing SDP in [21] and LLS in [37] for RSS-AoA localization in cooperative WSNs. Furthermore, the results obtained by its counterpart that takes advantage of AoA-only observations, denoted by “LS.sub.AOA”, are included also in order to show the benefit of a hybrid approach in comparison to the classical one. Finally, the Cramer-Rao lower bound (CRLB) [34] is also included in all figures.

    (47) FIGS. 3, 4 and 5 illustrate the NRMSE (m) versus N, M and R (m) comparison, respectively. One can see from these figures that all estimators exhibit natural behavior, and that the new estimator offers a significant gain over the remaining ones, especially for low quantities of the respective parameters, even when the transmit power is not known.

    (48) FIG. 6 illustrates one particular output by WLS. It can be seen from the figure that the accuracy is very good in general, and that even the targets with no anchor neighbors (e.g., the two far-right top ones) can be localized fairly well.

    (49) The above description of illustrated embodiments is not intended to be exhaustive or limited by the disclosure. Some specific embodiments of various equivalent modifications are possible (and examples are described herein for illustrative purposes), as those skilled in the relevant art will recognize.