Mathematical Problems in Engineering

Mathematical Problems in Engineering / 2013 / Article

Research Article | Open Access

Volume 2013 |Article ID 402732 | 10 pages | https://doi.org/10.1155/2013/402732

Coordinated Target Tracking by Distributed Unscented Information Filter in Sensor Networks with Measurement Constraints

Academic Editor: Hector Puebla
Received04 Jul 2013
Accepted18 Sep 2013
Published30 Oct 2013

Abstract

Tracking a target in a cluttered environment is a representative application of sensor networks. In this paper, we develop a distributed approach to estimate the motion states of a target using noisy measurements. Our method consists of two parts. In first phase, using the unscented sigma-point transformation techniques and information filter framework, a class of algorithms denoted as unscented information filters was developed to estimate the states of a target to be tracked. These techniques exhibit robustness and accuracy of sigma-point filters for nonlinear dynamic inference while being as easily fused as the information filters. In the second phase, we proposed a novel consensus protocol which allows each sensor node to find a consistent estimate of the value of the target. Under this protocol, the final estimate of the value of the target at each time step is iteratively updated only by fusing the neighbors’ measurements when one sensor node is out of the measurement scope of the target. Performance of the distributed unscented information filter is demonstrated and discussed on a target tracking task.

1. Introduction

Recent advances in communication, computation, and embedded technologies support the development of mobile sensor networks (MSNs). The motivation behind MSNs is that they have broad applications including target tracking, cooperative detection of toxic chemicals in contaminated environments, search and rescuing operations after disasters, and forest fire monitoring [15]. One of the fundamental purposes of the sensor networks is to estimate and track the state of a process of interest using a large number of dispersed wireless sensors. This is partly because of the fact that multiple data sources can provide more complementary information that is not available by individual source; moreover, strong robust performance can be obtained because of the inherent redundancy [6]. To implement the sensor fusion, two questions are often encountered about what information should be communicated and how to fuse the received information. Many strategies have been proposed to resolve these problems, in which the Kalman filter is one of the most significant candidate. The sensor fusion architecture can be loosely categorized into three types, that is, the centralized fusion, the decentralized fusion, and the distributed fusion. In case of the centralized fusion [7], all the measurements are transmitted to a central processor, where a conventional Kalman filter or its counterpart is used to obtain the global state estimates. Although the centralized architecture is theoretically optimal and it is also conceptually simple to implement, it suffers from some drawbacks, such as it needs a heavy computational cost and may require a large amount of energy for a high communication load. Furthermore, it is usually impossible to apply a centralized processor when the sensor networks are of large scale, and the fusion cannot be carried out if the central unit fails. Therefore, a natural way is to implement the sensor fusion in a decentralized architecture [8]. To be specific, a group of local Kalman filters is used in parallel to obtain sensor-based estimates. Then, the local estimates instead of measurements are transmitted to the fusion center. To avoid the requirement of a fusion center, a fully decentralized fusion filter has been proposed in [9]; however, this scheme requires every sensor to communicate with any other sensor node and it is not scalable for large-scale sensor networks. In other words, the sensor networks should be fully connected, which might not be possible in practical applications. Due to these inherent limitations of centralized and decentralized fusion algorithms, developing distributed algorithms has been the subject of intensive studies by many researchers.

