sensors Article

A Localization Method for Underwater Wireless Sensor Networks Based on Mobility Prediction and Particle Swarm Optimization Algorithms Ying Zhang 1 , Jixing Liang 1 , Shengming Jiang 1 and Wei Chen 2, * 1 2

*

College of Information Engineering, Shanghai Maritime University, Shanghai 201306, China; [email protected] (Y.Z.); [email protected] (J.L.); [email protected] (S.J.) Department of Computer Science, Tennessee State University, Nashville, TN 37209, USA Correspondence: [email protected]; Tel.: +1-615-963-5878; Fax: +1-615-963-5847

Academic Editor: Jaime Lloret Mauri Received: 27 December 2015; Accepted: 3 February 2016; Published: 6 February 2016

Abstract: Due to their special environment, Underwater Wireless Sensor Networks (UWSNs) are usually deployed over a large sea area and the nodes are usually floating. This results in a lower beacon node distribution density, a longer time for localization, and more energy consumption. Currently most of the localization algorithms in this field do not pay enough consideration on the mobility of the nodes. In this paper, by analyzing the mobility patterns of water near the seashore, a localization method for UWSNs based on a Mobility Prediction and a Particle Swarm Optimization algorithm (MP-PSO) is proposed. In this method, the range-based PSO algorithm is used to locate the beacon nodes, and their velocities can be calculated. The velocity of an unknown node is calculated by using the spatial correlation of underwater object’s mobility, and then their locations can be predicted. The range-based PSO algorithm may cause considerable energy consumption and its computation complexity is a little bit high, nevertheless the number of beacon nodes is relatively smaller, so the calculation for the large number of unknown nodes is succinct, and this method can obviously decrease the energy consumption and time cost of localizing these mobile nodes. The simulation results indicate that this method has higher localization accuracy and better localization coverage rate compared with some other widely used localization methods in this field. Keywords: underwater wireless sensor networks; mobility patterns; localization; mobility prediction; particle swarm optimization

1. Introduction The marine economy has witnessed rapid development recently, and marine rights and interests are receiving more and more attention in many countries, therefore research on UWSNs has developed quickly, providing basic technical support to many application fields, such as ocean environment monitoring, resource exploration, natural disaster warning and military defense [1]. Besides the basic characteristics of ordinary WSNs, like large-scale deployment and limited energy, underwater WSNs have some differences with terrestrial ones. First, underwater communication can only be realized by acoustic signals, which have a lower bandwidth and higher error rates. Second, the scale of node deployment in underwater environments is larger and the beacon nodes are sparser. In addition, because of water currents, there is the non-negligible node mobility which may cause frequent changes to the network topology [2,3]. The localization of mobile nodes is important and necessary for underwater sensor networks. In the marine military defense area, the identification and tracking of the intrusion objects must rely on the nodes’ location. It can also be used for animal tracking in the underwater environment, where Sensors 2016, 16, 212; doi:10.3390/s16020212

www.mdpi.com/journal/sensors

Sensors 2016, 16, 212

2 of 17

the localization of mobile nodes can help researchers to determine marine animals’ locations and Sensors 2016, 16, 212 2 of 16 movements easily, and in particular mobile nodes can extend the tracking area and better realize real-time tracking. ofInmobile marine environmental monitoring, the detection area is usually the localization nodes can help researchers to determine marine animals’ locationsvery and large and movements dynamic. With random mobility, the sensor nodes could realize the monitoring of the easily, and in particular mobile nodes can extend the tracking area and better realizewhole area.real-time In this process, localization of mobile nodes is the necessary forarea identifying theand polluted tracking. the In marine environmental monitoring, detection is usually where very large areasdynamic. will be. With In addition, the path-planning and the coverage optimization underwater random mobility, the sensor nodes could realize the monitoringof of the whole area. Innodes thisbe process, thewithout localization mobile nodes is necessary for identifying where the polluted areas and cannot realized the of localization of the mobile nodes [4,5]. The information collection will be. In addition, the path-planning and the coverage optimization of the underwater nodes transmission are realized by the sensor nodes, and the relevant data without location will make no cannot belocalization realized without the localization of the has mobile nodes [4,5]. The information collectionand andfocus. sense, so the of mobile sensor nodes gradually become a research hotspot transmission are realized by the sensor nodes, and the relevant data without location will make no However, the characteristics of UWSN described above present great difficulties and challenges sense, so the localization of mobile sensor nodes has gradually become a research hotspot and focus. to the localization of underwater mobile nodes in a large-scale network. Acoustic communication has However, the characteristics of UWSN described above present great difficulties and challenges a bigger propagation lower bandwidth andinhigher error rate compared to radio communication. to the localization delay, of underwater mobile nodes a large-scale network. Acoustic communication Thishas imposes more limits on any localization algorithm. The algorithms based on transmission of a bigger propagation delay, lower bandwidth and higher error rate compared to radio tremendous amounts of imposes data or higher real-time communication requirements will notbased be applicable communication. This more limits on any localization algorithm. The algorithms on in this kind of circumstance. Inamounts addition, nodes makes the topology change frequently. transmission of tremendous of the datamobility or higherofreal-time communication requirements will be applicable in this for kindstatic of circumstance. In addition, of nodes makes theperiodically topology The not algorithms designed networks need to runthe themobility localization procedure to change frequently. The algorithms designed for static networks need to run the localization update the nodes’ location, which may cause more energy consumption for communication in an procedureenvironment. periodically toMoreover, update thethe nodes' location, which may cause more energy underwater batteries of underwater sensor nodes canconsumption almost never be for communication in an underwater environment. Moreover, the batteries of underwater sensor replaced and the energy is strictly limited, so under normal circumstances, it is difficult to achieve nodes can almost never be replaced and the energy is strictly limited, so under normal higher localization accuracy and localization coverage rate in an underwater environment [6,7]. circumstances, it is difficult to achieve higher localization accuracy and localization coverage rate in Asunderwater shown in Figure 1, surface an environment [6,7].buoys equipped with GPS can obtain their locations. The number of beacon nodes is much less than the number of unknown nodes. Beacon nodes have more energy and As shown in Figure 1, surface buoys equipped with GPS can obtain their locations. The number theirofcommunication radius is about 200 m, so they can communicate directly with the buoys and have beacon nodes is much less than the number of unknown nodes. Beacon nodes have more energy their communication radius beacon is aboutnodes 200 m,have so they canhardware communicate directly with the buoys moreand neighbor nodes. In addition, more resources and better computing andcompared have moretoneighbor nodes. In addition, have more hardware resources ability unknown nodes, so they beacon can usenodes range-based localization methods.and Thebetter unknown abilitycheaper compared toone unknown nodes, so they range-based localization methods. nodecomputing are relatively and does not want themcan to use waste their energy. The communication Theofunknown node are relatively cheaper one it does not want them to waste their radius an unknown node is about 100 and m and cannot communicate with theenergy. buoysThe directly. communication radius of an unknown node is about 100 m and it cannot communicate with the Typically, it can only connect to its local (usually one-hop) neighbors. With local information exchange buoys directly. Typically, it can only connect to its local (usually one-hop) neighbors. With local among themselves and nearby beacon nodes, the unknown nodes can achieve local positioning so as information exchange among themselves and nearby beacon nodes, the unknown nodes can achieve to effectively participate the network activities. local positioning so as in to effectively participate in the network activities.

Surface buoys

Beacon nodes

Unknown nodes

Figure Schematic diagram diagram of model of an Figure 1. 1.Schematic ofthe themonitoring monitoring model of UWSN. an UWSN.

Aiming at the special environment of UWSN and the difficulties in mobile node localization, we Aimingaatmethod the special of prediction UWSN and the difficulties in First mobile localization, propose basedenvironment on the mobility and PSO algorithms. we node measure the we propose methodthe based onnodes the mobility prediction PSO algorithms. First we measure the distancesabetween beacon and buoys, and locateand the beacon nodes by using a range-based PSO algorithm has a nodes relativeand high accuracy. the location at two time distances between which the beacon buoys, and According locate the to beacon nodes results by using a range-based points, we can calculate the velocity of beacon nodes in the last instant. The velocities of thepoints, PSO algorithm which has a relative high accuracy. According to the location results at two time unknown nodes can be estimated by the velocity information of beacon nodes within thenodes we can calculate the velocity of beacon nodes in the last instant. The velocities of the unknown communication scope and the spatial correlation of underwater objects, and then the location of the can be estimated by the velocity information of beacon nodes within the communication scope and unknown nodes for the next moment can be predicted by the mobility prediction method. the spatial correlation of underwater objects, and then the location of the unknown nodes for the Considering the higher energy consumption a the range-based algorithm, we just use it to locate the next moment can be predicted by the mobility prediction method. Considering the higher energy beacon nodes, whose number is far fewer compared to the unknown nodes, and on this basis, the

consumption a the range-based algorithm, we just use it to locate the beacon nodes, whose number is

Sensors 2016, 16, 212

3 of 17

far fewer compared to the unknown nodes, and on this basis, the localization of the unknown nodes can achieve a relatively high-accuracy result with fine instantaneity by the mobility prediction method. Sensors 2016, 16, 212 3 of 16 The rest of this article is organized as follows: in Section 2, some background knowledge and related worklocalization on nodes localization are introduced. in Section 3, wehigh-accuracy describe the result MP-PSO method of the unknown nodes can Then, achieve a relatively with fine in detail.instantaneity Section 4 isby thethe simulation and results analysis, and finally we conclude the paper in Section 5. mobility prediction method. The rest of this article is organized as follows: in Section 2, some background knowledge and related work on nodes localization are introduced.

