4.2 Complex-domain Full SMDS Algorithm
4.2.3 Complex-domain Full SMDS: The CD-SMDS Algorithm
Having revised the original SMDS algorithm, let us move on to the here-presented complex-domain variation, which will be shown not only to offer a lower computational complexity, but also exhibits better performance.
Starting from the computational cost aspect, recall that the complexity of SMDS algorithm over an M -by-M kernel of rank η is dominated by the computation of the η largest eigenpairs and of order O(ηM2). Since M = N2 is a fixed parameter de-termined by the network size, besides the employment of efficient eigenpair calculation
methods [109–112], the only fundamental path to reduce the complexity of the full SMDS algorithm is to reformulate the kernel K so as to reduce its rank, while however preserving its information.
In the case of localization problems in the two-dimensional space (η = 2), this can be attained by reformulating the SMDS framework in the complex domain. To be precise, the real rank-2 edge kernel of the original full SMDS algorithm in a two-dimensional space can be reformulated into a complex rank-1 equivalent.
Before we proceed, let us address the possible (incorrect) perception that such a reformulation is mere mathematical artifice, with no consequence in actual computation reduction at the hardware level since the complex matrix has two parts and therefore would still require twice the time to be processed. In fact, advances have been made on complex binary arithmetics in the last few decades which have lead to the design of microprocessors dedicated to executing complex-valued operations directly, with significant gains both in terms of speed and power consumption over traditional methods based on the separation of real and imaginary parts [121–127]. Similarly, at the software level, most well-known scientific computing tools such as MatlabTM and MathematicaTM incorporate advanced low-level complex arithmetic routines [128, 129]
which are also significantly more efficient than “na¨ıve” real/imaginary part-based complex calculations.
With this remark made, we proceed with the complex-valued reformulation of the full SMDS algorithm in two-dimensions (η = 2). First, referring to Figure 4.1(a), notice that the coordinate vector xi ∈ R2of a generic node i in the network can be alternatively expressed by the complex representation xi, i.e.
xi = [axi bxi] ⇐⇒ xi = axi + jbxi. (4.14)
Similarly, as illustrated in Figure 4.1(b), the edge vector vm associated with the pair of vertices xi and xj corresponding to two nodes i and j can be represented in complex form as
vm = (axj− axi) + j(bxj − bxi) = avm+ jbvm. (4.15) Finally, if we build a complex vector
x , [ x1 · · · xN]T∈ CN, (4.16) containing the complex-domain representations of the coordinates of all N nodes in the
network, a corresponding complex edge vector v can be obtained via a linear projection similar to that described by equation (4.4), namely
v = C· x ∈ CM, (4.17)
with the matrix C exactly as given in equation (4.6).
In other words, the realvalued N by2 coordinate matrix X, and the associated M -by-M edge matrix V can be trivially mapped into the corresponding complex-valued vectors x and v, respectively.
A consequence of the latter mapping is that besides the relationship with the inner product of vector representations (vm, vp) as per equation (4.7), the elements kmpof the edge kernel matrix K can also be related to a linear combination of their corresponding complex representations (vm, vp). Specifically, equation (4.7) can be rewritten as
hvm, vpi =h
For future convenience, let us also consider the signed length of the cross product of the two edge vectors vm and vp, which is given by
where| · | denotes the signed length of a vector and det(·) the determinant of a matrix.
Next, consider the following complex products
vm· vp∗ = (avm+ jbvm)· (avp− jbvp) (4.20)
where the superscript ∗ denotes complex conjugation.
v
mv
px
ix
jx
ja
xia
xjx
ib
xib
xjx
kx
kx
`x
`(a) Vertices
v
mv
pv
mv
pa
vma
vpb
vmb
vp✓
mp(b) Edges
Figure 4.1: Illustration of vector and complex representation of vertices and edges of a network.
From the latter we obviously have
kmp= vm· vp∗+ v∗m· vp
2 = avmavp+ bvmbvp, (4.22) which is identical to the expression in equation (4.18).
It follows from the above that the SMDS edge kernel can be concisely rewritten as K = 1
2v· vH+1
2v∗· vT = 1 2K +1
2KT, (4.23)
where the vector v is as defined in equation (4.17), the superscript H denotes the transpose conjugate (aka, Hermitian), and for future convenience we have implicitly defined the complex edge kernel
K , v· vH (4.24)
such that
κmp= vm· v∗p = dmdp(cos θmp+ j sin θmp) = dmdpejθmp. (4.25) Inspecting equations (4.23) and (4.24), it can be clearly seen that the reformulated SMDS complex kernel K is rank-1 but contains full information on the network geometry, while the original SMDS edge kernel K is found to be redundant, as it can in fact be written as a scaled sum of K and its transpose. This implicates that the complexity order of a complex-domain version of the full SMDS algorithm operating on K isO(M2), in contrast to O(2M2) for the original real-valued full SMDS in two dimensions. Specifically, comparing equations (4.8) and (4.24), it is evident that if a sample complex edge kernel ˜K is constructed from measurements ˜dm and ˜θmp, then an estimate of the complex edge vector v can be obtained in the form
ˆ v =√
λ u, (4.26)
where (λ, u) is the largest eigenpair of ˜K.
With possession of the complex-valued edge vector ˆv, the corresponding complex-valued coordinate vector estimate ˆx can be obtained by inversion of equation (4.17) in a manner similar to that of equation (4.12), that is
xA
where xAis the complex coordinate vector of the anchors
xAT ,x1 · · · xNA. (4.28)
We shall hereafter refer to the algorithm described in this subsection and whose pseudo-code is offered in Algorithm 2 as the Complex Domain SMDS (CD-SMDS) [130].
Algorithm 2 Full CD-SMDS (2D Only) Input:
• Measurements of distance and angles: ˜dm and ˜θmp
• The coordinates of at least one anchor.
Steps:
1. Use ˜dm an ˜θmp to construct ˜K as in equation (4.25).
2. Compute the largest eigenpair (λ, u) of ˜K.
3. Estimate the complex edge vector ˆv using equation (4.26).
4. Compute ˆx by inversion using equation (4.27).
5. Map ˆx back to ˆX and apply Procrustes if needed [114].