Tags:
create new tag
, view all tags
After determining the six reference nodes, in Phase 2 reference nodes can initialize their locations using APP_INIT packets. Reference node index is the index of the reference node pi and the true/false bit represents whether or not the location has been calculated yet (so that nodes will only store it if it is a true location).

Reference Node p1 Reference Node p2
Reference Node Index True/False Bit X-Coord Y-Coord Z-Coord Reference Node Index True/False Bit X-Coord Y-Coord Z-Coord ...

Table :Initialization Packet Structure (TYPE_PSVC, APP_INIT)

Reference Node ID True/False Bit X-Coord Y-Coord Z-Coord

Table :Initialization Location List (6 entries)

All nodes will broadcast initialization packets and each reference node will calculate its own location only after it has received the locations of all reference nodes before it. Reference node p1 sets its location at (0.0, 0.0, 0.0). Reference node p2 will determine its x-coordinate from the hop count from itself to p1 so that its location will be ([100 * hop count between p1 and p2], 0.0, 0.0), a scaling factor of 100 is used to avoid floating point errors. The location of p3 is calculated using triangle inequalities as a point which is [100 * hop count of p3 to p1] from p1 and [100 * hop count of p3 to p2] from p2.

Remaining reference nodes find their locations by minimizing an error function using Particle Swarm Optimization (PSO), which simulates particles moving in space and updates positions based on particle velocities. For a six-node system, p4 should have an minimum error of zero.

After all reference nodes have finished initializing their coordinates, they are broadcasted to the rest of the network and remaining nodes will calculate their own coordinates from those coordinates and their hop counts to each reference node.

-- XiaohongWu - 2012-01-24

Topic revision: r3 - 2012-01-25 - XiaohongWu
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback