def checkLocalizability(nSensor,locX,conX): nPreLocNode = 0 nCurLocNode = np.sum(locX) while(nPreLocNode<nCurLocNode): nPreLocNode = nCurLocNode for i in range(nSensor): if localizability.isLocalizable(locX,conX,i): locX[i] = 1 nCurLocNode = np.sum(locX)
def localizeByTrilateration(nSensor,nAnchor,locX,conX,posX,disX,noiseLevel): n = nSensor + nAnchor nPreLocNode = 0 nCurLocNode = np.sum(locX) while(nPreLocNode<nCurLocNode): nPreLocNode = nCurLocNode for i in range(nSensor): if (localizability.isLocalizable(locX,conX,i) and locX[i]==0): locX[i] = 1 anchorIndexes = helper.getNeighborAnhors(n,i,locX,conX) anchorIndexes = helper.getSortedReliableNodes(noiseLevel,anchorIndexes) localize.inicialLocalize(i,anchorIndexes[0],anchorIndexes[1],anchorIndexes[2],posX,disX) noiseLevel[i] = 3 nCurLocNode = np.sum(locX)