2. Related Works Then, in Section 3, we describe the MP-PSO method in detail. Section 4 is the simulation and results analysis, and finally we conclude the paper in Section 5.

Localization methods for wireless sensor networks can be divided into two types: range-based and range-free methods. The range-based methods such as the received signal strength indicator 2. Related Works (RSSI), time difference of arrival (TDOA) and time of arrival (TOA) use hardware to measure the Localization methods for wireless sensor networks can be divided into two types: range-based distance information. These kinds of method have a higher accuracy, but they increase the network cost and range-free methods. The range-based methods such as the received signal strength indicator and energy consumption [8]. The range-free methods use the connectivity of the network to locate the (RSSI), time difference of arrival (TDOA) and time of arrival (TOA) use hardware to measure the unknown nodes. The typical range-free methods mainly include the DV-HOP, Convex Programming distance information. These kinds of method have a higher accuracy, but they increase the network and Centroid Localization algorithm. These methods have no additional hardware requirements, cost and energy consumption [8]. The range-free methods use the connectivity of the network to and they have energy consumption and shorter positioning butthe their accuracy is usually locate the lower unknown nodes. The typical range-free methods mainlytime, include DV-HOP, Convex and Centroid Localization algorithm. These methods have no additional hardware lowerProgramming [9]. requirements, and researches they have lower energy consumption and shorterInpositioning time, but proposed their There are many on terrestrial nodes localization. [10] the authors accuracy is usually lower [9]. a range-free localization algorithm based on a sequential Monte Carlo localization method. It can There are researches on terrestrial nodes localization. In [10] the authors proposed a exploit mobility to many improve the localization accuracy. In [11], a Monte Carlo localization algorithm range-free localization algorithm based on a sequential Monte Carlo localization method. It can with mobility prediction (MCL-MP) was proposed, and it can further improve the accuracy by using exploit mobility to improve the localization accuracy. In [11], a Monte Carlo localization algorithm prediction and filtering for the unknown nodes based on dynamic sampling. with mobility prediction (MCL-MP) was proposed, and it can further improve the accuracy by using Studies onand thefiltering localization underwater mobile nodes always face some challenges, and most prediction for theofunknown nodes based on dynamic sampling. of them were designed for small-scale networks. Fornodes example, GPS Buoysand (GIB) based Studies on the localization of underwater mobile always faceIntelligent some challenges, most on surface buoys one-hop communication under the water have been proposed. This approach of them were and designed for small-scale networks. For example, GPS Intelligent Buoys (GIB) based on buoys and one-hop communication underand the water have This aapproach has has a surface high accuracy but the hardware is complex the cost is been highproposed. [12]. In [13], so-called Silent a high accuracy but the hardware is complex and the cost is high [12]. In [13], a so-called Silent Localization algorithm was proposed, which does not need time synchronization and is applicable to Localization algorithm was proposed, which need time synchronization is applicable one-hop underwater networks. In addition, in does [14], not a Scalable Localization withand Mobility Prediction to one-hop underwater networks. In addition, in [14], a Scalable Localization with Mobility (SLMP) method was proposed, and it is closer to localization in an actual environment. The SLMP Prediction (SLMP) method was proposed, and it is closer to localization in an actual environment. algorithm has two stages to locate the unknown nodes. First, the velocity of beacon nodes will be The SLMP algorithm has two stages to locate the unknown nodes. First, the velocity of beacon nodes estimated by the Durbin algorithm to perform the online linear prediction. The unknown nodes are will be estimated by the Durbin algorithm to perform the online linear prediction. The unknown then located by then usinglocated the mobility prediction basedprediction on the spatial of sensor nodes. of nodes are by using the mobility basedcorrelation on the spatial correlation A three-dimensional deployment space is another important characteristic of UWSNs. In [15], sensor nodes. an efficientA localization scheme which canspace transform the three-dimensional localization problem three-dimensional deployment is another important characteristic of UWSNs. In [15],into a an efficient localization scheme can transform the was three-dimensional localization problem into map two-dimensional counterpart via awhich projection technique proposed; it can make all the nodes two-dimensional counterpart via ainformation projection technique was proposed; it can make all the nodes to theasame plane. Because the depth can be obtained by a pressure sensor, this scheme map to the same plane. Because the depth information can be obtained by a pressure sensor, this not only makes the two-dimensional localization algorithm apply in the three-dimensional space, but scheme not only makes the two-dimensional localization algorithm apply in the three-dimensional also simplifies the amount of calculation for three-dimensional localization, and reduces the energy space, but also simplifies the amount of calculation for three-dimensional localization, and reduces consumption of the process. In this paper, we also use this method to project the nodes on a certain the energy consumption of the process. In this paper, we also use this method to project the nodes on plane,a and only consider the velocity of the nodes in two orthotropic directions. The principle of this certain plane, and only consider the velocity of the nodes in two orthotropic directions. The method is shown in method Figure 2. principle of this is shown in Figure 2. Surface

A6' A2'

A1'

x

A1

A5'

A6

A3' A4' Real location

A2

Projection location

A4

A5 A3

Figure 2. A schematicdiagram diagram of Figure 2. A schematic of the theprojection projectionmethod. method.

Sensors 2016, 16, 212

4 of 17

As shown in Figure 2, A1 –A6 are sensor nodes in an underwater networks. We project them to the water surface and the corresponding locations are A1 '–A6 '. Then we only need to locate the Sensors 2016,surface 16, 212 plane, and the final location can be obtained by simply adding the respective 4 of 16 nodes in the depth information. As shown in Figure 2, A1–A6 are sensor nodes in an underwater networks. We project them to the water surface and the corresponding locations are A1'–A6'. Then we only need to locate the nodes 3. MP-PSO Localization Method in the surface plane, and the final location can be obtained by simply adding the respective depth The proposed MP-PSO method is a type of multi-step localization algorithm, and it can be divided information.

into the beacon node localization and the unknown node localization. The beacon nodes are located by 3. MP-PSO Localization Method measuring the distances from the nodes to the buoys on the water surface with the range-based PSO algorithm, and it can achieve higher localization accuracy. The locations of unknown The proposed MP-PSOa method is a type of multi-step localization algorithm, and itnodes can bein the next divided momentinto canthe bebeacon predicted estimating the of movement of the unknown nodeby localization and thespeed unknown node localization. The beaconnodes. nodes are located by measuring the distances from the nodes to the buoys on the water surface with the

3.1. The Node Mobility Model range-based PSO algorithm, and it can achieve a higher localization accuracy. The locations of unknown nodes in the next moment can be predicted by estimating the speed of movement of the

Research shows that the mobility of underwater object is influenced by water current, temperature unknown nodes. and some other factors [16], so we cannot use a unified model to describe the nodes mobility for all environments. However, under a specific environment, the nodes mobility is not completely random, 3.1. The Node Mobility Model so we can establish a specific mobility model for this specific environment according to the temporal Research shows that the mobility of underwater object is influenced by water current, and spatial correlation. Nowadays the UWSN is mainly used in seashore environment, where the temperature and some other factors [16], so we cannot use a unified model to describe the nodes watermobility is relatively usuallyHowever, it is less under than 100 m, andenvironment, the water current is relatively flat, for allshallow, environments. a specific the nodes mobility is notso the nodes’ mobility situation is not complex. In addition, the underwater nodes’ mobility in seashore completely random, so we can establish a specific mobility model for this specific environment area has an obvious namely it demonstrates a certain semiisperiodic property because of according to the characteristic, temporal and spatial correlation. Nowadays the UWSN mainly used in seashore where the water is relatively shallow, usually it is less than 100 m, and the water tidesenvironment, [17]. current so the nodes’ situation is notwas complex. In addition, underwater In [14], isa relatively mobility flat, model based on mobility the Euler algorithm proposed, whichthe takes the seashore nodes’ mobility in seashore area has an obvious characteristic, namely it demonstrates a certain semi environment as the application background. It assumes the flow velocity field is superposed by the periodic property because of tides [17]. tidal field and the remnant flow field. The tidal field is assumed to be oscillating homogeneously in In [14], a mobility model based on the Euler algorithm was proposed, which takes the seashore one direction, and the remnant flow field is assumed to be an infinite sequence alternately rotating environment as the application background. It assumes the flow velocity field is superposed by the clockwise andand anticlockwise turns. velocity field in the kinematical model tidal field the remnantby flow field.The Thedimensionless tidal field is assumed to be oscillating homogeneously in can be approximated as: one direction, and the remnant flow field is assumed to be an infinite sequence alternately rotating clockwise and anticlockwise by turns. The dimensionless velocity field in the kinematical model can Vxptq be approximated as: “ k 1 ¨ λ ¨ v ¨ sinpk 2 ¨ xq ¨ cospk 3 ¨ yq ` k 1 ¨ λ ¨ cosp2k 1 ¨ tq ` k 4

(1)

