public int getNormalizedSignalStrength() {
		// TODO test and rewrite (taken from placelab)

		// This is an approximate algorithm
		// All the #'s should come in positive form, changing them up top

		try {
			int nativeSignal = Integer.parseInt(signalStrength);
			if (nativeSignal > 0)
				nativeSignal *= -1;

			long a, b;
			try {
				a = FixedPointLong.stringToFlong("1.6164");
				b = FixedPointLong.stringToFlong("182.3836");
			} catch (FixedPointLongException fple) {
				throw new RuntimeException("Cannot get FPLs for statics!");
			}

			long signal = nativeSignal * a + b;
			int value = FixedPointLong.intValue(signal);
			if (value > 100)
				value = 100;

			return value;
		} catch (NumberFormatException nfe) {
			//LogService.error(this, nfe.getMessage(), nfe);
			return 0;
		}
	}