Based on the Kalman filter, many distributed estimation algorithms have recently been proposed. As one typical of these distributed estimation algorithms, Kalman consensus filter received considerable attention for its fast convergence, high estimation performance, and globally optimal estimates without the requirement of a fusion center. Spanos et al. [10] introduced consensus algorithms to the problem of target state estimation in MSNs; the algorithms proposed can be used to estimate the average value of all sensor inputs. Saber [1113] established the framework of distributed Kalman filtering (DKF) algorithms and has done systematic researches on Kalman consensus filter. The essence of DKF is a networked multiagent system of communicating estimator agents. Each estimator is computationally implemented as an embedded microfilter module in a sensor. The main objective is to design the estimator of every sensor so that via local exchange of messages among neighboring nodes, the networks of sensors collectively provide a cohesive set of estimates of the state of the target. In [14], an information consensus filter (ICF) was presented that applies consensus filters to an information filter. Authors in [15, 16] proposed distributed information and multiple model unscented Kalman filters based on consensus for Jump Markov Nonlinear Systems. Compared with the traditional centralized and decentralized estimation schemes, several advantages emerge such as scalability, low communication load, fast implementation, and more robustness to sensor failures [1016]. This is partly due to the main features of distributed algorithms; that is, each sensor node only communicates with its neighboring peers and no fusion center is present. Moreover, DKF is applicable to sensor networks with variable topologies and networks with packet loss. Even DKF algorithms that have been developed in the aforementioned references deal with the distributed estimation problems smoothly; however, most of them assumed that the target model to be estimated is linear; moreover, they assumed that all the sensor nodes can measure the target. In this note, with the help of the sigma-point unscented transition approach, an unscented information filter (UIF) is proposed to cope with the nonlinear target models and this can be the first contribution of this paper. In addition, a novel protocol was proposed when using dynamic average-consensus strategies to the weighted measurements and the inverse-covariance matrices to make them reach a consensus state when one sensor node is out of the measurement scope, and this could be the second contribution of this work.

The remainder of this paper is organized as follows: in Section 2, the distributed unscented information filter model and distributed fusion objectives used throughout this paper are stated. In Section 3, we develop the distributed information fusion procedure using one novel consensus protocol, and the corresponding convergence is analyzed. To illustrate the novelty of the proposed algorithms, we present simulation results in Section 4. Conclusions and future research works are given in Section 5.

Notations. The following notations will be used throughout this paper. and denote the set of all -dimensional real and complex column vectors; 1 represents with compatible dimensions (sometimes we use to denote 1 with a dimension ); denote a finite index set. We use as the time step of the filter and , , as the optimal estimation of previous step, prediction of the current step, and updating of the current step, respectively.

2. Problem Statement and Preliminaries

2.1. Unscented Kalman Filtering at Local Processing Units

Consider the following nonlinear Gaussian system model: where is the state transition matrix and is the measurement matrix. is the system’s state vector, is the measurement, is a Gaussian process noise with the property that , and is a Gaussian measurement noise denoted as .

The unscented Kalman filter (UKF) is a special of sigma-point Kalman filters which uses the unscented transform for computing approximate solutions to the filtering problem of the system with form (1). Some basic operations performed in the UKF algorithm are summarized as follows [17].(1)Denoting the previous time step stated estimation as , a set of sigma points is taken from the columns of the matrix as follows: and the associate weights are computed as where , is a scaling parameter, while , , and are constant parameters. is the covariance matrix of the state on previous time step and denotes the th row of the Cholesky decomposition of . It is shown in [17] that this procedure produces accurate results for the predicted mean and covariance up to the third order of the Taylor series for Gaussian inputs and at least up to the second order for other types of inputs.(2)Transform each of the sigma points according to system (1) to compute the predicted state and the predicted covariance as (3)Select the new predicted sigma point as and to compute the propagation of state (4)Compute the predicted , covariance of the measurement , and the cross covariance of the state and measurement (5)Update the filter gain and the state , the covariance , conditional to the new measurement

2.2. Unscented Information Filtering

Conventional Kalman filters deal with the estimation of states and yield estimates together with a corresponding estimate variance . The information filter deals instead with the information state vector and information matrix defined as where are time indexes. We know that the information filter is mathematically equivalent to the Kalman filter according to the matrix inversion lemma [9], so a set of recursion equations for the information state and information matrix can be derived directly from the equations of the Kalman filter. Define the information-state contribution to from an observation as and the associated contribution to information matrix as

For a linear discrete time model and the measurement model , where is the state transition matrix, is the measurement matrix and , with the same meanings defined in (1). With the aforementioned definitions defined in (9), (10), and (11), the recursive equations of the information form of the Kalman filter can be written as follows [9].(1)Prediction: (2)Updating:

Just like the classical Kalman filters, the basic information filters can only be used for linear system models. To deal with the filter problems of nonlinear system (1), we can use unscented transformation to replace and in the linear model. The unscented information filter (UIF), which is derived by embedding a statistical linear error propagation approach based on the unscented transformation into the information filter structure, will be proposed and presented in this subsection.