Vx(t )  kVyptq  sin(  cos(2k¨3xq  y¨)sinpk  k1 3¨ yqcos(2 1    v“ ´λk¨2 v x¨ )cospk ` k5k1  t )  k4

(2)

(1)

Vydirection (t )    vand  cos( k2is xthe )  sin( k3  yof ) the k5 Y axis direction, λ is the(2)ratio of where Vx is the speed of the X axis Vy speed tidal excursion and the diameter of the remnant vortex. Here, λ, k1 , k2 , k3 and v are related to factors where Vx is the speed of the X axis direction and Vy is the speed of the Y axis direction, λ is the ratio like tides, temperature and and k5 and k4 arevortex. random variables. values of these parameters of tidal excursion and thesalinity, diameter of the remnant Here, λ, k1, k2, kThe 3 and v are related to factors are set the simulation part this paper. the velocity variation of anofunderwater likeintides, temperature andof salinity, and Figure k5 and 3k4shows are random variables. The values these objectparameters with timeare in set a typical seashore environment. in the simulation part of this paper. Figure 3 shows the velocity variation of an underwater object with time in a typical seashore environment. 10

3

8

2.5 2

6

1.5

Vy(m/s)

Vx(m/s)

4 2 0 -2

1 0.5 0 -0.5

-4

-1

-6

-1.5

-8

-2 10

20

30

40

50 Time(s)

60

70

80

90

(a) Velocity perpendicular to the coast

100

10

20

30

40

50 Time(s)

60

70

80

(b) Velocity along the coast

Figure 3. Mobility patterns of an underwater object in a seashore environment. Figure 3. Mobility patterns of an underwater object in a seashore environment.

90

100

Sensors 2016, 16, 212

5 of 17

This model is designed for the seashore environment, so it can evaluate the mobility of nodes whose velocity is relatively constant. As shown in Figure 3, the velocity in the two directions has an obvious semiperiodic property and temporal correlation, which can guarantee the practicability of mobility prediction of the unknown nodes’ localization in the water environment. 3.2. Propagation Loss Model for Submarine Sound Signal In an underwater acoustic communication channel, the strength of a signal received by the unknown nodes: Sr can be calculated as Equation (3). St is the strength of the signal transmitted by beacon nodes. A(d,f ) is the total attenuation for the acoustic signal in the transmission procedure: Sr “ St ´ Apd, f q

(3)

Influenced by the environmental factors, the transmission attenuation A(d,f ) is the sum of the extended losses and the absorption losses: Apd, f q “ dδ ¨ αd ; α “ 10αp f q{10

(4)

where, d is the transmission distance, α is the absorption coefficient, and δ is the attenuation coefficient (generally valued as 1 < δ < 2). α(f ) is absorption loss, it can be approximately estimated based on Thorp algorithm [18], and it can be calculated as Equation (5): αp f q “ 0.11

f2 f2 ` 44 ` 2.75 ˆ 10´4 f 2 ` 0.003 1 ` f2 4100 ` f 2

(5)

where, f is the frequency of transmission signal of the nodes. Referring to the frequency of underwater network nodes widely used currently, the frequency can be set as 50 kHz, and the transmission power can be set as 2 W, namely 33 dBm [19]. 3.3. Localization of Beacon Nodes The swarm search strategy has the feature of adaptive optimization and the PSO algorithm is an efficient method which can realize accurate range-based localization for WSNs. The authors of [20] proposed a distributed node localization method on the basis of a multivariable optimization algorithm based on biogeography and the Particle Swarm Optimization algorithm, which can effectively improve the localization accuracy of the nodes. In [21], a binary Particle Swarm Optimization algorithm for distributed node localization in WSNs was proposed. Each unknown node performs localization by the measurement of distances from three or more neighbor beacon nodes to the unknown node. The nodes which already determined their locations will be regarded as the reference nodes for the residual nodes, and they will be involved in the subsequent localization procedure. Considering the defect that the traditional PSO algorithm can easily fall into a local minimum and has lower convergence speed [22], in this paper, an inertia weight with Gaussian function decline and competition mechanism are adopted to improve the search ability, convergence speed and execution efficiency of the PSO. The improved PSO algorithm can realize the accurate localization of beacon nodes by the following steps: Step 1:

Initialize the population. The number of particles is Pnum. Calculate the fitness of each particle in Equation (6). The individual extremum is denoted as Pi t , and the global extremum is denoted as Pg t . ˇ H ˇb ˇ 1 ÿ ˇˇ 2 2 f ptq “ px ´ xi q ` py ´ yi q ´ li ˇˇ (6) ˇ H i“1

Sensors 2016, 16, 212

6 of 17

where, H is the number of effective buoys, (x, y) is the two-dimensional coordinate of beacon node, (xi , yi ) is the coordinate of buoy, and li is the distance from this beacon node to every buoy. Step Sensors 2: Calculate the inertia weight with Equation (7), and update the position and velocity with 2016, 16, 212 6 of 16 Equations (8) and (9). Step 2: Calculate the inertia weight with Equation (7), and update the position and velocity with t2 Equations (8) and (9). ` wmin s (7) wptq “ pwmax ´ wmin qexpr´ 2 t pk ` tmax q2 w(t )  ( wmax  wmin ) exp[  wmin ] (7) (k  tmax )2

V t`1 “ V t ` c1 r1 pPit ´ Xit q t` c2 rt2 pPgt ´ Xit q (8) Vi t 1 i Vi t  c1r1i( Pi t  X it )  c2r2 ( Pg  X i ) (8) X t`1 “ Xit ` Vit`1 (9) X it 1  iX it  Vi t 1 (9) where, t is the iterations, c1 and c2 are the learning factors. r1 and r2 are the random numbers where, t is the iterations, c1 and c2 are thet learning factors. r1 and r2 are the random numbers uniformly distributed in (0,1). c1 r1 pPi ´ Xit q and c2 r2 pPgt ´ Xit q are the evolutions of a particle uniformly distributed in (0,1). c1r1(Pit  X it ) and c2 r2 ( Pgt  X it ) are the evolutions of a particle towards the local optimum and global optimum, respectively, and they can be regarded as towards the local optimum and global optimum, respectively, and they can be regarded as the the variation of velocity updated by theparticle in this iteration. variation of velocity updated by theparticle in this iteration. Step 3: Calculate the fitness of each particle and get the average fitness, then update the individual t fitness of each particle and tget the average fitness, then update the individual Step 3: CalculatePthe extremum i and the global extremum Pg . Eliminate the particles whose fitness is larger than t extremum and the global extremum Pg . Eliminate the particles whose fitness is larger Pi tfitness. double average Step 4: Judge it satisfies the condition: Pg t < ε (ε is the threshold of position error) or t = tmax . thanwhether double average fitness. Step 4: Judge whether it satisfies the condition: gt < 5, ε (ε of position If one of the condition is satisfied, turn to PStep or ist =the t +threshold 1, and turn to Step 2.error) or t = t max. If one of the condition is satisfied, turn to Step 5, or t = t + 1, and turn to Step 2. Step 5: Output the global optimal solution, and get the coordinates of the beacon nodes. Step 5: Output the global optimal solution, and get the coordinates of the beacon nodes.

3.4. Localization of Unknown Nodes

3.4. Localization of Unknown Nodes

Because the communication and computation ability of the underwater unknown nodes is limited, Because the communication and computation ability of the underwater unknown nodes is it is too difficult for them to perform the range-based localization algorithm. In this paper, by the limited, it is too difficult for them to perform the range-based localization algorithm. In this paper, proposed use the and spatial of the of underwater objects to by theMP-PSO proposedmethod, MP-PSOwe method, wetemporal use the temporal and correlation spatial correlation the underwater realize the unknown nodes’ mobility prediction. objects to realize the unknown nodes’ mobility prediction. 3.4.1.3.4.1. The The Calculation of of Beacon Nodes’ Calculation Beacon Nodes'Velocity Velocity The The range-based localization moreenergy energyand and computation. In real practical range-based localizationalgorithm algorithm needs needs more computation. In real practical applications, number beaconnodes nodesin in real real networks less. These nodes havehave ratherrather applications, the the number of of beacon networksisisrelatively relatively less. These nodes strong computational ability and more energy, socan they the localization algorithm strong computational ability and more energy, so they runcan the run localization algorithm periodically periodically to get their velocities of the previous time points. to get their velocities of the previous time points. Nt1(x1,y1) Nt3(x3,y3)

Vt1×T Nt2(x2,y2) Vt2×T

y o

x

Figure 4.4.The ofbeacon beaconnodes' nodes’ velocity. Figure Thecalculation calculation of velocity.

As shown in Figure 4, the beacon node N moves from Nt1 to Nt2 and then to Nt3, and the position As shown in Figure 4, the beacon node N moves from Nt1 to Nt2 and then to Nt3 , and the position offsets of the two movements are Vt1 × T and Vt2 × T respectively. The coordinates of N at t1 and t2 can offsets of the two movements are Vt1 ˆ T and Vt2 ˆ T respectively. The coordinates of N at t1 and t2 be obtained by the PSO algorithm, and then the velocity at t1 for the beacon node can be calculated can be obtained by the PSO algorithm, and then the velocity at t1 for the beacon node can be calculated by Equation (10):

by Equation (10):

y y2 ´ yy x2x ´ xx v x v“x  2 11 ;; v yy “ 2 1 1 TT TT

(10)

where T is the localization period, and the value of T may affect the localization result. Namely, if the value of T is too large, the estimation of the velocity of the beacon node may be imprecise. The instantaneity of velocity for the underwater object is strong, so if we use the velocity at a certain time

(10)

Sensors 2016, 16, 212

7 of 17

where T is the localization period, and the value of T may affect the localization result. Namely, if the value of T is too large, the estimation of the velocity of the beacon node may be imprecise. Sensors 2016, 16, 212 16 The instantaneity of velocity for the underwater object is strong, so if we use the velocity at7 of a certain time to represent the velocity of a period in the past, it may cause large errors. On the other hand, if to represent the velocity of a period in the past, it may cause large errors. On the other hand, if the T the Tvalue valueis is too small, localization algorithm running frequency will be too high, too small, the the localization algorithm running frequency will be too high, which maywhich cause may causemore more energy consumption computational overhead. energy consumption and and computational overhead. 3.4.2.3.4.2. The The Calculation of Unknown Calculation of UnknownNodes’ Nodes'Velocity Velocity The beacon nodes broadcast a apacket aftergetting getting their velocities, the packet The beacon nodes broadcast packetin inthe the network network after their velocities, and and the packet contains the identity, velocity and timeidentification identification information. Time identification represents the the contains the identity, velocity and time information. Time identification represents moment of positioning for this node. Since nodes cannot completetheir theirpositioning positioningat atthe the same moment of positioning for this node. Since all all thethe nodes cannot complete time, the referenced nodes selected be in the same positioning round as the unknown time,same the referenced nodes selected shouldshould be in the same positioning round as the unknown nodes, nodes, that is to say they should have the same time identification. The unknown node W receives that is to say they should have the same time identification. The unknown node W receives the packets the packets from different beacon nodes, and it will sign the beacon node which has the same time from different beacon nodes, and it will sign the beacon node which has the same time identification identification as a referenced node. Finally the list of reference nodes will be set up, and it includes as a referenced node. Finally the list of reference nodes will be set up, and it includes the identity, the identity, velocity, time identification information, and the received signal strength. The velocity, time identification information, thevelocity received signal strength. unknown node W can then calculate its and mobile with Equation (11): The unknown node W can then calculate its mobile velocity with Equation (11):



 

 i 1 iwvx (i) x w) #  v( ř vx pwq “ iM M 1 ς iw v x piq “  ř i 1 iwv y (i) y w) yv( v pwq “ iM “1 ς iw vy piq M

(11)

(11)

where, M is the number of referenced nodes, ςiw is the weight of referenced nodes, and it can be

where, M is the referenced nodes, σiw is the weight of referenced nodes, and it can be calculated bynumber Equationof (12): calculated by Equation (12): r  iw“ ř rMiwiw ς iw (12) (12) M i“i 11riwriw where, iw issignal the signal strength received the referenced node by unknown node W. This where, riw isrthe strength received fromfrom the referenced node i byi unknown node W. This method method can decrease the errors of the referenced nodes which are far away from node W, and can decrease the errors of the referenced nodes which are far away from node W, and make make the the velocity of Wclose moreto close thevalue. real value. Considering beaconnodes nodesare arerelatively relatively sparse velocity of W more the to real Considering thethe beacon sparseinin the the underwater networks, we adopt a cooperative mechanism to calculate the velocity of the underwater networks, we adopt a cooperative mechanism to calculate the velocity of the unknown unknown nodes. The unknown nodes which already get their velocities can be taken as the new nodes. The unknown nodes which already get their velocities can be taken as the new reference nodes. reference nodes. The principle of this method is shown in Figure 5. The principle of this method is shown in Figure 5.

Beacon N4 Beacon N1 Unknown W1 Unknown W2 Beacon N3

Beacon N2

Unknown nodes Beacon nodes

Figure Thecalculation calculation of velocity. Figure 5. 5.The of unknown unknownnodes' nodes’ velocity.

As shown in Figure 5, the unknown node W1 calculates its velocity using beacon nodes N1, N2

As Figure 5, the unknown node W1 calculates its velocity beacon nodes N1 , N2 andshown N3, andinthen W1 broadcasts a packet containing the identity, velocityusing and time identification and N , and then W broadcasts a packet containing the identity, velocity and time identification 3 1 unknown node W2 can calculate its velocity by using beacon nodes N3, N4, N5 and information, so the information, so the unknown node W2 can calculate its velocity by using beacon nodes N3 , N4 , N5 and the unknown node W1 as the reference nodes. The velocities of the unknown nodes have relatively more errors, especially when the new the unknown node W1 as reference nodes. referenced nodes far away from have the unknown will cause larger error accumulation. In The velocities of are unknown nodes relativelynode, moreit errors, especially when the new referenced order to further decrease the error, the unknown node will distribute a confidence coefficient to each nodes are far away from the unknown node, it will cause larger error accumulation. In order to further

Sensors 2016, 16, 212

8 of 17

decrease the error, the unknown node will distribute a confidence coefficient to each referenced node. We sort the referenced nodes according to their confidence coefficient from the biggest to the smallest, and select the first M nodes of among them to participate in the velocity calculation. According to Equations (11) and (12), we can know that the number of referenced nodes can affect the velocity calculation. If the value of M is too small, the velocity of the unknown nodes will be calculated by only a few nodes, which cannot take full use of the spatial correlation of underwater objects’ mobility. On the other hand, if the value of M is too large, the nodes which are far away from the unknown node will be involved in the velocity calculation, and it will cause large errors, so the value of M is determined by the number of all the nodes and the proportion of beacon nodes in the network. The confidence coefficient can be calculated by Equation (13): ηiw “

riw rwmax

´ 0.05k ´ 0.1r

(13)

where, riw is the signal strength received from reference node i by unknown node W, rwmax is the maximum of riw , k is the number of unknown nodes which are involved in the calculation of the velocity for this reference node, and r is the times that the node is taken as the reference node. As an example in Figure 5, the values of k and r for beacon nodes are all 0. When we calculate the velocity of W2 , the values of k and r of reference node W1 are 0 and 1, respectively. When the node W2 works as a reference node, the value of k is 1, and the value of r is 2. 3.4.3. Updating of Unknown Nodes’ Location After calculating the unknown nodes’ velocity, we can update their locations. In fact, we just need to store the velocity of each node and update the location when it is necessary. The location can be updated with Equation (14): # ř x1 “ x ` in“1 v xi ¨ T řn (14) y1 “ y ` i“1 vyi ¨ T ř where, T is the positioning period, and in“1 vi ¨ t is the displacement between two positioning moments. 3.5. The Process of MP-PSO Method As described above, the MP-PSO method is a kind of multi-steps localization algorithm, and the steps can be described as follows: Step 1: Step 2: Step 3: Step 4: Step 5:

Step 6:

Project the nodes into the plane which contains the surface buoys, and transform the three-dimensional localization problem into a two-dimensional localization. Locate the beacon nodes by using the range-based PSO algorithm. Calculate the velocity of beacon nodes according to the localization results at two instants. The unknown nodes sort their reference nodes in descending order according to the confidence value. If the number of reference nodes is more than M, then select the M reference nodes with larger confidence coefficients to calculate the velocity, if not, use all the reference nodes to calculate the velocity. Update the locations of the unknown nodes.

The MP-PSO algorithm process is shown in Figure 6.

Sensors2016, 2016,16, 16,212 212 Sensors

of 16 17 99 of

Start Project the nodes into the plane containing the buoys Locate the beacon nodes by range-based PSO algorithm Calculate the velocity of beacon nodes Unknown node sorts its referenced nodes according to confidence Referenced nodes’ number > M ?

Use all referenced nodes to calculate the velocity

Use the first M referenced nodes to calculate the velocity Update the locations of unknown nodes End

Figure 6. The process of MP-PSO algorithm. Figure 6. The process of MP-PSO algorithm.

4. Simulations and Analysis 4. Simulations and Analysis 4.1.Parameter ParameterSetting Setting 4.1. Weuse useMATLAB MATLABR2009a R2009aasas simulation platform to execute the algorithm inpaper. this paper. We thethe simulation platform to execute the algorithm in this The The settings the simulation environment and related parameters are listed in Table settings of theofsimulation environment and related parameters are listed in Table 1. 1. Table1.1.Simulation SimulationParameters ParametersSetting. Setting. Table

Parameters Values Setting Parameters Values Setting Deployment range 1000 m × 1000 m Deployment range 1000 m ˆ 1000 m Localization period Localization period 1 s1 s Communication radius of beacon nodes 200 mm Communication radius of beacon nodes 200 Communication radius of unknown nodes 100 m Communication radius of unknown nodes 100 m Transmission power 2 W (33 dBm) Transmission power 2 W(33 Transmission frequency 50 kHzdBm) Transmission frequency 502 kHz Attenuation coefficient Buoy number 20 2 Attenuation coefficient Node number 200 Buoy number 20 v N(1,(0.1)2 ) Node number 200 k1 ,k2 N(π,(0.1π)2 ) 2) 2 N(3,(0.3) v λ N(1,(0.1) ) 2) K N(2π,(0.2π) 2) k1,k2 3 N(π,(0.1π) K4 ,k5 N(1,(0.1)2 ) 2 λ N(3,(0.3) ) K3 N(2π,(0.2π)2) There are 20 surface buoys and 200 underwater nodes deployed N(1,(0.1) in the monitoring area, the range 2) K4,k 5 of the area is 1000 m ˆ 1000 m, and the depth of water is less than 100 m. We just investigate the moving state nodesbuoys drivenand by the currentsnodes and waves in the within 100 s after There areof20the surface 200water underwater deployed inseashore the monitoring area, the the initial deployment. In Table 1, the value of variables v, k –k and λ complies with the normal 5 than 100 m. We just investigate range of the area is 1000 m × 1000 m, and the depth of water is1 less distribution, which can nodes make the mobility ofwater the nodes moreand close to theinreal the moving state of the driven by the currents waves theenvironment. seashore within 100 s

Sensors 2016, 16, 212

10 of 16

Sensors 2016, 16, 212 10 of 17 after the initial deployment. In Table 1, the value of variables v, k1–k5 and λ complies with the normal distribution, which can make the mobility of the nodes more close to the real environment. According to the discussion in Section 3.4.2, the number of reference nodes can affect the According to the discussion in Section 3.4.2, the number of reference nodes can affect the localization result, so we need to select the best value of M by simulation testing. Keeping the localization result, so we need to select the best value of M by simulation testing. Keeping the parameter settings as in Table 1, by changing the proportion of beacon nodes to 10%, 15%, 20%, 25% parameter settings as in Table 1, by changing the proportion of beacon nodes to 10%, 15%, 20%, and 30%, respectively, we can get the relationship of the average errors of the unknown nodes' 25% and 30%, respectively, we can get the relationship of the average errors of the unknown nodes’ velocities with different values of M after 100 s. The result is shown in Figure 7. velocities with different values of M after 100 s. The result is shown in Figure 7. 35 10% beacon nodes

Error of velocity( %)

15% beacon nodes

30

20% beacon nodes 25% beacon nodes

25

30% beacon nodes

20 15 10 5 0

1

2

3 4 5 Referenced nodes' number

6

7

Figure 7. The relationship of velocity error and M. Figure 7. The relationship of velocity error and M.

From Figure Figure 7, 7, it it can toto increase as From can be be seen seen that that the thevelocity velocityerror errorfirst firstdecreases, decreases,and andthen thenit itbegins begins increase thethe number ofof reference analysis of of the the value valueof ofM. M. as number referencenodes nodesincreases. increases.This Thisisisaccord accord with with the the above above analysis When the value of M is too large, the reference nodes whose confidences are smaller will participate When the value of M is too large, the reference nodes whose confidences are smaller will participate in the the velocity velocity calculation, calculation, and and may may cause cause aa large large error error accumulation. accumulation. Figure Figure77 also also shows shows that that the the in optimal value of the number of reference nodes is related to the proportion of beacon nodes in the optimal value of the number of reference nodes is related to the proportion of beacon nodes in the network. If the beacon node proportion is different, then the optimal value of M is also different. In network. If the beacon node proportion is different, then the optimal value of M is also different. the In subsequent simulations, we we select the the value of M to Figure 7. 7. the subsequent simulations, select value ofaccording M according to Figure 4.2. Localization LocalizationResults Results 4.2. Keepingthe thesettings settingsofofTable Table1,1,we weset setthe theratio ratio beacon nodes 20%, and value of Keeping ofof beacon nodes as as 20%, and setset thethe value of M M 4. as We 4. We simulate proposedMP-PSO MP-PSOalgorithm algorithmand andanalyze analyzeits itspositioning positioningaccuracy accuracy and and as cancan simulate thethe proposed positioning coverage rate. In this paper, we select the average error as an indicator to evaluate the positioning coverage rate. In this paper, we select the average error as an indicator to evaluate the performance of of localization localization method method [23], [23], and and it it can can be be calculated calculated as as Equation Equation (15): (15): performance KK U ' U ÿ Error“ |Uii1 ´ Ui i |ˆ 100% Error 100% Kˆ R Raa i 1 K

(15) (15)

i “1

where, K is the number of unknown nodes, Ui is the real position of the unknown node, Ui' is the where, K is the number of unknown nodes, Ui is the real position of the unknown node, Ui ' is the located position of the unknown node, and Ra is the communication radius of the unknown node. located position of the unknown node, and Ra is the communication radius of the unknown node. The error calculating as this manner denotes the proportion of the distance between the real position The error calculating as this manner denotes the proportion of the distance between the real position and the positioning position to the communication radius of the unknown node. and the positioning position to the communication radius of the unknown node. The localization coverage rate, which denotes the proportion of the effectively located nodes to The localization coverage rate, which denotes the proportion of the effectively located nodes all the unknown nodes in the network is another important indicator to evaluate the localization to all the unknown nodes in the network is another important indicator to evaluate the localization algorithm. In this paper, we define the nodes whose error is less than 50% as the effectively located algorithm. In this paper, we define the nodes whose error is less than 50% as the effectively located nodes. With the settings above, the localization results of the underwater nodes moving with the nodes. With the settings above, the localization results of the underwater nodes moving with the water water current after 100 s are shown in Figure 8. current after 100 s are shown in Figure 8.

Sensors 2016, 16, 212

11 of 17

Sensors 2016, 16, 212

11 of 16

1200 position Sensors 2016,Original 16, 212

New position

Located positon

Real position

1200

Movement

Located position

Error

11 of 16

1000 1000

1200 Original position

New position

Located positon

1000 600 800

Y (m)

Y (m)

400 600 200 400 0

0

200

400

600 X (m)

200

0

800

1000

200

400

Located position

800 400 600 200

0

200

400

600 X (m)

200

600 X (m)

800

1000

0

1200

Error

1000 600

400 0

1200

(a) 0

Real position

1200 800

Movement Y (m)

Y (m)

800

800

1000

1200

(b) 0

200

400

600 X (m)

800

1000

1200

Figure 8. Localization results of (a) beacon nodes and (b) the unknown nodes. Figure 8.(a) Localization results of (a) beacon nodes and (b) the unknown (b) nodes.

As shown in Figure beaconnodes nodes move move with current for for 100100 s, we As shown in Figure 8a,8a, thethe beacon withthe thewater water current s, use we the use the Figure 8. Localization results of and (a) beacon nodes and (b) can the unknown nodes.which is 3.26%, range-based PSO algorithm to locate them the average error be calculated, range-based PSO algorithm to locate them and the average error can be calculated, which is 3.26%, is to say the absolute error is 6.52 m. This means the positioning accuracy of beacon nodes is not that isthat to say the absolute error m. This means the positioning accuracy beacon is not in Figure 8a, is the6.52 beacon nodes move with the water forof100 s, we nodes use bad As for shown this large-scale deployed underwater network. The highercurrent positioning accuracy of the the bad for this large-scale deployed network. The higher positioning accuracy of the beacon range-based PSO algorithm to underwater locate them the average errorofcan be calculated, is 3.26%, beacon nodes helps to make the error of and prediction velocity unknown nodes which smaller, and it nodes helps to make the error of prediction velocity of unknown nodes smaller, and it ensures the that is to say the absolute error is 6.52 m. This means the positioning accuracy of beacon nodes is not ensures the positioning accuracy of the whole algorithm to be relatively ideal. Figure 8b shows the bad for this large-scale deployed underwater network. The higher positioning accuracy of the positioning accuracy the whole algorithm to be relatively ideal.nodes Figure 8b shows comparison comparison of theof located and the real position after the unknown move for 100 the s, and it can helps to make error of prediction velocity of unknown smaller, and it that of thebeacon and thenodes' real position after the unknown nodes move forlocated 100 nodes s, and it can seen belocated seen nodes that some errorthe is too large, making them not effectively nodes. The be average ensures the positioning accuracy of the whole algorithm to be relatively ideal. Figure 8b shows the someerror nodes’ error is too large, making them effectively located of the unknown nodes is 19.4% and thenot localization coverage ratenodes. is 97%.The average error of the comparison of the located and the real position after the unknown nodes move for 100 s, and it can the process of the movement with the water unknownIn nodes is 19.4% andnodes’ the localization coverage ratecurrentw, is 97%. we can record the position of a be seen node that some nodes' error within is too large, making them effectively located nodes. average certain at of every 100 s with to plot its realnot movement in 100 s, andThe we position can also of a In the process themoment nodes’ movement the water currentw,track we can record the error of the unknown nodes is 19.4% and the localization coverage rate is 97%. plot the located track according to the located position. Selecting the beacon node whose original certain node at every moment within 100 s to plot its real movement track in 100 s, and we of can In the process of the nodes’ withnode the water currentw, we can record position a also coordinates are (452.9, 638.8) andmovement the unknown whose original coordinates arethe (219.7, 950.2) as plot the located according to the 100 located position. Selecting the beacon node whose original certain node track at every moment within to plot itsand reallocated movement track in 100 and we can also the experimental subject, we can plot their sreal tracks tracks, which are s, shown in Figure 9. coordinates are (452.9, 638.8) and the unknown node whose original coordinates are (219.7, 950.2) as plot740the located track according to the located position. 1080 Selecting the beacon node whose original Real track Real track the experimental subject, canand plot their real tracks and located tracks, whichare are(219.7, shown in Figure 9. coordinates are (452.9, we 638.8) the unknown node whose original coordinates 950.2) as 1060

Located track

Located track

the720 experimental subject, we can plot their real tracks and located tracks, which are shown in Figure 9. 720 680

1040 1080 Real track Located track

Y (m)

Y (m)

740 700

Y (m)

Y (m)

700 660 680 640 660 620 450

500

550

600

650

700

X (m)

640

500

550

600 X (m)

Real track Located track

1000 1040 980 1020 960 1000 940 980 200

250

300

650

700

940 200

350

400

450

350

400

450

X (m)

960

(a) 620 450

1020 1060

(b) 250

300 X (m)

Figure 9. The comparison of (a) the beacon node’s track and (b) the unknown (a) (b) node’s track.

Figure 9. 9aThe shows the comparison between real and for the beacon within Figure comparison of (a) the beaconthe node’s tracklocated and (b)tracks the unknown node’snode track. Figure 9. Thethat comparison of (a) the error beacon node’sdoes tracknot andchange (b) the unknown track.is because 100 s. It can be seen the localization almost with the node’s time. That the buoys’ coordinates are absolutely accurate, and there is no error accumulation in the range-based 9a shows comparison between tracks forFigure thethe beacon nodenode within Figure 9a shows thethe comparison the real realand and located tracks for beacon within PSOFigure algorithm. It also indicates thatbetween the PSO algorithm haslocated better stability. 9b shows that the 100 s. It can be seen that the localization error almost does not change with the time. That is because 100 s.error It can seen that the increases localization error with almost does not change the with the time. of That is because of be unknown nodes gradually time. This is because localization unknown the buoys’ coordinates are absolutely accurate, and there isisno accumulation inmake the the buoys’ coordinates areprediction absolutely accurate, and there noerror error accumulation in range-based the nodes is a continuous process, which may cause error accumulation and therange-based located PSO algorithm. It also indicates that the PSO algorithm has better stability. Figure 9b shows that the PSO algorithm. It also indicates that the PSO algorithm has better stability. Figure 9b shows that the error of unknown nodes increases gradually with time. This is because the localization of unknown error of unknown nodes increases gradually with time. This is because the localization of unknown nodes is a continuous prediction process, which may cause error accumulation and make the located

nodes is a continuous prediction process, which may cause error accumulation and make the located

Sensors 2016, 16, 212

12 of 17

Sensors 2016, 16, 212

12 of 16

tracks deviate from the real tracks as time goes on. While it is can be seen that the accuracy of the unknown nodes from is relatively the ideal range, is it always in the of process. tracks deviate the realin tracks as time goesthe on.error While is can limited be seen within that the50% accuracy the unknown nodes is relatively in the ideal range, the error is always limited within 50% in the process. 4.3. Impacts of Beacon Nodes’ Proportion on Localization Results 4.3.Because Impacts the of Beacon Nodes' Proportion on beacon Localization Results localization accuracy of nodes is obviously higher than that of the unknown nodes, Because the proportion of beacon nodes can directly affect localization Keeping the settings the localization accuracy of beacon nodes is the obviously higherresults. than that of the unknown in nodes, Table 1the andproportion changing the of beacon nodesaffect to 10%, 20%, 25%results. and 30%, respectively, of proportion beacon nodes can directly the15%, localization Keeping the thesettings optimal the changing number of is selected to 20%, Figure 7, and 30%, we can in value Table of 1 and thereferenced proportionnodes of beacon nodes according to 10%, 15%, 25% simulate and compare the value localization results of the MP-PSO method, SLMPaccording method and MCL-MP respectively, the optimal of the number referenced nodes is selected to Figure 7, and weafter can simulate and compare the localization results the MP-PSO method, method 100 s, respectively. The compared results areofshown in Figure 10. SLMP method and MCL-MP method after 100 s, respectively. The compared results are shown in Figure 10. 50

100

Localization error( %)

40

Localization coverage( %)

SLMP MCL-MP MP-PSO

45

35 30 25 20 15 10

SLMP MCL-MP MP-PSO

95 90 85 80 75

5 0

5

10

15 20 25 Beacon nodes' proportion( %)

30

35

70

5

(a)

10

15 20 25 Beacon nodes' proportion( %)

30

35

(b)

Figure 10. Impacts of the beacon node proportion on localization results: (a) on localization error; Figure 10. Impacts of the beacon node proportion on localization results: (a) on localization error; (b) (b) on localization coverage. on localization coverage.

Figure 10a10a shows thatthat MP-PSO method has anhas obvious localization accuracy advantage compared Figure shows MP-PSO method an obvious localization accuracy advantage to compared the MCL-MP SLMP methods. Whenmethods. the beacon nodethe proportion is 20%, the average to and the MCL-MP and SLMP When beacon node proportion is localization 20%, the average localization error of8.7% MP-PSO is decreased 8.7% method compared to 7.1% the SLMP method and 7.1% error of MP-PSO is decreased compared to the SLMP and compared to the MCL-MP compared to the MCL-MP method. addition, we can seeincrease that at the beginning of the increasenodes, of method. In addition, we can see that atInthe beginning of the of the proportion of beacon the proportion of beacon nodes, the localization accuracies of the three methods are all improved the localization accuracies of the three methods are all improved obviously. When the beacon node obviously.isWhen the beacon node proportion is of more 20%, the decreasing trend of theflat. proportion more than 20%, the decreasing trend the than localization error gradually becomes localization error gradually becomes flat. Therefore, the effect of an excessive increase in the number Therefore, the effect of an excessive increase in the number of beacon nodes is insignificant, and it will of beacon is insignificant, and it will only to increase the cost of thebalance network, so it isthe only serve tonodes increase the cost of the network, so itserve is necessary to keep a proper between necessary to keep a proper balance between the localization accuracy and the network cost in the localization accuracy and the network cost in the deployment of a sensor network. deployment of a sensor network. Figure 10b shows the state of localization coverage rate change with the proportion of beacon Figure 10b shows the state of localization coverage rate change with the proportion of beacon nodes for the three methods. As shown in the figure, when the proportion of beacon nodes is more nodes for the three methods. As shown in the figure, when the proportion of beacon nodes is more than 20%, the localization coverage rate of the MP-PSO method can be higher than 95%, which is much than 20%, the localization coverage rate of the MP-PSO method can be higher than 95%, which is better than the other two methods. That is because the MP-PSO method chooses the reference nodes much better than the other two methods. That is because the MP-PSO method chooses the reference with higher confidence coefficient to estimate the unknown nodes’ velocities, which can effectively nodes with higher confidence coefficient to estimate the unknown nodes’ velocities, which can decrease the decrease localization In the error. MCL-MP method, themethod, unknown use the beacon effectively the error. localization In the MCL-MP thenodes unknown nodes use nodes the within their one-hop and two-hops range to predict their next position, so even if the proportion beacon nodes within their one-hop and two-hops range to predict their next position, so even if the of beacon nodesof increases the nodessome cannot to the proportion beacon more, nodes inevitably increases some more, of inevitably of be thelocated nodes effectively cannot be due located large localization In the SLMP method, the SLMP velocities of beacon nodes of are estimated effectively due toerror. the large localization error. In the method, the velocities beacon nodesby arethe Durbin algorithm, and thealgorithm, error caused process isin not related to is the beacon proportion, estimated by the Durbin and in thethis error caused this process not relatednode to the beacon sonode its localization rate doescoverage not increase as much as the MP-PSO proportion,coverage so its localization rate does not increase as muchmethod. as the MP-PSO method. 4.4. Impacts Results 4.4. ImpactsofofLocalization LocalizationPeriod PeriodTTon on Localization Localization Results The localization which can canaffect affectthe thelocalization localization results. Keeping The localizationperiod periodTTisisanother another factor which results. Keeping thethe settings in Table 1, choosing the proportion of beacon nodes as 20%, and changing the localization settings in Table 1, choosing the proportion beacon nodes as 20%, and changing the localization period from s to6 6s,s,respectively, respectively,the thelocalization localization results results are as period from 1 s1 to as shown shownin inFigure Figure11. 11.

Sensors 2016, 16, 212 Sensors 2016, 16, 212

13 of 17 13 of 16 100

Sensors 2016, 16, 212

SLMP MCL-MP MP-PSO SLMP MCL-MP MP-PSO

SLMP MCL-MP MP-PSO SLMP MCL-MP MP-PSO

60 70 50 60 40 50

90 100

30 40 20 30 10 20 0 10

1

2

3 4 5 Localization period (s)

6

7

1

2

3(a) 4 5 Localization period (s)

6

7

Localization %) coverage( Localization %) coverage(

Localization error( %) Localization error( %)

70

80 90 70 80 60 70 50 60 40 50 0 40

0

13 of 16

0

1

2

3 4 Localization period (s)

5

6

7

1

2

3 (b) 4 Localization period (s)

5

6

7

(a) (b) on localization error; Figure 11. Impacts of localization period on localization results: (a) impact Figure 11. Impacts of localization period on localization results: (a) impact on localization error; (b) (b) impact on localization coverage. impact on localization coverage. Figure 11. Impacts of localization period on localization results: (a) impact on localization error; (b) on localization coverage. Asimpact shown ininFigure increases,the thelocalization localizationaccuracy accuracy As shown Figure11a, 11a,asasthe thelocalization localization period period increases, of of thethe

three methods decreases of the theMCL-MP MCL-MPmethod methodisisaffected affected three methods decreasesfaster fasterand andfaster. faster. The The accuracy accuracy of byby thethe As shown in Figure 11a, as the localization period increases, the localization accuracy of the localization period most. is because this method node localization by sampling localization period most. ThisThis is because this method realizesrealizes node localization by sampling prediction three methods faster and The accuracy ofasthe affectedmay by the prediction and filtering. The sampling range will increase theMCL-MP localization periodisincreases, which and filtering. Thedecreases sampling range willfaster. increase as the localization period method increases, which cause localization period most. This is because this method realizes node localization by sampling may cause larger localization errors. For the SLMP and MP-PSO methods, the bigger localization larger localization errors. For the SLMP and MP-PSO methods, the bigger localization period will prediction filtering. Thedisplacement sampling range increase as the localization period increases,and which period willand cause a larger of will the node between two positioning the cause a larger displacement of the node between two positioning moments, andmoments, the node’s velocity may cause larger localization errors. For the SLMP and MP-PSO methods, the bigger localization node’sallvelocity changes all thewill time, so thewhen errorwe will whenofwe the velocity of onethe changes the time, so the error increase useincrease the velocity oneuse moment to represent period will cause a larger displacement of the nodeThe between two positioning moments, and will the moment to represent the velocity of a period of time. longer the time is, the larger the error velocity of a period of time. The longer the time is, the larger the error will be. From Figure 11a, we can node’s velocity changes all the time, so the error will increase when we use the velocity of one From Figure we can see that when localization period less than s, the error of SLMP seebe. that when the 11a, localization period is lessthe than 4 s, the error of is SLMP and 4MP-PSO methods will moment to represent thewill velocity of a period of but time.when The longer the time is, the larger error and MP-PSO methods not increase much, it continues to increase morethe than 4 s,will the notbe. increase much,11a, butwe when continues to the increase more than 4 s,isthe decrease From Figure can itsee thatthe when localization lessaccuracies than 4 s, the errorbe ofobviously, SLMP accuracies decrease obviously, so localization period period of these two methods cannot set too soand the MP-PSO localization period of these two methods cannot be set too long. Considering the higher methods will not increase much, but when it continues to increase more than 4 s, the long. Considering the higher calculation efficiency of the MP-PSO method compared to the other calculation efficiency of the MP-PSO method compared toof the other methods, the smallbe localization accuracies decrease the localization period these two methods cannot set too methods, the small obviously, localizationso period is acceptable. In addition, Figure 11b shows that when the period is acceptable.the Inhigher addition, Figure efficiency 11b showsofthat when themethod localization period is less than long. Considering calculation the MP-PSO compared to the localization period is less than 4 s, the MP-PSO method has a far higher localization coverageother rate 4 s,methods, the MP-PSO method has a farperiod higherislocalization coverage rate than 11b the other methods, and the the small localization acceptable. In addition, Figure shows that when the than the other methods, and the localization coverage rate will not change much as the localization localization coverage rate will not change much as the localization period changes, which proves that localization period is less thanthat 4 s, the the proposed MP-PSO method far higher localization coverage rate period changes, which proves method has has aa better stability in this stage. thethan proposed method has and a better stability in this stage.rate will not change much as the localization the other methods, the localization coverage period changes, which provesv that the proposed method has a better stability in this stage. 4.5. Impacts of Nodes' Velocity on Localization Results 4.5. Impacts of Nodes’ Velocity v on Localization Results Keeping the parameter in TableResults 1, setting the proportion of beacon nodes as 20%, and 4.5. Impacts of Nodes' Velocity vsettings on Localization Keepingthe thenodes' parameter settings in Table 1, setting the proportion of beacon nodes as 20%, is and changing velocity, randomly taking the unknown node whose original coordinate Keeping the settings intaking Table 1, setting thedifferent proportion of original beacon nodes 20%, and changing the nodes’ velocity,the randomly the unknown node whose coordinate is (229.78, (229.78, 953.04) as parameter example, comparisons of tracks under velocities are shown inasFigure 12. changing the nodes' randomly taking thedifferent unknown node whose original 1100 as example, 1100 953.04) the velocity, comparisons of tracks under velocities are shown in coordinate Figure 12. is Real track Real track (229.78, 953.04) as example, the comparisons of tracks under different velocities are shown in Figure 12. Located track Located track 1100

1100

Real track Located track

1050

1050

Y (m)

Y (m)

1050

1000

1000 950 200 950 200

Real track Located track

Y (m)

Y (m)

1050

1000

1000

220

240

260

280 X (m)

300

320

240 260 280 as v 300= 1 m/s 320 (a) Track change

220

340

340

360

360

950 200 950 200

X (m)

220

240

260

280 X (m)

300

320

240 260 280 as v 300= 2 m/s 320 (b) Track change

220

X (m)

(a) Track change as v = 1 m/s

(b) Track change as v = 2 m/s Figure 12. Cont.

340

340

360

360

Sensors 2016, 16, 212 Sensors 2016, 16, 212

14 of 17 14 of 16

1100

1100

Real track Located track Sensors 2016, 16, 212

Real track Located track

10501100

1050 1100 Real track Located track

Y (m)

Real track Located track

Y (m)

14 of 16

10001050

Y (m)

Y (m)

1000 1050

1000

950 180

200

950 180

220

240

260 280 X (m)

300

320

340

360

(c) Track change as v = 3 m/s 200

220

240

260 280 X (m)

300

320

340

360

1000 950

200

220

950 200

220

240

260

280 X (m)

300

320

340

360

(d) Track change as v = 4 m/s 240

260

280 X (m)

300

320

340

360

Figure 12. Impacts of nodes’ velocity on localization results. Figureas 12.v Impacts (c) Track change = 3 m/s of nodes' velocity on localization (d) Track results. change as v = 4 m/s

AsAsshown with different differentvelocities, velocities, the deviation of the located real position shownininFigure Figure 12, 12, with the deviation of the located and and real position of Figure 12. Impacts of nodes' velocity on localization results. ofthe theunknown unknownnode nodebecomes becomeslarge largeasasthe thetime time goes and this accord with analysis of the goes on,on, and this is is accord with thethe analysis of the localization error of unknown nodes above.At Atthe thesame same time,asasthe the velocity increases, wecan cansee localization ofin unknown above. increases, Aserror shown Figure 12,nodes with different velocities, thetime, deviation of velocity the located and real we position ofseethat the localization error increases gradually. Fromon, Figure 12aistoaccord Figure 12d, the velocity thethat localization error increases gradually. 12a to this Figure 12d, with the velocity increasing the unknown node becomes large as theFrom time Figure goes and with thewith analysis of the increasing 1 m/s to 4range m/s, the range of theAt nodes movement as well, anddeviation the from 1 m/s from to 4error m/s, of the above. nodes movement increases well, and the localization ofthe unknown nodes the same time, asincreases theas velocity increases, we deviation can seeof the of the located trajectory from thetrajectory actualgradually. trajectory also increases gradually. because when the thattrajectory the localization error increases From Figure 12a to That Figure 12d,iswith the velocity located from the actual also increases gradually. isThat because when the velocity velocity increases, the distance of nodes' movement between two positioning moments will increase increasing from 1 m/s 4 m/s,movement the range ofbetween the nodestwo movement increases as well,will and increase the deviation increases, the distance of to nodes’ positioning moments with the with the period, so thelocalization relevant localization error willasincrease as well.when Therefore, of the same locatedlocalization trajectory the actual trajectory also increases gradually. That isTherefore, because same localization period, sofrom the relevant error will increase well. this the method velocity increases, thefor distance of nodes' movement between two positioning moments will increase this method is suitable the underwater environment in which the water flow is steady and is suitable for the underwater environment in which the water flow is steady and the mobility of the nodes with the localization period, the relevant that localization error will increase as well. used Therefore, mobility of same nodes is not very fast.soConsidering underwater WSNs are mainly in the is not very fast. Considering that underwater WSNs are mainly used in the seashore environment this method is suitable for the underwater in which flow is steady the seashore environment currently, where the environment water is shallow andthe thewater nodes’ velocity is and relatively currently, where the water is shallow and the nodes’that velocity is relatively slow,mainly this method has better mobility of nodes not very fast. Considering used in the slow, this method hasisbetter applicability in underwaterunderwater WSNs withWSNs mobileare nodes. applicability underwater WSNs with mobile nodes. seashore in environment currently, where the water is shallow and the nodes’ velocity is relatively this of method has better applicability in underwater WSNs with mobile nodes. 4.6.slow, Analysis the Energy Consumption 4.6. Analysis of the Energy Consumption Energy consumption is another important indicator to evaluate the localization methods, and it 4.6. Analysis of the Energy Energy consumption is Consumption another important indicator to evaluate the localization methods, and it is is mainly the result of the communication activities among the nodes. The communication Energy is another important to evaluate methods, and it mainly the resultconsumption of the communication activitiesindicator among the nodes. the Thelocalization communication consumption consumption can be described by the average communication cost, which is defined as the ratio of is described mainly theby result of the communication activities amongis the nodes. The communication can be the average communication cost, which defined as the ratio of the overall the overall messages exchanged in the network to the number of effectively localized sensor nodes. consumption can be described by the average communication cost, which is defined as the ratio of messages in the network to the number ofbeacon effectively localized sensor nodes. Keepingexchanged the parameter settings in Table 1, setting the nodes' proportion as 20% and Keeping the valuethe the overall messages exchanged in the network to the number of effectively localized sensor nodes. parameter in Table and 1, setting the beacon nodes’ proportion as of 20% the value of M as 4, of M as 4,settings we simulate analyze the communication cost theand range-based and Keeping thecan parameter settings in Table 1, average setting the beacon nodes' proportion as 20% and thePSO value weMP-PSO can simulate and analyze the average communication cost of the range-based PSO and MP-PSO the and number of the network nodes changes to 100, 150, 200,PSO 250,and 300, of M asmethods 4, we canwhen simulate analyze thewhole average communication cost of the range-based methods the number The of the whole network nodes 13. changes to 100, 150, 200, 250, 300, 350 and 400, 350MP-PSO andwhen 400,methods respectively. result is shown in Figure when the number of the whole network nodes changes to 100, 150, 200, 250, 300, respectively. Therespectively. result is shown in Figure 13. in Figure 13. 350 and 400, The result is shown 25

PSO MP-PSO

PSO MP-PSO

20 Average communication cost

Average communication cost

25

20

15 15

10 10

5 5

0 500

50

100 100

150 150

200 250 300 200 Number250 of nodes300

350 350

400 400

450 450

Number of nodes

Figure 13. The comparison of energy consumption. Figure 13. The comparison of energy consumption. Figure 13. The comparison of energy consumption.

Sensors 2016, 16, 212

15 of 17

Figure 13 clearly shows that with an increasing number of nodes in the network, the average communication cost of PSO and MP-PSO all decrease at a ratio of about 10% before the number of nodes reaches 200. This is because as the number of nodes increases, the number of effectively located nodes increases drastically. Further, when the number of nodes increases to more than 200, the rates of change of the average communication cost for the two methods all become slow, and ultimately stabilize at some small value. At this stage, the droop rates of PSO and MP-PSO are about 2.25% and 0.6% respectively. Meanwhile, Figure 13 also shows the mobility prediction scheme can greatly reduce the average communication cost of the network. When the number of nodes is less than 250, the average communication cost of MP-PSO is approximate 6 lower than PSO, and when the number of nodes is more than 250, the average communication cost of MP-PSO is approximately 4 lower than PSO. The decrease of average communication cost of the MP-PSO method is about 50% compared to the PSO method. This is because in the mobility prediction procedure, the unknown nodes need not establish communication links with every beacon node and the buoys. In fact, the unknown nodes only need to communicate with several reference nodes to predict their next location. The proposed scheme can effectively reduce the overall data package exchange in the network. Accordingly, the average communication cost of the network will be reduced. This is quite significant for UWSNs with limited bandwidth and energies. 5. Conclusions Focusing on the problems of underwater WSNs, like sparse deployment and mobility of the nodes driven by water currents, a multi-step localization method based on mobility prediction and PSO algorithm is proposed. The beacon nodes are located by the range-based PSO algorithm and the velocities can be calculated by using the localization results, and then the unknown nodes are located by the mobility prediction based on the estimation of the spatial correlation of underwater objects’ mobility. The simulation results show that this method can provide highly accurate localization of beacon nodes, and the positioning accuracy and positioning coverage rate can be kept at a better level. Compared to the SLMP method which uses the Durbin algorithm to estimate the beacon nodes’ velocity and the MCL-MP method which is based on sampling prediction and filtering, with the same localization period, the MP-PSO method obviously has higher localization accuracy and coverage rate. With the same proportion of beacon nodes, the localization result of MP-PSO also has obvious advantages with a shorter localization period as well. In addition, the energy consumption can be reduced by the proposed mobility prediction scheme, so the proposed localization method of mobile nodes in UWSNs can be applicable in the fields of military defense, environmental monitoring and animal tracking, etc. Acknowledgments: This work was supported by National Nature Science Foundation of China (No. 61273068), and International Exchanges and Cooperation Projects of Shanghai Science and Technology Committee (No. 15220721800). Author Contributions: Ying Zhang conceived and designed the research and experiments, and contributed as the lead author of the article; Ying Zhang and Jixing Liang wrote the article; Jixing Liang performed the experiments; Ying Zhang and Jixing Liang contributed to revising and proofreading of the article; Shengming Jiang gave suggestion and analyzed the data; Wei Chen gave more valuable suggestion to the research, and audited the article. Conflicts of Interest: The authors declare no conflict of interest.

References 1. 2.

Heidemann, J.; Stojanovic, M.; Zorzi, M. Underwater sensor networks: applications, advances and challenges. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2012, 370, 158–175. [CrossRef] [PubMed] Javaid, N.; Jafri, M.R.; Khan, Z.A.; Alrajeh, N.; Imran, M.; Vasilakos, A. Chain-based communication in cylindrical underwater wireless sensor networks. Sensors 2015, 15, 3625–3649. [CrossRef] [PubMed]

Sensors 2016, 16, 212

3.

4. 5. 6.

7. 8.

9.

10.

11.

12. 13. 14. 15.

16.

17. 18. 19. 20.

21.

16 of 17

Climent, S.; Sanchez, A.; Capella, J.V.; Meratnia, N.; Serrano, J.J. Underwater acoustic wireless sensor networks: advances and future trends in physical, MAC and routing layers. Sensors 2014, 14, 795–833. [CrossRef] [PubMed] Liu, Z.; Gao, H.; Wang, W.; Chang, S.; Chen, J. Color filtering localization for three-dimensional underwater acoustic sensor networks. Sensors 2015, 15, 6009–6032. [CrossRef] [PubMed] Beniwal, M.; Singh, R. Localization techniques and their challenges in underwater wireless sensor networks. Int. J. Comput. Sci. Inf. Technol. 2014, 5, 4706–4710. Krishna, C.R.; Yadav, P.S. A hybrid localization scheme for underwater wireless sensor networks. In Proceedings of the IEEE 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), Ghaziabad, India, 7–8 February 2014; pp. 579–582. Erol-Kantarci, M.; Mouftah, H.T.; Oktug, S. A survey of architectures and localization techniques for underwater acoustic sensor networks. IEEE Commun. Surv. Tutor. 2011, 13, 487–502. [CrossRef] AlHajri, M.I.; Goian, A.; Darweesh, M.; AlMemari, R.; Shubair, R.M.; Weruaga, L.; Kulaib, A.R. Hybrid RSS-DOA technique for enhanced WSN localization in a correlated environment. In Proceedings of the 2015 IEEE International Conference on Information and Communication Technology Research (ICTRC), Abu Dhabi, United Arab Emirates, 17–19 May 2015; pp. 238–241. El Assaf, A.; Zaidi, S.A.R.; Affes, S.; Kandil, N. Range-free localization algorithm for heterogeneous wireless sensor networks. In Proceedings of the 2014 IEEE Wireless Communications and Networking Conference (WCNC), Istanbul, Turkey, 69 April 2014; pp. 2805–2810. Hu, L.; Evans, D. Localization for mobile sensor network. In Proceedings of the ACM 10th annual international conference on Mobile computing and networking, Philadelphia, PA, USA, 26 September–1 October 2004; pp. 45–57. Soltaninasab, B.; Sabaei, M.; Amiri, J. Improving Monte Carlo localization algorithm using time series forecasting method and dynamic sampling in mobile WSNs. In Proceedings of the 2010 Second International Conference on Communication Systems, Networks and Applications, Hong Kong, China, 29 June–1 July 2010; pp. 389–396. Alcocer, A.; Oliveira, P.; Pascoal, A. Study and implementation of an EKF GIB-based underwater positioning system. Control Eng. Pract. 2007, 15, 689–701. [CrossRef] Cheng, X.; Shu, H.; Liang, Q.; Du, D.H.C. Silent positioning in underwater acoustic sensor networks. IEEE Trans. Veh. Technol. 2008, 57, 1756–1766. [CrossRef] Zhou, Z.; Peng, Z.; Cui, J.H.; Shi, Z.; Bagtzoglou, A.C. Scalable localization with mobility prediction for underwater sensor networks. IEEE Trans. Mob. Comput. 2011, 10, 335–348. [CrossRef] Cheng, W.; Teymorian, A.Y.; Ma, L.; Cheng, X.; Lu, X.; Lu, Z. Underwater localization in sparse 3D acoustic sensor networks. In Proceedings of the 27th IEEE Conference on Computer Communications INFOCOM, Phoenix, AZ, USA, 13–18 April 2008; pp. 236–240. Yang, H.; Sikdar, B. A Mobility Based Architecture for Underwater Acoustic Sensor Networks. In Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM), New Orleans, LO, USA, 30 November–4 December 2008; pp. 5107–5111. Pu, L.; Luo, Y.; Mo, H.; Le, S.; Peng, Z.; Cui, J.H.; Jiang, Z. Comparing underwater MAC protocols in real sea experiments. Comput. Commun. 2015, 56, 47–59. [CrossRef] Kuperman, W.A.; Roux, P. Underwater Acoustics. In Springer Handbook of Acoustics; Springer: New York, NY, USA, 2014; pp. 157–212. Guo, Z.; Luo, H.; Hong, F.; Yang, M.; Lionel, M. Current progress and research issues in underwater sensor networks. J. Comput. Res. Dev. 2010, 47, 377–389. Singh, S.; Shivangna, S.; Mittal, E. Range based wireless sensor node localization using PSO and BBO and its variants. In Proceedings of the 2013 IEEE International Conference on Communication Systems and Network Technologies (CSNT), Gwalior, India, 6–8 April 2013; pp. 309–315. Zain, I.F.M.; Shin, S.Y. Distributed localization for wireless sensor networks using binary particle swarm optimization (BPSO). In Proceedings of the 2014 IEEE 79th Vehicular Technology Conference (VTC Spring), Seoul, Korea, 18–21 May 2014; pp. 1–5.

Sensors 2016, 16, 212

22. 23.

17 of 17

Pluhacek, M.; Senkerik, R.; Zelinka, I. Particle swarm optimization algorithm driven by multichaotic number generator. Soft Comput. 2014, 18, 1–9. [CrossRef] Kulkarni, R.V.; Forster, A.; Venayagamoorthy, G.K. Computational intelligence in wireless sensor networks: a survey. IEEE Commun. Surv. Tutor. 2011, 13, 68–96. [CrossRef] © 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).

A Localization Method for Underwater Wireless Sensor Networks Based on Mobility Prediction and Particle Swarm Optimization Algorithms.

Due to their special environment, Underwater Wireless Sensor Networks (UWSNs) are usually deployed over a large sea area and the nodes are usually flo...
5MB Sizes 0 Downloads 10 Views