Sunday, November 11, 2012

Mobile App Wishlist: Signal on floor plan

You can get this from Google Play
Android Tablet
I want an app that allows me to capture signal strength and signal quality data right on the floor plan during my site survey. Yes, there are Drive Test Wireless Network Optimization Tool out there (E6474A from JDSU for example) that can do what I am wishing for and lot more (and we definitely have need for them); but I am not looking for a Mercedes to go for shopping when a Toyota Corolla will do. With Android app and tablet (not iPAD), I think this is relatively "easily" possible. Let me qualify "easily". I am not an Android programmer, but searching through the Android Developer's Library I see quite a few ready-made, albiet basic commands (Public Constructors and Methods in Android jargon) that can be integrated in Android apps. These commands cover CDMA, GSM, UMTS, etc. It's not a comprehensive list, and neither are all the parametrs in DAS are available in this library. But there are enough to create a floor plan with signal readings (see a list of commands after the break).


I have posted a list of selected commands below (Table 1).
Basically you will open the floor plan on your tablet during site survey, when you want to collect the information, just click where you are on the floor plan, and the app will collect the signal information at that point.
I guess, from programming perspective, the difficulty will be to superimpose these readings on a PDF document (assuming the floor plans we use are in PDF), and then produce another PDF with the signal readings on them.

Now, if I can only pursuade an app developer to this for me...

Table 1: 
Some Telephony related commands from Android Developer's Library

Signal Strength and Quality:
getCdmaDbm()
Get the CDMA RSSI value in dBm

getCdmaEcio()
Get the CDMA Ec/Io value in dB*10

getEvdoDbm()
Get the EVDO RSSI value in dBm

getEvdoEcio()
Get the EVDO Ec/Io value in dB*10

getEvdoSnr()
Get the signal to noise ratio.

getGsmBitErrorRate()
Get the GSM bit error rate (0-7, 99) as defined in TS 27.007 8.5

getGsmSignalStrength()
Get the GSM Signal Strength, valid values are (0-31, 99) as defined in TS 27.007 8.5

See the complete list.

Cell Site Location:
getBaseStationId ()
Returns cdma base station identification number, -1 if unknown

getBaseStationLatitude ()
Returns cdma base station latitude, Integer.MAX_VALUE if unknown

getBaseStationLongitude ()
Returns cdma base station longitude, Integer.MAX_VALUE if unknown

getNetworkId ()
Returns cdma network identification number, -1 if unknown

getSystemId ()
Returns cdma system identification number, -1 if unknown

See more on this.

Network Type:
NETWORK_TYPE_1xRTT: Current network is 1xRTT
NETWORK_TYPE_CDMA: Current network is CDMA: Either IS95A or IS95B
NETWORK_TYPE_EDGE: Current network is EDGE
NETWORK_TYPE_EHRPD: Current network is eHRPD
NETWORK_TYPE_EVDO_0: Current network is EVDO revision 0
NETWORK_TYPE_EVDO_A: Current network is EVDO revision A
NETWORK_TYPE_EVDO_B: Current network is EVDO revision B
NETWORK_TYPE_GPRS: Current network is GPRS
NETWORK_TYPE_HSDPA: Current network is HSDPA
NETWORK_TYPE_HSPA: Current network is HSPA
NETWORK_TYPE_HSPAP: Current network is HSPA+
NETWORK_TYPE_HSUPA: Current network is HSUPA
NETWORK_TYPE_IDEN : Current network is iDen
NETWORK_TYPE_LTE: Current network is LTE
NETWORK_TYPE_UMTS: Current network is UMTS

See more on Network Type.

Miscellaneous:
getCid ()
Returns cell id in GSM, 0xffff max legal value UNKNOWN_CID if in UMTS or CDMA or unknown

getPsc ()
Returns Primary Scrambling Code in 9 bits format in UMTS, 0x1ff max value UNKNOWN_CID if in GSM or CMDA or unknown

getRssi ()
Returns received signal strength or UNKNOWN_RSSI if unknown For GSM, it is in "asu" ranging from 0 to 31 (dBm = -113 + 2*asu) 0 means "-113 dBm or less" and 31 means "-51 dBm or greater" For UMTS, it is the Level index of CPICH RSCP defined in TS 25.125

See more.

No comments:

Post a Comment