| Input: The unique ID of current node ID_c |
| The node Type of current node Type_c |
| Define: Localization Request Packet LRP |
| Location Packet LP = {ID, Position, Type} |
| Reference List RL = [IDi, pi, di] |
| Localization Confidence Score LCS |
| Estimated Position EP |
| Confidence List CL = [ID, EP, LCS, Type] |
| Localization Decision LD |
| Procedures: |
| 1: send an LRP |
| 2: If received an LP: |
| 3: parse the LP to obtain ID, position, Type |
| 4: obtain the RSSI |
| 5: if Type==reference: |
| 6: obtain distance estimation d via Eq. (1) |
| 7: append ID, position, d, to RL |
| 8: If sizeof (RL) > =3: |
| 9: calculate current geometric features via Eqs. (13) (14) and (15) |
| 10: calculate the LCS of this localization by Eq. (19) |
| 11: IfLCS > LCS in the last CL |
| 12: input the features to one-class SVM classifier to |
| obtain a decision result LD |
| 13: IfLD==localization: |
| 14: estimate the location of current node ID_c by |
| Eq. (10). |
| 15: change the type of current node to pseudo-anchor |
| 16: append [ID_c, EP, LCS, pseudo-anchor] to CL |