Research Article
Heuristic Localization Algorithm with a Novel Error Control Mechanism for Wireless Sensor Networks with Few Anchor Nodes
Algorithm 2
Initialization phase for blind nodes.
Input: The unique ID of current node ID_c | Define: HopInfo Packet HIP = {ID, position, hopInfo} | NeighborInfo Packet NIP = {ID1,⋯, IDn_init} | Anchor HopInfo List | AHL = [IDi, positioni, hopInfoi] | Neighbor Distance List NDL = [IDi, di] | Procedure: | 1: if received an HIP: | 2: parse the HIP to obtain ID, position, hopInfo | 3: ifID in AHL.ID and ID is an anchor: | 4: if hopInfo < AHL [ID].hopInfo | 5: AHL [ID].hopInfo = hopInfo | 6: else ifID is an anchor: | 7: append [ID, position, hopInfo] to AHL | 8: send an HIP | 9: if hopInfo==1: | 10: record ID and RSSI | 11: if received an NIP: | 12: parse the NIP | 13: ifID_c in NIP and sizeof (AHL) > 2: | 14: fori from 1 to sizeof (AHL): | 15: estimate di to each anchor based on hopInfo and the RSSI | 16: estimate the position of ID_c based on position in AHL and a series of di | 17: change node type to pseudo-anchor |
|