As for the unscented transformation, the prediction of information filter can be rewritten as where and are defined in (4). Because we did not have the accurate linearized measurement matrix , we cannot calculate the information contribution defined by (10) and (11). Instead, it is assumed that the nonlinear measurement equation of the system in (1) can be mapped into a linear function of its statistical such as mean and covariance, which makes it possible to use the information update equations of the information filter. By this assumption, the observation covariance and its cross-covariance are approximated by and is the Jacobian of the output equation . Nextly, multiplying the predicted covariance and its inverse term on the right side of the information matrix and replacing with give the following representation of the information matrix: where is calculated according to (4) and the cross-correlation matrix is calculated from (6). Similarly, the information state vector can be rewritten as

From (16) and (17), we can find that the information contribution is no longer associated with the measurement equation directly. To complete the analogy to the information contribution equations of the information filter, a pseudo-measurement matrix is defined as where is calculated from (6) with , , and being defined in (4), (5), and (6). In terms of the pseudo-measurement matrix , the information contributions equations are written as Up to now, we can reach at the prediction and updating procedures of unscented information filter using (14) and (19).

2.3. Distributed Fusion Based on UIF

Consider a sensor network with an ad hoc topology that consists of a node set and an edge set . The set consists of vertices representing the sensors that belong to a finite set ; an edge of is denoted by , which consists of unordered pairs of distinct vertices of and represents available communication links. The set of neighbors of sensor node is denoted by . A path is a sequence of ordered edges of the form , where and and we called as the length of the path. If , then the path is called a cycle; if , that is, an edge from it to itself, it is called a loop. The adjacent matrix is defined such that if , while , otherwise. Note that is symmetric. The Laplacian matrix associated with can be defined as and , where . Note that is symmetric positive. In addition, is a simple eigenvalue of with the associated eigenvector , and all other eigenvalues of are positive if and only if graph is connected.

The main advantage of the information filter over the Kalman filter in data fusion problems is the relative simplicity of the update stage and its simple extension to multisensor scenarios due to its characteristics of linear additivity. For a system with sensors, the local UIF iterations for node are in the form of

Our main problem here is to compute the averages of and of all the sensors, which means to drive the information fusion of all the local sensors to a consensus state. With above notations, the main problems we concerned in this paper can be formalized as follows:

If the local fusion of each node satisfies with (21), we call the fusion estimate algorithm as distributed estimation and we will seek for such distributed estimation algorithms in the following section.

3. Distributed Unscented Information Filtering Using Consensus Seeking

3.1. Distributed Consensus Based Information Fusion

Distributed consensus filtering algorithms have been proposed as important computational tools in [1316] to make (21) be carried out in a distributed manner by every sensor node. In all these works, the scheme is to update the state of each node according to some weighted linear combination of its own and neighbors' states; however, we know that during the movement of the sensor nodes, the relative distance between sensor nodes and target may change; hence, the target may be out of measurement scope of the sensor node and therefore senor nodes' own information may not be available. To make the algorithms proposed in the aforementioned references be used when one sensor node is out of the scope of measurement, we propose a novel distributed linear iterations with the following form: where is iteration index and is the time step for the information filter. The initial condition for (22) is given as and , respectively. If the th sensor can measure the target at time step , then , otherwise, . In the following subsection, we will analyze the convergence of (22) to deal with the main problem (21) we concerned.

3.2. Convergence Analysis

The matrix form of (22) can be written as where and , , with It can be seen that is a stochastic matrix. Before going on, the following lemmas will be used.

Lemma 1 (see [18]). A nonnegative matrix has the same positive constant row sum , namely, Then is an eigenvalue of with an associated eigenvector and , where denotes the spectral radius. In addition, the eigenvalue of has algebraic multiplicity equal to one, if and only if the graph associated with has a spanning tree. Furthermore, if the graph associated with has a spanning tree and then is the unique eigenvalue of maximum modulus.

Lemma 2 (see [19]). Let be nonnegative and irreducible, and let denote the set of vertices of the directed graph . Denote by the set of lengths of all directed paths in that both start and end at the vertex . Denote by the greatest common divisor of all the lengths in . Then, is primitive if and only if all .

From Lemma 1, it can be seen that the condition in (26) is sufficient for being the unique eigenvalue of maximum modulus. In the following lemma, we show that the condition in (26) can be relaxed.

Lemma 3. Suppose that a nonnegative matrix has the same positive constant row sum . Then, is the unique eigenvalue of maximum modulus if and only if either (1) the graph is strongly connected and all the lengths of cycles in are coprime or (2) the graph is not strongly connected but has a directed spanning tree, and at least one of the root vertices has a self-loop (an example is shown in Figure 1).

Proof. Consider two cases:(i)if is strongly connected, then by Lemma 1, . Furthermore, according to Lemma 2, it can be obtained that is the unique eigenvalue of maximum modulus, if and only if all the lengths of cycles in are coprime;(ii)if is not strongly connected, Lemma 1 implies that is an eigenvalue of and has algebraic multiplicity equal to one, if and only if the graph associated with has a spanning tree. In the following, we will show that if the condition assumed in (2) of Lemma 3 is satisfied, then there will be no other eigenvalues for with modulus .

Sufficiency. By Geršgorin disc theorem, all the eigenvalues of are located in the union of discs given by where , is called the deleted absolute row sums of .

Without loss of generality, label the root vertex as vertex and assume that ; that is, it has a self-loop and the other diagonal entries of can be zero. By (27) and (25) and because , there are at most same discs centering at the origin and having radius . When , it is obviously that and its disc is contained in the discs of radius . As a result, all the eigenvalues of are in the discs of radius and there is only one intersection point on the right axis . This can be shown by contradiction as follows. Assume that there exists a which is different from such that , where is imaginary part. According to Geršgorin theorem, implies that is a boundary point of the discs with radius . Suppose that is an index such that . When , it will be that . As a result, . Due to , we have

In terms of (28), we get

Thus, on one hand, if is any index such that , we must have . On the other hand, we have to show that is a point on the boundary of the discs with radius , which means that is not an interior point of any Geršgorin disc. Therefore, . As a result, for , we get which implies . Since , we have . This means that is in the boundary of the th disc. As a result, if is any index such that , then is in the boundary of the th disc. According to (30), it follows that In (31), if , then . As a result, is in the boundary of th disc. Because there exists at least one spanning tree in , then there is a directed path from the root vertex to any other vertices including the vertex . Thus, a path with length exists, and all the corresponding weighting factors are greater than zero. Using (31), it follows that ; this means that is in the boundary of the th, th, th, , and the th discs. But the radius of the disc is which is smaller than and there is only one intersection point ; see Figure 2. This is a contradiction. Thus, we have that is the unique eigenvalue of maximum modulus. In addition, due to the same sum row of , it is can be derived that is the right eigenvector corresponding to .

Necessity. We prove this part by contraposition. Without loss of generality, we assume that there exists a spanning tree with vertex as its root with the property that it does not have a self-loop; that is, . Suppose that subgraph induced by is the maximal-induced subgraph and itself is a cycle but all vertices in do not have self-loops. Let the vertices in be . Then, there exists a permutation matrix such that where and

Since is maximal, then . Furthermore, is itself a cycle without self-loops, so all diagonal entries of are zeros and zero is one eigenvalue of it. Consider that has a spanning tree, which means that zero is one eigenvalue of . Thus, we know that has at least two zero eigenvalues, which in turn implies that has more than one eigenvalue equal to , which contradicts the assumption. Thus, there must be at least one vertex in that has a self-loop. This completes the proof.

Remark 4. From Lemma 3, it can be seen that if is not strongly connected, then at least one of the root vertices has a self-loop to ensure being the unique eigenvalue of maximum modulus. On the other hand, if is strongly connected, the existence of a self-loop is not necessary, but one vertex having a self-loop is sufficient to guarantee being the unique eigenvalue with maximum modulus. If the graph is strongly connected, then there must be a cycle including all the vertices; that is, a cycle of length exists for every vertex. Furthermore, if there is a vertex having a self-loop, then the cycle of length exists and it is called a trivial cycle. As a result, the cycles of lengths (not passing the loop) and (passing the loop) exist for every vertex. Since and are coprime, by Lemma 2, we have as primitive. If there are loops in , then there are positive diagonal entries in , which means that the cycles of length exist. Using the same discussion above, we have as primitive. In particular, if each vertex has a self-loop, then the result in Lemma 3 reduces to that in [18] (Figure 3).

Based on Lemma 3, the necessary and sufficient conditions on guaranteeing consensus using the designed protocol results are summarized in Theorem 5.

Theorem 5. Let be a fixed interaction topology of a sensor networks. If and only if either (1) is strongly connected and all the lengths of cycles in are coprime (2) or the graph is not strongly connected but has a directed spanning tree and the root vertices (i.e., vertices have directed paths to all other vertices) exist and at least one of them has a self-loop, then the problem (21) we concerned can be solved asymptomatically by using the novel protocol (22).

Proof. When the graph is not strongly connected consider the following. (i)Sufficiency. In (23), the update matrix corresponding to is fixed, and we have Since is a stochastic matrix, by Lemma 3, is the unique eigenvalue of maximum modulus. It can be obtained that is indecomposable and aperiodic (SIA). As a result, there is a constant vector such that which implies Thus, the consensus is achieved.(ii)Necessity. If the root vertex has no self-loop, according to Lemma 3, is not the unique eigenvalue of maximum modulus and consensus cannot be achieved. When the graph is strongly connected, if and only if all the lengths of cycles in are coprime, and is the unique eigenvalue of maximum modulus. Under this condition, the distributed estimation can be achieved by following the similar analysis of the above discussion. The proof is completed.

4. Simulation Results

Consider a target with dynamics with where is the sampling interval and is the corresponding Gaussian motion noise with covariance , while represents the coordinates and the velocities.

A sensor network with three located nodes is used in this simulation (see Figure 4). The nodes make noisy measurement of the distance between target and observing station; that is where is the observed range by th node and is the corresponding Gaussian measurement noise with covariance . is the position of observing station. The initial state of the target is .

Figure 5 shows the truth target trajectory and actual trajectories of the sensor nodes. It can be seen that all the trajectories estimated by the algorithm proposed have good tracking performance for the truth target trajectory. Figure 6 depicts a comparison of root mean square errors (RMSEs) of target position estimation error of each nodes; it can be seen that the target position estimation RMSEs of all nodes are as low as to zero. The consecutive snapshots of errors of target position estimation in -axis and -axis between each node are depicted in Figures 7 and 8; it demonstrates that the estimates by each node can reach consensus states ultimately. Considering the fact that the centralized algorithms are optimal theoretically, we compared the RMSE of target position estimation error between each sensor node and the centralized algorithm in Figure 9. It can be seen that the estimated error of each node is as low as to the centralized algorithm, which shows that the distributed unscented information filter proposed has good performance for tracking the target coordinately in sensor networks.

5. Conclusions

A novel consensus-based distributed unscented information filter for mobile sensor networks is presented in this work, which integrates the unscented information filer and consensus algorithm, as well as a new framework for the consideration of one sensor node being out of the measurement scope of the target to be tracked. A target tracking application by three sensor nodes is employed to illustrate the performance of the proposed algorithm. The simulation results show that the algorithm proposed can be used to coordinated target tracking scenes in sensor networks. As we know, the fusion techniques are only tools being used to process the measured date; however, the quality of the sensed date is the key for the filter algorithm, so how to use the estimated date to drive the sensor nodes coordinately to get high quality dates is important and this could be our ongoing works. Furthermore, issues revolving communication problems among sensor nodes such as switching topologies (time-varying network topologies) and time delays pose many challenging problems that warrant further research.

Acknowledgments

This work was supported by the National Natural Science Foundation of China via Grant 51209175 and NPU Foundation for Fundamental Research via Grant NPU-FFR-201229.

