Frequently Asked Questions

What does CellViz do?

CellViz is a mobile application that records and visualizes information about wireless cellular networks such as the quality and strength of signals at a given geographic position, and the position and time of handoffs from one wireless network or wireless technology to another network or wireless technology.  

How can CellViz help me?

CellViz was created to help several groups of people rapidly evaluate wireless cellular technologies in mobile devices:
  • Consumer
    • General consumers often wonder why they drop calls in certain locations, or can't connect to the internet at certain times.  CellViz can give you a clear map of the network and its strengths and weaknesses, so you can easily show your cellular network provider why you're having problems.
  • Mobile Device Manufacturers
    • The effective implementation of the hardware and software in a mobile device is a complex and lengthy process, especially when wireless technologies are involved.  Wireless cellular signal strength can be affected by many different hardware and software components, including chipset sensitivity, antenna quality, antenna integration into the phone, firmware pre/post processing, and software/platform filters.  Therefore, when creating a new mobile device manufacturers must go through an iterative design/develop/test/evaluate cycle in order to create a quality product.  Currently, evaluation of wireless technologies that will be exposed to application developers, and cell phone users, takes a significant amount of manual effort to collect and analyze wireless signal data from each wireless technology (e.g., CDMA, GSM, EV-DO, LTE, WiMAX).  CellViz significantly reduces the amount of time required to evaluate wireless cellular technologies, and therefore speeds up the design and testing process and lets engineers focus on improving the product instead of crunching raw numbers.
  • Cellular Carriers
    • Cellular carriers must maintain quality wireless coverage for their customers for both voice and 3G/4G data services.  In order for a device to have adequate voice and data coverage, the network must be properly design and maintained by network engineers, and the device must be of sufficient quality as well.  Carriers end up carrying the burden of both maintaining and improving their own network, as well as evaluating large number of devices from device manufacturers that will eventually be offered to customers on their networks.  It is in the carrier's best interest to properly evaluate the wireless technologies on each of these devices and their interactions with the network, including cell tower hand-offs, to ensure quality voice and data services experiences for mobile app developers and users, and to ensure the devices that they are subsidizing are of sufficient quality.  If a mobile device has sub-standard voice or data technology performance, both mobile app developers as well as end-users will avoid using that device.  CellViz helps carriers quickly visualize their network coverage from a device perspective (i.e., from an app running on the device) both as they are readied for production as well as for maintenance releases after the device is launched.  CellViz rapidly produces hard quantitative statistics which document existing problems so that carriers can quickly compare network signals on different devices and communicate examples of issues and requested software/hardware fixes to mobile device manufacturers to ensure the high-quality of devices on their network.
  • Mobile Application Developers
    • Trying to figure out why your app that relies on wireless network access isn't working in certain areas?  CellViz can help you map out weak network areas so you can replicate issues caused by network problems.

What devices does CellViz run on?

Currently, CellViz is designed for all devices running Google's Android platform versions 2.2 and higher.

What positioning technologies can be used with CellViz?

Cell Viz can use any positioning technology that produces positioning data with x, y and z coordinates to produce location information that is associated with wireless signal information.  For Android, it will analyze any technology that is listed as a LocationProvider in the Android Location API on a mobile device.  For most devices, this includes GPS and Network (i.e., cellular tower and/or Wi-Fi) LocationProviders.

What type of networks can be analyzed using Cell Viz?

Cell Viz can potentially be used to analyze any type of network.  Currently, Cell Viz supports collecting data about and visualizing information for GSM, CDMA, GPRS, 1xRTT, EDGE, UMTS, HSDPA, EVDO, and WiMax wireless signals.

You will only be able to track cell tower positions on CDMA networks (e.g., Sprint, Verizon) due to limitations in the Android Telephony API.  On GSM devices, you will still be able to see the color-coded polygons and cell signal values as you collect data.

What information is captured by Cell Viz for each location fix?

Cell Viz captures the following values for each location fix from a positioning technology:
  • Latitude and Longitude (in decimal degrees), and Altitude (in meters)
  • Timestamp (to the millisecond)
  • LocationProvider used to calculate the position (e.g., GPS, Network, etc.)
  • Speed (meters/sec)
  • Bearing (i.e., Heading) in 0-359 degrees
  • Estimated Horizontal Accuracy (i.e., how accurate the positioning technology thinks the position is)
  • Number of Satellites used to calculate the position (if GPS is used)
  • Various wirless signal information, including RSSI, EC/IO, Bit Error Rate, Signal-to-Noise ratio, base station ID, base station location, network ID, sector ID, mac address, frequency, channel, IP address, NAPID, connection time, CINR, link speed, NSPID, transmission power.

I want to do more analysis of the data myself.  Does CellViz give me the location data that was collected in a format I can use?

Yes!  After collecting data, you can email the results to yourself.  CellViz will attach all location data gathered during a test to the email as both a KMZ file (viewable in Google Earth) as well as a CSV file, which can easily be imported into ESRI ArcGIS or Microsoft Excel for further analysis.  

How do I calculate GSM signal strength in dBm?

For GSM (AT&T and T-Mobile in the U.S., and 4G LTE service on some CDMA devices), the values provided is the GSM Signal Strength (valid values 0-31, 99), as defined in TS 27.007 8.5.  Based on page 81 of this document, the integer GSM signal strength values from Android map to the following:
  • 0 => -113 dBm or less 
  • 1 => -111 dBm 
  • 2...30 => -109... -53 dBm 
  • 31 => -51 dBm or greater 
  • 99 => not known or not detectable
Based on this information, it appears that you can interpolate the dBm values based on the 2-30 range mapping to the -109 dBm to -53 dBm range.

How are the "number of bars" calculated that define the signal polygon height and color in Google Earth?

For CDMA/EVDO signal strength, the following calculation determines the number of bars and color, with 6 being the best and 0 (no bars) being the worst - the lesser of the number of bars is returned between the RSSI and Ec/Io values (as defined in the Android SignalStrength class):

RSSI number of bars is calculated as:
if (signalLevel >= -75) return 6;
    else if (signalLevel >= -85) return 5;
    else if (signalLevel >= -90) return 4;
    else if (signalLevel >= -95) return 3;
    else if (signalLevel >= -100) return 2;
    else if (signalLevel >= -105) return 1;
    else return 0;

Ec/Io number of bars is calculated as:
if (ecIo>= -90) return 6;
    else if (ecIo >= -110) return 5;
    else if (ecIo >= -120) return 4;
    else if (ecIo >= -130) return 3;
    else if (ecIo >= -140) return 2;
    else if (ecIo >= -150) return 1;
    else return 0;

So, if RSSI is -85 (5 bars), and Ec/Io is -120 (4 bars), then 4 bars would be returned, based on the Ec/Io value.

For GSM signal strength, the following calculation determines the number of bars and color, with 6 being the best and 0 (no bars) being the worst:

if (signalLevel <= 2 || signalLevel == 99) return 0;
    else if (signalLevel >= 12) return 6;
    else if (signalLevel >= 10) return 5;
    else if (signalLevel >= 8)  return 4;
    else if (signalLevel >= 5)  return 3;
    else if (signalLevel >= 3)  return 2;
    else return 1;

Note - Cutoffs used for calculations above are taken from the Android platform source that are used to updated the number of cell signal bars shown in the main screen status bar as defined in;a=blob;f=services/java/com/android/server/status/;h=3b0c436bf9b9cb71b1f057b4904c660318e20eff;hb=HEAD.

What are the units for the location values (latitude and longitude) of the cell towers?
Raw cell tower lat and long data is in "quarter seconds" units due to a 3GPP telecom standard (details here, if you're interested).  To convert from quarter seconds to WGS84 decimal degrees, you divide by 14400.

To convert between decimal degrees and degrees-minutes-seconds, you can use this website:

Why aren't cell tower locations and lines showing up on the mobile device or in Google Earth?
Cell tower locations and lines are not available on GSM devices (e.g., AT&T, T-Mobile) due to limitations of the Android platform.  Cell tower locations and lines are available on CDMA devices (e.g., Sprint, Verizon) when good data is available - cell tower locations come from your CDMA cellular provider. Therefore, if you see wrong tower locations, please email us at and we'll try to work with them to get it fixed!  Note that Verizon (and others) seem to often provide bad data for tower locations, which CellViz will filter out. In this case, you'll see cell signal quality info on the mobile map and in Google Earth (i.e., same as GSM), but not tower icons or lines.

I've set the 'Sampling Interval' setting to update every 60 seconds, but the phone still updates at once per second.  What's wrong?
The default settings in CellViz use the Android LocationListener in order to schedule location updates based on a time and distance interval.  However, the Android Location API LocationManager specification states that the LocationListener time interval value "is only used as a hint to conserve power, and actual time between location updates may be greater or lesser than this value."  Therefore, a device manufacturer can opt to ignore this setting in the default platform LocationListener.  Also, there was an issue on many Android 4.0 and lower devices where the minTime parameter would simply be ignored by the device.  This issue should be fixed on devices with Android 4.1 and higher.

An easy way to determine how often the device is updating location using the default LocationListener is to look at the screen during the test, which will continuously print out the average time in seconds between each fix in the fix summary section.

The "Override Refresh Rate" setting forces the application to use a timed thread to schedule location updates instead of the default LocationListener.  The "Override Refresh Rate" setting should be checked on phones that ignore the defined Sampling Interval when using the default LocationListener.

I just loaded the KMZ results file from CellViz into Google Earth v5.2, but I can't get the timelapse feature to work.  What's going on?

Google Earth v5.2 appears to treat KMZ and KML files slightly differently than v5.1 or v6.0 and higher.  Currently, it appears that the timelapse feature is broken on KML/KMZ files in v5.2 due to a bug in handling KML tags with KML files that worked fine in v5.1 and also works fine in v6.0 and higher.

It is currently recommended that you use Google Earth v6.0 or higher to view the timelapse feature of the CellViz KMZ files.  First, uninstall Google Earth v5.2 from your computer.  Then, to use the newest version of Google Earth, you can download it from the main Google Earth download site.