Algorithm I: pseudo code of the proposed algorithm.

Input: T
//the signal vector describing the strength of signals // measured at unknown points locations; // an array storing reference locations;
Output:
(x,y) // coordinates of the unknown points
  1. Class Reference Location
  2. Class Reference Location{
  3. sigal;//signal vector
  4. coornates;//(x,y)
  5. distance;// the distance between this reference
  6. //location and an known point
  7. }
  8. maxDis = 0;
  9. for i = 0 to locations.length
  10. locations[i].distance = Dis (locations [i].singal, T);
  11. if maxDis < locations [i].distance
  12. then maxDis = locations [i]. distance;
  13. endif
  14. endfor
  15. for i = 0 to locations.length
  16. ms [i] = Dis[i]/maxDis;
  17. endfor
  18. candidates = selectReference(ms,locations) AND totalMF = 0
  19. for i = 0 to candidates. length
  20. mf [i] = (ms [i])1-k AND totalMF + = mf [i];
  21. for i=0 to candidates.length
  22. u[i] = mf [i]/totalMF
  23. x = 0 AND y = 0
  24. for i=0 to candidates.length
  25. x + = u [i]*candidates [i].coordinates.x; AND
  26. y + = u [i]*candidates [i].coordinates.y;
  27. endfor
  28. return (x,y);