References

  1. A. Dhariwal, G. S. Sukhatme, and A. A. G. Requicha, “Bacterium-inspired robots for environmental monitoring,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '04), vol. 2, pp. 1436–1443, May 2004. View at: Google Scholar
  2. A. Lilienthal, H. Ulmer, H. Fröhlich, A. Stützle, F. Werner, and A. Zell, “Gas source declaration with a mobile robot,” in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '04), vol. 2, pp. 1430–1435, May 2004. View at: Google Scholar
  3. D. V. Zarzhitsky, D. F. Spears, and D. R. Thayer, “Experimental studies of swarm robotic chemical plume tracing using computational fluid dynamics simulations,” International Journal of Intelligent Computing and Cybernetics, vol. 3, no. 4, pp. 631–671, 2010. View at: Publisher Site | Google Scholar | MathSciNet
  4. R. Cui, B. Gao, and J. Guo, “Pareto-optimal coordination of multiple robots with safety guarantees,” Autonomous Robots, vol. 32, no. 3, pp. 189–205, 2012. View at: Publisher Site | Google Scholar
  5. R. Cui, B. Ren, and S. S. Ge, “Synchronised tracking control of multi-agent system with high-order dynamics,” IET Control Theory and Applications, vol. 6, no. 5, pp. 603–614, 2012. View at: Publisher Site | Google Scholar | MathSciNet
  6. C.-Y. Chong, S. Mori, W. H. Barker, and K.-C. Chang, “Architectures and algorithms for track association and fusion,” IEEE Aerospace and Electronic Systems Magazine, vol. 15, no. 1, pp. 5–13, 2000. View at: Publisher Site | Google Scholar
  7. Q. Gan and C. J. Harris, “Comparison of two measurement fusion methods for kalman-filter-based multisensor data fusion,” IEEE Transactions on Aerospace and Electronic Systems, vol. 37, no. 1, pp. 273–279, 2001. View at: Publisher Site | Google Scholar
  8. H. R. Hashemipour, S. Roy, and A. J. Laub, “Decentralized structures for parallel kalman filtering,” IEEE Transactions on Automatic Control, vol. 33, no. 1, pp. 88–94, 1988. View at: Publisher Site | Google Scholar
  9. H. Durrant-Whyte, “A beginners guide to decentralised data fusion,” Tech. Rep., Australian Centre for Field Robotics, University of Sydney, Sydney, Australia, 2000. View at: Google Scholar
  10. D. P. Spanos, R. Olfati-Saber, and R. M. Murray, “Distributed sensor fusion using dynamic consensus,” in Proceedings of the 16th IFAC World Congress, 2005. View at: Google Scholar
  11. R. Olfati-Saber, “Distributed Kalman filter with embedded consensus filters,” in Proceedings of the 44th IEEE Conference on Decision and Control, and the European Control Conference (CDC-ECC '05), pp. 8179–8184, December 2005. View at: Publisher Site | Google Scholar
  12. R. Olfati-Saber, “Distributed Kalman filtering for sensor networks,” in Proceedings of the 46th IEEE Conference on Decision and Control (CDC '07), pp. 5492–5498, December 2007. View at: Publisher Site | Google Scholar
  13. R. Olfati-Saber, “Kalman-consensus filter: optimality, stability, and performance,” in Proceedings of the 48th IEEE Conference on Decision and Control Held Jointly with the 28th Chinese Control Conference (CDC/CCC '09), pp. 7036–7042, December 2009. View at: Publisher Site | Google Scholar
  14. D. W. Casbeer and R. Beard, “Distributed information filtering using consensus filters,” in Proceedings of the American Control Conference (ACC '09), pp. 1882–1887, June 2009. View at: Publisher Site | Google Scholar
  15. W. Li and Y. Jia, “Consensus-based distributed information filter for a class of jump Markov systems,” IET Control Theory and Applications, vol. 5, no. 10, pp. 1214–1222, 2011. View at: Publisher Site | Google Scholar | MathSciNet
  16. W. Li and Y. Jia, “Consensus-based distributed multiple model ukf for jump Markov nonlinear systems,” IEEE Transactions on Automatic Control, vol. 57, no. 1, pp. 230–236, 2012. View at: Publisher Site | Google Scholar | MathSciNet
  17. S. Julier, J. Uhlmann, and H. F. Durrant-Whyte, “A new method for the nonlinear transformation of means and covariances in filters and estimators,” IEEE Transactions on Automatic Control, vol. 45, no. 3, pp. 477–482, 2000. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  18. W. Ren and R. W. Beard, “Consensus seeking in multiagent systems under dynamically changing interaction topologies,” IEEE Transactions on Automatic Control, vol. 50, no. 5, pp. 655–661, 2005. View at: Publisher Site | Google Scholar | MathSciNet
  19. R. A. Horn and C. R. Johnson, Matrix Analysis, Cambridge University Press, Cambridge, Mass, USA, 1990. View at: MathSciNet

Copyright © 2013 Yintao Wang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

631 Views | 492 Downloads | 4 Citations
 PDF  Download Citation  Citation
 Download other formatsMore
 Order printed copiesOrder